Im Abschnitt RN-Control im Wiki findest du ein Demoprogramm zum RN-Control, welches in Bascom geschrieben ist. http://rn-wissen.de/index.php/RN-Control
Dort findet sich folgende Unterfunktion:
Code:
Sub Motortest()
'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
I = 0
Do
Pwm1a = I
Pwm1b = I
Waitms 40
I = I + 5
Loop Until I > 1023
Wait 1
Do
Pwm1a = I
Pwm1b = I
Waitms 40
I = I - 5
Loop Until I < 1
Pwm1a = 0 'Linker Motor aus
Pwm1b = 0 'rechter Motor aus End Sub
Was bewirkt der Code?
Code:
I = 0
Do
Pwm1a = I
Pwm1b = I
Waitms 40
I = I + 5
Loop Until I > 1023
Wait 1
Alle 40 Millisekunden wird I um 5 erhöht. Dies geschieht solange, bis I größer als 1023 ist. Der Wert von I wird in die PWM-Datenregister Pwm1a + Pwm1b geschrieben.
Sinkende Flanke ist eigentlich das gleiche, nur dass I immer um 5 kleiner wird und das solange läuft bis I kleiner 1 ist.
Diese sind beim RN-Control für die Regelung der Motorgeschwindigkeit zuständig aber das weißt du ja bereits
.
Weitere Infos zu PWM (wenn du noicht schon bereits weißt wies funzt):
http://www.mikrocontroller.net/artic...itenmodulation
MfG Torrentula
P.S.: Ein Blick ins Wiki hilft meistens
Lesezeichen