Frank
28.02.2004, 18:51
Hallo
Ich teste gerade die PWM Motor-Regelung unter Bascom beim ersten Board nach RoboterNetz-Standard. Ich kenn mich mit Bascom-PWM noch nicht so perfekt aus. Kann ein Experte mal über den Code schaun und sagen ob das so optimal beim Mega 16 ist? Funktionieren tuts jedenfalls!
Gruß Frank
Dim I As Byte
$crystal = 8000000 'Quarzfrequenz
Dim Geschwindigkeitlinks As Word
Dim Geschwindigkeitrechts As Word
'Ports für linken Motor
Config Pinc.6 = Output 'Linker Motor Kanal 1
Config Pinc.7 = Output 'Linker Motor Kanal 2
Config Pind.4 = Output 'Linker Motor PWM
'Ports für rechten Motor
Config Pinb.0 = Output 'Linker Motor Kanal 1
Config Pinb.1 = Output 'Linker Motor Kanal 2
Config Pind.5 = Output 'Linker Motor PWM
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Geschwindigkeitlinks = 500
Geschwindigkeitrechts = 2900
Pwm1a = Geschwindigkeitrechts
Pwm1b = Geschwindigkeitlinks
Tccr1b = Tccr1b Or &H02 'Prescaler = 8
'Linker Motor ein
Portc.6 = 1 'bestimmt Richtung
Portc.7 = 0 'bestimmt Richtung
Portd.4 = 1 'Linker Motor EIN
'Rechter Motor ein
Portb.0 = 1 'bestimmt Richtung rechter Motor
Portb.1 = 0 'bestimmt Richtung rechter Motor
Portd.5 = 1 'rechter Motor EIN
Wait 60
Portd.4 = 0 'Linker Motor aus
Portd.5 = 0 'rechter Motor aus
End
Ich teste gerade die PWM Motor-Regelung unter Bascom beim ersten Board nach RoboterNetz-Standard. Ich kenn mich mit Bascom-PWM noch nicht so perfekt aus. Kann ein Experte mal über den Code schaun und sagen ob das so optimal beim Mega 16 ist? Funktionieren tuts jedenfalls!
Gruß Frank
Dim I As Byte
$crystal = 8000000 'Quarzfrequenz
Dim Geschwindigkeitlinks As Word
Dim Geschwindigkeitrechts As Word
'Ports für linken Motor
Config Pinc.6 = Output 'Linker Motor Kanal 1
Config Pinc.7 = Output 'Linker Motor Kanal 2
Config Pind.4 = Output 'Linker Motor PWM
'Ports für rechten Motor
Config Pinb.0 = Output 'Linker Motor Kanal 1
Config Pinb.1 = Output 'Linker Motor Kanal 2
Config Pind.5 = Output 'Linker Motor PWM
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Geschwindigkeitlinks = 500
Geschwindigkeitrechts = 2900
Pwm1a = Geschwindigkeitrechts
Pwm1b = Geschwindigkeitlinks
Tccr1b = Tccr1b Or &H02 'Prescaler = 8
'Linker Motor ein
Portc.6 = 1 'bestimmt Richtung
Portc.7 = 0 'bestimmt Richtung
Portd.4 = 1 'Linker Motor EIN
'Rechter Motor ein
Portb.0 = 1 'bestimmt Richtung rechter Motor
Portb.1 = 0 'bestimmt Richtung rechter Motor
Portd.5 = 1 'rechter Motor EIN
Wait 60
Portd.4 = 0 'Linker Motor aus
Portd.5 = 0 'rechter Motor aus
End