Hallo,
ich habe ein Problem. Und zwar wollte ich ein DC Motor, per
Mikrocontroller über eine H-Brücke steuern, bei dem ich zwischen
vorwärts- und rückwärts Drehen umschalten kann.
Der Mikrocontoller funktioniert. Als H-Brücke nehme ich die L298 (
http://www.st.com/stonline/books/pdf/docs/1773.pdf ) und habe die Input
1-4 und Enable A+B jeweils direkt an ein Port des MC angehängt. VS
bekommt eine 5V Spannungsquelle und VSS eine 12V. Soweit ist ja
eigentlich alles klar :-)
Aber: Wenn ich nun Enable auf High setzte und zB bei Input1+2 (für Motor
1) auf High und Low setze, dreht sich der Motor, den ich an die Output
drann gemacht habe, auch. Wechsel ich jedoch die Input von High auf Low
und anders herum, stürzt der MC ab und beginnt von vorne.
Woran kann das liegen?
Darf ich die Eingänge der H-Brücke direkt an die Ports des
Mikrocontroller anhängen oder brauchen die zuviel Strom und deswegen
stürtz der MC ab?
Schonmal vielen Dank, falls jemand ein Rat für mich hätte!
PS: Hat jemand zufällig ein Beispielschaltplan für eine Motorsteuerung
mit solch einer Brücke?
Wenn ein Motor bremst oder die Richtung ändert,
ERZEUGT er Spannung, und die fliesst in VSS.
VSS wird also gestört. Ein grosser Elko von
tausenden uF sollte da dran, falls er nicht
am Ausgang deines Netzteils vorhanden ist.
Ausserdem will der L298 externe Dioden sehen,
die hast du hoffentlich dran.
Es sollte ja zu schaffen sein, Figure 6 des
Datenblatts nachzubauen.
Ist das so, dass VS nur an 5V hängt?
Dem Datenblatt nach ist VS die Spannung für die Brücken, also für den
Motor.
und @ MaWin (Gast)
Im Motorbetrieb wird eine Maschine mit ihrer internen Quellenspannung
immer unter der Versorgungsspannung liegen, so dass im normalen
Bremsbetrieb (nicht getaktet wie bei einem StepUp) nicht in die Quelle
gespeist werden kann. Dazu müßte die Drehzahl höher sein, als im
Motorbetrieb erreicht wird.
guude
ts
ps VSS ist lt. Datenblatt max. 7V. TE- Ich hoffe Du hattest Dich oben
verschrieben.
Es geht um die Spannungsspitzen, die die Motorinduktivität erzeugt. Und
die sollten schon mit Freilaufdioden und dicken C's in der Versorgung
kurzgehalten werden.
Ansonsten tippe ich auf zwei Ursachen:
- Programm ist buggy
- oder falls es nur bei angeschlossenem Moter passiert: äuserst
schlechte Entstörung, Abschirmung, Filterung, Leitungsführung (Masse vor
allem).
Ein paar mehr Details wären nett, z.B. ein Schaltplan DEINES Aufbaus.
Ansonsten würde ich auch auf die Freilaufdioden nicht getrennte bzw.
gestützte Versorgungsspannung oder zu schnelles Umschalten tippen.
@Thomas S.: Die Freilaufdioden sollen beim Einschalten des Motors bzw.
Umschalten der Drehrichtung die Spannungsspitzen die durch die
Induktivität des Motors erzeugt werden, kurzschließen ,um den
Mikrocontroller und den Motortreiber zu schützen. Das hat nichts mit
Generatorbetrieb zu tun.
>Es geht um die Spannungsspitzen, die die Motorinduktivität erzeugt.
Dafür sind diese Freilaufdioden gut.
Die Energie ist 1/2*L*i², dafür braucht man keine
>dicken C's
eher schnelle, und auch nur in den Abschaltpunkten.
Bremsen geht anders, und Nutzbremsen erst recht.
Der TE sollte mal was zu den Spannungen sagen, wie ich oben schon mal
gefragt hatte.
guude
ts
@ Wayne (Gast)
>@Thomas S.: Die Freilaufdioden sollen beim Einschalten des Motors bzw.>Umschalten der Drehrichtung die Spannungsspitzen die durch die>Induktivität des Motors erzeugt werden, kurzschließen ,um den
Darüber denken wir aber nochmal nach, gelle?
In den ABSCHALTPUNKTEN gibt es keinen Kurzschlußweg, sondern nur den Weg
über die Quelle. DAS ist eine BRÜCKE!
guude
ts
Es ist bestimmt ein Spikeproblem, vermutlich auf Gnd.
Beim Layout ist es ganz wichtig, Digital-Gnd und Power-Gnd getrennt zu
verlegen und nur an einem Punkt, nämlich am L298 zu verbinden. Dort muss
auch der dicke C hin, am besten noch einen Keramischen parallel dazu.
Auf kurze Leitungsführung (=parasitäre Induktivitäten) und kompakten
Aufbau achten.
Stromschleifen sollen eine möglichst kleine Fläche aufspannen, d.h. Hin-
und Rückleitung sollen so kurz und eng wie möglich verlaufen.
Nebenbei, der L298 ist über 20 Jahre alt, da gibt es inzwischen
besseres, z.B. den L6203 oder ähnliche mit MOSFET-Ausgang.
Das mit dem Generatorproblem ist nicht so ganz ohne: wenn Du mit PWM
arbeitest, kann es tatsächlich zu einer Überhöhung der Power-Spannung
kommen. Die Schwungenergie (rotierende Massen) muss ja irgendwo hin.
Nur bei "hartem" Schalten wird die Energie in der Spule und der Endstufe
in Wärme umgewandelt.
Letztmals:
Natürlich wird die Energie der Spule beim Abschalten über die
Freilaufdioden gehen, und über die Leitungswiderstände und Innwiderstand
der Quelle verbraten.
Die "Schwungenergie" der Maschine würde nach Abschaltung der Spannung in
den Lagern in Wärme - bzw. durch die angehängte Last umgesetzt.
Aktives Bremsen kann man
- einfach an Widerständen in Wärme umsetzen.
- die zu niedrige Spannung i.d. Art eines Step-Up-Konverters hochsetzen,
und in den Zwischenkreis speisen. Das wäre Nutzbremsen.
Ich dachte hier posten Fachleute, aber wenn mir oben erzählt wird über
welche Dioden das laufen soll -aber das Prinzip nicht stimmt- dann frage
ich mich schon, ob das Schüler oder evtl. sonstige moderne Ingenieure
sind, die hier schreiben!
guude
ts
Thomas S. schrieb:> Die "Schwungenergie" der Maschine würde nach Abschaltung der Spannung in> den Lagern in Wärme - bzw. durch die angehängte Last umgesetzt.
Das stimmt nur bedingt und hängt vom Arbeitspunkt und dem Maschinentypen
ab.
Typischerweise kann man mit einer gegebenen Betriebsspannung nur eine
maximale Drehzal der Maschine erreichen, bis die Gegenspannung der
Maschine der Speisespannung entspricht.
Schaltet man dann die Ansteuerung des Motors ab, dann sieht man eine
Spannung, die der aktuellen Gegenspannung des Motors mit der aktuellen
Drehzahl entspricht. Diese ist in aller Regel kleiner oder gleich der
Speisespannung.
Solange wir bei Bremsen von langsamen Auslaufen reden stimmt die
Aussage.
ABER: Es gibt mehrere Fälle, bei denen Energie in die Quelle
zurückgespeist werden kann.
Fall aktives Bremsen:
Hierbei wird mit dem Umrichter quasi ein Hochsetzstellerprinzip gefahren
und mit Hilfe der Motorinduktivität die Rotationsenergie in elektrische
Energie in die Pufferkondensatoren zurück gespeist. Deren Spannung kann
dann drastisch ansteigen.
Fall Reversieren:
Wenn man die Laufrichtung des Motors schnell umkehrt, dann erfolgt das
in zwei Phasen: aktives Bremsen (mit Rückspeisung der Energie in die
Pufferkondensator (oder Quelle) danach aktive Beschleunigung in die
andere Richtung.
Fall Generator:
Falls der Motor im Generatorbetrieb läuft und von einer mechanischen
Quelle gespeist wird, dann muss der Umrichter die Energie in den
Zwischenkreis schieben. Ein Abschalten führt in aller Regel zu einer
Beschleunigung der Drehzahl und einem weiteren Ansteigen der
Pufferspannung.
Fall Feldschwächbetrieb:
Bei Drehfeldmaschinen (Asynchron / Synchron) ist es möglich, durch
geeignete Wahl der Vektoren von D und Q (Erregungsdrehfeld und
momenterzeugendem Drehfeld) mit einer reduzierten Komponente des
D-Feldes zu arbeiten. Dadurch ist die entstehdende Gegenspannung
geringer als im nominalbetrieb und es können deutlich höhere Drehzahlen
gefahren werden (mit reduziertem Drehmoment). Wenn dann das künstlich
erzeugte geschwächte Feld abgeschaltet wird, kommt es auch hier zu einer
hohen Gegenspannung die ebenfalls einen Strom in die Pufferkondensatoren
sucht.
Für all diese Fälle müssen Freilaufdioden vorhanden sein und ein
ausreichend dimensionierter Pufferkondensator.
Und wenn man eine Induktivität abschaltet, induziert sie eine Spannung,
die der abgeschalteten Spannung gegenläufig ist, um den Spulenstrom
aufrecht zu erhalten. Für DIESE Spannung sind die Freiluafdioden da,
denn diese kann ein vielfaches der Betriebsspannung betragen. Und ein
Motor ist nunmal eine Induktivität.
Deine Beleidigungen kannst du dir im Übrigen sparen, sachliche Argumente
reichen völlig.
Thomas S. schrieb:> Ich dachte hier posten Fachleute, aber wenn mir oben erzählt wird über> welche Dioden das laufen soll -aber das Prinzip nicht stimmt- dann frage> ich mich schon, ob das Schüler oder evtl. sonstige moderne Ingenieure> sind, die hier schreiben!
Hallo,
also mich intressiert der "Fred" hier definitiv sehr, da ich zur Zeit
ebenfalls an einer H-Brücke arbeite. Diese funktioniert bis jetzt
fehlerfrei, obwohl ich der Meinung bin, jeden Grundsatz der EMV verletzt
zu haben.
Ich nehme mal an, das du mit "moderne Ingenieure" wohl die Bachelor-
bzw. Master-Absolventen meinst und fühle mich dadurch persönlich
angegriffen. Die Unterstreichung bestärkt mich dabei in meiner Annahme.
Ich habe Elektrotechnik studiert, weil sie seit meinem 10ten Lebenjahr
meine größte Leidenschaft darstellt. Diese Leidenschaft ist doch wohl
das Wichtigste, was wir hier, als "moderne Ingenieure" oder "veraltete
Ingenieure" oder Techniker oder Fachleute oder Schüler oder intressierte
Quereinsteiger teilen sollten. Sowohl das "moderne" als auch das
"veraltete" Ingenieursstudium sollte uns doch wissenschaftliche
Objektivität vermitteln und keine Subjektivität, in der wir uns
gegenseitig an unserer Titel und Defizite erinnern.
Sorry für das Statement, das so ziemlich nichts zum Thema beiträgt. Aber
wenn ich sowas lese, brennt bei mir was durch.
Ja, sorry.
War auch nicht so böse gemeint wie es vllt. aussah.
Ich hatte mich nur darüber geärgert, dass meine Aussagen erstmal
negiert, und dann mit mit Kleinigkeiten wie "dazu muß er aber über die
Freilaudioden..." ergänzt wurden.
Zurück zur Sachlichkeit.
guude
ts
Hallo,
ich habe jetzt einmal meine Schaltung aufgezeichnet. So wie auf dem
Schaltplan gezeichnet, habe ich alles gemacht nur die Motoren drehen
nicht. Im Datenblatt der Brücke ist diese Schaltung auch so
aufgezeichnet.
Der Mikrocontroller steuert auch die Brücke richtig an (das habe ich
getestet) und es kommt aus der Brücke, bei den Motorausgängen, auch 12V
heraus, wenn ich zb. auf Linksdrehen steuer.
Bloß wenn ich das nun ändere (Richtung) passiert garnichts mehr. Was
aber passiert ist: der MC wird warm. Ich nehme also an, dass irgenwas
den MC stört, bloß ich weiß nicht was..
Danke und Gruß!
Die Pins 1 und 15 sind Sense-Leitungen, also die Masseanschlüsse der
H-Brücke.
Wenn du keine Strommessung machen willst, musst du diese auf Masse
legen.
:-)
Baue Schutzwiderstände (z.B. 100 Ohm) in jede Leitung zwischen µC und
298.
Eine andere Möglichkeit für Dich wäre ein Resistor-Array mit 8
unabhängigen Rs(Bereich 100 - 10000 Ohm).
> Es ist bestimmt ein Spikeproblem, vermutlich auf Gnd.> Beim Layout ist es ganz wichtig, Digital-Gnd und Power-Gnd> getrennt zu verlegen und nur an einem Punkt, nämlich am L298> zu verbinden. Dort muss auch der dicke C hin, am besten noch> einen Keramischen parallel dazu.
So wie der Schaltplan gezeichnet ist, hast Du meine Ratschläge vom
10.04.2011 17:24 nicht beachtet. Warum schreibe ich eigentlich?
Welche Dioden hast Du verwendet? Hoffentlich keine 1N400x, sondern
schnelle Schottkeys. Ein L6210 ist ein DIL14 Schottky-Array mit 8
Dioden, eigentlich für Schrittmotoren gedacht (gibt es bei Reichelt).
http://www.st.com/stonline/books/pdf/docs/1375.pdf
Danke euch. Ich werd es mal probieren mit den 1 und 15 auf Masse und
Schutzwiderstände zwischen dem MC und der 298.
Das mit dem GND trennen hab ich irgendwie übersehen eProfi, tschuldige..
werde aber drauf achten!!
Zu den Dioden. Nein es sind keine Schottkeys, ist das wichtig, dass ich
da Schottkey Dioden verwende?
Gruß :-)
Hallo,
hier ein Feedback für euch :-)
Also mit den Senseleitungen auf GND klappt es nun :-). Vorsichtshalber
hab ich aber auch noch ein Widerstand zwischen dem MC und der Brücke
eingebaut.
Gruß und vielen Dank nochmal!