Frequenz Spannungswandlung
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  PIC Mikrocontroller Allgemein  |  AD-Wandler (Allgemein)  |  Frequenz Spannungswandlung « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Frequenz Spannungswandlung  (Gelesen 5185 mal)
 
puschel
Jr. Member
**
Offline Offline

Beiträge: 55


Profil anzeigen
« am: Juli 24, 2007, 06:45:21 »

Guten Morgen !
Ich habe die Aufgabe bekommen via PIC eine Frequenz ( Rechtecksignal ) zwischen 10 und 30 Herz
in eine Spannung umwandeln, die sich durch Erhöhung der Frequenz ändert also ansteigt.
Ist das prinzipiell mit dem PIC realisierbar Huch
Ich weiß ja nicht genau im welchen zusammenspiel die AD Wandlung dabei eine Rolle spielt.
Da man ja sonst eine Spannung digital im PIC verarbeitet wird.

Danke schonmal im vorraus

MfG  puschel
« Letzte Änderung: Juli 24, 2007, 07:08:58 von puschel » Gespeichert
bemi
Full Member
***
Offline Offline

Beiträge: 193


Profil anzeigen WWW
« Antworten #1 am: Juli 24, 2007, 07:35:24 »

Hi,

es gibt die Möglichkeit mittels Timer die Zeit zwischen steigenden, fallenden Flanken oder beidem zu messen. Siehe Capture Mode im Datenblatt.

Dann mit einem 2. Timer der als PWM arbeitet die Pulsweite in Abhängigkeit von der gemessenen Zeit modulieren (Tastgrad der PWM ändern).

Also bei steigender Frequenz mißt Du sinkende Zeiten im Capture Mode. Da bei den PWMs normalerweise die Highzeit angegeben wird, die ja steigen soll, wenn die gemessenen Zeiten sinken (Frequenz rauf), musst Du so etwas rechnen, wie 100% des PWM (maximal high=maximale Spannung) minus gemessenen Zeit (musst Du vielleicht vorher mal durch 2/4/8/16... teilen).
Am PWM Ausgang noch ein Tiefpassfilter R in Reihe danach C gegen Masse.

Da Deine Frequenz sehr niedrig ist, könnte man vielleicht auch einen Timer nehmen, der so im Millisekundenbereich auslöst, und die ganze Sache (Zeitmessung und PWM) in SW erledigen.

Grüße,
bemi
Gespeichert

Projektseite: Amadeus-USB
puschel
Jr. Member
**
Offline Offline

Beiträge: 55


Profil anzeigen
« Antworten #2 am: Juli 24, 2007, 07:50:45 »

Okay das klingt etwas kompliziert, aber ma sehen was ich da so machen kann.
Vielen Dank an der Stelle schonmal.
Da ich ja eine Rechteckspannung habe die zwischen 10 und 30 Hertz sich beweget:
ist es nicht möglich diese Frequenz an bspw: RB1 zu geben und diese Highsignale des Rechtecksignals hochzuzählen Huch Quasie 10 Hertz = 1 Millisekunde pro Highsignale
dieses in einer gewissen Zeit messen. Ergibt dann z.B. den Wert 100
Der wiederrum steht dann für die Spannung 1 Volt.
Dann das selbe für die anderen.
Also ich messe nur eine gwisse Zeit die Highsignale und starte dann diese Messung von neuem, also auch die hochgezählte Zahl in dem Register.

MfG puschel
Gespeichert
bemi
Full Member
***
Offline Offline

Beiträge: 193


Profil anzeigen WWW
« Antworten #3 am: Juli 24, 2007, 08:22:08 »

Vielliecht noch eine andere Lösung ohne PIC, aber nicht unbedingt einfacher. Frequenz-Spannungsumwandlung wird ja auch bei FM Rundfunk gemacht. Da gibt es eine relativ einfache Lösung mit VCO (Spannungsgesteuerte Oszillator) und PLL (Phasenvergleich) zur Nachregelung der VCO Frequenz, bis diese sich an die Eingangsfrequenz anpasst. Die Nachregelspannung ist dann proportional zur Frequenz=Analogspannung.
Ob das aber mit so niedrigen Frequenzen funktionniert, weiß ich nicht.

Wie komplieziert darf die Lösung werden. Bist Du mit PICs, Interupt on Change, Timern, dem Capturen von Pins und PWM vertraut, oder ist das alles Neuland? Wie gesagt, da die Frequenzen relativ niedrig sind, wäre es auch möglich sich nur auf die Timer zu konzentrieren (vielleicht würde man da besser 100µs für eine Timer Interrupt Routine wählen) um den Rest dann etwas grober in SW zu realisieren.

Zitat
Dann das selbe für die anderen.
Konzentriere sich auf die Flanken. Entweder nur die steigenden, fallenden oder aber beide, wobei Du für die Funktion nicht zu unterscheiden brauchst, welche Du nimmst. Alle sind proportional zur Frequenz.
Zitat
diese Highsignale des Rechtecksignals hochzuzählen Huch
Ob Du nun die Flanken pro Zeit misst, oder ob Du die Zeit zwischen 2 Flanken misst, und diese dann entsprechend umrechnest, ist eigenlich egal.

Grüße,
bemi
Gespeichert

Projektseite: Amadeus-USB
puschel
Jr. Member
**
Offline Offline

Beiträge: 55


Profil anzeigen
« Antworten #4 am: Juli 24, 2007, 08:29:36 »

Ja also wir haben hier eine Abschlussprüfung, die eine Spannung von 1-10 Volt
verändert. Dabei ändert sich wie ich es bräuchte eine Frequenz, allerdings nur ab 100 Hertz und ich müsste ja von 10 bis 30 Hertz. Naja also das wäre für mich Neuland.
Daher denke ich ma nicht sooo einfach zu realisieren.
Aber is denn meine Idee realisierbar??!!??
Also ich würde dann die Highsignale hochzählen.
Bei höheren Frequenzen ist ja die Zeit, die zwischen den Highsignalen liegt niedriger, also ein höherer Wert in dem Register, in dem ich die Highs hochzähle.

MfG puschel
Gespeichert
bemi
Full Member
***
Offline Offline

Beiträge: 193


Profil anzeigen WWW
« Antworten #5 am: Juli 24, 2007, 08:38:55 »

Zitat
Aber is denn meine Idee realisierbar??!!??
Also ich würde dann die Highsignale hochzählen.
Bei höheren Frequenzen ist ja die Zeit, die zwischen den Highsignalen liegt niedriger, also ein höherer Wert in dem Register, in dem ich die Highs hochzähle.
Deine Idee ist realisierbar, aber wenn die Zeit, die "zwichen den Highsignalen liegt niedriger" ist, würdest Du in Deinem Zählregister auch weniger weit hochzählen, also ist der Wert in Deinem Register niedriger.

Falls Du noch ein Beispiel für eine Frequenzmessung suchst. Auf meiner Homepage findest Du unter PIC Projekt eine Steuerung für eine Kellerbelüftung. Da wird auch eine Frequenz gemessen (Feutigkeitssensor, die Frequenz liegt aber im kHz Bereich). Der Quellcode liegt bei und ist, hoffe ich, ausreichend Dokumentiert.

Grüße,
bemi
Gespeichert

Projektseite: Amadeus-USB
cooloola
Jr. Member
**
Offline Offline

Beiträge: 52



Profil anzeigen
« Antworten #6 am: Juli 24, 2007, 09:21:30 »

Hallo,

ich habe die Anforderung auch noch nicht richtig verstanden.

Wird denn ein PIC unbedingt benötigt oder nicht?
Hat der PIC noch andere Aufgaben, außer F/V-Konvertierung?

Zitat
Ergibt dann z.B. den Wert 100
Der wiederrum steht dann für die Spannung 1 Volt.

Soll denn überhaupt eine analoge Ausgangsspannung erzeugt werden, oder zeigt der PIC den Spannungswert auf einer Anzeige an?

Eine weitere Alternative ohne PIC ist die Verwendung von dem Baustein XR4151.
Der kostet ca. 1,50€ bei Farnell oder Bürklin. Hat allerdings den Nachteil einer  aufwendigeren Hardwarebeschaltung.

Gruß

cooloola


* F_V_Converter.jpg (29.35 KB, 600x434 - angeschaut 355 Mal.)

* F_V_Converter_Precision.jpg (30 KB, 600x496 - angeschaut 382 Mal.)
Gespeichert
puschel
Jr. Member
**
Offline Offline

Beiträge: 55


Profil anzeigen
« Antworten #7 am: Juli 24, 2007, 12:01:52 »

Joa also mein Meister sagte nimm doch nen PIC dazu.
Der PIC gibt dann diese Spannung auf eine Balkenanzeige.
Dies ist auch schon alles vorhanden.
Aber da wir ja schon eine Platine gegeben haben, die eine Frequenz von 10 bis 25 Hertz ausgibt. Dabei ändert sich die Spannung zwischen 0 und 10 Volt.
Das Problem ist nun, dass dies für einen Durchflussmengenmesser ist und der auf einem Motorboot gebrauicht wird. Auf dem Boot sind nur +15 Volt vorhanden. Die Platine die wir haben hat aber +-15 Volt.
Sonst funktioniert diese Schaltung einwandfrei.
Und die Sache mit dem PIC war nur ne Idee meines Meisters und dann meine Idee wie man das realisieren könnte.

MfG puschel
« Letzte Änderung: Juli 24, 2007, 12:06:47 von puschel » Gespeichert
cooloola
Jr. Member
**
Offline Offline

Beiträge: 52



Profil anzeigen
« Antworten #8 am: Juli 24, 2007, 15:14:00 »

Hallo,

also fehlt eigentlich nur eine -15V Spannungsquelle?

Die negative Spannung wird meistens für OPs genutzt.
Kannst Du den Strom der -15V messen?

Wenn er nur wenige mA beträgt, dann würde sich vielleicht ein DC DC Wandler anbieten.

Da gibt es z.B. den DC/DC-Wandler, SIL 7, 2 W, in 15 V/out +/- 15 V von Reichelt.
Der liefert immerhin 66 mA pro Ausgang.
Die +15V kämen dann direkt vom Boot und die -15V vom Wandler.

Bei einer Lösung mit PIC sind die Infos von Bemi natürlich super.

Gruß

cooloola
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.039 Sekunden mit 18 Zugriffen.
 
Top! Top!