Forum: Mikrocontroller und Digitale Elektronik Motortreiber, Optokoppler, PWM


von Max (Gast)


Lesenswert?

Hallo,

ich habe hier ein etwas teureres FPGA-Board und möchte nun damit Motoren 
ansteuern.
Als Motortreiber habe ich den L6203 auserkoren.
Ich habe schon mehrmals erlebt, wie Motortreiber (meistens L298) durch 
irgendwelche Fehler durchgebrannt sind und den Controller (damals ein 
vergleichsweise günstiger µC) mit in den Tod gerissen haben.
Ist ja auch durchaus vorstellbar, meine Batteriespannung liegt bei 24V, 
wenn das auf einen Digital-Pin kommt ist das vllt nicht so günstig...

Naja, jedenfalls will ich das ganze diesmal richtig gut absichern. 
Galvanische Trennung brauche ich nicht, ist auch schlecht realisierbar. 
Trotzdem bietet sich doch ein Optokoppler an, oder?

Wenn ja, könnt ihr mir einen empfehlen? Habe insgesamt 4 Richtungspins 
und 2 PWM-Signale, die übers Interface gehen müssen.
Bei der PWM-Frequenz habe ich mich noch nicht festgelegt, aber das wird 
wohl unter 50kHz sein.
Die Spannung auf der FPGA-Seite ist 3.3V, der Motortreiber nimmt 2-7V 
als Eingangsspannung.

Viele Grüße,
  Max

von hans (Gast)


Lesenswert?

Hallo Max,

Optokoppler halte ich für etwas übertrieben.
Ein Bustreiber mit mind. 6 Kanälen dürfte reichen.
Z.B. ein normaler 244 im DIP mit Fassung (falls was
ist) sollte Frequenz-, Spannungs- und Strommässig ausreichen
und genug Schutz bieten.

Hans

von Falk B. (falk)


Lesenswert?

Nimm 100 Ohm in Reihe vom FPGA zum Treiber, dort am Eingang eine 3,9V 
Z-Diode. Sollte reichen.

MFG
Falk

von Max S. (x-quadraht)


Lesenswert?

@Falk: Der FPGA hat integrierte clamp-Dioden gegen VCC, die würden doch 
dann früher reagieren als die 3.9V Z-Diode, oder?
Dann würde der gesamte Strom durch die interne diode fließen, das sind 
immerhin rund 200mA, was außerhalb der erlaubten 100mA ist.
Meinst du das geht auch noch mit 300 Ohm? Dann wären es 69 mA.

[EDIT] Der L6203 gibt als "Input High Current" 30 µA an, das würde 
heißen der 300 Ohm-Widerstand verursacht einen drop um 9 mV. Das ist 
wohl noch okay :-) [/EDIT]

@hans: Garantiert mir der Treiber-IC denn, dass die Spannung am Ausgang 
nicht irgendwie zum Eingang durchschlägt?

Vielen Dank soweit!
Max

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>@Falk: Der FPGA hat integrierte clamp-Dioden gegen VCC, die würden doch
>dann früher reagieren als die 3.9V Z-Diode, oder?

Jain, die reagieren bei ca. 3,3+0,5V=3,8V

>Dann würde der gesamte Strom durch die interne diode fließen, das sind
>immerhin rund 200mA, was außerhalb der erlaubten 100mA ist.

???
Die 100 Ohm in Reihe begrenzen das auf weniger als 1mA. Die 3,9V Z-Diode 
muss das alles schlucken. Kann sie auch, nimm 1,3W oder grösser.

>Meinst du das geht auch noch mit 300 Ohm? Dann wären es 69 mA.

Wie kommst du auf diese Zahl? Aha, 24V/300 Ohm. NEIN! Das ist vollkommen 
falsch! Die Z-Diode fängt das ab.

Macht theortisch (3,9V-3,8V)/100Ohm =1mA.

Real eher weniger, also Peanuts.

>@hans: Garantiert mir der Treiber-IC denn, dass die Spannung am Ausgang
>nicht irgendwie zum Eingang durchschlägt?

Nein!

MfG
Falk

von Max S. (x-quadraht)


Lesenswert?

>>Dann würde der gesamte Strom durch die interne diode fließen, das sind
>>immerhin rund 200mA, was außerhalb der erlaubten 100mA ist.
>
> ???
> Die 100 Ohm in Reihe begrenzen das auf weniger als 1mA. Die 3,9V Z-Diode
> muss das alles schlucken. Kann sie auch, nimm 1,3W oder grösser.
Die interne clamp-diode zieht doch auf 3,8V runter. Nehmen wir an, die 
Z-Diode ist gar nicht im Schaltkreis.
Dann fließen die 200mA durch die interne Diode, und die Spannung am 
input ist 3,8V. Wenn ich jetzt da eine 3,9V-Z-Diode anschließe, passiert 
absolut gar nichts, da 3,8V < 3,9V.
Das war meine Überlegung :-)
Letztendlich kommt es doch drauf an, welche diode von den beiden lieber 
den Strom ableitet, man müsste also argumentieren dass die Z-Diode im 
nicht-sperrenden Zustand einen viel kleineren Widerstand hat als die 
interne clamp-Diode, oder?

Die Treiber-IC-Lösung ist für mich jedenfalls dann schonmal erledigt :-)
Nach meinen Erfahrungen will ich da möglichst perfekte Sicherheit.

Vielen Dank,
  Max

von Max S. (x-quadraht)


Angehängte Dateien:

Lesenswert?

Hab mal einen Schaltplan gemacht.
Anderer Ansatz: Sobald die FPGA-Diode die Spannung am Eingang auf 3.8V 
runtergezogen hat, sperrt die Z-Diode und der ganze Strom muss durch die 
interne.

von Max S. (x-quadraht)


Lesenswert?

Hmm, was passiert eigentlich wenn der FPGA dann versucht LOW zu treiben?
Die Outputs können maximal 16mA treiben, was da drüber passiert ist 
nicht wirklich definiert.
Wenn ich da drin bleiben möchte, brauche ich schon 2 kOhm, was aber vom 
Spannungsabfall auch okay wäre (30µA * 2kOhm = 60mV). Treten da 
irgendwelche anderen Effekte auf wenn ich den Widerstand zu hoch wähle?

Viele Grüße,
  Max

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>      protection.png

>Hab mal einen Schaltplan gemacht.

Falsch! Die Z-Diode kommt HINTER den Widerstand an den Treiber, NICHT 
ans FPGA!

>irgendwelche anderen Effekte auf wenn ich den Widerstand zu hoch wähle?

Sicher, deine Flanken werden rundgelutscht, weil der Eingang vom 
Motortreiber eine kleine Kapazität darstellt, so im Bereich 10pF.
Bis zu einem bestimmten Punkt geht das.

MFG
Falk

von Max S. (x-quadraht)


Lesenswert?

Falk Brunner schrieb:
> Falsch! Die Z-Diode kommt HINTER den Widerstand an den Treiber, NICHT
> ans FPGA!

Ah, verstehe. Dann ziehe ich alles zurück :-)
Dann ist die Situation "FPGA zieht runter" aber noch nicht gelöst. Da 
kommt bisher nur der 2k-Widerstand in Frage.

[EDIT] Natürlich gelöst. Dann noch eine Sache: Wenn die Z-Diode hinter 
dem Widerstand ist, dann fließt da soviel Strom durch, wie der Akku 
liefern kann. Der Akku ist definitiv in der Lage, beliebige Dioden zu 
rösten... [/EDIT]

von Max S. (x-quadraht)


Angehängte Dateien:

Lesenswert?

Anderer Vorschlag im Anhang.
Die Diode schluckt maximal 0,7V, dann habe ich immernoch 3.3V-0.7V=2.6V, 
ab 2V schaltet der Motortreiber.
Die 50kHz sollte die Diode mitmachen, oder?

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>      protection1.png
>      2,1 KB, 5 Downloads

>Anderer Vorschlag im Anhang.
>Die Diode schluckt maximal 0,7V, dann habe ich immernoch 3.3V-0.7V=2.6V,
>ab 2V schaltet der Motortreiber.

Naja, geht geraded so. Schön ist was anderes. Dann nimm lieber die 2K.

>Die 50kHz sollte die Diode mitmachen, oder?

Locker.

>EDIT] Natürlich gelöst. Dann noch eine Sache: Wenn die Z-Diode hinter
>dem Widerstand ist, dann fließt da soviel Strom durch, wie der Akku
>liefern kann. Der Akku ist definitiv in der Lage, beliebige Dioden zu
>rösten... [/EDIT]

Schon mal was von ner Sicherung gehört? Die Z-Diode hält schon ein paar 
hundert Millisekunden durch.

MFG
Falk

von Max S. (x-quadraht)


Lesenswert?

Naja, ich denke ich gehe dann in die richtung eines einzelnen 
2K-Widerstands, ich werde noch ne zener-diode im Layout vorsehen, dann 
kann ich mich noch umentscheiden (Layout muss jetzt schnell raus).

Vielen Dank!
Max

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.