PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motor Problem



jojoho
05.07.2008, 17:33
Hallo!

Ich habe folgendes Problem:

Hab das Twin Motor Set von Roboterhardware, und benutze das RN-Control.
Wenn ich die Motoren direkt mit Strom Versorge (U geschätzte 8V) funktionieren sie prima. Wenn ich sie nun über das RN-Control ansteuern will, gibt der Motor nurnoch die ganzezeit ein Komisches Knarksen aus.

Hab ein 203:1 Getriebe hinter den Motoren.

An Anfang hatte ich einfach mal das Testprogramm vom RN laufen lassen, und einen dieser Motoren angeschlossen, ohne Getriebe, und der hat sich schonmal schön gedreht.

Habt ihr eine Idee?

Mein Code ist übrgens:


$regfile = "m16def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600


'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 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output


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

Dankeschön, mfg jojoho

ikarus_177
05.07.2008, 19:36
Hi,

muss man die Anweisungen zur Motorsteuerung zwischen DO....LOOP schreiben ? :-k

Viele Grüße
ikarus_177

jojoho
06.07.2008, 18:14
Soo, danke schonmal für die antwort, aber es passiert jetzt garnichtsmehr...
mein Code ist jetzt:


$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes

$baud = 9600
Dim I As Integer 'Die Baudrate für RS232 Ausgabe.
'Sie muss auch beim PC Terminalprogramm identisch sein


' Für Motorentest
'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 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output 'Rechter Motor PWM
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Pwm1a = 0
Pwm1b = 0
Tccr1b = Tccr1b Or &H02 'Prescaler = 8





I = 0
Sound Portd.7 , 400 , 450 'BEEP
Sound Portd.7 , 400 , 250 'BEEP
Sound Portd.7 , 400 , 450

'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

Und jetzt macht der Motor garnichtsmehr... er ist einfach an dem ersten motorport angeschlossen... Direkt Spannung drauf, und das ganze Läuft wie geschmiert...

Hat noch jemand eine idee?

mfg jojoho

ikarus_177
06.07.2008, 18:29
Hi,

ich hatte das eigentlich so gemeint:


$regfile = "m16def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600


'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 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output

do

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

loop


Viele Grüße
ikarus_177

jojoho
06.07.2008, 19:31
Danke für deine Hilfe...
Nur das hatte ich auch schon versucht.

Dann hab ich mal das Testprogramm das beim Board dabei ist nochmal draufgeladen... Und das Lauflicht der LEDs funktioniert, die Töne übern Summer auch. Nur die Motoren drehen sich nicht. (Haben sich aber beim ersten mal Testen super über das Board ansteuern lassen, mit Beschleunigung und Abbremsen.)

Kann es sein, das ich evt. den Motortreiber kaputt gemacht hab?

mfg jojoho

jojoho
09.07.2008, 16:40
Hat niemand eine Idee?