PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschall-Operationsverstärker kaputt?



sloti
23.12.2007, 13:10
Ich habe mich nun die letzten tage mit der Ultraschall erweiterung beschäftigt, aber es wäre ja zu schön, wenn das gleich alles klappen würde. Ich vermute, dass ich den Operationsverstärker wohl getötet habe, denn, wenn ich messe, und ich an die Pins 3,6 und 7 gehe (alles Pins die mit dem US Empfänger verbunden sind) fährt der Asuro geradeaus, ansonsten dreht er sich nur im Kreis, ich benutze das Beispielprogramm aus dem Buch Mehr Spaß mit dem Asuro Band 1. Falls es nicht jeder Auswendig kann :



// *******************************************
// * 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(150,150);
} else {
StatusLED(RED);
MotorDir(FWD,RWD);
MotorSpeed(0,150);
Sleep(20000);
}
}
return 0;
}



Hatte jemand vielleicht schonmal dasselbe oder ein ähnliches Problem oder ist jemand der selben Auffassung, dass der Operationsverstärker kaputt sein könnte?

Ansonsten wünsch ich fröhliche Weihnachten.
mfg
Erik

Hans2
25.12.2007, 13:52
Hallo sloti,frohe weihnachten.Das gleiche versuchsprogramm verwende ich auch.es funktioniert bei mir.Der OP ist nicht sehr empfindlich gegen statische aufladung.den kannst du allenfalls durch falschpolung,oder kurzschluss zerstören.falls vorhanden,kannst du auch andere Doppel-OP`s versuchen.Der lm 358,oder der tl062 funktionieren bei mir auch.
das mit der messung an den pins müsstest du noch mal erläutern.
Gruss Hans

sloti
25.12.2007, 19:48
Ok hab ich mir gedacht. Das verhält sich folgendermaßen. Wenn ich die Erweiterung aufstecke und den OPV nicht einstecke und dann den Asuro einstecke, dreht er sich wie oben beschrieben im Kreis. Wenn ich dann aber mit meinem Multimeter an die Pins 3,6 oder 7 des Sockels gehe und sie somit direkt mit der Masse verbinde, da ich ja eine Messleitung des Multimeters auf Masse den anderen am Sockel habe, fährt er auf einmal geradeaus. Daher vermute ich, dass der OPV kaputt ist.

mfg
Erik

Hans2
26.12.2007, 09:14
Moin,sloti,hast du denn mal gemessen,ob an pin 5,6,7 jeweils die halbe betriebsspannung ca. 2.4 volt anliegt?dann wäre ja ein teil des op i.o.Der poti steht ungefähr in mittelstellung.Einen ersatz-ic hast du nicht?Naja,morgen sind die läden ja wieder geöffnet.

Hans

sloti
30.12.2007, 15:36
Ich hab inzwischen einen neuen IC gekauft, was aber nichts gebracht hat, also immer noch das selbe problem. Nun hab ich eben mal alle Pins durchgemessen und hatte folgende Ergebnisse:
Pin 1-- 0V
Pin 2-- 0V
Pin 3-- 0,3V
Pin 4-- 5,18V
Pin 5-- 5,19V
Pin 6-- 0,3V
Pin 7-- 0,3V
Pin 8-- 5,18V

Da ist wohl irgendwas gewaltig schiefgelaufen, kann mir irgendjemand sagen was ich kann das nicht wirklich deuten.

mfg
Erik

Hans2
30.12.2007, 15:58
Hallo erik,ich suche mir noch mal eben den plan raus,das klingt alles falsch,bis gleich,hans

Hans2
30.12.2007, 16:05
Erik,gib mir doch deine e-mail,dann gehts zügiger.
Gruss Hans.