dass der Schaltplan so klein ist, liegt daran, dass weiter oben im Chat irgendein vorlauter Halbstarker über einen zu großen Schaltplan gemoppert hat. Jetzt gibt es hier nur noch Pläne, die auf's Bild passen. So issas.
Ich habe auf der Endstufe 2 Chips:
1 x ATtiny2313 als mehrstufigen digitalen - Regler
1 x L6205 als Endstufe
Per Jumper kann man wählen, ob der L6205 mit einer Brücke (nominell 2,8A) oder 2 Brücken parallel (nominell 5,6A) arbeitet. Der Spitzenstrom ist jeweils doppelt so hoch. Thermisch dürfte es allerdings eher bei ca. 2,8A / 4A liegen. Ich habe die Grenzen noch nicht ausgelotet.
Der ATtiny kann Inkrementalgebersignale bis ca. 120kHz verarbeiten und macht auch die Quadraturdecodierung und Impulsvervierfachung, sowie den +/- 30Bit Positionszähler.
Der Regler hat eine Sampletime von ca. 800µs.
Die PWM-Frequenz beträgt aktuell ca. 15,5kHz.
Es ist ebenfalls ein modifizierter mehrstufiger PID-Regler. Mit unterlagerter Drehmoment, Drehzahl und Stromregelung. Der Strom wird übrigens nicht gemessen, sonder aus den Systemdaten des Motors etc nur errechnet.
Das spart Schaltungsaufwand, aber man MUSS den Regler sehr gut parametrieren. Wenn das aber erfolgt ist (mit vorhandenen Motorkenndaten kein Problem), kann man den Strom exact auf einige mA genau ermitteln. Als Messwiderstand dient die Motorwicklung..
Da der L6205 über eine eigene Strombegrenzung verfügt, kann zumindest nichts anbrennen, wenn der Regler noch nicht optimal paramtriert ist.
Er hat 4 bzw. 6 Modi:
PWM: einfach fixe PWM ausgeben
Drehmoment: geregeltes konstantes Drehmoment
Drehzahl: geregelte Drehzahl
Position: geregelte Position mit programmierbaren Beschleunigungsrampen und Drehzahl
Servo: übergebene Positionen werden ständig mit max. Power nachgeführt bzw. gehalten.
Sowie Takt+Richtung (TTL):
Hier kann man die Position per Takt und Richtung wie bei einer Schrittmotorsteuerung reintakten.
Die Kommunikation mit dem ATtiny erfolgt via (TTL-) RS-232 @ 19,2kBit/s oder auch 38,4kBit/s. Wenn man einen RS-232-Treiber braucht, kann man den als Modul zwischenstecken, ggf. auch galvanisch getrennt.
Ich hatte versucht, den I2C zu implementieren, dazu fehlt mir aber der Speicherplatz und auch die verbleibende Verarbeitungszeit. Egal, so geht es ja auch.
Gruß Sigo
Lesezeichen