Zum Inhalt springen

Metaboard/2010 activities: Unterschied zwischen den Versionen

Chrysn (Diskussion | Beiträge)
added part list
Vierlex (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 28: Zeile 28:
* IR transceiver for integration with TV or universal remotes
* IR transceiver for integration with TV or universal remotes
* Measuring water level in indoor fountains
* Measuring water level in indoor fountains
* wireless or opto-coupled USB-to-USB keyboard/mouse or serial device
** could double as a replacement for serial terminal / null modem connections (violates USB specs, but should work with Linux)


== Implementation ==
== Implementation ==
Zeile 34: Zeile 36:
* PCB implementation: single sided PCB with no SMD components
* PCB implementation: single sided PCB with no SMD components
* Board base: [[metaboard]] (at least for the base station)
* Board base: [[metaboard]] (at least for the base station)
* RF communication: ISM band using [http://www.hoperf.com/rf_fsk/rfm12.htm HopeRF RFM12]
* RF communication: ISM band using [http://www.hoperf.com/rf_fsk/rfm12b.htm HopeRF RFM12B]
* Computer communication: [http://www.obdev.at/products/vusb/index.html V-USB] (works with metaboard, is cheap and much cooler than relying on serial port emulation)
* Computer communication: [http://www.obdev.at/products/vusb/index.html V-USB] (works with metaboard, is cheap and much cooler than relying on serial port emulation)
* Layouting software: [http://www.gpleda.org/ gEDA] seems to be the best free schematic and PCB editor
* Layouting software: [http://www.gpleda.org/ gEDA] seems to be the best free schematic and PCB editor
* Board voltage: 3.3V (originally 5V, but 3.3V gives cleaner USB communication and should save power in the sensor units)
* Flashing sensors using serial interface using the [[Metaboard/2010 activities/6-pin auto-detecting programming]]
* Power supply: "18650" (z.B. von [http://www.dealextreme.com dealextreme])
=== Random implementation detail notes ===
* Some AVR boards have onboard temperature sensors that don't block an external pin. Given sufficiently low power output and sensor precision, those could be used for monitoring room temperature.
* The RFM12B modules feature low voltage detection. This could save some analog circuicy and pin on boards fed off battery w/o a voltage regulator.


== Parts ==
== Parts ==


=== for the base board (metaboard + DMX + RF12) ===
=== for the base board (metaboard + DMX + RF12) ===
''this is partially outdated due to the change to 3.3V board voltage''


* a 5V voltage regulator (7805)*
* a 5V voltage regulator (7805)*
* capacitors: 100nF, 22pF (2x)
* capacitors: 100nF, 22pF (2x)
* clock crystal: 16MHz (for other frequencies, check the [http://vusb.wikidot.com/hardware V-USB hardware considerations]
* clock crystal: 16MHz (for other frequencies, check the [http://vusb.wikidot.com/hardware V-USB hardware considerations])
* diodes: 1N4004*, 3V6 (2x)
* diodes: 1N4004*, 3V6 (2x)
* jumper pads of length 3 (2x) and 2
* jumper pads of length 3 (2x) and 2
Zeile 56: Zeile 68:
* RFM12 DIP*
* RFM12 DIP*
* USB-B connector
* USB-B connector
* DIP sockets: 8*, 24
* DIP sockets: 8*, 28
* socket for RFM12 DIP (2mm 2x4)*
* socket for RFM12 DIP (2mm 2x4)*


The components marked with * are optional in the first stage of building the board, which will be about getting to know V-USB.
The components marked with * are optional in the first stage of building the board, which will be about getting to know V-USB.
== Current status ==
* [[Metaboard/2010 activities/Hacksession 2010-09-17]]: bootstrapped a an ATmega168 via an existing arduino on a breadboard
* [[Metaboard/2010 activities/Hacksession 2010-09-20]]: arduino style programming on the breadboard
* [[Metaboard/2010 activities/Hacksession 2010-10-14]]: LEDs are important
* [http://sense.reox.at/usbbb/prototype/ 2010-10-29]: built first (and working!) version of the usbBB, a USB connector for breadboards which is our first attempt in PCB milling
* [http://sense.reox.at/usbbb/prototypev3/ 2010-11-10]: Prototype v3 (without USB Port and LF33CV because just ordered them)
* [http://sebastian.arttis.net/main.php?g2_itemId=10481 2011-03-15]: Hacking arround with [[HP54645D_Mixed-Signal_Oscilloscope]] and see whats going on at sck, sdi, sdo and irq
* [http://sense.reox.at/rfm12/ 2011-03-20]: WOOOHOOO got something over the air, used mostly code from [http://www.tahina.priv.at/electronics.html#index2h1 here]... also: datasheet gone wrong... port with ANT marking is in real GND, ANT Port is next to it!
* 2011-03-25: If it works at 5V and doesn't at 3.3V, just try adding a startup delay. Hacking on based on [http://jeelabs.net/projects/cafe/repository/show/RF12 jeelabs' RF12 library] now.


== Resources ==
== Resources ==
Zeile 73: Zeile 96:
* [http://www.embedds.com/interfacing-rfm12-transceiver-module/ RFM12 transceiver module]: a board with ATmega8, with the RFM12 completely connected (see [http://comwebnet.co.funpic.de/RFM12/Projekt-RFM12-Tranceiver.pdf schematics])
* [http://www.embedds.com/interfacing-rfm12-transceiver-module/ RFM12 transceiver module]: a board with ATmega8, with the RFM12 completely connected (see [http://comwebnet.co.funpic.de/RFM12/Projekt-RFM12-Tranceiver.pdf schematics])
* [[Benutzer:Mihi/Programming-attiny45-mit-arduino]]: programming arduinos with arduinos
* [[Benutzer:Mihi/Programming-attiny45-mit-arduino]]: programming arduinos with arduinos
* The vKeyBoard mentioned on [http://pjrc.com/teensy/projects.html the Teensy project page] seems to do exactly the USB-to-USB trick described above, but using two [http://pjrc.com/teensy/ Teensy] boards, which use an ATMega32U4 each. These chips might even provide a way to get the desired functionality in one chip by using vUSB to get a second USB port and optocouplers USB-side, but they are rather difficult to work with unless preassembled in a teensy.


=== Physical resources ===
=== Physical resources ===
Zeile 80: Zeile 104:
=== Other Links ===
=== Other Links ===


* AVR
** [http://arduino.cc/en/uploads/Hacking/Atmega168PinMap2.png Arduino/ATmega168 pinout]: Labeled schematic of ATmega168 with complete pin names and arduino references (pin mapping)
** [http://www.engbedded.com/fusecalc/ AVR fuse calculator]: A web application to choose fuse settings, includes avrdude output
** [http://en.wikibooks.org/wiki/Atmel_AVR wikibooks on Atmel AVR]: Good introduction and overview of features
** [http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf ATmega168 datasheet] as linked from [[Bauteilsortiment]]
* RFM12:
* RFM12:
** [http://www.hoperf.com/rf_fsk/rfm12.htm RFM12 supplier website]
** [http://www.hoperf.com/rf_fsk/rfm12b.htm RFM12B supplier website]
** [http://blog.strobotics.com.au/2008/06/17/rfm12-tutorial-part2/ RFM12 tutorial]
** [http://blog.strobotics.com.au/2008/06/17/rfm12-tutorial-part2/ RFM12 tutorial]
** [http://news.jeelabs.org/2009/05/06/rfm12-vs-rfm12b-revisited/ RFM12 vs RFM12B]: the differences
** [http://news.jeelabs.org/2009/05/06/rfm12-vs-rfm12b-revisited/ RFM12 vs RFM12B]: the differences
** [http://www.mikrocontroller.net/articles/RFM12 RFM12 on mikrocontroller.net]: german description of RFM12 commands
** [http://www.mikrocontroller.net/articles/RFM12 RFM12 on mikrocontroller.net]: german description of RFM12 commands
** [http://www.mikrocontroller.net/articles/AVR_RFM12 AVR RFM12 on mikrocontroller.net]
** [http://www.mikrocontroller.net/articles/AVR_RFM12 AVR RFM12 on mikrocontroller.net]
** [http://olek.tk/en/rfm12.php olek.tk's RFM12 tips], including the magical FE reset command
* DMX:
* DMX:
** [http://www.maxim-ic.com/datasheet/index.mvp/id/1111 Maxim RS485 controllers]
** [http://www.maxim-ic.com/datasheet/index.mvp/id/1111 Maxim RS485 controllers]
Zeile 98: Zeile 128:
* General Arduino related stuff
* General Arduino related stuff
** [http://www.ladyada.net/library/arduino/bootloader.html Arduino Hacks: Bootloader Hacks]: maybe this could show how to integrate the bootloader with the program so we can upload new software from USB w/o physically touching the device
** [http://www.ladyada.net/library/arduino/bootloader.html Arduino Hacks: Bootloader Hacks]: maybe this could show how to integrate the bootloader with the program so we can upload new software from USB w/o physically touching the device
* USB:
** [http://www.beyondlogic.org/usbnutshell/usb1.shtml USB in a NutShell]: a good summary of the USB spec
* 18650 / LiPo charging:
** [http://batteryuniversity.com/learn/article/charging_lithium_ion_batteries battery university on Li-Ion batteries]


* Metalab projects:
* Metalab projects:
Zeile 106: Zeile 140:


[[Kategorie:Projekte]]
[[Kategorie:Projekte]]
[[Kategorie:WhateverLab]]
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]