PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gibts einen Sanftanlauf für Schrittmotoren?



gttoxiclt2
07.03.2008, 09:27
Hallo,

nachdem ich mal hier und mal da so meine Probleme hab mit dem Programmieren wird so langsam ein Programm aus meinen Copy & Paste Codeschnippseln 8-[

Nun eine Frage. Ich habe einen Schrittmotor, dessen Start und Endpunkt von Näherungssensoren gesteuert wird. Somit kann ich bei Bascom mich ganz der Timer Sache hingeben, damit der Motor in meiner gewünschten Geschwindigkeit dreht.
Also mehr oder weniger gleicht die "Timer Sache" dem Standart Programm, was für die RN Control angeboten wird.

Nun hab ich ein Problem:

Ich häng mal einen Auszug des Programms an:


Do

If Pind.2 = 1 And Pind.7 = 0 Then 'Monitor hinten & Relais1 eingeschalten
Stepper_richtung = 0 'Schlitten fährt nach vorn
Stepper_enable = 1 'Motor einschalten
Config Timer0 = Timer , Prescale = 64
Timervorgabe = 89
End If

If Pind.6 = 1 And Pind.7 = 0 Then 'Monitor ist in Mitte & Relais1 eingeschalten
Waitms 650 'solange warten, bis an richtigem Schwenkpunkt angekommen
Stepper_enable = 0 'jetzt Motor ausschalten
End If

...


Wenn ich den Motor mit einer zu hohen Geschwindigkeit anlaufen lasse, dann dreht er erst gar nicht, oder er kracht fürchterlich am Anfang. Mit dem Testprogramm zur RN Control kann ich ja per Tasten die Geschwindgkeit steigern, da gibts keine Probleme. Aber wenn ich direkt mit hoher Geschwindigkeit anfahre macht er naturgemäß Probleme.

Wie kann ich das -für mich normale- "Problem" beheben?
Die einzigen Ansteuerungen für Schrittmotoren die ich bis jetzt kenne, sind über den From..to Befehl mit waitms und eben über den Timer.

Ich hätte gern was, dass er langsam los dreht und schnell schneller wird. Da in Verbindung mit den vielen folgenden Zahnrädern ein ganz schöner Lärm entsteht.


mfG und danke für eine Hilfestellung.
Zu Sanftanlauf hab ich leider rein gar nichts gefunden bei Schrittmotoransteuerung

merlin63
24.03.2008, 15:34
hallo

na ja ich denke mal, du mußt nur für eine bestimmte zeit für eine automatisches hochzählen der pwm sorgen...hmmm habe jetzt auch nicht die konkrete idee, aber versuche doch mal eine zählschleife zu starten, in der du den timerwert hochzählen tust. oder aber du benutzt einen externen pwm chip, den du vom atmel beeinflußt.

na das wird schon
ach ja eine anfahr und bremsrampe von ca. 0.1-0.2 sec müßte schon reichen

gruß thomas

ps: die betriebsspannung des motors spielt auch noch eine rolle...sonst hat er nicht das drehmoment das er zum anlaufen braucht und du kannst auch noch boosten...ein kurzes anheben des stromes um ihm aus die knie zu helfen.