Astro
08.02.2008, 13:41
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!!
#-o
$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
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!!
#-o
$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