Ultraschall Platine Störungen
Hallo! Brauche ein bisschen Hilfe von euch! Und zwar mach ich gerade eine Facharbeit über den Asuro mit Ultraschall Erweiterung. Dazu habe ich mir den Band 1 gekauft, wo die Bestückungsliste und alles andere zur US Platine erklärt wird. Habe alles nach Schaltplan auf Lochrasterplatine gebracht- funktioniert auch mit dem Ultraschall Programmen, die ich bei arexx gedownloaded habe, jedoch mit Störungen...
Das heißt im Detail: Ich schalte den Asuro an, US Platine drauf, dann ruckelt die StatusLED von Rot auf Grün oder umgekehrt. Mit andern Worten ist es so, dass der rechte Motor rückwärtsfährt bei Rot und beide vorwärts wenn Grün.
Er "wechselt" also imme die Fahrtrichtung, obwohl sich vorm Ultraschall nichts befindet, was ein Echo zurückgeben könnte....
Am Poti gedreht, hab ich auch schon. Es passiert folgendes:
Dreh ich den Poti zu weit, dann fährt er nur noch vorwärts, egal ob etwas vor dem Asuro liegt oder nicht.
Dreh ich den Poti in die andere Richtung, dann fährt der Asuro nur noch rückwärts, obwohl nichts vor ihm liegt, was ein Echo reflektiert....
Eigentlich müsste ich die goldene Mitte treffen, richtig? Aber dann kommt das Problem mit dem "ruckeln" zwischen vorwärts und rückwärts.
Ich hab auch schon gedacht, ob es vielleicht hier im Raum ein Ultraschall-Geräusch gibt, was den Asuro stören könnte, aber auch draußen funktioniert es nicht so ganz, wie es soll mit der Erweiterung!
Könnte es vielleicht an dem Programm liegen, was geflasht wurde?
Ich benutze die Ultraschallkapseln von Reichelt, die müssten ja eigetnlich passen....
link: http://www.reichelt.de/?;ACTION=3;LA...20773b2da86c51
http://www.reichelt.de/?;ACTION=3;LA...20773b2da86c51
Danke im Vorraus
Gruß!
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe das gleiche problem...
Edit: Jetzt nicht mehr, wenn man alles richtig einfügt wie auf
http://www.henkessoft.de/Roboter/ASURO.htm
beschrieben, dann gehts!
Hier ein Programm ohne Chirp, dann kannst du testen ob es an der hardware liegt
Code:
// *******************************************
// * Ultraschall für ASURO *
// * Roboter versucht Hindernissen *
// * auszuweichen *
// * Achtung: asuro.c ist geändert *
// * (c) 2005Robin Gruber *
// * Details zum Code in: *
// * "Mehr Spaß mit ASURO, Band I" *
// *******************************************
#include "asuro_us.h"
void LocalInit(void)
{
// Change Oscillator-frequency to 40kHz, no toggling of IO-pin
TCCR2 = (1 << WGM21) | (1 << CS20);
OCR2 = 0x64; // 40kHz @8MHz
// ADC off
ADCSRA = 0;
// Analog Comparaot
ACSR = 0x02; // Generate Interrupt on falling Edge
ADMUX=0x03; // Multiplexer for Comparator to ADC pin 3
SFIOR|=(1<<ACME);
DDRD&=~(1<<6);
}
void Ping(unsigned char length)
{
count72kHz=0;
TCCR2 = (1 << WGM21) | (1 << COM20) | (1 << CS20);
while (count72kHz<length) {
OCR2=0x64+length/2-count72kHz;
};
TCCR2 = (1 << WGM21) | (1 << CS20);
OCR2=0x64;
}
int main(void)
{
int pos;
int posmarker;
int odata[2];
Init();
LocalInit();
while(1) {
// OdometrieData(odata);
posmarker=0;
Ping(20);
for (pos=0; pos<100; pos++) {
Sleep(10);
if ((ACSR&(1<<ACI))!=0) {
if (posmarker==0) {posmarker=pos;}
}
ACSR|=(1<<ACI);
}
if (posmarker>10) {
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
} else {
StatusLED(RED);
MotorDir(FWD,RWD);
MotorSpeed(0,200);
Sleep(20000);
}
}
return 0;
}
Liste der Anhänge anzeigen (Anzahl: 1)
ups... funktioniert dein asuro ohne us-platine noch?
Ich lade es mal runter und flashe bei mir nochmal... edit kommt gleich
Dein Asuro denkt die ganze zeit das er zu nah an etwas dran steht!!!
bei mir funktioniert es!
flash mal das hier drauf und öffne den hyperterminal, dann wird angezeit wie weit der asuro von einem hindernis weg ist. mit dem trimmer kannst du dann mal nen bisschen spielen bis es passt, danach sollte das obige programm funktioniern