Hallo miteinander, ich gebe mit meinme µ-Controller ein 40kHz Rechtecksignal aus und empfange es wieder an einem Eingang. Zwischen Senden un Empfangen möchte ich eine Laufzeit messen (später mit Ultraschallsensoren). Gibt es eine relativ simple Möglichkeit, das Signal zwischen Senden und Empfangen zu verzögern?? Ich dachte da so an µs-Bereich. Vielen Dank, Simon
Rechtecksignal auf ein RC-Glied schalten und hinter dieses einen Schmitt-Trigger. (Vielleicht hat der Controller ja schon Schmitt Trigger Eingänge) f = 40 KHz --> T = 25 µs Bei Impulslänge = Pausenlänge 12,5 µs R = 10 kOhm C = 470 pF dürfte so um die 5 µs Verzögerung geben. R = 1 k C = 470 pF dürfte so um die 0,5 µS Verzögerung geben. Wie groß die Verzögerung tatsächlich ist, hängt stark von den Schaltschwellen des Schmitt-Triggers ab. Da es sich aber um eine Testschaltung handelt, dürfte das schnell ausgelotet sein. Viel Erfolgt Transi
Man könnte das Signal mit einem Tiefpass verzögern. Einfach einen Widerstand und einen Kondensator nehmen.
Ja gibt es. Ein Schieberegister (z.B. CD4015 oder 74HC4015). Das Signal nom Prozessor gibst Du an den seriellen Dateneingang und an einem der Ausgänge kannst Du das Signal wieder abnehmen. Die Taktfrequenz des Schieberegisters muß dann mindestens 80 kHz betragen (Sampling Theorem) und kann nach oben der gewünschen Verzögerungszeit angepaßt werden .
@Transi Wir hatten die selbe Idee :-) (Ich glaub der Atmega hat Schmitt-Trigger-Eingänge.)
Was wollt ihr mit ein paar µs??? In 25µs (eine Periodenlänge) schafft der Schall etwa 8,5mm! Um realistische Bedingungen zu schaffen bräuchte man Millisekunden. Ausserdem empfehle ich gleich an der echten Messstrecke zu experimentieren, bei diesen US-Sensoren gibt es nette Effekte... Uwe
Zum testen mit dem controller würden mir erstmal µs reichen, besser wären natürlich ms, da hast du recht. Unser Versuchsaufbau ist zwecks Aufgabenteilung zur Zeit nicht verfügbar. Hat jemand noch Vorschläge für ms? Ansonsten versuche ich es mit den µs.
Wie wäre es denn mit einem weiteren Controller, der das Signal empfängt und dann verzögert ausgibt. So arbeiten zumindest Echosimulatoren für Sonare...
Zu welchem Zweck sollen die Signale denn verzögert werden. Wenn´s nur im Kleinsignalbereich sein soll, nimm ne PAL-Verzögerungsleitung mit 64 µS. Arno
hey wie erzeugt man ein rechtecksignal im assembler ??? brauche jetzt den quellcode . weitere details zzur aufgabe: Rechtsign. soll an Port pin 3.0 ausgegeben werden, Frequenz mit codierschalter an P0 einstellbar danke
... und Hilfe zu Hausaufgaben findet man hier eher nicht ... Übrigens kann man in Assembler keine Rechtecksignale erzeugen, sondern nur dreieckige oder sinusförmige.
@Rahul naja so ganz stimmt das ja nicht. Er kann ja einfach ne Menge der Sinussignal überlagern bis es ihm Rechteckig genug ist ;)
Für längere Verzögerungen, könnte man auch ein größeres Schieberesgister nehmen. Soweit ich weiß, gibts da einen Trick, bei dem man mit Hilfe eines Zählers und eines SRAMs recht einfach sowas zusammenzimmern kann. Wiesi
Wenn ich mich nicht verrechnet habe (nur so mal überschlagen, also bevor man es aufbaut nochmal drüber nachdenken). Dann sollte doch ein 8bit Register schon eine Verzögerung von 100µs bringen, wenn es mit 80KHz gteaktet ist. Das ist doch schon der angestrebte Bereich oder? Wenn er die Taktfrequenz weiter erhöht kommt er zu noch kürzeren Verzögerungen. Wenn die 100µs reichen sollte es sehr einfach aufzubauen sein. Gruß Philipp
Und wenn ich richtig gerechnet habe, dann ist das letzte Posting knapp 11 Monate her...(vor dem Übernahmeversuch)
Hi, am einfachten und billigsten klappt so etwas mit einem schieberegister Gruß, Dirk
Hallo SIMON Wenn ich Fragen darf: Wie erzeugst du ein rechtecksignal mit dem AVR (mit welchem arbeitetst du) Hast du vieleich noch Quellcode? Wäre für mich sehr hilfreich Danke
for(;;) PORTx ^= 1; frequenz per trimmquarz einstellen. spass muss sein, alex.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.