Metaboard/2010 activities: Unterschied zwischen den Versionen
Chrysn (Diskussion | Beiträge) added part list |
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/ | * 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*, | * 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/ | ** [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:Arduino]] | [[Kategorie:Arduino]] |