Ja, ist TOV0. Hab mich verguckt. Bin mir nicht sicher, ob das hilft. Schaden kann es nicht.
Gruß
Searcher
Ja, ist TOV0. Hab mich verguckt. Bin mir nicht sicher, ob das hilft. Schaden kann es nicht.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hab noch mal eine Frage: Wie soll das Programm funktionieren?
1. Go kommt
2. mit 40kHz werden 16 Impulse erzeugt
3. in der INT0 ISR soll die Zeit vom Begin der 40kHz bis Auslösen des INT0 über UART mit Print ausgegeben werden.
Print braucht so seine Zeit. Der INT0 ist die ganze Zeit aktiv. Deshalb die 16 Zahlen über UART?
Vielleicht die gestoppte Zeit in Array speichern und nicht in der ISR ausgeben sondern im Hauptprogramm?
EDIT Wenn ich richtig sehe, ist INT0 auf PD2. Der ist nirgends konfiguriert. Kann es sein, das der floatet und von dem danebenliegenden Ausgabepin PD3 mitgezogen wird? Internen Pullup einschalten?
Gruß
Searcher
Geändert von Searcher (20.08.2011 um 21:45 Uhr)
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hallo Searcher,
du hast recht, der interrupt pin hat gefloatet, dauerhaft, am anfang. Dann habe ich einen Externen pulldown von 10k gegen masse angehängt und er hat Ruhe gegeben, nur dass er eben immer 16 zahlen zu viel sendet. Meine Theorie: am ausgang werden 17 impulse des US - bursts ausgegeben, diese kommen über einen Fehler auf der Platine an den Interruptpin, das würde auch von der zeit etwa zusammenstimmen. Wenn der letzte impuls kommt, wird der timer wieder resettet, da aber kein interrupt mehr kommt, läuft er weiter, bis das nächste mal go geschrieben wird, dann ist die zahl natürlich riesig.
Ich habe die Platine aber schon mitdestens fünf mal durchgeprüft und keine Fehler gefunden, leider will mein oszi nicht, und so stehe ich jetzt einmal an. Ich hatte an einen Fehler im Flipflop gedacht, sodass am ausgang immer das ausgegeben wird, was am eingang anliegt, aber ich kann beim besten willen nichts finden. Das verrückte ist ja, dass es nichts mit Ultraschall zu tun hat, mein seltsames ergebnis. Ich habe den sendewandler ausgelötet und : genau das gleiche.
Sonst: du hast das prinzip meines programmes völlig richtig erfasst, in deinm beitrag eins weiter oben.
Ich befürchte, die einzige möglichkeit, hier noch etwas zu machen, ist das oszi in gang zu bekommen und einmal zu schauen, was sich in der Schaltung wirklich abspielt, nachdem go gesendet wurde. Ich werde schreiben, wenn ich neue Erkenntnisse gemacht habe.
Mfg Thegon
Hallo,
wenigstens schon etwas gefunden.
Mich interessiert die Schaltung auch. Hast Du die aus dem Wiki http://www.rn-wissen.de/index.php/Ultraschall-Interface 1:1 nachgebaut?
In Deinem Programm stört mich noch das Print in der ISR. Ablaufzeit in einer ISR sollte ja so kurz wie möglich sein. Wenn nur der erste Wert intressiert, wäre es egal...?
Ich habe vor so ein Meßprogramm zu schreiben. Dazu nehme ich mangels Bauteilen einen Atiny25 als Simulator, der mir entsprechende Anschlüsse und Signale des US-Interfaces zur Verfügung stellt. Ich denke zunächst mal an ein Eintreffen des Echos nach 3ms, daß einer Entfernung von ca 50cm entspricht. (Schallgeschwindigkeit 343m/s - 1s/343m = 0,0029s/m - Hin und zurück - Distanz 50cm)?
Gemessen wird dann mit einem Attiny45.
Mal sehen, ob es am Programm oder Platine liegt und ob ich überhaupt was hinkrieg.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Ja, die habe ich fast 1:1 nachgebaut, nur der schwingkreis hat eine andere Spule, da ich die passende mit 4,7mH nicht habe, aber ich habe den Kondensator angepasst und somit hat er eine Resonanzfreq. von 40,1 kHz.
Bin schon gespannt, was bei dir rauskommt
Mfg Thegon
Ich habe das Oszi in gang gebracht, jetzt muss ich von traurigen Erkenntnissen berichten: ;-(
als erstes hat einmal die Freqenz des Bursts nicht gestimmt, war mit etwa 30 kHz zu klein, die habe ich aber gleich ausgebessert.
dann habe ich am ausgang (pulse out) gemessen, es kommt gar nichts raus
Ich habe am transistor des Teiles "Amplifier" gemessen, (Kollektor): nichts was größer ist als 10 mV, das könnte gut auch rauschen sein.
Ich habe am transistor des Teiles "Swich & Comperator" gemessen (auch Kollektor): (Jetzt kommts...) Normaler weise 5V, dan sinkt der pegel im 40 kHz Takt ab und schießt rechteckartig wieder hoch, also so etwas wie eine verkehrte (nach unten gedrehte) Sätezahnspannung.
Dann habe ich den Emfangswander abgeschlossen: das gleiche Resultat. ;-( Es hat also nichts mit dem Ultraschall zu tun...
Ich habe dann den Gatterbaustein 4011 verdächtigt, den aber später durchgemessen und ausprobiert, der funktioniert jedoch wunderbar.
Die sendekapsel bekommt, was sie bekommen soll: eine Rechteckspannung mit einer Amplitude von 5 V gegen masse gemessen, es wären dann 10 V, wenn ich zwischen den beiden Pins des Wandlers messen würde, denke ich.
Jetzt weiß ich beim besten Willen nicht mehr, was falsch sein könnte. Hätte jemand eine Idee?
Falls noch irgenteine messung oder andere angaben benötigt werden, ich versuche, so schnell als möglich zu antworten.
Danke für die Antworten, die mir schon gegeben wurden und schon im voraus für die, die noch kommen
Mfg Thegon
In dem Schaltplan fehlt der Kondensator an der Versorgungsspannung dadurch ist es möglich das Störungen über die Versorgungsspannung von der Sendeseite zur Empfangsseite kommen.
Der Eingangsteil kann auch Störungen einfach kapazitiv einfangen. Da sollte man ggf. etwas Abschirmung haben und ggf. den Test ohne Eingangssignal mit einem Kurzschluss über den Empfänger machen. Wenn man einfach die Empfangskapsel abklemmt, steigt die Empfindlichkeit gegen Störungen deutlich an.
Lesezeichen