Wieso nimmst du nicht einen Poti-Joystick und kiest am getadc kanal die spannusn aus und kannst dann mit der if anweisung das ganze in schritten verändern, sprich, wenn ADC < 4 dann waitms 4 .....
Gruss
Hi,
eine vllt doofe frage... aber ich wollte folgendes realisieren:
Ein kleiner Schrittmotor mittels Transen an 4 Pins vom AVR. Es werden immer zwei gleichzeitig geschaltet un einen weiteren schritt zu machen. Insgesamt 4 verschiedene codes gibt es. Hi ein Auszug aus meinem Programm:
Der Schrittmotor müsste so doch so lange laufen wie ich auch den knopf an Pina.1 drücke. Jetz läuft der Motor so ja bei 200 S/U recht langsam. Soll ja auch so sein. Aber wie kann ich die bedingung einfügen das wenn ich den knopf länger als 2 sekunden drücke, der motor den turbo einlegt. Müsste ja recht einfach zu ändern sein, z.b. wenn man die Waitms dann auf 5 setzen würde.... wie mach ich das?Code:If Pina.1 = 0 Then Portb.0 = 1 Portb.1 = 0 Portb.2 = 0 Portb.3 = 1 Waitms 10 Portb.0 = 0 Portb.1 = 0 Portb.2 = 1 Portb.3 = 1 Waitms 10 Portb.0 = 0 Portb.1 = 1 Portb.2 = 1 Portb.3 = 0 Waitms 10 Portb.0 = 1 Portb.1 = 1 Portb.2 = 0 Portb.3 = 0 Waitms 10 Else End If Pina.1 = 1
Danke schonmal
Wieso nimmst du nicht einen Poti-Joystick und kiest am getadc kanal die spannusn aus und kannst dann mit der if anweisung das ganze in schritten verändern, sprich, wenn ADC < 4 dann waitms 4 .....
Gruss
Man kann es auch noch etwas einfacher machen.
Die Routine zur ansteuerung der Portpinne lasen wir mal so stehen.
Beim Befehl "Waitms" sind auch Variablen zulässig also zb. "Waitms X"
Damit kann man alle Wartebefehle zusammen beeinflussen.
zb. in der Form wie Felix vorgeschlagen hat.
Für die Zeit bis der "Turbo" einsetzt kann man einfach den Timer einsetzen.
Der wird bei Tastendruck gestartet und beim Loslassen wieder gestoppt und zurückgesetzt.
Läuft er solange das er seine Zielzeit erreicht dann wird die Wartezeit des Steppers umgeschaltet.
Der nächste Schritt ist die Massenträgheit zu berücksichtigen also eine Rampe einzubauen damit der Stepper auch hinterherkommen kann.
Gruß
Ratber
hallo felix
also doofe fragen gibt es nicht, sondern nur doofe antworten.
du hast ja leider nicht geschrieben, was für eine betriebsspannung an deinem motor anliegt
ist aber ein wichtiger faktor, was die endgeschwindigkeit angeht. na und die waits kannst glaube ich auch rausschmeissen [-X
es wurde ja schon erwähnt....ne rampe müstest auch noch einfügen...für den anlauf und das abbremsen....so ca. 0.1 sec müßten reichen.
also viel erfolg noch.
gruß thomas
Lesezeichen