Forum: Mikrocontroller und Digitale Elektronik Treiber Schaltung 24V - 1A - 50 ns - Optokoppler - gemeinsame Anode


von Thomas F. (tobasco)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von Robin E. (why_me)


Lesenswert?

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
von MaWin (Gast)


Lesenswert?

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]

von Schaulus Tiger (Gast)


Lesenswert?

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.

von Thomas F. (tobasco)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

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.

von 6A66 (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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 ;-)

von Thomas F. (tobasco)


Angehängte Dateien:

Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Welchen Sinn haben die ganzen Optokoppler, wenn die Ausgänge 
letztendlich doch zusammengeschaltet werden?

von spess53 (Gast)


Lesenswert?

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

von Schaulus Tiger (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.