-
        

Ergebnis 1 bis 4 von 4

Thema: Von mega 128 über i2c nach Schrittmotor

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.07.2007
    Ort
    Roboland
    Alter
    41
    Beiträge
    70

    Von mega 128 über i2c nach Schrittmotor

    Anzeige

    Hallo !

    Steuerboard RN-Schrittmotor

    ich hab unten das folgende Programm geschrieben aber ohne Erfolg es will einfach nicht anspringen,die Test Programme haben funktioniert die Ports sind geprüft schaut doch bitte mal nach dem Programm ich find den Fehler nicht .

    Es sollen sich eigendlich nur die Motoren einige cm drehen aber Nein !

    Danke an den der es zum laufen bringt!!


    Code:
    $regfile = "m128def.dat"                                    ' Bei Mega 128
    
    $framesize = 32
    $swstack = 32
    $hwstack = 64
    
    
    $crystal = 16000000
    $baud = 9600
    Config Scl = Portd.0
    Config Sda = Portd.1
    Config I2cdelay = 10
    
    I2cinit
    Start Adc
    Sound Portg.2 , 400 , 450
    Sound Portg.2 , 400 , 250
    Sound Portg.2 , 400 , 450
     ' ---------------------------------------------------
    Const Befehl_motor_an_aus = 50
    Const Befehl_ausschalten = 51
    Const Befehl_drehrichtung = 52
    Const Befehl_geschwindigkeit = 53
    Const Befehl_endlosdrehung = 54
    Const Befehl_schrittzahl = 55
    Const Befehl_schnittstellen_modus = 200
    Const Befehl_prüfsumme_crc = 201
    
    
    Const Motor_1 = 1
    Const Motor_2 = 2
    Const Motor_3 = 3
    
    
    Const I2crnmotorslaveadr = &H58
    Const I2crnmotorsreadlaveadr = &H59
    
    
    Dim I2cdaten(7) As Byte
    Dim Lowbyte As Byte
    Dim Highbyte As Byte
    Dim Richtung As Bit
    
    
    Dim Schritte As Long
    Dim Temp As Byte
    Dim Ltemp As Long
    Dim Umdrehungen As Single
    Dim Fahrstrecke As Word
    
    Dim Geschwindigkeit As Byte
    
    
    
    
    
    Richtung = 0
    Geschwindigkeit = 10
    
      Do
    
    
      Wait 3
    
    
      I2cdaten(1) = Befehl_prüfsumme_crc
      I2cdaten(2) = 1
        I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
    
      I2cdaten(1) = Befehl_schnittstellen_modus
      I2cdaten(2) = 0
         I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
    
      I2cdaten(1) = Befehl_geschwindigkeit
      I2cdaten(2) = Motor_1
      I2cdaten(3) = Geschwindigkeit
      I2cdaten(4) = 12
         I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
      Toggle Richtung
      I2cdaten(1) = Befehl_drehrichtung
      I2cdaten(2) = Motor_1
      I2cdaten(3) = Richtung
        I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
      I2cdaten(1) = Befehl_schrittzahl
      I2cdaten(2) = Motor_1
      I2cdaten(3) = 232
      I2cdaten(4) = 3
        I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
    Loop
    End

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    25.12.2006
    Alter
    29
    Beiträge
    51
    Hallo Astro,

    ich habe bisher noch nichts mit I2C gemacht und kann dir da leider nicht weiterhelfen, aber beim Überfliegen des Codes ist mir Folgende Zeile aufgefallen:
    Const I2crnmotorsreadlaveadr = &H59

    Falls du diese Konstante im späteren Verlauf noch verwendest, überprüf doch mal ob das "s" nicht hinter das "read" muss:

    Const I2crnmotorreadslaveadr = &H59

    Gruß
    Monday

    Ach ich seh gerade du hast diese Konstante gar nicht mehr verwendet....

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    28.07.2007
    Ort
    Roboland
    Alter
    41
    Beiträge
    70
    Ja ich schau mal ich bräuchte mal eine andere Adresse egal welche nur keine 88 mehr wenn jemand eine im überfluss hat bitte melden !

    Das mit der Prüfsumme macht mich wirre eventuell mal mit 7 byte testen

    icdaten(6) = und hier nix
    icdaten(7) = CRC

    stimmt das so?
    aber ich denke da fehlt mir noch mehr DIm oder so ich hab kein Buch wenn ja schreibt es mir doch bitte hin so das man es gebrachen kann als Anfänger!

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    18.03.2005
    Ort
    berlin, siemensstadt
    Alter
    54
    Beiträge
    59
    hallo astro

    ich kann mich ja auch irren, aber das sieht mir so aus, als wenn du dir da ne steuerung für deine monti bauen willst......ach menno und die sdi erledigt das doch soooo gut. wenn das stimmt, dann hast de dir ja was vorgenommen...viel spass und cs
    gruß thomas

Berechtigungen

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