Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:moodstrip [2012/02/18 23:09]
skruppy [MoodStrip]
projects:moodstrip [2012/12/30 17:52] (aktuell)
wanda [Ergebnis]
Zeile 3: Zeile 3:
 template ​     : :​sys:​tpl:​project template ​     : :​sys:​tpl:​project
 description ​  : LED Streifen zur Musik Blinken lassen description ​  : LED Streifen zur Musik Blinken lassen
-coordinators ​ : [[:​users:​skruppy:​]],​ [[:​users:​wanda:​]], ​Jonas?+coordinators ​ : [[:​users:​skruppy:​]],​ [[:​users:​wanda:​]], ​Jan?
 confidants ​   :  confidants ​   : 
 state_tags ​   : working, in progress, documentation needed state_tags ​   : working, in progress, documentation needed
Zeile 15: Zeile 15:
 Links zu Thementreuer Software Links zu Thementreuer Software
   * [[http://​next-make.mit.edu/​wiki/​PartySystem/​Getting_and_Running_the_LightDJ_Software|Java Party Licht Steruerung zur Musik]]   * [[http://​next-make.mit.edu/​wiki/​PartySystem/​Getting_and_Running_the_LightDJ_Software|Java Party Licht Steruerung zur Musik]]
-  * [[http://​vamp-plugins.org/​|C++/​python musik analyse pugins]]+  * [[http://​vamp-plugins.org/​|C++/​python musik analyse pugins]] ​(Passende [[http://​sonicvisualiser.org/​download.html|Software]] dazu)
   * [[http://​www.fftw.org/​|C FFT]]   * [[http://​www.fftw.org/​|C FFT]]
   * [[http://​linux-sound.org/​dsp.html|Linksamlung zu Linux Sound Libs]]   * [[http://​linux-sound.org/​dsp.html|Linksamlung zu Linux Sound Libs]]
Zeile 22: Zeile 22:
   * IDE/​Framework:​ [[http://​processing.org|Processing]] (leider Java)   * IDE/​Framework:​ [[http://​processing.org|Processing]] (leider Java)
   * PulseAudio   * PulseAudio
-  * ALDI 5m LED schnur ca. 27W+  * ALDI 5m LED Schnur ​27W laut Werbung ([[#​orginal_ansteuerung|15W in echt]])
   * Arduino   * Arduino
  
Zeile 47: Zeile 47:
  
 ==== Orginal Ansteuerung ==== ==== Orginal Ansteuerung ====
 +  * 12V an den Streifen
 +  * R: 0,78A G: 0,78A B: 0,64A (im einzelbetrieb einer Farbe, 100% duty-cycle)
 +  * Größter beobachteter Gesamtsprom:​ 1,23A (ggf. falsch gemessen, da gepulst)
 +  * Größte beobachtete Gesamtleistung:​ 15W (ggf. falsch gemessen, da gepulst)
 +  * 7,8mV Fallen am MOS-FET ab
 +
 +Werden alle Farben mit 100% duty-cycle gleichzeitig betrieben (also schlich alles mit dauerstrom an), so ergibt sich ein verbrauch von 26W. Das entspricht fast der Werbung. Allerdings ist mit dem mitgelieferten controller diese ansteuerung nicht möglich. Da sobald eine weitere farbe ins spiel kommt keine farbe mit 100% duty-cycle leuft. D.h. für einen kurzen moment (zu begin der periode) können 26W vom netzteil gefordert werden, jedoch wird das licht nie eine helligkeit von 26W haben. Wie gut meine messungen sind weis ich nicht, da ich nicht weis wie gut das messgerät mit gepulsten strömen umgehen kann, auf jedenfall hatt die anzeige nicht geflackert.
 +
 Die PWM Frequenz ist 438Hz (die Periodendauer 2,282ms). Die PWM Frequenz ist 438Hz (die Periodendauer 2,282ms).
 Der duty-cycle bei 100% rot/​grün/​blau ist in den Helligkeitsstufen:​ \\ Der duty-cycle bei 100% rot/​grün/​blau ist in den Helligkeitsstufen:​ \\
 100%; 88,2%; 78,4%; 59%; 49,2%; 39,48%; 29,76%; 20%; 10,3% 100%; 88,2%; 78,4%; 59%; 49,2%; 39,48%; 29,76%; 20%; 10,3%
  
 +===== Neue ansteuerung =====
 +Zur ansteuerung der MoodStrips und diverser anderer (RGB)-LED sachen soll eine schmale **billige** PCB erstellt werden. Um sie selber machen zu können wäre es praktisch wenn sie ohne bohrungen für z.B. vias auskommt. D.h. SMD.
 +
 +==== mC ====
 +Um RGB LEDs an zu steuern brauchen wir einen mC mit mindestens 3 16 bit OCR.
 +
 +^ Definition ^ Chips ^ OCs ^ Preis ^ Bemerkung ^
 +| iocanxx.h ​    | AT90CAN32 \\ AT90CAN64 \\ AT90CAN128 ​                              ​| ​  ​6 ​ |   9,39 | Preis und Link für AT90CAN32 [[http://​de.farnell.com/​atmel/​at90can32-16au/​avr-can-mcu-32k-flash-smd-tqfp64/​dp/​1455066?​Ntt=AT90CAN32|Farnell Produkt Seite]] ​ |
 +| iom1284p.h ​   | ATmega1284P ​                                                       |   ​4 ​ |   8,43 | [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=ATmega1284P&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=346981|Farnell Such Ergebnisse]] ​ |
 +| iom128.h ​     | ATmega128 ​                                                         |   ​6 ​ |  16,57 | [[http://​de.farnell.com/​jsp/​search/​browse.jsp?​N=2008+203063&​Ntk=gensearch&​Ntt=ATmega128&​Ntx=mode+matchallpartial|Farnell Such Ergebnisse]] ​ |
 +| iom128rfa1.h ​ | ATmega128RFA1 ​                                                     |  12  |  10,66 | Nur als QNF bei Farnell [[http://​de.farnell.com/​jsp/​search/​browse.jsp?​N=2008+203663&​Ntk=gensearch&​Ntt=ATmega128RFA1&​Ntx=mode+matchallpartial|Farnell Such Ergebnisse]] ​ |
 +| iom162.h ​     | ATmega162 ​                                                         |   ​4 ​ |   5,34 | Auch mit Beinchen [[http://​de.farnell.com/​jsp/​search/​browse.jsp?​N=2008+203063&​Ntk=gensearch&​Ntt=ATmega162&​Ntx=mode+matchallpartial|Farnell Such Ergebnisse]] ​ |
 +| iom16u2.h ​    | ATmega16U2 ​                                                        ​| ​  ​3 ​ |   4,16 | [[http://​de.farnell.com/​atmel/​atmega16u2-au/​mcu-8bit-avr-16k-flash-32tqfp/​dp/​1841607?​Ntt=ATMEGA16U2|Farnell Produkt Seite]] ​ |
 +| iom16u4.h ​    | ATmega16U4 ​                                                        ​| ​  ​6 ​ |   5,43 | [[http://​de.farnell.com/​atmel/​atmega16u4-au/​mcu-8bit-avr-16k-flash-usb-44tqfp/​dp/​1748521?​Ntt=ATMEGA16U4|Farnell Produkt Seite]] ​ |
 +| iom32u2.h ​    | ATmega32U2 ​                                                        ​| ​  ​3 ​ |   4,91 | [[http://​de.farnell.com/​atmel/​atmega32u2-au/​mcu-8bit-avr-32k-flash-usb-32tqfp/​dp/​1748524?​Ntt=ATMEGA32U2|Farnell Produkt Seite]] ​ |
 +| iom32u4.h ​    | ATmega32U4 ​                                                        ​| ​  ​6 ​ |   6,14 | [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=ATMEGA32U4&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=345895|Farnell Such Ergebnisse]] ​ |
 +| iom32u6.h ​    | ATmega32U6 ​                                                        ​| ​  ​6 ​ |        | Nicht gefunden, aber sicher teurer als ATmega32U4, als mehr als 6,14  |
 +| iom64.h ​      | ATmega64 ​                                                          ​| ​  ​6 ​ |  12,37 | [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=ATmega64&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=346608|Farnell Such Ergebnisse]] ​ |
 +| iom8u2.h ​     | ATmega8U2 ​                                                         |   ​3 ​ |   3,71 | [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=ATmega8U2&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=343713|Farnell Such Ergebnisse]] ​ |
 +| iomxx0_1.h ​   | ATmega640 \\ Atmega1280 \\ ATmega1281 \\ ATmega2560 \\ ATmega2561 ​ |  12  |   9,50 | Preis und Link für ATmega640 [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=ATmega640&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=348075|Farnell Such Ergebnisse]] ​  |
 +| iousbxx2.h ​   | AT90USB82 \\ AT90USB162 ​                                           |   ​3 ​ |   2,85 | Preis und Link für AT90USB162 bei Reichelt, 2,85€ und Link für AT90USB162 bei Farnell, AT90USB82 nur als QNF bei Farnell [[http://​de.farnell.com/​jsp/​search/​browse.jsp?​N=2008+203063&​Ntk=gensearch&​Ntt=AT90USB162&​Ntx=mode+matchallpartial|Farnell Such Ergebnisse]] [[http://​www.reichelt.de/​USB-CAN-BUS-Controller/​AT-90USB162-TQ/​3//​index.html?​ACTION=3&​GROUPID=2946&​ARTICLE=112440&​SHOW=1&​START=0&​OFFSET=16&​|Reichelt Produkt Seite]] ​ |
 +| iousbxx6_7.h ​ | AT90USB646 \\ AT90USB647 \\ AT90USB1286 \\ AT90USB1287 ​            ​| ​  ​6 ​ |   9,50 | Preis und Link vom biligsten AT90USB646 [[http://​de.farnell.com/​jsp/​search/​browse.jsp;​jsessionid=Q1GXWPPLRDDXMCQLCIPJMMQ?​N=0&​Ntk=gensearch&​Ntt=AT90USB646&​Ntx=mode+matchallpartial&​exposeLevel2Refinement=true&​suggestions=false&​ref=globalsearch&​_requestid=348891|Farnell Such Ergebnisse]] ​ |
 +
 +Die Preise sind jeweils für 10+ Mengen. QNF ist "​unlötbar"​. Farnell ist nur zum vergleich da der fast alles hat, aber die Preise exkl. MwSt sind.
 +
 +Der gewinner ist der AT 90USB162 TQ. Für USB muss die Versorgungsspannung zwischen 3.0V und 5.5V liegen. Ab 4.5V kann die Frequenz bis zu 16MHz betragen. Eine externe clock ist Notwendig [s. S. 184].
 +==== Transistor ====
 +=== Allgemein ====
 +Es werden transistoren für folgende Anwendungen benötigt.
 +|  12V |  200mA |   2,4W | 1/4 MoodStrip ​ |
 +|  12V |  800mA |   9,6W | 1/1 MoodStrip ​ |
 +|  24V |  500mA |  12,0W | Weiße LED  |
 +|   5V |  160mA |   0,8W | CPU-Meter ​ |
 +^  24V ^  800mA ^  12,0W ^ Max Werte  ^
 +
 +Somit müsste das PCB
 +  * Footprints für alle Anwendungen haben
 +  * Ein multi footprint, wo mehrere bauformen drauf pasen
 +  * für jede Anwendung mit der selben Bauform bestückt werden
 +  * für jede Anwendung mit dem selben Transistor bestückt werden
 +
 +Es wäre gut wenn der Spannungsabfall bei durchgeschaltenem transistor nicht so bipolar groß wäre.
 +
 +Mögliche Transistoren:​
 +^ Name ^ Art ^ $I_\text{max}$ [A]^ $U_\text{max}$ [V]^ Spannungsabfall [V]^ $t_\text{on+off}$ [ns] ^ Preis [€]^
 +| [[http://​www.reichelt.de/​ZETEX-Transistoren/​FMMT-624-TA/​3//​index.html?​ACTION=3&​GROUPID=2905&​ARTICLE=68619&​SHOW=1&​START=0&​OFFSET=16&​|Zetex FMMT 624 TA]] | Bipolar | 1 | 125 | 0,02 | 160 | 0,26 | 
 +| [[http://​www.reichelt.de/​IRL-IRFZ-Transistoren/​IRLML-2803/​3//​index.html?​ACTION=3&​GROUPID=2896&​ARTICLE=108738&​SHOW=1&​START=0&​OFFSET=16&​|IRLML 2803]] | MOSFET | ? | 20 | ? | 12,9 | 0,16 |
 +
 +==== Implementierung ====
 +Es wird der [[http://​www.reichelt.de/​IRL-IRFZ-Transistoren/​IRLML-2803/​3//​index.html?​ACTION=3&​GROUPID=2896&​ARTICLE=108738&​SHOW=1&​START=0&​OFFSET=16&​|IRLML 2803]] verwendet (0,16€; [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A100%252FIRLML2803PBF.pdf|Datenblatt]].
 +
 +Ist eine Treiberschaltung nötig?
 +
 +Wie groß sollte der Gate Strom sein (also der Serien Wiederstand)?​
 +
 +Ist ein pull-down nötig?
 +==== RS485 ====
 +Für den Physikalischen Teil der Kommunikation soll [[http://​de.wikipedia.org/​wiki/​RS485|RS485]] verwendet werden. USB kann nicht verwendet werden, das es Physikalisch nur eine Punkt zu Punkt Verbindung möglich ist, die maximale Kabellänge 5m beträgt und kein Broadkast möglich ist (Datenrate oder Latenz wird zu groß)
 +
 +=== Allgemein ===
 +Es besitzt folgende Haupt Features:
 +  * 1,2 km Kabel länge (sollte für den Anfang reichen xD)
 +  * 32 unit loads können dran hängen (ein Treiber kann ein Bruchteil oder vielfaches einer unit load sein)
 +  * [[http://​de.wikipedia.org/​wiki/​Duplex_(Nachrichtentechnik)|half-duplex]]
 +  * [[http://​de.wikipedia.org/​wiki/​Symmetrische_Signalübertragung|differenzielle/​symetrische Übertragung]]
 +
 +Eine praktische [[http://​www.maxim-ic.com/​app-notes/​index.mvp/​id/​763|Implementierungs guideline]].
 +
 +
 +=== Implementierung ===
 +Es soll der [[http://​www.reichelt.de/​ICs-ADC-ADXRS-/​ADM-485-JR/​3//​index.html?​ACTION=3&​GROUPID=5458&​ARTICLE=39304&​SHOW=1&​START=0&​OFFSET=16&​|ADM 485 JR]] von Analog Devices verwendet werden (1,25€; [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A200%252FADM485%2523AD.pdf|Datenblatt]])
 +
 +Sollte A/B nicht angeschlossen sein (floating) so ist der Ausgang //high//. Dennoch pull-up/​down an A/B wie hier [[http://​www.siongboon.com/​projects/​2006-03-06_serial_communication/#​RS485%20Interfacing|1]],​ [[http://​www.electro-tech-online.com/​microcontrollers/​93289-rs-485-pic.html|2]],​ [[http://​en.wikipedia.org/​wiki/​RS485|3]] und [[http://​www.softelectro.ru/​rs485_en.html|4]]. Jedoch nicht in der Implementierungs guideline. Sowie eine für [[http://​dangerousprototypes.com/​2011/​10/​09/​app-note-high-speed-usb-design-guidelines/​|differenzielle Signalübertragung]]
 +
 +Wiederstand in Serie wie bei der 1 und 4 von vorhin? Jedoch nicht in der Implementierungs guideline.
 +
 +Enable für receiver und transmiter könnten zusammengeschlossen werden, da einer Invertiert ist. Der Vorteil wäre das das routing etwas leichter würde. Sind sie getrent ist der Vorteil, das gehört werden kann was auf der Leitung los ist ([[http://​de.wikipedia.org/​wiki/​Carrier_Sense_Multiple_Access|CSMA]]). Ggf. könnte der Empfangsteil auch permanent aktiviert sein (was würde das für Probleme verursachen?​).
 +
 +Eine [[http://​de.wikipedia.org/​wiki/​Zener-Diode|Zener Diode]] [[http://​www.reichelt.de/​SMD-Z-Dioden-SOT23/​SMD-ZD-13/​3//​index.html?​ACTION=3&​GROUPID=2996&​ARTICLE=18894&​SHOW=1&​START=0&​OFFSET=16&​|SMD ZD 13]] verhindert das das RS485 Modul durch Überspannung auf der Leitung zerstört wird (0,06€; [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A900%252FSMD%2520ZD_Serie%2523fair.pdf|Datenblatt]]). Ist das Nötig, das das Modul eigentlich auch was von ESD Schutz sagt?
 +
 +==== Spannungsregelung ====
 +Da 12V für die Lampen anliegen, und 5V für die Logik benötigt werden (mit 5V kann die interne Oszylator des mC 16MHz haben) wird ein [[http://​www.reichelt.de/​ICs-A-A-/​-A-78L05-SMD/​3//​index.html?​ACTION=3&​GROUPID=2908&​ARTICLE=18968&​SHOW=1&​START=0&​OFFSET=16&​|µA 78L05 SMD]] verwendet (0,15€; Datenblatt von [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A200%252FDS_UA78L00.pdf|TI]],​ [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A200%252FDS_L78L00AB_AC_C.pdf|ST]] und [[http://​www.reichelt.de/​index.html?;​ACTION=7;​LA=3;​OPEN=0;​INDEX=0;​FILENAME=A200%252FDS_MC78L00A_D.pdf|ON]]).
 +
 +Alle drei Datenblätter schlagen einen 330nF Kondensator am Eingang und einen 100nF am Ausgang vor.
 +
 +===== PCB =====
 +Infos zu [[http://​sigcon.com/​Pubs/​news/​7_02.htm|"​Ground Problemen"​]]
 +
 +==== Kosten ====
 +^ Name ^ Anzahl ^ Einzelpreis ^
 +| [[http://​www.reichelt.de/​ICs-A-A-/​-A-78L05-SMD/​3//​index.html?​ACTION=3&​GROUPID=2908&​ARTICLE=18968&​SHOW=1&​START=0&​OFFSET=16&​|µA 78L05 SMD]] | 1 | 0,15€ |
 +| [[http://​www.reichelt.de/​SMD-Z-Dioden-SOT23/​SMD-ZD-13/​3//​index.html?​ACTION=3&​GROUPID=2996&​ARTICLE=18894&​SHOW=1&​START=0&​OFFSET=16&​|SMD ZD 13]] | 2 | 0,06€ |
 +| [[http://​www.reichelt.de/​ICs-ADC-ADXRS-/​ADM-485-JR/​3//​index.html?​ACTION=3&​GROUPID=5458&​ARTICLE=39304&​SHOW=1&​START=0&​OFFSET=16&​|ADM 485 JR]] | 1 | 1,25 € |
 +| [[http://​www.reichelt.de/​IRL-IRFZ-Transistoren/​IRLML-2803/​3//​index.html?​ACTION=3&​GROUPID=2896&​ARTICLE=108738&​SHOW=1&​START=0&​OFFSET=16&​|IRLML 2803]] | 3 | 0,16€ |
 +| [[http://​www.reichelt.de/​USB-CAN-BUS-Controller/​AT-90USB162-TQ/​3//​index.html?​ACTION=3&​GROUPID=2946&​ARTICLE=112440&​SHOW=1&​START=0&​OFFSET=16&​|AT90USB162]] | 1 | 2,85€ |
 +^ ^ ^ 4,47€ ^
 +
 +
 +==== Software ====
 +Eine möglichkeit wäre es die LEDs mit einer Ambilight funktion durch http://​code.google.com/​p/​boblight/​ von einer projectM musik visualisierung ansteuern zu lassen. (juhuuuu!...sagt wanda :-) )
  
 ===== Ergebnis ===== ===== Ergebnis =====
Zeile 61: Zeile 169:
 Eine Gamma Korektur hat Große auswirkungen! Eine Gamma Korektur hat Große auswirkungen!
  
-Dubstep ist perfekt für die Visualisierung mit dem Akuellen Programm (welches noch viel Raum für verbesserungen hat)+<del>Dubstep</​del>​8-Bit-Musik ​ist perfekt für die Visualisierung mit dem Akuellen Programm (welches noch viel Raum für verbesserungen hat) 
 + 
 +===== Beispiel: Moodstrip mit Arduino/​ATmega328P ===== 
projects/moodstrip.1329602945.txt.gz · Zuletzt geändert: 2012/02/18 23:09 von skruppy