also im Asuro Handbuch ist das genau so wie ich das gemacht habe, mit unsigned char!?!?!?!?!?!?! ändern hilft auch leider nichts..
hat noch jmd. ne idee zu dem langsameren Motor?
Druckbare Version
also im Asuro Handbuch ist das genau so wie ich das gemacht habe, mit unsigned char!?!?!?!?!?!?! ändern hilft auch leider nichts..
hat noch jmd. ne idee zu dem langsameren Motor?
öh? bei mir schon...probier bitte folgenden code nochmal:Zitat:
ändern hilft auch leider nichts
Code:#include "asuro.h"
int main(void)
{
Init();
int i=0;
while(1)
{
MotorDir(FWD,FWD);
MotorSpeed(255,255);
StatusLED(GREEN);
if(PollSwitch() > 0)
{
for(i=0; i<900; i++)
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(100,200);
Sleep(216);
}
MotorSpeed(0,0);
}
}
return 0;
}
Hallo,
ich hatte mal den Fall, das ich einen Motor austauschen mußte.
Ein anderes mal war es aber das Programm.
Daher teste zuerst mal mit einem total simplen Programm:
Code:#include "asuro.h"
int main(void)
{
Init();
int i=0;
MotorDir(FWD,FWD);
MotorSpeed(150,150);
while (1) ;
return 0;
}
Hallo,
danke ihr beiden, also das Programm mit dem Taster macht auch was es will, eigentlich komisch, die Taster haben mit dem Testprogramm gut funktioniert... der fängt sofort an mit vor-zurück-zuück,1sek vor, zurück, vor :)))))
naja und bei dem Motortest ist leider der linke wesentlich langsamer, an wen kann ich mich denn da wenden um nen neuen zu bekommen?
Hallo,
ich habe mich einfach an meinen nächsten Elektronikhändler (Conrad) gewandt.
kostet nicht die welt.
Martin
dann werd ich da mal mit dem Motor vorbei gucken, die sollten ja erkennen welchen ich dann brauche.. danke
aber mit den Tastern das ist doch komisch, oder?
ist das nicht normal dass die beiden motoren nicht perfekt justiert sind? müsstest du ein programm schreiben, das über die lichtschranken seitlich die motoren so einstellt, dass der asuro geradeaus fährt.Zitat:
naja und bei dem Motortest ist leider der linke wesentlich langsamer, an wen kann ich mich denn da wenden um nen neuen zu bekommen?
nicht genau justiert wäre ja schön, aber linke dreht echt wesentlich langsamer, höchstens 30% so schnell
ok, habe einen neuen Motor, klappt soweit, jetzt habe ich noch ein Problem mit den Tastern, alle Wiederstände sind ok, aber irgenwie stimmt da etwas nicht... habe folgendes Programm, welches soweit funktioniert: habe es erst ohne den "Rechts" Teil gemacht und alles klappt" mit dem "Rechts" Teil, führt er immer die if schleife für rechts aus... etwas komisch...
im Prinzip liest er also die Taster richtig aus da ich ja z.b bei 16 etwas mache. aber in dem moment, wo ich den 6er verwende nimmt er den ImmerCode:#include "asuro.h"
int main(void)
{
Init();
int i=0;
unsigned char t1, t2;
while(1)
{
MotorDir(FWD,FWD);
MotorSpeed(200,200);
StatusLED(GREEN);
SerWrite("Norm.",5);
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 && t2 && t1 == t2)
{
if((t1 == 16) || (t1 == 18) || (t1 == 2))
{
SerWrite("Front",5);
for(i=0; i<500; i++)
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(100,200);
Sleep(216);
}
MotorSpeed(0,0);
}
}
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 && t2 && t1 == t2)
{
if((t1 == 32) || (t1 == 48))
{
SerWrite("Left.",5);
for(i=0; i<300; i++)
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(30,150);
Sleep(216);
}
MotorSpeed(0,0);
}
}
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 && t2 && t1 == t2)
{
if((t1 == 1) || (t1 == 3))
{
SerWrite("Right",5);
for(i=0; i<300; i++)
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(150,30);
Sleep(216);
}
MotorSpeed(0,0);
}
}
}
while(1);
return 0;
}
die motoren gehen auch kaputt wenn nicht gewährleistet ist das der motorstrom komplett null ist. manchmal schalten die pwm nicht total auf null. es ist besser wenn der port abgeschaltet wird.