PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotoransteuerung per Microsontroller



Poldi
17.02.2005, 12:45
Hallo,

ich möchte mit einem Microcontroller 80(C)535 und der unter Schrittmotor-Grundlagen beschriebenen Schaltung mit den L298/L297 eine Schrittmotor von Moons, Typ 23HS0010 ansteuern:

bipolar 4 Litzen, JST-Stecker motorseitig

Schrittwinkel: 1,8° +/ - 5%
Baulänge: 41mm
Phasenstrom: 2,0A
Haltemoment: 5,0kg/ cm
Gewicht: 0,42kg



Eine simple Frage bevor ich mir die Bauteile bestelle:
Funzt das zusammen oder muss ich da noch was anderes beachten?

thanks,

Poldi

Frank
17.02.2005, 13:07
Nun der Phasenstrom darf beim L298 maximal 2A sein. Ich würde nicht unbedingt ganz genau an diese Grenze gehen sondern dann lieber einen ca. 1,5A Motor bevorzugen, insbesondere wenn er auch mal länger läuft

Poldi
17.02.2005, 14:44
Danke, der Motor soll eigentlich gar nicht laufen sondern ner halten und stellen. Er soll den Gaszug von nem Motor steuern.

coldfirev3
22.02.2005, 21:12
Du kannst die Schaltung verwenden, wenn nicht die volle Kraft benötigt wird.
Wie Frank schon ganz richtig schrieb, verwendet man Komponenten nie auf 100%, aber die Schaltung 297/298 lässt eine Begrenzung zu.

Das funktioniert so, daß eine Referenz am 297 eingestellt wird, welche den Stom (gemessen an den Shunts des 298) durch PWM abriegelt.

Reicht dir die Kraft bei weniger Strom wie 1 oder 1,5 A ist das kein Problem.

Aber der 535 wird bald nicht mehr greifbar sein..........vielleicht verwendest du nen neueren Typ.

Poldi
24.02.2005, 07:12
Zuerst zu der Strombegrenzung:

Habe mir das im Datenblatt des L297 angeschaut, die Spannung für Vref müsste ich doch eigentlich mit einem einfachen Spannungsteiler realisieren können.

Den 535 verwende ich weil ich noch zwei Stück davon habe.

Noch eine Frage zur Drosselklappensteuerung des Benzinmotors:

Reicht es zur Positionsbestimmung der Drosselklappe wenn ich im Microcontroller parallel zur Schrittveränderung ein Register mitlaufen lasse oder muss ich sie über einen Winkelgeber überprüfen?
Ein üebrspringen des Motors sollte durch den Overhead an Kraft des Schrittmotors eigentlich ausgeschlossen sein.

Vielen Dank,

Poldi

m.artmann
24.02.2005, 08:01
Ein Winkelgeber wäre vielleicht übertrieben, da die Stellung der Klappe direkt von der Anzahl der gemachten Schritte abhängig ist.
Aber ein Endschalter der dem Controller ein Signal gibt sobald die Drosselklappe ganz geschlossen ist wäre vielleicht sehr hilfreich.
Dann hat der Controlller einen Nullpunkt von dem aus er die Schritte zählen kann.
Klappe ganz geschlossen -> Endschalter betätigt -> Zähler für Schritte = 0 -> z.B. 100 Schritte links drehen -> halbes Gas -> wietere 100 Schritte nach links drehen -> Vollgas -> 200 Schritte nach rechts drehen - Klappe wieder geschlossen und Endschalter betätigt- Zähler für Schritte = 0.

Somit kann der spielt es auch keine so große Rolle wenn der Schrittmotor, z.B. beim Endanschlag bei Vollgas oder wenn der Gaszug bei Kälte sehr schwergängig ist, ein paar Schritte überspringen sollte.
Immer beim Starten oder wenn kein Gas gegeben werden soll (Klappe zu)
wird der Zähler zurückgesetzt.

Gruß
m.artmann

Poldi
24.02.2005, 10:31
Hallo,

habe bei einem bekannten mal in ein VW-Selbststudienprogramm geschaut und die haben die Drosselklappe direkt über Zahnräder gesteuert.
Dabei ist mir folgender Gedanke gekommen:

Das L297 hat einen Reset Eingang das den Motor zur Null-Position zurückfährt, wenn diese Reset-Stellung mit dem Standgaspunkt der Drosselklappe übereinstimmen würde und ich über ausprobieren die genaue Schrittzahl bis zum Vollgaspunkt kenne würde das doch eigentlich zur genauen Schrittführung ausreichen.

Dann noch ein Lob an dieses Forum, habe hier schon viele schöne Anregungen gekriegt.

Gruß,

Poldi

coldfirev3
24.02.2005, 10:47
Der Home am L297 hat nix damit zu tun..........hier geht es um die Phasen-Grundstellung......für den L297 ist es weder bekannt noch interessant wieviele Schritte gegangen werden/wurden.
Einzig die Schrittfolge zur nächsten/vorigen Position sind relevant.
Eine Positionseichung muß am 535 erfolgen, schließlich ist die Übersetzung und Schrittzahl/Winkel ein Programm-Element.
Aucfh wenn es ein VW ist, unterschätze nicht die Saugleistung und damit verbundener Kraftaufwand.

Poldi
24.02.2005, 12:56
Da der L297 nicht die Schritte kennt die der Motor macht wollte ich ja ein Register im mc mitzählen lassen. Aber ist nicht der RESET dafür da um den Schrittmotor in eine Grundposition zu stellen? Im Datenblatt steht zumindest:
RESET:
Reset input. An active low pulse on this input restores the translator to the home position
(state 1, ABCD = 0101).

Damit kann ich doch den Motor auf eine Grundposition stellen und von dort aus die Schritte in Richtung vollgas im mc ablegen? (Habe ich mir in meiner kindlichen naivität so überlegt)


Aucfh wenn es ein VW ist, unterschätze nicht die Saugleistung und damit verbundener Kraftaufwand.

Meinst du das die Kraft des Motors nicht ausreichen könnte um dem Druck auf die Drosselklappe entgegenzuwirken? Gibt es eine andere Möglichkeit als ausprobieren um das in Erfahrung zu bringen?

Gruß,

coldfirev3
24.02.2005, 21:11
Das mit dem Reset bringt zwar die Zweiphasen-Startposition, je nachdem wo dein Motor gerade steht kannst du aber nicht beeinflussen ob er nun ein stück vor oder zurück springt.
Diese Position existiert beispielsweise auf einem 2 Phasen- Bipolar-Motor 50 mal innerhalb einer Umdrehung.

Mit der Haltekraft mal eine ganz einfache Rechnung :

Angenommen, wir haben einen 4-Takt Motor mit 2 Liter Hubraum,
der Motor hat eine Leerlaufdrehzahl von 1000 U/min.

Da ein 4-Takter nur jede 2te Umdrehung zündet, ergeben sich 500 Brennraumfüllungen pro Mintute multipliziert mit 2 Liter Hubraum erfordert das eine Ansaugleistung von 1000 Liter Luft pro Minute.......da VW recht billig konstruiert (aber viel zu teuer verkauft) sind die Einlassöffnungen
bestimmt nicht grösser als 10 cm..........und jetzt stell dir vor, welche Kraft entsteht, insbesondere wenn dieser kleine Motor auf 6000 U/min dreht um etwas Leistung zu erreichen.

Poldi
24.02.2005, 21:29
Zuerst zu dem Reset:
Danke für die Info, ich ging davon aus der Motor bei einem Reset wirklich eine feste Postition der gesamten 360 Grad Umdrehung fährt. Also werde ich doch die Lösung mit einem Anfangs und Endschalter versuchen.

Zu dem Motor:
Irgendwie scheint mir du hast etwas gegen VW kann das sein? :-s
Der Motor ist nur ein 1,4 Liter den wir aus nem alten Seat Ibiza ausgebaut haben. (ja ich weiß - auch VW)
Aber das Prinzip ist mir klar. Ich war einfach davon ausgegangen das es ja auch kein Problem ist den Gaszug mit einer Hand zu ziehen. Eigentlich müsste es doch aussagekräftig sein wenn man den Motor mit einem Kraftmesser bis auf Volllast zieht?

coldfirev3
24.02.2005, 22:19
Ja, ich habe aus vielerlie Gründen was gegen VAG (und andere) aber das soll hier nicht das Problem sein :cheesy:

Die Kraft am Zug ist bereits über Umlenkrollen gemindert, der Motor hingegen liegt normalerweise auf der Achse der Klappe.
Wenn du schon einen Schrittmotor verwendest, versau nicht die Präzision und Widerholgenauigkeit mit einem Aufwickelmechanismus.

Ich würde dir folgendes empfehlen :

Tausch der Seilrolle an der Drosselklappe durch ein Riemenrad,
Antrieb des Schrittmotors über kleineres Riemenrad (Untersetzung bringt Kraft und Genauigkeit)
Zur Leerlaufrückholung Drehfeder auf Klappenachse (0-Position durch Motor-Abschaltung) das hat den Vorteil daß ein Steuerdefekt den Wagen nicht mit Vollgas abschiesst :idea: