-
        

Ergebnis 1 bis 4 von 4

Thema: schrittmotor geschwindigkeit

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2008
    Ort
    Pohlheim
    Alter
    27
    Beiträge
    240

    schrittmotor geschwindigkeit

    Anzeige

    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:

    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
    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?

    Danke schonmal

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    27.10.2006
    Ort
    Dortmund
    Beiträge
    79
    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

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    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

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    18.03.2005
    Ort
    berlin, siemensstadt
    Alter
    54
    Beiträge
    59
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •