PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stromregelung L297



erfolgstyp
05.05.2011, 12:16
Hallo zusammen

Ich habe mir für meine CNC-Fräse eine neue Steuerung gebaut weil mir die alte nicht genug Leistung hatte. Ich habe jezt eine Schaltung aufgebaut bei der der Schrittmotor Treiber nicht mehr der L298 ist sondern eine Doppel H-Brücke aus P und N-Kanal Mosfets. Angesteuert werden die Fets nach wie vor vom L297. Der Strom wird über zwei 0,5Ohm Shunts gemessen und vom L297 über Phasenchopping geregelt. Im Anhang ein Teil des Schaltplans (mehr Schaltplan hab ich nicht weil ich mit Sprintlayout arbeite) das ganze wurde natürlich für jede Phase also 4mal aufgebaut. Das vor den Mosfets sind diskrete Mosfet-Treiber.

Nun zu meinem Problem damit der L297 den Strom messen kann muss ein Tiefpass vor die Sens Eingänge. Prinzipiell funktioniert alles wunderbar nur gibt der Motor ein Rauschen von sich (kein Pfeifen sondern ein Rauschen). Ich habe jetzt ein wenig mit dem Tiefpass gespielt und festgestellt dass sich das Rauschen verändert. Darum dachte ich mir ich setzte Die Grenzfrequenz des Tiefpasses auf ca. 8Hz um unter der Hörbarkeitsschwelle zu sein aber leider funktioniert das nicht das Rauschen ist immer noch zu hören.

Habe ich den Tiefpass falsch dimensoniert oder liegt es an etwas ganz anderem dass der Motor solche geräusche von sich gibt?

ich hoffe ihr könnt mir helfen

mfg daniel

p.s. wenn man an der Vref dreht verändert sich das Rauschen vllt hilft diese Information

Ostermann
05.05.2011, 12:41
Hallo Daniel!

Beim Filtern der Sense-Signale wäre ich sehr vorsichtig. Das macht man höchstens bei deutlich höheren Frequenzen, um Spikes zu unterdrücken. Wenn du da wirklich einen TP mit 6Hz einsetzt, wird der Stromregler blind, der läuft ja in der Regel im kHz-Bereich.

Gegen Geräusche kann man in gewissen Grenzen etwas tun, in dem man den Stromreglertakt ausserhalb des Hörbereichs legt (>18kHz). Je höher die Frequenz, desto höher sind aber auch die Schaltverluste. Da wirst du dann schnell sehen, ob deine Brücke beim Umschalten kurzzeitige Kurzschlüsse verursacht, weil die Deadtime nicht stimmt. Spikes kann man außerdem unterdrücken, in dem man über den C an Pin17 des L297 die "Blanktime" erhöht. Das ist die Zeit nach dem Einschalten, in der der Regler nicht reagiert. Völlig geräuschlos bekommt man das mit dem L297 aber nicht hin, besonders nicht bei großen Strömen. Das Teil ist einfach nicht mehr Stand der Technik...

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
05.05.2011, 13:05
Hallo Thorsten

Am Anfang hatte ich die Sens Signale gar nicht gefiltert da ließ sich aber auch der Strom nicht regeln. Wie ich den TP dimensioniere ist für die Funktion der Stromregelung ziemlich egal mir ist nur aufgefallen dass sich die Geräusche durch ändern des TP´s auch ändern und ich hatte gehofft dass sie dadurch ganz verschwinden.

Die Frequenz am OSC Pin liegt bei 20kHz sonst würde man ja ein Pfeifen hören aber bei mir ist es ja ein Rauschen. Würde es etwas bringen den Takt noch zu erhöhen (die FETs werden bei 3A nichtmal handwarm).

Mit der Blanktime meinst du die zeit in der das Taktsignal "low" ist oder? wie groß sollte man so einen Kondensator ca. bemessen?

Dass der Motor geräuschlos wird verlang ich garnicht aber das Rauschen ist schon ziemlich laut.

Wie ich dich verstehe ist die einzige möglichkeit diese Blanktime zu erhöhen oder?

danke schonmal

Ostermann
05.05.2011, 13:51
Hallo Daniel!

Die Sache mit der Blank-Time ist in einer Application Note zum L297 erklärt. Die Blanktime ist dio Zeit, die das Sync-Signal low ist. Das hat nichts mit dem Taktsignal zu tun, was an Pin18 zugeführt wird, sondern bezieht sich nur auf den Stromregler.

Wichtig ist auch ein sauberes Layout mit kurzen, niederohmigen Massepfaden und die Verwendung induktivitätsarmer Widerstände. Also möglichst keine dicken Zementwiderstände, sondern lieber 2 kleinere Drahtwiderstände parallel schalten.

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
06.05.2011, 12:23
Tut mir leid ich steh voll aufm Schlauch was die Blanktime angeht.

In deiner ersten Antwort hast du geschrieben dass man die Blanktime über den C am Pin 17 erhöhen kann aber Pin 17 ist doch "Richtung" (hatte mich bei meiner ersten Anwort geirrt mit dem Clock). Drum komm ich jetzt nicht mehr ganz mit .

Ich finde leider auch nichts zum Thema Blanktime wo ich mich einlesen könnte hast du vllt nen link?

nochmals danke

Ostermann
06.05.2011, 13:23
Tut mir leid, ich meinte Pin16 (der mit dem RC-Glied).
Scheinbar gibt es die ganzen AppNotes bei ST nicht mehr. Also so:
http://www.mechapro.de/pdf/sm_driving.pdf (Seite 9-10)
Die Datei, wo die Berechnung des RC-Gliedes beschrieben ist finde ich nicht mehr. Soweit ich das in Erinnerung habe, wird mit größeren C-Werten auch die Blank-Time größer. Mehr als 4,7nF würde ich aber nicht nehmen, sonst wird der Regler zu ungenau.

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
06.05.2011, 13:30
ah ok danke erstmal

so wie ich dich verstehe wird durch nen größeren Kondensator das Tastverhältnis geändert und das wirkt sich positiv auf die Geräusche des Motors aus.

hab mich vor lauter verschiedenen Pins nicht mehr ausgekannt aber jetzt machts Sinn.
ich muss jetzt in Spätschicht werd das aber bald mal testen.

danke für deine Antworten

erfolgstyp
31.05.2011, 13:15
Mein letzter Post ist zwar schon ein wenig her aber ich wollte mich nochmal melden und berichten.

Ich habe jetzt einen Tiefpass mit 100nF und 330Ohm in die Sensleitungen eingebaut weil ich hier die besten Ergebnisse bekomme. Leider bekomme ich die Peaks einfach nicht weg aber es ist jetzt ein schöner Sägezahn (vorher hat man aufm Oszi vor lauter störungen fast nichts gehsehen) allerdings mit Peaks drin.

Dann habe ich statt dem einen 10W Leistungswiderstand 4 2W 2,2 Ohm Metalloxid Widerstände (je Phase) verbaut was das Rauschen erheblich verbessert hat.

Außerdem habe ich das Layout noch verbessert wodurch das Rauschen nahezu weg ist.

Mittlerweile ist nur noch ein Pfeifen zu hören dem ich jetzt durch verändern der PWM Frequenz (und der blaktime) zu leibe rücken will. Um hier nicht dauernd Kondensator und Widerstand austauschen zu müssen habe ich mir überlegt den Takt durch einen µC zu erzeugen. Die Programmierung ist kein Problem leider hat das anschließen an den L297 nicht funktioniert. Ich habe das Signal vom µC an den SYNC Pin des L297 angeschlossen und den OSC Eingang auf GND gelegt leider hat dann die Stromregelung nicht mehr gearbeitet und meine FET´s sind mal wieder in einer Rauchwolke verschwunden. So wie ich das Datenblatt verstehe sollte das aber so funktionieren (S.8 Figure 3). Was habe ich also falsch gemacht?

PWM Frequenz 25kHz
Tastverhältnis 2% Aus 98% Ein

Ich hoffe ihr könnt mir helfen
mfg Daniel

Ostermann
31.05.2011, 13:36
Hallo Daniel!

Das mit dem uC würde ich lassen. Was passiert, wenn der uC mal hängt? Dann zerschießt du dir im worst case jedes mal die Brücke. Wenn es nur darum geht, die Taktfrequenz für den Stromregler einstellbar zu machen, reicht ein Spindeltrimmer. Die Dimensionierung kannst du dir aus dem Schaltplan meiner 3D-Step holen:
http://www.mechapro.de/pdf/3dstep_doku_27.pdf

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
31.05.2011, 22:25
Wenn ichs richtig verstehe ändere ich mit T35 doch nur die PWM Frequenz aber nicht das Tastverhältnis oder?

Mit dem µC ist wohl wirklich ein bisschen riskant da geb ich dir recht. werd das morgen mal ausprobieren obs was hilft.

danke für deine antworten ist wirklich ne große hilfe

Ostermann
01.06.2011, 09:52
Mit R35 wird die Frequenz geändert. R36 sorgt dafür, dass der Gesamtwiderstand nicht zu klein werden kann. Das Tastverhältnis ändert sich automatisch mit der Frequenz, aber die Zeit in der das Signal low ist, bleibt konstant. Das kann bei Bedarf über C16 eingestellt werden.

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
01.06.2011, 12:53
Servus

Ich wollte jetzt anfangen ein wenig mit der PWM Frequenz und der Blanktime zu spielen soweit bin ich aber gar nicht gekommen bevor ich schon wieder fragen muss.

und zwar hab ich mit dem Oszi am Sync gemessen solange kein Motor angeschlossen ist habe ich saubere Rechtecksignale wird aber ein Motor angesteckt ist die steigende Flanke nicht mehr steil sondern seitgt an und wird dann immer flacher bis sie den maximalwert erreicht. Da bleibt sie dann und fällt steil wieder ab bis das ganze von vorn los geht. Auserdem sind noch kleinere Störungen drauf.

Ist das normal oder ist mein Layout schlechter als ich dachte?

Ostermann
02.06.2011, 17:12
Schwer zu sagen. Kannst Du einen Screenshot mit dem Scope machen? Oder das Signal abzeichnen oder abfotografieren?

Ein gewisses Maß an Störungen ist normal, insbesondere in dem Moment, wo die Transistoren einschalten. Man muss natürlich aufpassen, wie und wo man misst. Das Verhalten, was du beschreibst ist aber nicht normal. Vor allem sollte die H-Brücke keine nennenswerte Rückwirkung auf das Taktsignal haben.

Mit freundlichen Grüßen
Thorsten Ostermann

erfolgstyp
02.06.2011, 17:47
Also ich hab das Pfeifen mittlerweile in einen akzeptablen Bereich gebracht unter 2A ist überhaupt nichts zu hören bis 3,5A nur ein leises Pfeifen und ab 3,5A gehts dann wieder mit dem Rauschen los.

Im Anhang ist ein Bild vom Oszi sieht inzwischen nicht mehr ganz so schlimm aus wie am Anfang hab jetzt noch ein paar 100nF Kondensatoren extra eingelötet und dann ists besser geworden.

18943

EDIT: bevor ich die 100nF Kondensatoren eingebaut hab wars WESENTLICH schlimmer