PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro Code Problem



phl25
09.04.2013, 17:18
Hallo,

ich flashe den Asuro mit folgendem Code:

#include "asuro.h"

int main(void)
{
Init();
while (PollSwitch() == 0)
{
MotorDir(FWD,FWD);
MotorSpeed(180,180);
StatusLED(GREEN);
SerWrite("Alles Ok!",9);
}
SerWrite("STOP!",7);
MotorSpeed(0,0);
StatusLED(RED);
while(1);
return 0;
}


Leider tritt beim Einschalten folgendes Phänomen auf:
Der Asuro fährt ca 2 - 6 sek. und hält dann an. Die Zeit variiert je nach Durchgang. Ich kann keine Regelmäßigkeit erkennen. Mal sind es 2, mal sind es 6 Sekunden.
Während er fährt kann man einen der Taster drücken und er hält an. Also der Code an sich scheint zu funktionieren, nur leider bricht er nach einer bestimmten Zeit immer selber ab.
Woran liegt das?

Viele Grüße,
Philipp

radbruch
09.04.2013, 17:46
Hallo

Vermutlich stören die Motoren die Tastenauswertung:


#include "asuro.h"

int main(void)
{
Init();
MotorDir(FWD,FWD);
MotorSpeed(180,180);
StatusLED(GREEN);
while((PollSwitch() == 0) || (PollSwitch() == 0))
{
SerWrite("Alles Ok!",9);
}
SerWrite("STOP!",5); // Der String hat nur 5 Zeichen!
MotorSpeed(0,0);
StatusLED(RED);
while(1);
return 0;
}(ungetestet)

Wenn nur bei einer der beiden Tastenlesung eine null erkannt wird ist die andere Lesung vermutlich Schrott. Das kann man natürlich auch steigern:

while((PollSwitch() == 0) || (PollSwitch() == 0) || (PollSwitch() == 0))

Nicht sehr hübsch, sollte aber funktionieren.

Gruß

mic

phl25
09.04.2013, 20:09
Super, die Lösung funktioniert. Kannst du mir vielleicht nochmal genauer erklären, wieso das so ist?

Valen
14.04.2013, 15:54
Wenn die Asuro IC1 Chip die Taster-messung macht wird Pin 5, wo Widerstand R24 angeschlossen ist, intern mit die Bordspannung verbunden. Dann werden die R24 und das Netzwerk von Taster Widerstanden zu ein Spanungsteiler gemacht. Mit einer Feste Widerstand (R24) und ein Parallele Kombination von den Ein-geprellte Tastern und Widerstanden (R25 bis R30 und R32) darunter bekommt man dann einer bestimmte Fraktion von den Bordspannung an Pin 27: die Analoge Taster Messpunkt. Aber an die Bordspannung hängen auch die Motor-Treibern an. Und mit das drehen der Achsen bekommt man auch Schwankungen in die Bordspannung wenn die Kommutatoren und Kohlenbürsten ein Unterbrechung machen. Also wird die Spannung auf die Taster Messpin auch sich ändern. Die Analoge Messreferenz der die Asuro chip benutzt zum auswerten von die Tasterwert, ist Relativ Stabil. Weil die Schwankungen schon durch R11 (oder die Spule Ersetzung) und C5 ausgefiltert werden sind.