Hallo,
ich habe mal selbst versucht Schrittmotoren über Timer zu steuern.
Meine Frage ist nun ob man das so machen kann??Code:'Testprogramm für 2 Schrittmotoren über Timer $crystal = 8000000 'Quarzfrequenz Declare Sub Ledein Declare Sub Ledaus Const Writepowerport_adr = &H72 'I2C Adr PCF 2 Const Readpowerport_adr = &H73 'I2C Adr PCF 2 Dim I2cdaten As Byte 'Datenbyte aus PCF8574 Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 I2cinit '******** Diese 4 Befehle sind nur ab RNBFRA Version 1.2 (nicht in V 1.1) ' notwendig und bzw. möglich (erweiterte Energiesparfunktion und LED´s) ' Bei Board 1.1 bitte auskommentieren oder löschen I2cstart I2cwbyte &H74 'Schreibbefehl an PCF3 schicken ' Led´s ein ,Motorendstufen ein, Port-Peripherie ein, RBN-Bus Sleep Modus aus (also Peripherie aktiv) I2cwbyte &B00000010 'Datenbyte an PCF3 I2cstop '********* Config Pind.6 = Output 'Schrittmotoren Ein/Aus Config Pinc.5 = Output 'Schrittmotor Links Richtung Config Pinc.3 = Output 'Schrittmotor Links Step Config Pinc.4 = Output 'Schrittmotor Rechts Richtung Config Pinc.2 = Output 'Schrittmotor Rechts Step Dim X As Word Dim Y As Word Dim Verteilung As Byte Verteilung = 50 'Anfangseinstellung beide Motoren mit 50% Portd.6 = 1 'Beide Schrittmotoren einschalten '------------------------------------------------------------------------------- On Timer0 Ontimer0 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 On Timer2 Ontimer2 Config Timer2 = Timer , Prescale = 1024 Enable Timer2 Enable Interrupts Do Input Verteilung X = 250 * Verteilung X = X / 100 Y = 250 - X Print X ; "--" ; Y Loop End '------------------------------------------------------------------------------- Ontimer0: Timer0 = X Toggle Portc.2 Return Ontimer2: Timer2 = Y Toggle Portc.3 Return
mfg
Tomkeule







Zitieren

Lesezeichen