Hallo Zusammen,
ich möchte hier ein Konzept für eine MIDI-to-RGB-Strip Schaltung
vorstellen. Generell dient die Vorstellung dazu, mir Feedback zu holen
und ggf. Schwachstellen der Schaltung zu beseitigen. Gerne kann die
Schaltung aber auch als Vorlage für eigene Projekte verwendet oder
genauso übernommen werden. Das Projekt ist rein privater Natur und dient
ausschließlich für mich zum Spaß mit Elektronik basteln haben.
*Ziel und Aufgabe der Schaltung:*
Von einem herkömmlichen Computer sollen programmierte MIDI-Spuren
abgespielt und mittels der Schaltung als Licht wiedergegeben werden
können. Man kann sich das so vorstellen, dass eine Note für jede der
drei Farben Rot, Grün und Blau definiert ist und wenn die Note auf dem
Computer abgespielt wird, soll die entsprechende Farbe leuchten. Die
Anschlagstärke der Note bildet dabei die Helligkeit ab. So können auf
einer MIDI Spur verschiedenste (Misch-)Farben einprogrammiert und als
Licht wiedergeben werden. Die Ausgabe der MIDI-Signale vom Computer
erfolgt über einen USB-MIDI-Konverter oder eine dafür geeignete
Soundkarte. Als Verbindungskabel wird ein herkömmliches 5-poliges
MIDI-Kabel
(http://www.thomann.de/de/the_sssnake_sk366-1_blk_midi_kabel.htm)
verwendet werden.
Dass es dafür bestimmt schon (Selbstbau)Lösungen und Anleitungen im
Internet gibt, kann ich mir vorstellen. Ich bitte das für diesen Beitrag
zu ignorieren, da ich aus Spaß an der Sache gerne meine eigene Lösung
umsetzen möchte.
*Anforderungen an die Schaltung:*
- MIDI Kommandos sollen von der Schaltung erkannt, interpretiert und mit
geringer Verzögerung (<1ms) als Licht angezeigt werden können
- Mehrere der Schaltungen sollen in Reihe geschaltet werden können (MIDI
Thru Funktionalität erforderlich)
- Es sollen verschiedene Lichtschläuche unterstützt werden (LPD8806,
WS2801 und "normale" RGB-Strips, der WS2812 soll aufgrund des
One-Wire-Protokolls nicht unterstützt werden)
- Zur Unterstützung der verschiedenen Lichtschläuche soll die Schaltung
mit einem +5V- oder +12V-Netzteil betrieben werden können
- Die Umstellung von einen auf den anderen Lichtschlauch soll ohne
Lötarbeiten erfolgen können (anderes Netzteil darf verwendet werden)
- Konfiguration von Parametern, wie z.B. der angeschlossene
Lichtschlauch, soll über USB erfolgen
- Nur wenn der angeschlossene Lichtschlauch für die angelegte
Versorgungsspannung ausgelegt ist, soll der Lichtschlauch mit Spannung
versorgt werden
Ich bitte ebenfalls darum, die Anforderungen in eventuellen Diskussionen
nicht zu vereinfachen. Ich würde gerne alle die Funktionalitäten mit
einbringen. Sollte was unklar sein, bitte gerne nachfragen. :)
Ich nenne das Projekt "MIDI Lighter". Angefügt an diesem Beitrag ist das
Schaltungskonzept auf zwei PNGs.
Dargestellt ist ein Konzept und es entspricht noch nicht einem fertigen
Schematic, wie man es aus bspw. Eagle oder Altium kennt. Viele
Anschlüsse wie z.B. der Debug-Connector sind vereinfacht dargestellt.
Bei den meisten Komponenten sind in Klammern unter dem Namen/der
Bezeichnung die Reichelt-Bestellnummer, sowie das Package mit angegeben.
Ist evtl. nicht ganz konsistent. ;)
*Beschreibung des Konzepts:*
Als zentrale Komponenten wird ein ATmega32u4 eingesetzt. Die
Programmierung dessen erfolgt über USB mittels des vorprogrammierten DFU
Bootloaders. Da die Serielle Schnittstelle für die MIDI-Funktionalität
verwendet werden muss, ist die Kommunikation nicht mittels eines
FTDI-Chips oder USB-Seriell-Konverters möglich. Eine USB-Schnittstelle
muss daher in der Firmware ebenfalls implementiert werden.
Angesteuert werden können die Lichtschläuche seriell über die
SPI-Schnittstelle (für WS2801 und LPD8806) oder mittels PWM über einen
internen Timer mit drei unabhängigen Output-Compare-Ausgängen.
Die Eingangsspannung wird über einen Spannungsteiler mit einem ATtiny13
gemessen, welcher abhängig davon, den einen oder anderen Spannungspfad
zur Versorgung des ATmega32u4 durchschaltet. Welcher Spannungspfad
verwendet wird, wird über das Signal "SUPPLY_STATE" an der ATmega32u4
mitgeteilt.
Mehrere LEDs zeigen verschiedene Zustände an bzw. können frei
programmiert werden.
*Diskussionspunkte:*
1. Grobe Fehler im Konzept?? Was habe ich verbockt?
2. Sind die Transistoren hinsichtlich der Schwellspannungen und
benötigten Ströme korrekt ausgelegt?
3. Könnte es Probleme mit Inrush-Currents geben, wenn Teile der
Schaltung mit eingeschaltet werden?
4. Overvoltage-Protection notwendig - Ja/Nein?
5. Können die High-Side-Switches beim Anschalten einen unsicheren
Zustand annehmen und evtl. kurzzeitig durchschalten, bis der jeweilige
Microcontroller seine Pins final setzt?
6. Sind die Microcontroller richtig geschaltet?
7. Nicht geeignete Komponenten ausgewählt - gibt es bessere/günstigere
Alternativen?
8. Weitere Ideen für Funktionalitäten, die Sinn machen würden?
Fragen sind gerne willkommen. Wenn Interesse besteht, würde ich mich
über eine schöne Diskussion freuen. :)
Viele Grüsse und besten Dank!
Hallo,
vielen Dank für die Antwort, dass ist ein guter Hinweis.
Die Idee war, den ATtiny13 zu programmieren, solange die p-MOSFETs noch
nicht bestückt sind. Dies setzt aber natürlich voraus, dass die Firmware
bereits einwandfrei funkioniert. ;)
Eine Anpassung macht aber durchaus Sinn.
Grüße.
Nja, man könnte die 1k Gatewiderstände zur Diskussion stellen. Braucht
man die?
Du solltest vielleicht noch eine Diode über den LDO setzen, wenn du ihn
rückwärtz mit Spannung versogrst
Chris schrieb:> - Zur Unterstützung der verschiedenen Lichtschläuche soll die Schaltung> mit einem +5V- oder +12V-Netzteil betrieben werden können
Hmm, es gibt sicher ganz andere Lichtschläuche als du derzeit kennst.
z.B. welche bei denen RGB eine gemeinsame Masse haben und plus
geschaltet sehen wollen.
Und eben welche die nur Dauer+12V und Masse haben, und eine oder drei
Steuerleitungen auf der Steuersignale übertragen werden, als ob es eine
WS2812 ist.
Warum haben alle MOSFETs einen pull down (von niedrigen 10k, 100k täten
es auch) nur die RGB MOSFETs nicht ?
Der MIDITreiber 74LS14 liefert nur 3.3V bei high. Ich würde die ganze
Schaltung aus einem 3.3V Spannungsregler (dein MCP1703) versorgen und
einem CMOS-Buffer nutzen, dann muss überhaupt kein Klimmzug gemacht
werden bei der Spannungsumschaltung. Alle Bauteile von PLan2 inkl.
Attiny entfallen komplett.
Natürlich muss man dann N-MOSFETs nutzen, die bei 2.7V voll
durchschalten.
Relevant wäre für mich, daß die Schaltung nicht kaputt geht, auch wenn
der RGB Strip irgendwelche Kurzschlüsse hat. Also eine Strombegrenzung
auf jedem Ausgang, das kann durch eine Strombgernzung des Netzteils
erfolgen die jeder MOSFET eingescahltet durchleiten könnte, oder eben
eine zentrale Strombegrenzung durch einen HighSideSwitch wie ProFET,
oder in dem jeder Ausgang einzeln eine Strombegrenzung hat.
Dann sind die Flanken auf den Leitungen recht schnell, das verursacht
EMV Störungen bei langen Lichtschläuchen. Du hast keine Chance durch die
EMV Prüfung zu kommen. Man müsste bremsen, das macht man normalerweise
mit kleinen Spulen, die aber als Induktivität deine high speed
Datenübertragung stören würden.
. . schrieb im Beitrag
#5474489:
> Nja, man könnte die 1k Gatewiderstände zur Diskussion stellen.> Braucht man die?
Es gab einen Grund, warum ich diese hinzugefügt habe, weiß es leider
gerade nicht mehr. Schaue das mal nach und paste es dann.
> Du solltest vielleicht noch eine Diode über den LDO setzen, wenn du ihn> rückwärtz mit Spannung versogrst
Da stimme ich dir zu, eine Diode sollte noch hinzugefügt werden.
Michael B. schrieb:> Chris schrieb:>> - Zur Unterstützung der verschiedenen Lichtschläuche soll die Schaltung>> mit einem +5V- oder +12V-Netzteil betrieben werden können>> Hmm, es gibt sicher ganz andere Lichtschläuche als du derzeit kennst.>> z.B. welche bei denen RGB eine gemeinsame Masse haben und plus> geschaltet sehen wollen.>> Und eben welche die nur Dauer+12V und Masse haben, und eine oder drei> Steuerleitungen auf der Steuersignale übertragen werden, als ob es eine> WS2812 ist.
Muss ich recherchieren. Die Lichtschläuche, die ich bisher verwendet
habe können damit betrieben werden. Natürlich kann es noch weitere
geben. Etwas außer acht gelassen habe ich auch, dass bei dem WS2801 die
Anschlüsse für Clock und Data je nach Schlauch unterschiedlich
beschaltet sein können. Dies wird ebenfalls nicht unterstützt - zur Not
muss man aktuell einen Adapter verwenden.
> Warum haben alle MOSFETs einen pull down (von niedrigen 10k, 100k täten> es auch) nur die RGB MOSFETs nicht ?
Die RGB MOSFETs haben keinen Pull-Down, da die Schaltung bei denen
garantieren kann, dass ein unsicherer Zustand beim Einschalten keine
Probleme verursacht (Keine Spannung auf Lichtschlauch wegen des
vorgeschaltetem High-Side-Switch). Oder ist hier ein Denkfehler
vorhanden?
> Der MIDITreiber 74LS14 liefert nur 3.3V bei high.
Ist ausreichend für die Anwendung und wurde im Vorfeld erfolgreich
getestet.
> Ich würde die ganze> Schaltung aus einem 3.3V Spannungsregler (dein MCP1703) versorgen und> einem CMOS-Buffer nutzen, dann muss überhaupt kein Klimmzug gemacht> werden bei der Spannungsumschaltung. Alle Bauteile von PLan2 inkl.> Attiny entfallen komplett.
Vollkommen richtig. Entscheidung dagagen war, dass bei 3,3V der
ATmega32u4 max. mit 8 MHz bertrieben werden kann. Muss ich mit meiner
Firmware checken, ob das ausreichen würde.
> Natürlich muss man dann N-MOSFETs nutzen, die bei 2.7V voll> durchschalten.
Wäre bei den gewählten IRLML 0040 sogar gegeben (V_Threshold_max = 2,3V)
> Relevant wäre für mich, daß die Schaltung nicht kaputt geht, auch wenn> der RGB Strip irgendwelche Kurzschlüsse hat. Also eine Strombegrenzung> auf jedem Ausgang, das kann durch eine Strombgernzung des Netzteils> erfolgen die jeder MOSFET eingescahltet durchleiten könnte, oder eben> eine zentrale Strombegrenzung durch einen HighSideSwitch wie ProFET,> oder in dem jeder Ausgang einzeln eine Strombegrenzung hat.
Gute Idee! Muss ich schauen, dass ich geeignete Komponenten finde. Bei
den ProFETs habe ich keine Ahnung, wo ich die privat bekommen könnte.
Als Alternative gibt es von Infineon noch die BTS-Reihe.
> Dann sind die Flanken auf den Leitungen recht schnell, das verursacht> EMV Störungen bei langen Lichtschläuchen. Du hast keine Chance durch die> EMV Prüfung zu kommen. Man müsste bremsen, das macht man normalerweise> mit kleinen Spulen, die aber als Induktivität deine high speed> Datenübertragung stören würden.
Wie gesagt, dass Projekt ist rein privater Natur und wird nie vermarktet
werden ohne ähnliches. Ich wüsste jetzt spontan auch nicht, wo ich so
eine Prüfung machen (lassen) könnte.
Aber klar, bei langen Lichtschläuchen (ab 2m schätze ich) wird es bei
seriellen Protokollen Probleme geben.
Vielen Dank für die ganzen Anmerkungen, die sind sehr hilfreich. :)
Servus,
kleiner Hinweis zu MIDI I/O: ein normgerechter MIDI IN Anschluß hat
keine Masse-Verbindung!
Und der Ausgang bzw. Thru sollte Open Collector sein (z.B. 74LS07).
Chris schrieb:> Die Idee war, den ATtiny13 zu programmieren, solange die p-MOSFETs noch> nicht bestückt sind. Dies setzt aber natürlich voraus, dass die Firmware> bereits einwandfrei funkioniert. ;)
Wie wäre es mit einem Bootloader? Dann könnte man ggf. ein Update
nachher z.B. über die MIDI-Schnittstelle machen. Evtl. wäre es dafür
sinnvoll, die MIDI Thru Schaltung so zu modifizieren, daß diese auch als
MIDI OUT nutzbar ist (TXD1).
Oder über USB - da wird der Bootloader aber wohl etwas mehr Speicher
beanspruchen.
. . schrieb im Beitrag
#5474489:
> Nja, man könnte die 1k Gatewiderstände zur Diskussion stellen. Braucht> man die?
Ich habe diesbzgl. nochmal nachgeschaut. Die Gate-Widerstände dienen
dazu, den Aufladestrom der Gate-Kapazitäten zu limitieren. Der
ATmega32u4 kann pro Pin max. 20 mA treiben. Ein Widerstandswert von 1k
ist vermutlich zu übertrieben, 100 Ohm sollten es auch tun.
Thomas E. schrieb:> Servus,>> kleiner Hinweis zu MIDI I/O: ein normgerechter MIDI IN Anschluß hat> keine Masse-Verbindung!> Und der Ausgang bzw. Thru sollte Open Collector sein (z.B. 74LS07).
Hallo Thomas, vielen Dank für deinen Beitrag. Hast du einen Link dazu,
wo ich mir das einmal genauer anschauen könnte?
Ich habe mich für die aktuelle Schaltung hieran orientiert:
http://www.personal.kent.edu/~sbirch/Music_Production/MP-II/MIDI/midi_physical_layer.htm
Die Masse-Verbindung dient lediglich als Schirm innerhalb des Kabels, da
so ein MIDI-Kabel bei "normaler" Anwendung auch schon mal über mehrere
Meter verlegt werden kann.
Thomas E. schrieb:> Wie wäre es mit einem Bootloader? Dann könnte man ggf. ein Update> nachher z.B. über die MIDI-Schnittstelle machen. Evtl. wäre es dafür> sinnvoll, die MIDI Thru Schaltung so zu modifizieren, daß diese auch als> MIDI OUT nutzbar ist (TXD1).> Oder über USB - da wird der Bootloader aber wohl etwas mehr Speicher> beanspruchen.
Die ATmega32u4 werden mit einem vorprogrammierten DFU Bootloader
ausgeliefert - dieser soll auch genutzt werden.
Den ATtiny13 kann man laut Datasheet über zwei Wege programmieren:
seriell (ISP) oder über "High-Voltage serial programming". Mit der
zweiten Methode hab ich bisher keinerlei Erfahrung, warum ich die
Programmierung über ISP gewählt habe.
Ich hatte überlegt, den ATtiny13 über den ATmega32u4 zu programmieren.
Dies ist aber eine Art Heene-Ei-Problem. Der ATtiny13 muss die
Betriebsspannung für den ATmega32u4 aktivieren, damit dieser den
ATtiny13 programmieren kann. Dies kann der ATtiny13 aber nicht tun, ohne
vorher programmiert worden zu sein.
Wie dem auch sei, da sich die Funktion des ATtiny13 voraussichtlich nie
ändern wird, habe ich mich dazu entschlossen, diesen ein Mal beim
Bestücken der Leiterplatte über ISP zu programmieren. :)
Die Diode vor dem Optokoppler sollte man nicht einsparen; schon beim
Einstöpseln des MIDI-Kabels könnte die LED durch ESD gebraten werden.
Thomas E. schrieb:> ein normgerechter MIDI IN Anschluß hat keine Masse-Verbindung!
Oder besser: einen Kondensator (100 nF) zwischen Pin 2 und Masse (siehe
"Electrical Specification Update [2014]" auf
https://www.midi.org/specifications-old/item/the-midi-1-0-specification).
> Und der Ausgang bzw. Thru sollte Open Collector sein (z.B. 74LS07).
Und der H11L1 ist dafür stark genug; den Treiber kann man sich komplett
sparen.
(Und die I/O-Pins des ATmega32U4 würden auch 5 mA ausgeben können.)
Clemens L. schrieb:> Die Diode vor dem Optokoppler sollte man nicht einsparen; schon beim> Einstöpseln des MIDI-Kabels könnte die LED durch ESD gebraten werden.
Guter Punkt, vielen Dank. Diese Diode habe ich in der Tat einfach
vergessen. :)
Chris schrieb:>> Natürlich muss man dann N-MOSFETs nutzen, die bei 2.7V voll>> durchschalten.>> Wäre bei den gewählten IRLML 0040 sogar gegeben (V_Threshold_max = 2,3V)
NEIN, warum gibt es diesen Fehler beim Lesen eines Datenblatts zu
hundertausenden ?
Unter V_Threshold ist ein MOSEFT garantiert AUS, da steht ja nicht ohne
Grund 25uA dahinter.
Ein IRLML0040 ist ausschliesslich bei VGS = 4.5V garantiert EIN, mit ID
bis 2.9A wie es bei RDS(on) im Datenblatt steht.
Nimm besser einen AO3400A.
Chris schrieb:> Hast du einen Link dazu,
Im Zweifelsfall das Original (www.midi.org). Das von Clemens genannte
Update mit dem Kondensator kannte ich noch nicht, macht aber Sinn.
Ebenso wie die Diode, deren Fehlen mir schlicht entgangen ist.
Einen Treiber (aber eben einen mit OC) würde ich aber trotzdem
empfehlen, einfach, um die OC Eigenschaft zu erhalten. So ist man auch
sicher, daß nichts unerwartetes passiert, wenn man mal versehentlich
einen Ausgang auf den MIDI OUT/THRU stöpselt (z.B. Rückspeisung ATMegas
über seine IO-Schutzdioden). Und einen ESD-Blitz würde ich ggf. auch
lieber in einen Treiber-Ausgang schicken, als direkt in den IO-Pin des
Controllers.
Michael B. schrieb:> NEIN, warum gibt es diesen Fehler beim Lesen eines Datenblatts zu> hundertausenden ?> Unter V_Threshold ist ein MOSEFT garantiert AUS, da steht ja nicht ohne> Grund 25uA dahinter.>> Ein IRLML0040 ist ausschliesslich bei VGS = 4.5V garantiert EIN, mit ID> bis 2.9A wie es bei RDS(on) im Datenblatt steht.
Super, danke für die Erklärung. Das ist verständlich und
nachvollziehbar. Wieder was gelernt. :)
Michael B. schrieb:> Nimm besser einen AO3400A.
Als Alternative dazu habe ich den IRLML6346 rausgesucht. Dieser ist für
mich einfacher verfügbar. Was den RDS_on-Wert angeht, ist dieser nicht
so gut wieder der AO3400A, sollte aber für den Einsatz genügen.
Thomas E. schrieb:> Einen Treiber (aber eben einen mit OC) würde ich aber trotzdem> empfehlen, einfach, um die OC Eigenschaft zu erhalten.
Der H11L1-Ausgang ist schon OC; das wäre nur notwendig, wenn der Ausgang
vom µC kommt (und der µC-Pin nicht als OC konfiguriert werden kann).
Hallo Zusammen,
ich bedanke mich noch einmal bei allen für die hilfreichen Kommentare
und Anmerkungen. Ich habe daraufhin das Konzept ein angepasst. Die
aktuellen Bilder sind diesem Beitrag noch einmal beigefügt.
Die Änderungen belaufen sich hauptsächlich auf:
1. IRLML0040 ersetzt durch IRLML6346
2. ATtiny13 Pinning angepasst
3. Gate-Widerstände auf 100 Ohm reduziert
4. Dioden hinzugefügt am LDO und MIDI In
5. Schaltung abgeglichen mit dem Electrical Specification Update [2014]
von MIDI.org
6. Idee für Messung der Stromaufnahme von Lichtschlauch hinzugefügt
(Short Circuit Protection) sollte sich damit realisieren lassen
Falls jemanden noch weitere Punkte oder Ideen zu Schaltung einfallen,
sind diese hier weiterhin sehr willkommen. :)
Beste Grüße.
Das Electrical Specification Update hat Anpassungen für RF und 3,3 V,
aber die anderen Bauteilvorschläge sind über 30 Jahre alt. Von der 1N914
gibt es eine neuere Version, die 1N4148, mit niedrigerem Leckstrom. Und
weil das heutzutage herstellungstechnisch kein Problem ist, bekommst du
als "1N914" eine umgelabelte 1N4148, mit Aufpreis fürs Umlabeln. Das
kannst du dir sparen. :)
Und um mich zu wiederholen:
> The buffer shown in the MIDI Out circuit driving Rc is optional and> system-dependent
Vor 30 Jahren wäre ein 8051 nicht in der Lage gewesen, 5 mA zu treiben.
Aber in deiner Schaltung ist der 74LS14 überflüssig.
den IRF7416 gibt es als DoppelConfig alá IRF7343 als NP
Pärchen.(nebenbei uralt das Teil, so wie die 1N914)
Ob deine FETs nun 20 oder 100milliohm RDS_on haben ist total egal.
ich würde lieber auf Typen zurückgreifen, die mehr als 20V Uds_max
haben.
Auch würde ich nicht auf SOT23 setzen, sondern etweder altbacken auf SO8
oder auf eben auf die neueren, 'coolen', aber trotzdem etwas größeren
Packages. denn: bissl warm wirds dann doch immer. Muss man aber nicht.
Viel wichtiger ist das Bewustsein, das so ein FET kein Bipolartransistor
ist, sonder wirklich blitzschnell jedwedem, auch noch so kurzem
Nadelimpuls 'folgt'. und die Spannung am Knoten (also am Drain
meinetwegen) ergibt sich nicht nur aus deiner VCC (12V-24V?), sondern
aus der Stromanstiegsgeschwindigkeit (fallende Flanke PWM und der
parasitären Induktivität). Hier würde ich auf jeden Fall 55Volt-Typen
einsetzen oder die Stromänderungsgeschwindigkeit herabsetzen.
Auf Seite1 hast du eben den IRF7416 eingesetzt und auf Seite2 für
gleichen Zweck etwas anders. Das hab ich nicht verstanden. Du?
Benenne bitte deine Bauteile mit Q1-Qn, R1-Rn, C1-Cn usw. damit man sich
darauf berufen kann.
Pull-Downs direkt ans Gate nach Source. Überall. Gatewiderstände 100R
(oder größer) überall, um die Schaltflanken im Griff zu haben. Null Ohm
kann man immernoch einsetzen. ich würde mir sogar überlegen, parallel zu
den "RGB-Fets" je eine Supressordiode und oder ein Snubber-Glied
einzupflegen.
Viel Spass weiterhin.
Achso: V_REF vom AtMegaXYZ niemals an VCC. 100nF gegen GND ist besser.
Jedes VCC-GND Pärchen am µC mit 100nF beschalten. Zusätzlich ne 5.1V
Z-Diode. Falls da doch mal deine 12Volt andere Wege gehen, als Du Dir
wünscht...
Clemens L. schrieb:> Vor 30 Jahren wäre ein 8051 nicht in der Lage gewesen, 5 mA zu treiben.
wieviel der µC treiben kann, ist hier eh wurscht, weil es um MIDI THRU
geht - und der µC ist hier nur Eingang.
BTW, die Optokoppler (wie z.B. PC900) konnten auch vor 30 Jahren schon
deutlich mehr als 5mA. Da hätte man den THRU-Ausgang auch schon direkt
anschließen können.
Um mich auch nochmal zu wiederholen:
Wenn es sich vermeiden lässt, sollte man keine direkte Verbindung von
externen Steckern für lange Kabel zum µC führen. Eine Steckung im
Betrieb mit ein bisschen statischer Aufladung und der Controller geht in
den Latchup. Den OC-Treibertransistor lässt das i.d.R. kalt - und wenn's
ihn doch dabei himmelt, muss man zur Reparatur bloß den Treiber
austauschen.
Ersatzweise kann man natürlich in der Schaltung auch eine ordentliche
ESD-Protektion vorsehen.
Und unter Open Collector verstehe ich auch etwas anderes, als einen 1k
Pullup und die interne Diode nach VCC im Microcontroller. Klar, kann man
auch so machen und wird wohl auch funktionionieren, entspricht aber nach
meinem Verständnis nicht der MIDI Norm. Wenn einen das sowieso nicht
interessirt, kann man genau genommen eher auf die galvanische Trennung
verzichten und den Optokoppler weglassen - ist billiger und funktioniert
auch, und Brummschleifen sind bei der Verwendung als Lichtsteuerung wohl
kaum störend.
Vielen Dank für die Kommentare.
Meine Antworten stehen unter den entsprechenden Zitaten. :)
Äxl (geloescht) schrieb:> den IRF7416 gibt es als DoppelConfig alá IRF7343 als NP> Pärchen.(nebenbei uralt das Teil, so wie die 1N914)> Ob deine FETs nun 20 oder 100milliohm RDS_on haben ist total egal.> ich würde lieber auf Typen zurückgreifen, die mehr als 20V Uds_max> haben.
Vielen Dank für die Info. Den IRF7416 habe ich hauptsächlich gewählt, da
ich davon noch mehr als genug verfügbar habe. Den IRLML müsste man ggf.
austauschen bzgl. der 20V Uds_max.. Alle sonstigen Transistoren haben
30V Uds_max..
> Auch würde ich nicht auf SOT23 setzen, sondern etweder altbacken auf SO8> oder auf eben auf die neueren, 'coolen', aber trotzdem etwas größeren> Packages. denn: bissl warm wirds dann doch immer. Muss man aber nicht.
Durch die IRLML2246 sollte (hoffentlich) ein Strom von max. 200mA
fließen. Hauptsächlich belastet mit voraussichtlich 3A wird der IRF7416.
Dieser ist in einem SO-8 Gehäuse geplant.
> Viel wichtiger ist das Bewustsein, das so ein FET kein Bipolartransistor> ist, sonder wirklich blitzschnell jedwedem, auch noch so kurzem> Nadelimpuls 'folgt'. und die Spannung am Knoten (also am Drain> meinetwegen) ergibt sich nicht nur aus deiner VCC (12V-24V?), sondern> aus der Stromanstiegsgeschwindigkeit (fallende Flanke PWM und der> parasitären Induktivität). Hier würde ich auf jeden Fall 55Volt-Typen> einsetzen oder die Stromänderungsgeschwindigkeit herabsetzen.> Auf Seite1 hast du eben den IRF7416 eingesetzt und auf Seite2 für> gleichen Zweck etwas anders. Das hab ich nicht verstanden. Du?
Siehe oben. Auf Seite 2, die IRLML2246 werden nicht so stark belastat,
wobei die Last sich nur gering ändern sollte. LEDs, die die ganze Zeit
An-und-Aus gehen hängen hinter dem IRF7416.
Die Betriebsspannung für die Schaltung soll 5V oder 12V betragen. Für
den privaten Gebrauch kenne ich keine Lichtschläuche, die man damit
nicht betreiben könnte.
> Benenne bitte deine Bauteile mit Q1-Qn, R1-Rn, C1-Cn usw. damit man sich> darauf berufen kann.
Ja, vollkommen richtig. Das Konzept ist meinem Zeichenprogramm
entstanden. Da die Nummerierung dabei nicht automatisiert erzeugt wird
habe ich die hier weggelssen. Im Schematic wird dies er Fall sein -
finde ich aber lange nicht so übersichtlich. :)
> Pull-Downs direkt ans Gate nach Source. Überall. Gatewiderstände 100R> (oder größer) überall, um die Schaltflanken im Griff zu haben. Null Ohm> kann man immernoch einsetzen. ich würde mir sogar überlegen, parallel zu> den "RGB-Fets" je eine Supressordiode und oder ein Snubber-Glied> einzupflegen.
Danke für den Hinweis. Ich werde mir dies genauer anschauen.
Äxl (geloescht) schrieb:> Achso: V_REF vom AtMegaXYZ niemals an VCC. 100nF gegen GND ist besser.> Jedes VCC-GND Pärchen am µC mit 100nF beschalten. Zusätzlich ne 5.1V> Z-Diode. Falls da doch mal deine 12Volt andere Wege gehen, als Du Dir> wünscht...
Vollkommen richtig. Ist in den Konzept nicht eingezeichnet.
A. schrieb:> Wo sind deine Koppelkondensatoren? AREF auf 5V, das macht man so> eigentlich nicht oder?
Auch hier vollkommen richtig. Wie gesagt, einige Sachen sind nicht
eingezeichnet. Der ATmega32u4 hat z.B. auch keinen Masseschluss.
Thomas E. schrieb:> Um mich auch nochmal zu wiederholen:> Wenn es sich vermeiden lässt, sollte man keine direkte Verbindung von> externen Steckern für lange Kabel zum µC führen. Eine Steckung im> Betrieb mit ein bisschen statischer Aufladung und der Controller geht in> den Latchup. Den OC-Treibertransistor lässt das i.d.R. kalt - und wenn's> ihn doch dabei himmelt, muss man zur Reparatur bloß den Treiber> austauschen.> Ersatzweise kann man natürlich in der Schaltung auch eine ordentliche> ESD-Protektion vorsehen.
Muss ich mir anschauen. Habe ich bisher nichts mit gemacht - wie gesagt,
ist alles für den privaten Bereich. :)
> Und unter Open Collector verstehe ich auch etwas anderes, als einen 1k> Pullup und die interne Diode nach VCC im Microcontroller. Klar, kann man> auch so machen und wird wohl auch funktionionieren, entspricht aber nach> meinem Verständnis nicht der MIDI Norm.
Nein, den MIDI-Norm entspricht es nicht vollkommen. Ich weiß aber aus
vorherigen Tests, dass die Schaltung so funktionieren wird - zuverlässig
über längere Zeiten von einigen Stunden hinweg. Für meine Anwendung
vollkommen ausreichend.
> Wenn einen das sowieso nicht interessirt, kann man genau genommen eher> auf die galvanische Trennung verzichten und den Optokoppler weglassen -> ist billiger und funktioniert auch, und Brummschleifen sind bei der> Verwendung als Lichtsteuerung wohl kaum störend.
Interessieren tut es mich schon, darum habe ich das Konzept hier
gepostet und bin allen Kommentaren und Anerkungen sehr dankbar und
versuche diese umzusetzten.
Einige er Bauteile aus dem MIDI-Norm kann ich aber nur sehr schwer
beziehen, was es für mich sehr kompliziert macht, die Schaltung nach
Norm als Privat-Anwender umzusetzen. Einige Abstriche muss ich daher
machen.
Mein Ziel ist es aber, die Schaltung so robust und sicher wie möglich
auszulegen. Daher lese ich mich in die Sachen ein und versuche zu
verstehen, was wie wofür gut ist. :)
Servus Chris,
Chris schrieb:> Einige er Bauteile aus dem MIDI-Norm kann ich aber nur sehr schwer> beziehen,
es ist ja auch ok, andere (ggf. auch modernere) Bauteiletypen zu nehmen,
als in der alten MIDI Norm angegeben waren, solange die Funktion
äußerlich gleich ist. Den 74LS07 kannst Du mit "schwer zu beziehen" aber
wohl eher nicht meinen, oder? Den gibt's bei Reichelt für 66 Cent. Aber
man braucht davon ja nur einen der 6 Treiber, da könnte man auch
ersatzweise zwei NPN-Transistoren nehmen. Oder Du lässt den LS14 (falls
Du disen teilweise noch für andere Zwecke brauchst) und schaltest nur
einen NPN als OC-Treiber hinter ein LS14-Gate.
Thomas E. schrieb:> es ist ja auch ok, andere (ggf. auch modernere) Bauteiletypen zu nehmen,> als in der alten MIDI Norm angegeben waren, solange die Funktion> äußerlich gleich ist. Den 74LS07 kannst Du mit "schwer zu beziehen" aber> wohl eher nicht meinen, oder? Den gibt's bei Reichelt für 66 Cent.
Hallo Thomas,
danke für deine, den 74LS07 meine ich in der Tat nicht. :)
Ich meinte dies bzgl. Ferrit-Dämpfungsglieder oder ähnliches.
> Aber man braucht davon ja nur einen der 6 Treiber, da könnte man auch> ersatzweise zwei NPN-Transistoren nehmen. Oder Du lässt den LS14 (falls> Du disen teilweise noch für andere Zwecke brauchst) und schaltest nur> einen NPN als OC-Treiber hinter ein LS14-Gate.
Danke auch für den Schaltungshinweis. Finde ich super und schaue ich mir
genauer an.
Hast du diese Schaltung für einen ähnlichen Zweck schon einmal
eingesetzt oder für diesen Beitrag frisch ausgedacht? :)
Chris schrieb:> oder für diesen Beitrag frisch ausgedacht?
Na, viel ausdenken muss man sich für diese primitive Schaltung ja nicht
:)
Um es bildlich darzustellen habe ich die Schaltung aus zwei Transistoren
und zwei Widerständen schnell mal im LTSpice zusammengeklickt, und (da
es nun schon im Sim eingegeben war) auch gleich mal simuliert. Die
verlängerte Ausschaltzeit durch die Sättigung von Q2 hat mich dabei
etwas gestört, weshalb dann noch die Schottky-Diode dazukam.
Thomas E. schrieb:> Na, viel ausdenken muss man sich für diese primitive Schaltung ja nicht> :)> Um es bildlich darzustellen habe ich die Schaltung aus zwei Transistoren> und zwei Widerständen schnell mal im LTSpice zusammengeklickt, und (da> es nun schon im Sim eingegeben war) auch gleich mal simuliert. Die> verlängerte Ausschaltzeit durch die Sättigung von Q2 hat mich dabei> etwas gestört, weshalb dann noch die Schottky-Diode dazukam.
Super, vielen Dank. Ich habe die Schaltung mal mit eingeplant und werde
diese ausprobieren und vermessen. Bis zu einem PCB wird es von meiner
Seite aus noch etwas dauern, da ich es halt noch machen muss. :)
Clemens L. schrieb:> Ferrite mit 1 kΩ @ 100 MHz gibt es viele (allerdings nicht bei Händlern,> die sich mehr auf Hobbyisten konzentrieren):> https://www.digikey.de/products/en/filters/ferrite-beads-and-chips/841?pv2280=u1+kOhms+%40+100MHz&FV=1c0002%2Cffe00349&ColumnSort=1000011&stock=1> https://www.mouser.de/Passive-Components/EMI-Filters-EMI-Suppression/Ferrites/Ferrite-Beads/_/N-bw7paZ1yzvvqx?P=1yzgm13Z1z0wped&Ns=Pricing%7c0
Ja genau. Die genannten Händler liefern halt nicht an Privatpersonen.
Ich brauche halt auch nur eine Anzahl in der Größenordnung von 10 Stück
voraussichtlich.
> Allerdings ist MIDI aber eher unempfindlich; EMI-Probleme sind bei den> hohen Strömen zum RGB-Strip wahrscheinlicher.
Da hast du vermutlich recht. Ich habe verschiedene LED-Strips in anderen
Hobby-Projekten verwendet - meist auf Lochraster. Laufen tun die
Schaltugen wohl. Wie das etwas kompakter auf einem PCB sein wird, muss
ich schauen. Sollte es garnicht funkionieren, kann man zumindest wieder
was lernen. :)
Chris schrieb:> wobei die Last sich nur gering ändern sollte. LEDs, die die ganze Zeit> An-und-Aus gehen hängen hinter dem IRF7416.
Hmm - naja. Die R, G und B Stränge werden sicherlich über PWM (OC4A, B,
D) angesteuert. Bei JEDER fallenden Flanke hast Du eine Laständerung von
Null auf Hundert. Es geht ja nicht um die paar Milliampere, sondern um
die maximale Spannung, die hier in jenem Moment am Drain der IRLML6346
entsteht. Das geht schnell weit über die maximale U_ds hinaus. Viele der
FETs sind zwar für den Avalachebetrieb zugelassen, aber hier hilft es
wirklich die Schaltflanken nicht "zackiger" zu machen, als unbedingt
nötig.
Äxl (geloescht) schrieb:> Chris schrieb:>> wobei die Last sich nur gering ändern sollte. LEDs, die die ganze Zeit>> An-und-Aus gehen hängen hinter dem IRF7416.>> Hmm - naja. Die R, G und B Stränge werden sicherlich über PWM (OC4A, B,> D) angesteuert.
Vollkommen richtig.
> Bei JEDER fallenden Flanke hast Du eine Laständerung von Null auf Hundert.> Es geht ja nicht um die paar Milliampere, sondern um die maximale Spannung,> die hier in jenem Moment am Drain der IRLML6346 entsteht. Das geht schnell> weit über die maximale U_ds hinaus. Viele der FETs sind zwar für den> Avalachebetrieb zugelassen, aber hier hilft es wirklich die Schaltflanken> nicht "zackiger" zu machen, als unbedingt nötig.
Da gebe ich dir recht. Was würdest du vorschlagen? Die PWM-Signale
mittels eines Kondensators etwas zu glätten, bspw.? :)
Chris schrieb:> Die genannten Händler liefern halt nicht an Privatpersonen.
Doch, das tun sie (auch Farnell, und RS auf
https://www.rsonline-privat.de/). Aber die Versandkosten werden dir
nicht gefallen. Deshalb gibt es auch
Beitrag "[Biete] Sammelbestellung de.Mouser.com 2018".
> Was würdest du vorschlagen? Die PWM-Signale> mittels eines Kondensators etwas zu glätten, bspw.?
[X] Niedrige Impedanz -> Ferrit
[ ] Hohe Impedanz -> Kondensator