-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Bascom / Schrittmotoren Ansteuerung

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96

    Bascom / Schrittmotoren Ansteuerung

    Anzeige

    hi
    ich hab en Problem ich hab einen Bipolare Schrittmotor den ich ansteuern will.
    ich hab mir die tabelle in RN-Wissen http://www.rn-wissen.de/index.php/Schrittmotoren angeschaut und hab dafür eine Code geschrieben und auf meinem mega32 geflasht ( ich benutze ein rn-bord mit dem dort verbauten motor treiber) mein problem is das der sich net richtig dreht sondern nur ruckelt vieleicht kann ja mal jemand kurz mal den code anschauen vieleicht hab ich es auch komplet falsch gemacht.
    danke Micha

    Code:
    $regfile = "m32Def.dat"
    $crystal = 16000000
    
    
    Config Portb.0 = Output
    Motor1_spule1a Alias Portb.0
    Config Portb.1 = Output
    Motor1_spule1b Alias Portb.1
    Config Portc.6 = Output
    Motor1_spule2a Alias Portc.6
    Config Portc.7 = Output
    Motor1_spule2b Alias Portc.7
    Config Pina.0 = Input
    Taster_links Alias Pina.0
    Config Pina.1 = Input
    Taster_rechts Alias Pina.1
    
    Porta.1 = 1
    Porta.0 = 1
    Do
    If Taster_rechts = 0 Then
    
     Motor1_spule1a = 1
     Motor1_spule1b = 0
     Motor1_spule2a = 1
     Motor1_spule2b = 0
    Waitms 10
    
     Motor1_spule1a = 1
     Motor1_spule1b = 0
     Motor1_spule2a = 0
     Motor1_spule2b = 1
    Waitms 10
    
    
     Motor1_spule1a = 0
     Motor1_spule1b = 1
     Motor1_spule2a = 0
     Motor1_spule2b = 1
    Waitms 10
    
     Motor1_spule1a = 0
     Motor1_spule1b = 1
     Motor1_spule2a = 1
     Motor1_spule2b = 0
    
    End If
     Loop
    End

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.08.2007
    Ort
    Bregenz
    Alter
    41
    Beiträge
    72
    hi
    das rn board hat sicher ein takt und richtungs signal , (l298, l297) denke ich , du must nicht jede spule separat ansteuern , schau dir ein beispiel program von dein board.
    Guss

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi des bord ist mit einem L293D motortreiber ausgestattet. ich versteh nur nicht was du mit" takt und richtungs signal , (l298, l297) denke ich , du must nicht jede spule separat ansteuern" ich dachte man mzss jede spule seperat ansteuern da vom mC vier drähte in den motortreiber gehen und vier wider raus......und nach einem beispiel program für einem Schrittmotor hab ich schon geschaut und keins gefunden
    Gruss micha

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Es gibt "intelligente" Motortreiber die benötigen nur eine Richtungsvorgabe und dann macht der Schrittmotor mit jedem Takt einen Schritt. Bei einem normalen Motortreiber wie dem L297 musst du es so machen das die Spulen von dem Schrittmotor an dem Output von dem Treiber angeschlossen werden.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi
    @Kampi ich benutz ja des rn-controlerbord wie ich des anschlies is mir klar ich hab nur kein plan wie der Quellcode aussehen soll und ich benutz nicht einen L297 sondern einen L293D.... und wie geb ich im quellcode die richtung an könntet ihr mir ein beispiel geben oder posten also einen code wie ich des an den l293d weitergeb mit der dreh richtug und der bitfolge das sich der motor dreht
    danke

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Ähhh meinte einen L293....tschuldigung Zahlendreher.
    Die Richtung gibst du durch die Bitreihenfolge an. Die Motorspulen werden ja an die H-Brücken des Motortreibers angeschlossen.
    D.h. du legst die beiden Enable-Pins auf High. Und dann werden die einzelnen Input-Pins nacheinander auf High gelegt.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi also ich hab jetzt die enable pins auf high und dan die input pins alle nach einander auf high gelegt und der Schrittmotor dreht sich völlig ohne system vor und zurück und wakclet hin und her
    hier ist der code ich weiß net was ich falsch mach
    Code:
    $regfile = "m32Def.dat"
    $crystal = 16000000
    
    
    Config Portb.0 = Output
    Motor1_spule1a Alias Portb.0
    Config Portb.1 = Output
    Motor1_spule1b Alias Portb.1
    Config Portc.6 = Output
    Motor1_spule2a Alias Portc.6
    Config Portc.7 = Output
    Motor1_spule2b Alias Portc.7
    Config Pina.0 = Input
    Taster_links Alias Pina.0
    Config Pina.1 = Input
    Taster_rechts Alias Pina.1
    Config Portd.5 = Output
    Config Portd.4 = Output
    
    
    Porta.1 = 1
    Porta.0 = 1
    Portd.5 = 1
    Portd.4 = 1
    
    Do
    If Taster_rechts = 0 Then
    
     Motor1_spule1a = 1
     Motor1_spule1b = 0
     Motor1_spule2a = 0
     Motor1_spule2b = 0
    Waitms 2
    
     Motor1_spule1a = 0
     Motor1_spule1b = 1
     Motor1_spule2a = 0
     Motor1_spule2b = 0
    Waitms 2
    
    
     Motor1_spule1a = 0
     Motor1_spule1b = 0
     Motor1_spule2a = 1
     Motor1_spule2b = 0
    Waitms 2
    
     Motor1_spule1a = 0
     Motor1_spule1b = 0
     Motor1_spule2a = 0
     Motor1_spule2b = 1
     Waitms 2
    
    End If
     Loop
    End

  8. #8
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Schau mal hier drunter nach:
    -> http://www.mikrocontroller.net/topic/158488
    Weil du musst die Spulen auch schon richtig herum ansteuern. So wie du das gemacht hast lässt du den Motor erst nach links drehen und kehrst dann einfach die Polarität um und dadurch macht er einen Step zurück.

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    ja des is gerade mein problem das der einen step vor mancht und dan einen zurück auf der seite hab ich nix richtg gefunden was mir hilft die machen des doch auch so wie ich das die des einfach rum drehen also der code hier lässt den motor ein mal vor und einmal zurück drehen also einen step wie mach ich des das der nur links und nur rechts dreht????
    sorry ich bin da voll der neuling und kapier es nicht

    Code:
    $regfile = "m32Def.dat"
    $crystal = 16000000
    
    
    Config Portb.0 = Output
    Motor1_spule2a Alias Portb.0
    
    Config Portb.1 = Output
    Motor1_spule2b Alias Portb.1
    
    Config Portc.6 = Output
    Motor1_spule1a Alias Portc.6
    
    Config Portc.7 = Output
    Motor1_spule1b Alias Portc.7
    
    Config Pina.0 = Input
    Taster_links Alias Pina.0
    
    Config Pina.1 = Input
    Taster_rechts Alias Pina.1
    
    'Config Portd.5 = Output
    'Config Portd.4 = Output
    
    
    Porta.1 = 1
    Porta.0 = 1
    'Portd.5 = 1
    'Portd.4 = 1
    
    Do
    If Taster_rechts = 0 Then
    
     Motor1_spule1a = 1
     Motor1_spule1b = 0
     Motor1_spule2a = 0
     Motor1_spule2b = 1
    Waitms 500
    
     Motor1_spule1a = 1
     Motor1_spule1b = 0
     Motor1_spule2a = 1
     Motor1_spule2b = 0
    Waitms 500
    
    
     Motor1_spule1a = 0
     Motor1_spule1b = 1
     Motor1_spule2a = 1
     Motor1_spule2b = 0
    Waitms 500
    
     Motor1_spule1a = 0
     Motor1_spule1b = 1
     Motor1_spule2a = 0
     Motor1_spule2b = 1
     Waitms 500
    
    
    End If
     Loop
    End

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hey
    gibts da niemand der ne ahnung hat warum des sooo ist ??????

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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