PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor Rampe mit L293D



Zwerwelfliescher
04.08.2011, 18:58
Hallo,
ich möchte mit meiner RN Control und Bascom einen Schrittmotor ansteuern. Auf der RN Control befindet sich schon ein L293D Motortreiber. Ich habe es schon geschafft, den Motor zum laufen zu bekommen, aber ab einer bestimmten Geschwindigkeit fängt er an zu ruckeln. Das liegt daran, dass ich keine Rampe verwendet habe, sondern gleich Vollgas gegeben habe.
Kann mir jemand erklären wie ich so eine Rampe in BASCOM Basic machen kann?

Gruß

Torrentula
04.08.2011, 20:16
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:



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?



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/articles/Pulsweitenmodulation

MfG Torrentula

P.S.: Ein Blick ins Wiki hilft meistens :)

Zwerwelfliescher
04.08.2011, 20:35
Danke für die schnelle und ausführliche Antwort. Am Wochenende werde ich das mal ausprobieren.

MfG Flexxx

Ps: Ich bin gerade dabei mich in Assembler und C einzuarbeiten. Gibt es dafür auch gute Seiten. Zu C habe ich schon einiges gefunden, aber nicht zu Assembler.

derNeue
04.08.2011, 21:06
Da kann ich auch nur www.mikrocontroller.net empfehlen, da kannst du oben Links unter AVR tutorial einen schönen Assembler Kurs mitmachen, und drunter ist das ganze für C, ich hätte es dir gleich als Link gemacht, bloß dafür bin ich zu blöd :)


dennis

Torrentula
05.08.2011, 06:52
ich hätte es dir gleich als Link gemacht, bloß dafür bin ich zu blöd :)

bitteschön:

AVR-Tutorial (http://www.mikrocontroller.net/articles/AVR-Tutorial)
AVR-GCC Tutorial (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial)

Torrentula