Forum: Mikrocontroller und Digitale Elektronik Varriable Frequenzteilung mit µC


von Flo (Gast)


Lesenswert?

Hallo!

Ich habe schon etwas länger über eine Lösung meines Problems gebrütet 
und würde nun letztendlich vielleicht noch gerne ein paar Fremdmeinungen 
dazu hören.

Und Zwar geht es um Ein Rechtecksignal: Tastverhältnis 1:1, Spannung 0 
und 5V, Frequenz ändert sich (aber verhältnismäßig sehr langsam zur 
Periodendauer) von 1Hz bis 2kHz.
Nun möchte ich dieses Signal teilen im Verhältnis von z.B. 1,1:1 d.h. 
10% langsamer.

Es kam mir in den Sinn zuerst eine f->u dann Spannung anpassen und dann 
u->f, aber dies funktionierte leider nicht genau genug.

Heute hab ich mir gedacht, warum ich es nicht einfach mit einem µC 
versuche, z.B. (Atmel At2051 mit Taktfrequenz 12MHz, sollte ja reichen)

Soweit sogut, nun meine Gedanken dazu, wie ichs machen würde:

* Ich messe mir die Periodendauer des Eingangssignals über die 
steigende/fallende Flanke (ext. int.)
* Ich rechne den Wert auf die Ausgangsperiodendauer um (also 
tp[a]=tp[e]*1,1)
* Dann toggle ich einen Portpin in der entsprechenden Frequenz
* Falls sich nun die Eingangsperiodendauer ändert, dann ändere ich auch 
den Wert des Ausgangssignals (natürlich dem Teilerverhältnis 
entsprechend)


Die Tatsache, dass der Teiler nun eine Periodendauer braucht bis er am 
Ausgang auf eine Änderung reagiert, ist vernachlässigbar.

Wenn sich Jemand noch mehr den Kopf darüber zerbrechen will:
Es wäre einfach toll, wenn ich das Teilverhältnis von 1,2:1 bis fast 1:1 
einfach extern (d.h. ohne Neuprogrammierung) ändern kann. Möglichst 
feinfühlig. Hab da leider keinen Plan wie.

Ich hoffe, dass es klar verständlich ist, was ich erreichen möchte.
Wenn ich mich total auf dem falschen Weg befinde, dann macht mir bitte 
andere bzw. alternative Lösungsvorschläge. Ich bin für alles offen.

Danke schonmal im Vorraus

mfg Flo

von Günter R. (galileo14)


Lesenswert?

Du brauchst eine PLL-Schaltung; diese kann eine Frequenz 
"hochtransformieren", z.B. um den Faktor 10, dann kannst Du sie um den 
Faktor 11 teilen mit einer CMOS-Schaltung, dann hast Du Deine 
1,1:1-Teilung. Jedes andere Verhältnis entsprechend, z.B. 1:1,1 --> um 
11 hochsetzen, dann um 10 teilen.

Schau' Dir den CD4046 an.

Günter

von Peter D. (peda)


Lesenswert?

Flo wrote:

> Es wäre einfach toll, wenn ich das Teilverhältnis von 1,2:1 bis fast 1:1
> einfach extern (d.h. ohne Neuprogrammierung) ändern kann. Möglichst
> feinfühlig. Hab da leider keinen Plan wie.

Der AT89C2051 hat 15 IOs, für das Messen und Ausgeben gehen 2 weg.
Dann hast Du noch 13, wo Du DIP-Schalter ransetzen kannst zum 
Einstellen.

Dein Weg ist sonst ganz o.k., ich würds auch nicht anders machen.

PLL war gestern bzw. nur noch für schnelle Sachen.


Peter

von 6640 (Gast)


Lesenswert?

Mit einem Potentiometer dien Teiler einstellen ?

von 6640 (Gast)


Lesenswert?

Mit einem Potentiometer den Teiler einstellen ?

von Flo (Gast)


Lesenswert?

@peda: Danke für den Tipp, aber das hab ich mir eh schon gedacht, 
befürchte jedoch, das die bauform dann um ein stück zu groß wird, da ich 
nicht gerade viel platz hab.

Vielleicht werde ich es mit einem Dehimpulsgeber versuchen, welcher an 
einer anderen Stelle angebracht wird und dann nur verbunden werden muss.
Aber egal wie ichs mach, ich werde mir wahrscheinlich den aktuell 
eingestellten Wert noch binär über kleine leds anzeigen lassen. Bis ich 
keine pins mehr hab! gg

Programm ist schon fast fertig und funktioniert bis auf einen kleinen 
bug.

Und noch einen Dank @ all!

mfg Flo

von Flo (Gast)


Angehängte Dateien:

Lesenswert?

Also...
Wen es noch interessiert, der kann sich den Programmcode im Anhang 
ansehen.
Ich glaub so müsste es gehen, denn die Simulation hatte das ergeben, was 
ich wollte.
Vorrerst noch ohne externe Werteingabe.
Jetzt muss ich nur mehr praktisch austesten!

mfg Flo

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.