| Autor |
|
Digital-Frequenzwandler.. |
|
|
|
|
BID = 173626
Stiwi Neu hier

Beiträge: 23
|
|
ich möchte einen digitalen Zählerstand (74HC4060) in einer Frequenz ausgeben. die Frequenz soll sich proportional zum zum zählerstand verhalten.
meine idee wäre entweder einen PIC programmieren (da könnt ich die zählfunktion gleich miteinbeziehen), oder ich wandle das digitale signal mit einem D/A-Wandler und das analoge Signal mit einem U/F-Wandler in eine Frequenz.
Habt ihr sonst noch lösungsvorschläge, und gibt es einen baustein oben genannte funktion hat?
gruss
|
|
BID = 173631
Her Masters Voice Inventar
     
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5312 Wohnort: irgendwo südlich von Berlin
|
|
Mit nem PIC ist das doch erstmal kaum ein Problem. Zählerstand einlesen und einen Pin als Ausgabepin definieren. Letztern schaltest du immer an und aus und wartest im einfachsten Fall so viele Taktzyklen wie es dem Zählerstand entspricht zwischen den Zustandsänderungen. |
|
BID = 173635
Stiwi Neu hier

Beiträge: 23
|
also mit nem pic hätt ich es folgendermassen gelöst..
ich würde den PIC16F818 benützen, auch wenn der mehr ausgänge und funktionen halt als ich brauche..
wenn ich ein signal an einem bestimmten eingang habe, starte ich einen 8-bit-zähler, der in diesem pic vorhanden ist. die 255 zyklen verteile ich auf 2 sekunden, sodass ich eine frequenz von 127.5 Hz erhalte.
Sobald nun ein signal anliegt, starte ich diesen zähler.
wenn an einem anderen pin ein signal anliegt stoppe ich diesen wieder.
den wert des timers speichere ich dann in einer variable.
aus dem wert berechne ich eine bestimmte frequenz und gebe diese dann aus.
Ich weiss nicht ob das so einfach ist..
Analog ist mir das ganze doch einiges sympatischer..
|
BID = 173657
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
Du hast uns ja noch gar nicht geschrieben in welchem Frequenzbereich das Ausgangssignal liegen soll, wie genau die Umsetzung sein muß, und ob das ein Rechteck oder eine andere Kurvenform ergeben soll.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 173658
Stiwi Neu hier

Beiträge: 23
|
ich möchte mit der berechneten frequenz ein schieberegister ansteuern. also wäre ein rechteck signal das was ich brauche..
das frequenzband soll von 0.1Hz bis 10Hz gehen, das spielt meiner Meinung nach aber nicht eine allzu grosse rolle..
|
BID = 174923
pmtsensors Gelegenheitsposter
 
Beiträge: 56 Wohnort: Wiedergeltingen
|
Hi,
günstige U/F Wandler gibts von Raytheon: RC 4151 und RC 4152, DA-Wandlung kann mit einer digitalen Widerstandsleiter (1,2,4,8..Code)recht einfach gemacht werden, wenns nicht so auf Genauigkeit ankommt, Ausgang muss vor dem U/F Wandler aber noch mit einem Spannungsfolger (OP mit Verstärkung 1 ) noch entkoppelt werden.
Gruß
pmtsensors
|
BID = 175078
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| | das frequenzband soll von 0.1Hz bis 10Hz gehen, das spielt meiner Meinung nach aber nicht eine allzu grosse rolle.. |
Dann bietet es sich doch an, das alles mit dem PIC zu machen und das Schieberegister gleich mit.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 175665
Stiwi Neu hier

Beiträge: 23
|
hab mich entschieden das mit dem pic zu machen.. funzt bis jetzt auch relativ gut.
hätte jetzt aber doch noch zwei probleme..
1) Ich programmiere mit MPLAB und dem compiler CC55FxFree oder ähnlich..
nun, im programm speichere ich den wert des Timers in einer variable, mit welcher ich rechnen will. mein problem ist jetzt, dass ich mit integer arbeite und somit nur ganzzahlig "unterwegs" bin. Float sollte nach dem datenblatt des compilers auch funktionieren, aber ich kriege immer fehlermeldungen.
( DATENBLATT COMPILE -->http://www.bknd.com/doc/cc5x-32.pdf)
2) ich steure mit dem pic ein 50 bit schieberegister an, das sich aus mehreren 8 bit registern zusammen setzt.
wenn ich resette habe ich an allen ausgängen ein LOW signal.
da ich die LED nach Vcc betreibe, leuchten alle. ich will aber, dass die LED's nicht leuchten!
50 inverter hintendran zu hängen ist ein bischen umständlich, und die LED's nach GND zu betreiben ist ja nicht so die schöne Art.
THX!!!
[ Diese Nachricht wurde geändert von: Stiwi am 18 Mär 2005 8:25 ]
|
BID = 175785
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| | Float sollte nach dem datenblatt des compilers auch funktionieren, aber ich kriege immer fehlermeldungen. |
Das galube ich gerne. Ein paar FP-Operationen und im Speicher des PIC ist kein Platz mehr.
Es geht aber auch problemlos mit Integer.
Je nach benötigtem Zeitbereich definierst du dir ein 8, 16 oder 24-bit Register, auf das du per Hardwaretimer alle paar Millisekunden ein Increment addierst. Dieses Increment ist ein Vielfaches deines angelegten Digitalwortes.
Den Überlauf des Registers benutzt du als Takt für das Schieberegister.
Zitat :
| wenn ich resette habe ich an allen ausgängen ein LOW signal.
da ich die LED nach Vcc betreibe, leuchten alle. ich will aber, dass die LED's nicht leuchten! |
Das ist ja nun eine der leichtesten Übungen.
Erstens brauchst die Reset-Leitung des SR nicht zu betätigen, und zweitens kann die Initialisierungsroutine des PIC dir in ein paar µs mal eben 50 oder noch mehr Einsen reintakten.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 176771
Stiwi Neu hier

Beiträge: 23
|
das problem ist nicht die realisierung des taktes..
mein problem ist, dass ich genauer rechnen möchte. und mit integer habe ich nur ganze zahlen. doch wenn ich angenommen 12/13 rechne erhalte ich 0 und wenn ich 12/15 rechne erhalte ich ebenfalls null.. und so habe ich nur zehnerschritte.. um bei den divisionen die ich tätige nich null zu erhalten, muss ich jetzt schon variabeln mit 1000 multiplizieren..
wer weiss rat?? 
|
BID = 176786
Stiwi Neu hier

Beiträge: 23
|
hehe..hab gerade rausgefunden wieso float nicht funktioniert hat..
aber hat hier schon jemand mit MPLAP gearbeitet?
ich habe probleme mit der watch funktion..
|
BID = 176788
2SJ200 Schreibmaschine
     Beiträge: 1942 Wohnort: Österreich
|
willst du nur ein rechtecksignal erzeugen?
dann dek ich g8ibts da völlig µC freie einfache lösungen...
J/K FF -> bei jedem CLK wechselt der ausgang
weiterer Zähler mit Fixem Takt desen Zählerstand mit dem des ersten verglichen wird, erreicht er den selben wird er 1) geresetet und 2) bekommt das J/K den Impuls... damit erreichst du über den Zählerstand des ersten Zählers eine einstellbare (halbe) Periodendauer...
völlig ohne µC und programmieren, 2 Zähler, ein Komparator, Takt und des J/K FF, am Ausgang des J/K hast dan eben deine variable frequenz (rechteck) mit 50% tastverhältnis
|
BID = 179945
Stiwi Neu hier

Beiträge: 23
|
morgen!!
also das mit dem clock und so hat eigentlich alles bestens funktioniert..ich habe aber noch ein paar programmierprobleme..
aber ich hätte noch eine frage : gibt es ein 64-Bit Schieberegister (Also 64Ausgänge)? Am besten wäre in HC-Version.
Danke schon im Voraus!
|
BID = 179985
Stiwi Neu hier

Beiträge: 23
|
ich glaube ich vergesse die 64 Bit version und nehme einfach 8 schieberegister.
die LED's die ich verwende brauchen 20mA. somit muss mein schieberegister bei Voh(output high) auch 20mA liefern..
ich bin mir aber nicht sicher, ob das dieser Baustein den ich herausgesucht habe kann..
wär nett, wenn jemand sagen könnte ob das funktioniert.
--> die LED's müssen nach unten betrieben werden..
link zu datenblatt : http://chdist35.distrelec.com/distrelec/dabldich.nsf/0/39546D4C2184A220C125691A003EFA75/$FILE/647716.pdf
THX
[ Diese Nachricht wurde geändert von: Stiwi am 29 Mär 2005 12:12 ]
|
BID = 179999
Stiwi Neu hier

Beiträge: 23
|
hab hier noch ein schieberegister gefunden, dass vielleicht besser passen könnte.. Url]http://www.farnell.com/datasheets/9838.pdf[[/Url]
obwohl da auch steht bei Voh lifert es nur 4mA..(Seite 3)
und am anfang steht da 25mA per PIN..
wer weiss mir da zu helfen??
|