-
-
Erfahrener Benutzer
Roboter Experte
10A Mikroschrittkarte - Probleme mit Strom-Regelung
Hallo,
Ich habe mir für mein CNC-Projekt eine Schrittmotor-Karte gebastelt:
Bild hier
Zur Ausstattung:
- Zwei N-Kanal H-Brücken aus jeweils 4 N-Kanal FETs
- IR2104 Halbbrückentreiber für die FETs
- ChargePump zur High-Side-Speisung bei Dauer-ON
- L6506 zu Stromregelung
- Zwei MAX522 (Dual Ch. 8BIT DAC)
- OP07 Differenzverstärker, um die Sensspannung zu verstärken. Dadurch kann ein kleinerer Widerstand verwendet werden.
- LM311 zur Überstrom-/Kurzschlussüberwachung (löst Interrupt aus)
- -5V, +5V, +15V werden Onboard erzeugt
- bis 60V Eingangsspannung
- ATMega32
- MAX232
Es funktioniert bisher alles, nur die Stromregelung will nicht:
Es sind zwei H-Brücken vorhanden. Der Shunt sitzt wie folgt:
Bild hier
Genauer:
Bild hier
Die Leitungen S-A-H und S-A-L gehen zum Differenzverstärker:
Bild hier
Der Ausgang des Differenzverstärkers geht nach einem kleinen
RC-Glied direkt zum L6506 Sense Eingang.
Rechts hängt noch ein Komperator, der einen Interrupt beim Atmel
auslöst, sollten 2V Überschritten werden. Hier kann ich dann die Stufe
abschalten... Aber das ist zunächst mal unwichtig!
Der L6506 ist dann wie folgt beschaltet:
Bild hier
SYNC kommt vom Atmel PWM-Ausgang. Die Frequenz und die
Phase kann beliebig von mir konfiguriert werden.
H-IN-X gehen zu den jeweiligen Brücken.
IN-X kommen vom Atmel.
Die Referenzspannugnen werden wie folgt erzeugt:
Bild hier
IC1 gibt den Maximalstrom vor.
IC12 soll dann das Microstepping realisieren.
Somit kann man IC12 immer gleich anstprechen,
nur IC1 ist für den Maximalstrom zuständig.
Nun, alles recht und schön, nur funktioniert es nicht richtig...
Ich habe mal REF-A unf SENSA direkt am L6506
mit meinem Oszi gemessen:
Beide Kanäle 0,5V/cm, 0,5ms/cm:
Bild hier
Bild hier
Die Gerade ist natürlich REF-A. Das andere SENSA. Man sieht hier zwei verschiedene vorgegebene Spannungen. Doch SENSA zeigt keine Änderung.
Selbst wenn REFA = 0V ist!!!
Hat jemand ne Idee was da Faul ist?
Ich hab schon überprüft, ob die Ausgänge für Kanal 1 des L6506 auch
zur richtigen H-Brücke gehen, das passt alles...
-
Erfahrener Benutzer
Roboter Experte
Problem Gelöst:
Der L6506 muss ja mit ner Frequenz versorgt werden.
Dabei ist die Signalform Wichtig. Ich erzeuge diese Frequenz
mit dem OCR1A Pin des Atmels über den TIMER1 mit FastPWM 16Bit.
Damit kann ich sehr einfach die Frequenz anpassen.
Nun ist das so, dass der L6506 während der High-Phase Aktiv ist,
und in der zeit, in der SYNC HIGH ist, auch nicht abgeschaltet wird,
wenn der Strom über die Grenze steigt.
Das habe ich zuerst nißverstanden, ich dachte beim RS-Flipflop ist R
vorrangig...
Naja... auf jedenfall sollte das Verhältnis High zu Low bei minimum 1:100 liegen.
Beispiel: Highphase ist 1µs. dann muss min. 100µs low sein.
(je nach frequenz natürlich unterschiedlich....)
Ich hoffe es hilft jemanden... hat mich nen ganzen Tag gekostet,
und die halbe Nacht
-
Erfahrener Benutzer
Roboter Experte
Hallo Leute!
ich arbeite momentan an den Feinheiten.
Ein weiteres Problem habe ich bei niedrigen Strömen.
Ich habe die karte im 1/16 Schritt mal im Sekundentakt betrieben.
Also jede Sekunde 1/16 Schritt.
Dabei beobachte ich, dass bei den unteren drei bzw. 4 teilschritten
kein strom fließt, obwohl spannung anliegt.
Ich habe im Versuch nur eine Phase betrachtet. Die andere habe ich
abgeschlossen. Sie verhält sich genau so.
Hier könnt ihr im Video die Messung am Oszi betrachten:
http://www.sir-kaiser.de/upload/MVI_8554.AVI
CH1 und CH2 überlagert, V-REF und V-SENS, 0,1V/cm, 0,5ms/cm
Meine REF-Spannungen sind ziemlich unsauber.
Als 5V Schaltregler habe ich den LM2574 ADJ.
Trotz 1000µF Kondensator scheint die Spannung minimal zu rauschen.
Dies überträgt sich scheinbar über die DACs. Aber das
Rauschen müsste ja im verhältnis dann auch so klein sein,
wie bei den 5V. Evtl sollte ich mal andere DACs versuchen.
Die MAX522 sind eh so teuer... Ich glaube ich versuche in der nächsten
Version die MAX549. Aber das Problem muss doch lpösbar sein, oder?
Evtl hat jemand von euch ne Idee, warum das nicht richtig will.
Ansonsten würde der motor schön ruhig laufen. Nur in diesem Bereich
mach er eben eine Vibration.
Besten Dank schon mal vorab.
Gruß,
Franz
-
Erfahrener Benutzer
Roboter Experte
Lag wieder an der Chopperfrequenz...
Der ON-Impuls darf auch nicht zu kurz sein...
-
Hey, das Ding sieht echt gut aus... Hast du Lust mir den Schaltplan und das Layout als Eaglefile schicken? Ich kann das auch auf meiner Website zum Download bereit stellen wenn du das veröffentlichen willst...
-
Erfahrener Benutzer
Roboter Experte
Hi,
Danke. Veröffentlichen will ich es vorerst noch nicht, weil es ja noch nicht 100% funtioniert.
Eine HP habe ich aber selbst um es zum Download bereit zu stellen.
Aber Danke für Dein Angebot!
Noch eine Frage.
Meine Karte benutzt Phase-Chopping.
Ich bin am überlegen sie für Inhibit-Chopping umzubauen.
Ich habe selbst noch nicht die erfahrung gemacht, aber Inhibit-Chopping soll
angeblich ein schnelleres abbauen der magnetischen Energie bezwecken,
und daher gerade für höhere drehzahlen besser geeignet sein.
Was ist Eure erfahrung zu diesem Thema?
Außerdem glaube ich, dass dann auch die Wärmeentwicklung abnimmt.
-
Okay, wär cool wenn du das nachholst wenn du zufrieden bist
-
Erfahrener Benutzer
Roboter Experte
Die Low-Side-FETs werden übrigens heißer als die high-side.
Das liegt am Phase-Chopping.
Hat keiner ne Meinung zum Thema: Phase-Choppig vs. Inhibit-Chopping ?
-
Erfahrener Benutzer
Robotik Visionär
Ich halte Phase-shopping für die bessere Wahl. Besonders bei relativ hoher Versorgungsspannung bekommt man bei Inhibit Chopping ziehmlich viel Welligkeit in den Phasenstrom. Im Prinzip wird dadurch die maximale Spannung begrenzt.
Den Vorteil der etwas höheren Geschwindigkeit sollte man nur haben, wenn man stur am Mikrschritt Betrieb festhält, wenn bei höheren Geschwindigkeiten auf Vollschritt umschaltet sollte es kaum einen Geschwindigkeitsvorteil bringen, denn dann hat man effektiv kein Chopping mehr, weil bei den hohen Frequenzen an der Geschwindigkeitsgrenze der Sollstrom nicht mehr erreicht wird.
Das die Low side treiber etwas wärmer werden, ist normal, denn da fließt ja weiter der Strom in den Ausphasen. Das gleiche sollte auch für die Freilaufdioden gelten. Wenn die high side Treiber heißer werden (trotz gleicher Fets) ist das ein Zeichen für zu langsame Freilaufdioden, oder Fehler im Timing..
-
Erfahrener Benutzer
Roboter Experte
Hallo nochma,
ich habe bei höherer Drehzahl ein komisches brummen drauf.
Kommt etwa alle 300 ms.
Die Stromkurve sieht auch etwas seltsam aus:
http://www.sir-kaiser.de/upload/MVI_8555.AVI
Hat jemand ne Idee woran das liegen könnte?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen