PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PRoblem mit Ultraschall - Asuro



Worfox
21.09.2008, 08:31
Ich habe die Ultraschall-Erweiterung für den Asuro gebaut und das im Buch "Mehr Spaß für Asuro Band 1" beschriebene Programm drauf geflasht.
Doch der ASURO fährt nur rückwärts im Kreis.
Ich habe auch schon auf Kürzschlüsse usw. nachgeschaut und am Trimmer gedreht. Doch nichts passsiert.
Wenn ich die platine entferne und den asuro ohne platine starte passiert das selbe.
Könnt ihr mir helfen, vieleicht ist auch nur ein Bauteil defekt?

pinsel120866
21.09.2008, 15:51
Hi Worfox,

willkommen im Forum.

Das Programm im Buch funktioniert leider nicht. Hier im Forum gibt es aber mehrere die laufen.

Tip: Verwende zuerst das Programm zur Einstellung des Potis.

Worfox
21.09.2008, 17:05
vielen dank für die schnelle antwort

doch leider laufen die anderen programme nicht besser
es kommt nur eine grüne Status-LED
Im Hyperterminal steht US-Test aber nichts weiter

damaltor
22.09.2008, 02:06
welches programm hast du denn verwendet?

Worfox
22.09.2008, 18:37
Das Beispielprogramm US-Test aus der Asuro-Bibliothek V2.71

damaltor
23.09.2008, 17:20
enn bei allen programmen nur eine grüne led kommt - hast du gespeichert bevor du kompiliert hast?

Worfox
24.09.2008, 13:27
ja habe ich, habe auf fertige hex-files versucht. andere programme gehen ja auch nur die mit ultraschall nicht

damaltor
26.09.2008, 01:56
ok.. dann zeig mal den programmcode her ;)

Worfox
28.09.2008, 15:18
Ich habe den Programmcode verwendet:


#include "asuro.h"

void LocalInit(void)
{
// Change Oscillator-frequency of Timer 2
// to 40kHz, no toggling of IO-pin:
TCCR2 = (1 << WGM21) | (1 << CS20);
OCR2 = 0x64; // 40kHz @8MHz crystal
ADCSRA = 0x00; // ADC off
// Analog comparator:
ACSR = 0x02; // Generate interrupt on falling edge
ADMUX = 0x03; // Multiplexer for comparator to
// ADC pin 3
SFIOR |= (1 << ACME); // Enable muliplexing of comparator
DDRD &= ~(1 << 6); // Port D Pin 6 is input!
}


void Ping(unsigned char length)
{
count72kHz = 0;
TCCR2 = (1 << WGM21) | (1 << COM20) | (1 << CS20);
// Toggling of IO-Pin on

// generate the Chirp
while(count72kHz < length) {
OCR2 = 0x64 + length / 2 - count72kHz;
}

TCCR2 = (1 << WGM21) | (1 << CS20); // Toggling of IO-Pin off
OCR2 = 0x64; // set frequency to 40kHz
}


int main(void)
{
int pos, i;
int posmarker;
Init();
LocalInit();
while(TRUE) {
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);
for(i = 0; i<100; i++) { Sleep(200); }
}
}

return 0;
}

damaltor
28.09.2008, 19:55
wird er denn nahc dem speichern einwandfrei kompiliert oder gibts fehler/warnings?

Worfox
29.09.2008, 18:38
ja keine fehler

Worfox
15.11.2008, 09:47
vieleicht habe ich auch die US-Sensoren falsch angelötet.
Muss der Pin mit dem roten Kreis bei beiden oben sein

Valen
15.11.2008, 12:41
Die US wandler sollten mit wechselspannung betrieben können werden. Also kann das es nicht sein. Aber die wandlers im satz die ich von Conrad gekauft hat haben keiner roten kreis. Woher hast du den?

(EDIT: verzei mir, ich hab mich verirht, ich habe kreuz gelessen, die wandler in meiner kit haben ein schwarzer gummi oder plastik kreis-chen rundum ein beinchen. Aber ich denke das ist reiner isolation des beinchen durchgang)

Worfox
15.11.2008, 16:45
habe den von reichelt

Valen
15.11.2008, 19:48
Naja, wie pinsel120866 schön gesagt hat. Das program im 'Das Buch' Band 1 wirkt nicht (habe dass ofter gehört aber weiss nicht mehr warum). Und deine quell code ist genau das selber wie im band 1.

Personlich wurde ich meiner asuro mit seiner reifen in die höhe hangen (dan kann er nicht weg rutschen), mit meiner hand einer echo machen, und das program umbauen so das es die distanz variabelen (posmarker) oder nur eine detektierung meldung uber IR transceiver sendet zum rechner. Bewegung könnte die detektierung von echo be-einflussen. Ein Asuro im Panik wirds nicht leichter machen.