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:
Was bewirkt der Code?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
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.Code:I = 0 Do Pwm1a = I Pwm1b = I Waitms 40 I = I + 5 Loop Until I > 1023 Wait 1
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