Forum: Mikrocontroller und Digitale Elektronik 40kHz Rechtecksignal verzögern


von Simon (Gast)


Lesenswert?

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

von Transi (Gast)


Lesenswert?

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

von Bri (Gast)


Lesenswert?

Man könnte das Signal mit einem Tiefpass verzögern. Einfach einen
Widerstand und einen Kondensator nehmen.

von TravelRec. (Gast)


Lesenswert?

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 .

von Bri (Gast)


Lesenswert?

@Transi
Wir hatten die selbe Idee :-)

(Ich glaub der Atmega hat Schmitt-Trigger-Eingänge.)

von Simon (Gast)


Lesenswert?

Schon mal vielen Dank, werde es mal ausprobieren

von Uwe Nagel (Gast)


Lesenswert?

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

von Simon (Gast)


Lesenswert?

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.

von Rahul (Gast)


Lesenswert?

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...

von Arno H. (Gast)


Lesenswert?

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

von amitesh kwatra (Gast)


Lesenswert?

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

von Rahul (Gast)


Lesenswert?

... und Hilfe zu Hausaufgaben findet man hier eher nicht ...
Übrigens kann man in Assembler keine Rechtecksignale erzeugen, sondern
nur dreieckige oder sinusförmige.

von Philipp C. (ba4_philipp)


Lesenswert?

@Rahul naja so ganz stimmt das ja nicht. Er kann ja einfach ne Menge der
Sinussignal überlagern bis es ihm Rechteckig genug ist ;)

von Wiesi (Gast)


Lesenswert?

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

von Philipp C. (ba4_philipp)


Lesenswert?

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

von Rahul (Gast)


Lesenswert?

Und wenn ich richtig gerechnet habe, dann ist das letzte Posting knapp
11 Monate her...(vor dem Übernahmeversuch)

von Dirk (Gast)


Lesenswert?

Hi,

am einfachten und billigsten klappt so etwas mit einem schieberegister

Gruß,
Dirk

von Adrian (Gast)


Lesenswert?

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

von Alex Trusk (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.