Hallo Forum, nach dem ich letztes Jahr eine Gartenbewässerung mit einem Arduino/RTC/Ethernet/LCD/Relaiskarte "gebastelt" habe ist jetzt was "ernsteres" gefragt. Für ein Kunstprojekt müssen - 81 LEDs (24VDC, 300 bzw. 330mA, inkl. Konstantstrom) - 81 Magnetventile (24VDC, max 750mA, direktwirkend) angesteuert werden. Dazu möchte ich eine Treiber-Platine (im 200x85 DIN-Rail-Gehäuse) entwerfen die jeweils 27 Kanäle steuert. Durch (ggf.) zwei Bestückungsvarianten möchte ich die gleiche Leiterplatte für LEDs und Ventile verwenden. Als Bus soll ein SPI dienen um die Treiberplatine anzusteuern. Aus Gründen der späteren Weiterverwendbarkeit der Leiterplatte im "stand alone" Betrieb möchte ich im Layout der Leiterplatte auch eine DMX- und MIDI-Schnittstelle (jeweils IN/OUT) vorsehen. Als uController will ich den ATmega324PA einsetzen. Dieser soll auch die Soft-PWM bewerkstelligen. Wie ich die den uController und die SPI/MIDI/DMX Schaltung aufbaue ist relativ klar bzw. kann ich mir abgucken. Völlig "blond" bin ich jedoch bei der Schaltung ab den 24 GPIOs (meine letzte Begegnung mit diskreter Elektronik liegt fast 30 Jahre zurück). Ich habe hunderte Artikel/Beiträge dazu gelesen - aber je mehr ich lese um so unklarer wird es leider ... Was ich möchte ist: - Ansteuerung über 3,3 oder 5V (Bestückungsvariante) - Optokoppler - Leistungstransitor (24V, 1A, gemeinsame Anode) - schnelle Schaltzeiten (50 ns?) für LED-PWM (>=70Hz, 12 Bit) - Platzbedarf max. 7,5 x 40 mm pro Kanal - möglichst günstig (low budget Kunstprojekt) Hat jemand von Euch ggf. etwas derartiges parat oder eine Empfehlung wo ich mir das fehlende Wissen anlesen kann? salute Thomas
Schau mal in die Artikelsammlung http://www.mikrocontroller.net/articles/Hauptseite, da findest du für all diese baugruppen umfangreiche Erklärungen. Falls die Optkoppler für die Ausgänge verwendet werden sollen, such mal nach PhotoMos. Die gibt es durchaus für 1A, so dass der Transistor entfallen kann. Deine 50ns sind überzogen. Ich glaube, die Arduinos sind nicht geeignet, um jeweils 27 PWM Kanäle mit 12 Bit zu realisieren. Bei der Wahl des Mikrocontroller wird das wohl der wichtigste Punkt sein. SPI eignet sich nur für ganz kurze Leitungen und unter der Voraussetzung, dass alle Platinen gleichen GND Potential haben. Ich würde hier mal über RS485 nachdenken, das eignet sich eher.
Stefan Us schrieb: > Ich glaube, die Arduinos sind nicht geeignet, um jeweils 27 PWM Kanäle > mit 12 Bit zu realisieren. Bei der Wahl des Mikrocontroller wird das > wohl der wichtigste Punkt sein Mit dem ganzen arduino Gerüst (Software) könnte das wirklich nichts werden. Aber 27 pwm Kanäle mit 100Hz sind machbar. Bleiben Min 50 Takte zwischen zwei Ausgaben. Bei 20 mhz Prozessor Takt. Problematisch wird erst die Kommunikation. Da müsste man etwas tricksen und bei direkt aufeinander folgenden Ausgaben eventuell auf 11 oder 10 Bit Auflösung gehen. Das sollte auch bei der Ausgabe nicht auffallen. Und am ende bleiben 100-200 Take um auch auf andere Interrupts reagieren zu können.
:
Bearbeitet durch User
Thomas Fischer schrieb: > wo ich mir das fehlende Wissen anlesen kann? Im Datenblatt eines Optokoppler. Der ist WEIT entfernt von 50ns, eher bei 5us im günstigsten Fall (hoher Strom). Du brauchst schnelle Optokoppler wie 6N137 für 50ns (bei sattem Strom von 16mA). Dann noch eine Stromquelle für 50ns
1 | +24V ------+-----+----+--+---+ |
2 | | | | | | |
3 | 330nF | 100nF| | |
4 | | +----+ | | | |
5 | GND -------+--|7905|--+ | | (nur ein mal für alle) |
6 | +----+ | | | |
7 | | | | |
8 | +---+ | | | |
9 | 5 --220R--+ | |--(--+ 12R für 350mA |
10 | GPIO +--|A | | 390R |E |
11 | 3.3 --150R--+ |6N |--(--+--|< BD136 |
12 | |137| | | |
13 | GND -----------|K |--+ LED |
14 | +---+ |K |
15 | GND |
Das lässt sich durchaus auf 7x40mm aufbauen, wenn der Transistor nicht zu viel Leistung loswerden muss (also die LEDs auch knapp 20V benötigen und nicht bloss 3.6V), bzw. auf einem Kühlblech sitzt (mindestens 10K/W). Für das Relais reicht ein kleinerer Transistor bis 100mA: [pre| +---+ | | | 5 --220R--+ | |--(--+ | GPIO +--|A | | 390R |E 3.3 --150R--+ |6N |--(--+--|< BC557 |137| | | GND -----------|K |--+ +--|<|--+ 1N4148 +---+ | | Relais ZD21 | | +-------+-- GND [/pre]
Thomas Fischer schrieb: > 24V - 1A - 50 ns und das über 81 Kabel über mehrere Quadratmeter verteilt? Gib's zu, du planst einen Banküberfall und willst schon mal den Polizeifunk landesweit lahmlegen ;) Oder wie wird sowas in der Praxis gefiltert? Stefan Us schrieb: > Deine 50ns sind überzogen. Die 12 Bit auch; egal, wie einfach man sie erzeugen kann.
Hallo Stefan, Robin, MaWin und Schaulus, vielen Dank für Eure schnellen und hilfreichen Antworten. Da einige Zweifel bzgl. Machbarkeit von 27 PWM Kanälen a 12 Bit aufgekommen sind: Laut dem Soft-PWM Artikel Abschnitt 3 wurde mit einem ATmega16 mit 16 MHz ein 13 Bit PWM mit 200 Hz für 9+18 Kanäle realisiert. Das klingt dort alles zwar ziemlich kompliziert aber scheinbar auch möglich. Bzgl. SPI Timing wollte ich es so machen, dass nur in den langen PWM-Pausen der Master gepollt wird so dass in den zeitkritischen PWM-Loops nichts dazwischen funken kann. Als SPI-Kabel (3 x 15 cm) würde ich es mit CAT5 Kabel und 38400 bps versuchen. Alle SPI-Partner haben den gleichen GND. Für die optionale DMX und MIDI Schnittstelle (sowie für SPI, falls es doch kritisch wird) kann ich auch einen zweiten kleinen AVR auf die Platine packen der die MIDI/DMX/RS485-Kommunikation übernimmt und mit dem PWM-uC via SPI redet. Das ist echt eine Überlegung wert - Danke für Eure Einwände :) > ... und willst schon mal den Polizeifunk landesweit lahmlegen ;) Die gesamte Elektronik sitzt in einem Stahlschrank in einem unterirdisch Schaltraum. Die Kabel zu den LEDs laufen in 70 cm Tiefe unter der Erde (Dauerinstallation). Allerdings könnten die in der Erdoberfläche sitzenden LED-Ringe zu Sendeantennen mutieren. Die sind aus massivem Stahl aber oben natürlich mit einer Glasplatte. Da muss ich wohl mal eins zwei Bier mit einem Amateurfunker trinken gehen und mich beraten lassen - Danke für den Hinweis! > Deine 50ns sind überzogen. Man wird ja noch träumen dürfen :-) Ich kam auf den Wert weil der kürzeste PWM Impuls nur 2,44 µS lang ist und 50ns dann etwa 2% beträgt. Aber Ihr habt völlig recht, das IST überzogen. Die tPLH/tPLH sind ja quasi identisch (6N137). Dem menschlichen Auge kann es also wurscht sein dass sich die PWM-Impulse verschieben solange die Länge halbwegs hinhaut. > Die 12 Bit auch Das wird halt keine "Disko-Beleuchtung" wo es reicht wenn es bunt blinkt sondern ist für ein Kunstprojekt. Ich benötige die zusätzlichen Bits für die Kalibrierung der Helligkeits- und Farbwerte. Zum Teil werden Fades über mehrere Minuten gefahren in denen die Menschen gar nicht mitbekommen WIE sich es ändert - höchstens überrascht sind DAS sich etwas geändert hat. Danke für den Tip mit der Artikelsammlung. Ich hab mich hauptsächlich durch elendlange Forendiskussionen gekämpft an deren Ende ich des öfteren nur wenig schlauer als zuvor war. Und ein großes Dankeschön für die Schaltung von MaWin. Das hilft mir ein riesiges Stück weiter! denasciiartdetektorrauskram Die LED-Ringe haben einen Konstant-Strom-Ausgang (R=300mA, G=330mA, B=330mA) und werden direkt mit 24V betrieben. Gekühlt werden sie durch ein massives, wassergekühltes Alu-/Stahlgehäuse. Sie haben eine gemeinsame Anode. Könnte man die Beispielschaltung mit dem BD136 diesbezüglich anpassen? Für die Ventile nehme ich keine Relais sondern möchte sie direkt ansteuern (24VDC, max 750mA). Da wäre der BC557 zu lütt. Auch hier wäre es prima wenn es noch eine Variante mit Direktansteuerung gäbe. Vielen Dank Thomas
Du kannst die für Relais vorgesehene Schaltung natürlich auch direkt für deine Ventile nutzen, wenn du statt dem BC556 den BD136 als Schalttransistor nimmst. Ebenso kann dort der LED Ring dran, dann können Diode und Z-Diode entfallen. Aber LEDs mit eigener Stromregelung werden nicht mal in 10usec hoch und runterregeln.
Thomas Fischer schrieb: > - Optokoppler > - Leistungstransitor (24V, 1A, gemeinsame Anode) Hallo Thomas, ich halte die Optokoppler für entbehrlich. Schau Dir die Automotive Highside Switches an. Die können problemlos 1A und haben ausreichend Schutz zur Primärseite auch wenn kein Optokoppler drinnen ist (z.B. ISP752 oder ähnlich). Es sei denn Du braucht aus anderen Gründen galvanische Trennung. EINE LED mit 24V ansteuern halte ich für absolut ineffektiv. Da verbrätst Du 20V * 300mA = 6W * 81 LEDs = 480W an Wärme. Wenn das nur einen LED pro Strang ist versuche das z.B. mit 6V zu machen. Auch zum Kabelaufbau mache Dir Gedanken. Das Thema EMV ist ja schon angesprochen worden, PWM auf langen Kabeln ist äußerst ungünstig. Und um die Störungen der Nachbarn solltest Du Dir durchaus Gedanken machen. rgds
Besser wären wohl regelbare LED Konstantstromquellen. Die gibt es von der Stange und sie können mit erheblich langsamerer PWM über ganz gewöhnliche Optokoppler angesteuert werden. Dann hast du auch kein EMV Problem.
Wenn du dir das Leben bei der PWM leicht machen willst, nimmst du zwei PCA9685. Der kann 16 PWM Signale mit 12 Bit Auflösung bei Frequenzen im Bereich 40..1000 Hz erzeugen, alles über I2C steuerbar. 27 Aktuatoren pro Einheit ist in der binären Welt allerdings eine sehr krumme Zahl. Im Dreiersystem sähe das anders aus ;-)
Hallo, ich hab mal die ASCII-Schaltung von MaWin in Eagle hoffentlich fehlerfrei nachgebaut (BD136.png). Leider erst ganz zum Schluss fiel mir auf, dass dort LEDs mit gemeinsamer Kathode verwendet wurden. Ich habe aber wie erwähnt LEDs mit gemeinsamer Anode. Mit meinem bescheidenen Wissen hab ich mal versucht die Schaltung für meine LEDs abzuändern (7905 => 7805 / BD136 => BD135), siehe BD135.png. Müssen die Optokoppler auch ersetzt werden? Ist der Wert für R3 und R6 wirklich 12 Ohm? > LEDs mit eigener Stromregelung werden nicht mal in 10usec schalten Grrrmpf - das ist bitter. An den LED-Ringen kann nichts geändert werden, das ist sehr sehr spezielles Equipment. 10 usec sind weit entfernt von meinen angestrebten 2,5 usec. Da könnte ich max. noch 10-Bit PWM fahren, aber Du schreibst ja sogar "nicht mal in" ... Dummerweise habe ich momentan keinen LED-Ring da um das im Versuchsaufbau mal zu messen ... grübel > Schau Dir die Automotive Highside Switches an Ich wollte die Schaltung so robust wie möglich machen um die Schäden im Falle eines Fremdeingriffs (Installateure schließen etwas falsch an) so gering wie möglich zu halten. Deswegen der griff zu den Optokopplern. Wenn mit den o.g. Highside Switches meine Microcontroller vor 220V oder Kurzschlüssen an den Ausgängen geschützt sind, würde mir das aber reichen. Wäre das denn so? > EINE LED mit 24V ansteuern halte ich für absolut ineffektiv Die LED-Ringe sind mit 24V und einem Konstantstrom-Ausgang aufgebaut, da kann ich nichts ändern (IP68 verdongelt). In den LED-Ringen sind pro RGB-Kanal 9 LEDs (vermutlich in Reihe) geschaltet. Das sollte doch passen - oder? > Das Thema EMV ist ja schon angesprochen worden Das nehme ich ernst, wie gesagt werde ich mit jemanden "vom Fach" die Pläne vorher durchgehen. Die ersten "direkten" Nachbarn sind mind. 100m entfernt. > Besser wären wohl regelbare LED Konstantstromquellen Die LEDs haben doch bereits einen Konstantstrom-Ausgang - in wie fern hilft mir eine extra Konstantstromquelle weiter? > Wenn du dir das Leben bei der PWM leicht machen willst Ja, ja, ja! Will ich. Ich hab eigentlich mit der Programmierung des gesamten Systems genug zu tun und würde gern was "von der Stange" einsetzen wo immer es geht. Ich hatte mir z.B. den TLC5947 (24 Ch / 12 Bit / SPI, Internal Clock) angesehen und fand ihn klasse. Das Problem war, dass der eine 30-mA Konstantstromquelle an den Ausgängen anbietet - ich aber 1A will. Könnte man denn eine Schaltung dran hängen die mit diesen Konstantstromausgängen angesteuert wird und mir die gewünschten 24VDC/1A liefert? ... und wenn ja, wie? > 27 Aktuatoren ist in der binären Welt allerdings eine sehr krumme Zahl RGB sind 3 Kanäle ;-) Am Anfang waren 28 geplant aber aus sowohl ästhetischen Gründen (bei 28 gibt es keine zentrale Einheit) als auch technischen Gründen (der Prototyp benutzt 27-Kanal LED DMX Decoder) wurde das auf 27 geändert.
Welchen Sinn haben die ganzen Optokoppler, wenn die Ausgänge letztendlich doch zusammengeschaltet werden?
Hi >Welchen Sinn haben die ganzen Optokoppler, wenn die Ausgänge >letztendlich doch zusammengeschaltet werden? Ist doch egal. Mit 24V-Versorgung werden die ruck zuck gegrillt sein. Da brauchen die Installateure noch nicht einmal etwas falsch anschließen. MfG Spess
Thomas Fischer schrieb: >> LEDs mit eigener Stromregelung werden nicht mal in 10usec schalten > Grrrmpf - das ist bitter. An den LED-Ringen kann nichts geändert > werden, das ist sehr sehr spezielles Equipment. > In den LED-Ringen sind pro RGB-Kanal 9 LEDs (vermutlich in Reihe) > geschaltet. > 81 LEDs (24VDC, 300 bzw. 330mA, inkl. Konstantstrom) > Die LED-Ringe haben einen Konstant-Strom-Ausgang (R=300mA, G=330mA, > B=330mA) und werden direkt mit 24V betrieben. > Ich hatte mir z.B. den TLC5947 (...) angesehen (...). Das Problem > war, dass der eine 30-mA Konstantstromquelle an den Ausgängen > anbietet - ich aber 1A will. Ich glaube, man sollte erstmal genauere Daten von LED-Ringen organisieren. Was ist ein Konstantstrom-/Ausgang/? Warum willst du eine Stromquelle, wenn die Ringe schon eine eingebaut haben? Oder müssen die aus einem Konstantstom-Ausgang gespeist werden? Oder haben die sogar einen Steuereingang? Warum eine 1A-Stromquelle wenn die Ringe 330mA Nennstrom haben? 9 blaue LEDs in Reihe brauchen mehr als 24V, umgekehrt brauchen 3 rote in Reihe weniger als 8V. In beiden Fällen würde man eine interne Stromquelle als Schaltregler aufbauen wollen, aber vielleicht sind auch nur Vorwiderstände drin. Ich meine, man könnte die Ansteuerung besser optimieren, wenn man das wüsste. Bausteine wie TLC5947 oder PCA9685 würden die Programmierung sicher erleichtern. Die Art der Ausgänge macht praktisch keinen Unterschied zu AVR-Ausgängen. Die Leistungsstufen sehen nur etwas anders aus. > Ich wollte die Schaltung so robust wie möglich machen um die > Schäden im Falle eines Fremdeingriffs (Installateure schließen > etwas falsch an) so gering wie möglich zu halten. Deswegen der > griff zu den Optokopplern. Wenn mit den o.g. Highside Switches > meine Microcontroller vor 220V oder Kurzschlüssen an den > Ausgängen geschützt sind, würde mir das aber reichen. Gegen Kurzschluß ist ein Highside Switch geschützt, aber Kurzschlüsse zwischen 230V und 24V führen zum Totalschaden. Du speist dann ja die LED-Ringe mit 230V, da kommt es auf die Mikrocontroller wirklich nicht mehr an. 81 Optokoppler wären da verschwendet. In die Verbindung "nach oben" Richtung DMX/PC/etc. würde ich allerdings welche einbauen, auch gegen Masseschleifen. Oder du baust mehrere Opto-getrennte 24V-Stromkreise auf, z.B. 9 Stück, mit je einem Netzteil und einem uC. Beim 230V-Unfall würde dann genau 1/9 der Anlage zerstört. Ja, man könnte pro Ausgang fette TVS-Dioden einbauen und hoffen, dass die 230V hochohmig genug und die Sicherung schnell genug sind... Ich glaube, man sollte eher den mechanischen Aufbau so machen, dass solche Verwechslungen garnicht aufkommen. Die Anlage selbst braucht doch keine 230V, außer einmal aus der Steckdose. > 10 usec sind weit entfernt von meinen angestrebten 2,5 usec. Da könnte ich max. noch 10-Bit PWM fahren, ganz so schlimm sollte es nicht sein. Verzögerungen spielen garkeine Rolle, solange sie für Ein- und Ausschalten gleich sind. Wenn sie verschieden sind, ändert sich die Einschaltdauer um einen konstanten Betrag. Das lässt sich mit einer Addition bei der PWM-Berechnung korrigieren. Langsame Anstiegs- und Abfallzeiten machen auch nur einen ähnlichen Fehler, solange die Einschaltdauer groß genug ist. Wirkliche Probleme gibt's erst bei sehr kleinen Helligkeiten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.