Ich wollte einen Frequenz-Spanungswandler bauen... nun habe ich mal gelesen, das soll mit einem Schmitt-Trigger, einer Monostabieler Kippstufe und einem Tiefpass gehen! na gut, aus dem Trigger kommt eine Rechteckspannung raus.. wozu die Monostable da ist, weiss ich nicht.. auf jeden Fall kommt daraus auch eine Rechteckspannung raus... ABER man kann doch nicht mit einer R-C Kombination (Tiefpass) aus einer Recheckspannung eine Gleichspannung machen, so, dass die Spannung mit der Frequenz steigt... so, dass ich die Spannung an der ADC-POrt vom AVR anhängen kann! Kann mir das jemand erklähren???? Danke! Gruss Alex
Du baust auf diese Weise eine art PWM-Schaltung, das heißt, das Tastverhältnis ändert sich mit der Eingangsfrequenz. Mit dem Tiefpass glättest du das PWM-Singal, das sich je nach Tastverhältnis auf einer entsprechenden Spannung hält. Wenn das Ganze hinten mit einem OP entkoppelt wird (Impedanzwandler) kommt eine ordentlich reproduzierbare Analogspannung 'raus.
Ohne dein Problem zu verstehen: Wieso willst du eine Frquenz (quasidigitales Signal) in ein analoges Signal wandeln, um es dann wieder zu digitalisieren? Übrigens (Problembezug): Dein Monoflop wird durch durch die Frequenz dauernd getriggert. Je höher die Frequenz ist, umso häufiger wird das Monoflop (nach-)getriggert. Dadurch wird der Kondesator über den Widerstand aufgeladen. Die Ladung ist davon abhängig, wie häufig das Monoflop nachgetriggert wird.
Hallo, der Monoflop sollte garnicht nachgetriggert werden. Die Haltezeit muß kleiner als der kleinste Abstand zweier Eingangsimpulse sein (max. Frequenz). Die Ausgangsimpule werden im RC-Glied integriert und liefern eine Ausgangsspannung, die von der Eingangsfrequenz abhängt. Maximalfrequenz ist genaugenommen, wenn das Monoflop nach dem zurückkippen sofort wieder getriggert wird, Minimum ist theoretisch 0, es wird garnicht getriggert. Gruß aus Berlin Michael
Nur zum Frequenzmessen ist das wirklich sehr umständlich. Es gibt den LM2907/2917 speziell zur Frequenz-Spannungswandlung, den hat auch Reichelt: http://www.national.com/pf/LM/LM2907.html im Prinzip dasselbe Verfahren, Schmitt-Trigger-Eingang und Monoflop oder so ähnlich.
> Ohne dein Problem zu verstehen: Wieso willst du eine Frquenz (quasidigitales Signal) in ein analoges Signal wandeln, um es dann wieder zu digitalisieren? ich will immernoch einen Drehzahlmesser bauen! Da ich aber nur weiss wie ich mit dem ADC port umgehen kann, will ich so machen! Oder hat hier jemand geduld mir zu reklären, wie ich die Frequenz mit dem AVR bestimmen/ verarbeiten kann??? Habe aber immer noch nicht verstanden, wie man mit dem Tifpass aus der Rechteckspng. eine Gleichpannung machen kann. ich habe da ja einen Frequenzgenerator.. ich stalle da Rechteckspng. ein.. einen Tiefpass dahinter... Frequenz hochdrehen.. am Oszilloskop sehe ich die Frequenzänderung, aber auf keinen Fall spannungsunterschiede... und das ganze sieht immernoch wie ein Rechteck aus... Völlig unverständlich!
Hallo, naja, 1. hat Dein Tiefpass dann einfach eine viel zu hohe Grenzfrequenz, wenn da immernoch ein Rechteck rauskommt. 2. wird es selbst dann keine Spannungsänderung ergeben, weil Du ein Rechteck mit Tastverhältnis 1:1 benutzt, da ist auch der integrierte Wert einfach 0 oder wenn das Signal GND-bezogen ist, Uspitze/2, das bleibt konstant, unabhängig von der Frequenz. Der Trick ist ja, das ein schmaler Impuls mit von der Frequenz abhängigem Abstand integriert wird. Das gibt bei wenigen Impulsen/s kleine Spannung, bei vielen Impulsen/s viel Spannung. Der Monoflop ist also das entscheidene nächste Bauteil. Der Schmitt-Trigger davor sorgt nur dafür, daß das Eingangssignal für den Monoflop ausreichend steile Flanken hat, wenn es z.B. ein Sinus ist. Das hat schon vor 30 Jahren so funktioniert und das geht mit Sicherheit auch heute noch. :) Gruß aus Berlin Michael
alex: hör' den anderen nicht zu; das ist tatsächlich eine verarschung und die verarschen dich noch mehr! da gibt's sogar a..löcher, die behaupten, rc könnte doch rechteckspannung glätten; was für eine zumutung. alex, sei tapfer, verarsch du' sie auch!
Wie Rahul und Alex schon gesagt haben, wozu die Frequenz erst in ein analoges Signal wandeln ? Du brauchst mehr Hardware und baust zusätzliche Fehler mit ein (Temp-Stabilität Monoflop, Kondensator-Selbstentladung...). Der ADC ist auch nicht so schnell wie eine direkte Freqenzmessung. Gruss Digger
Wenn man die Rechteckschwingung mit Fourieranalyse in ihre harmonischen Sinusschwingungen zerlegt, gibt es auch einen Gleichspannungsanteil, man könnte ihn auch als nullte Harmonische der Frequenz Null, also noch unterhalb der Grundfrequenz betrachten. Nur Rechtecke symmetrisch zur Nullinie haben keinen DC-Anteil. Genau deser DC-Anteil wird mit dem Tiefpass durchgelassen, bereits die Grundschwingung muß unterdrückt sein.
Bin jetzt soweit, dass ich nach dem Tiefpass tatsächlich die Gleichspannung habe! Aber die spannung ändert sich kein bischen mit der frequenz! Ist das richtig so? wenn nicht, wo könnte der Fehler liegen?
Frequenzmessung. Was ist die Einheit der Frequenz? -> Antwort: Herz (Hz) oder Pulse pro Sekunde. Ansatz: Die Pulse Zählen die pro Zeiteinheit anfallen und auf 1/Sekunde umrechnen. => Signal evtl mit einem Schmitt-Trigger aufbereiten und den externen Eingang eines Zählers legen. Jetzt zB jede Sekunde nachsehen wieviele Pulse seit den letzten Mal dazugekommen sind. Bei einer Sekunde Messzeit hast du direkt die Frequenz in Hz. Man muss nur den Zählerüberlauf berücksichtigen.
> ich will immernoch einen Drehzahlmesser bauen! > Da ich aber nur weiss wie ich mit dem ADC port umgehen kann, will ich > so machen! In einem anderen Thread wurde dir schon gesagt, dass dieser Ansatz ziemlicher Mist ist. Ich hab dir auch den Tip gegeben, wie man das richtig macht: Dein AVR hat einen Zähl-Eingang. Wenn man einen Timer (gibs zu, du hast noch nicht mal im BASCOM Handbuch nachgesehen, was man mit einem Timer so alles anstellen kann) richtig konfigueriert, dann zählt er die an diesem Eingang anliegenden Puls sauber mit. Soweit so gut. Was du noch brauchst ist eine Zeitbasis. Nehmen wir mal 1 Sekunde. Du brauchst alsu einen 2. Timer der genau nach 1 Sekunde auslöst. Nach dieser 1 Sekunde liest du also vom ersten Timer/Counter den Zählwert aus und hast damit deine Frequenz. Den dann in eine Drehzahl umzurechnen sollte ja wohl nicht das grosse Problem sein. Also ran an die Puletten und das Ganze richtig gemacht. Drücken gilt nicht, denn um Timer kommst du sowieso nicht herum. Die sind wohl so ziemlich das Universellste was dein AVR zu bieten hat. Unglaublich was man mit den Dingern alles machen kann. 1. Zwischenziel Einen Timer so konfigurieren, dass du nach genau 1 Sekunde einen Programmteil ausführen kannst. In diesem Programmteil zählst du eine Variable um 1 hoch und gibst sie aus. Du hast dann quasi eine Uhr die Sekundenweise tickt und Sekunden hochzählt 2. Zwischenziel: Den Zähl Eingang scharf machen und den 2. Timer konfigurieren, so dass er die Impulse am Eingang zählt. Einfach mal den Timerwert ausgeben lassen, zb. mit dem Programmteil vom Zwischenziel 1. Am Display hast du dann quasi alle Sekunden einen Update wieviele Pulse am Zähleingang aufgelaufen sind 3. Zwischenziel: Nach Ablauf 1 Sekunde, den Zähler am Zähleingang auf 0 setzen. Die Anzeige bleibt weiterhin so wie sie ist. D.h. Die Anzeige zeigt jetzt die Frequenz des Eingangssignals an. Frequenz ist ja: Pulse pro Sekunde. Und genau das hast du gemessen: Wieviele Pulse in 1 Sekunde hereinkommen. 4. Zwischenschritt Die Frequenz umrechnen in eine Drehzahl 5. Zwischenschritt Es gibt keinen 5. Zwischenschritt mehr Nur weil das einzige Problem das du lösen kannst ein Nagel ist, heist das noch lange nicht, dass dein einziges Werkzeug ein Hammer ist. Timer sind wichtig. Also warum nicht jetzt und mit diesem Beispiel lernen wie man mit ihnen umgeht?
Er wollte ja keinen Hammer nehmen, sondern einen Hebel mit dem kurzen Hebelarm an Nagelkopf. Jetzt kann man den Nagel durch ziehen am langen Hebelarm in die Wand drücken. Der Timer ist aber ein "Hammer" und für diese Aufgabe besser geeignet ;-)
Ich brauche dann bisschen hilfe für den Anfang... Gibt es einen Link. wo es VON ANFANG AN beschrieben, wie man mit dem Timer umgehen soll.. und das alles in Bascom? Habe mal gesucht, aber das meiste ist in C. Die Anderen Sachen sind ohne Quellcode. ich brauche die grundbefehle
> Ich brauche dann bisschen hilfe für den Anfang... > Gibt es einen Link. wo es VON ANFANG AN beschrieben, wie man mit dem > Timer umgehen soll.. Ach komm. Ein bischen Eigeninitiative könntest du schon zeigen. Du kennst Google? http://www.google.com Suchstring: Timer BASCOM
Im Datenblatt deines Controllers ist das mit den Timern haarklein beschrieben. Solltest allerdings des englischen mächtig sein, sonst gibt's immer wieder Probleme beim Programmieren!
> Solltest allerdings des englischen mächtig sein
Was ist, wenn das nicht ganz der Fall ist?
Ich will nicht gemein sein...
Kann mir man jemand ein Beispiel posten?
So ist es viel einfacher das ganze nachvollziehen.
Alex wrote: >> Solltest allerdings des englischen mächtig sein > > Was ist, wenn das nicht ganz der Fall ist? > Ich will nicht gemein sein... Ich auch nicht. Aber die Antwort lautet: Lernen. Haben wir anderen Nichtmuttersprachler auch gemacht. Sonst bist Du immer auf "vorverdautes" (sprich: Übersetzungen) angewiesen. Die sind a) rar und b) durchaus nicht frei von Übersetzungsfehlern.
Alex wrote: >> Solltest allerdings des englischen mächtig sein > > Was ist, wenn das nicht ganz der Fall ist? dann solltest du dir ein anderes hobby suchen.
Hallo Alex, irgentwo weiter oben steht du bist 13. Da musst du so ungefähr in der 8. Klasse in der Schule sein (vielleicht auch erst 7. Klasse). Wenn du in Englisch in der Schule nicht ganz schlecht bist, kannst du genug englisch um Datenblätter mit Hilfe eines Wörterbuches lesen zu können. Die Grammatik müsstest du alles schon in der Schule gelernt haben. Lass dich nicht von den vielen neuen Wörtern abschrecken. http://dict.leo.org/ ist dann Dein Freund und auch noch kostenlos. Gruß
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.