Zu Testzwecken benötige ich ein Quadraturencodersignal (also das mit den 2 um 90° verschobenen Rechtecksignalen) von 1 bis 10kHz. Bislang habe ich das recht aufwändig mit einem AVR und Timeroverflow bei 1/4 der Gesamtfrequenz gelöst, die Lösung lastet aber je nach Geschwindigkeit den AVR voll aus und die Auflösung ist auch nicht ganz das was ich mir wünschen würde... Gibt es eigene ICs die sowas erzeugen?
Hallo mit den beiden Flip-Flops machts du schon mal aus dem 4-fachen Takt ein 0 Grad und ein 90 Grad signal. Die Clock must du dann nur noch geeignet Takten Gruss Helmi
Ich habe da auch mal ein etwas aufwendigere Schaltung gebaut um einen Sin-Cos Geber zu simulieren. Ich habe das mit 2 AD9850 DDS Generatoren geloest. Man konnte dort die Frequenz und den Phasenwinkel einstellen. Frequenz in mHz Schritten. Aber wie gesagt das ist die Nobelversion. Gruss Helmi
Gast
#815593
Wie wäre es den AVR Timer im PWM Modus zu betreiben? 16-bit Timer (z.B. PFC-PWM). Die beiden CMP-Match auf die Pins. Das sollte doch gehen. Die Frage ist, wie die Ausgabe aktualisiert werden soll....
PWM geht leider nicht da man damit nur 0° oder 180° Phasenverschobene Signale erzeugen kann. An eine Lösung mit DDS habe ich auch mal gedacht, aber das erschien mir dann doch übertrieben da ich ja nur Rechtecksignale brauche. Ich werds mal mit einfachem PWM + der Flipflopschaltung versuchen...
Gast
#815656
Achso, ja richtig. Man kann ja den Nullpunkt nicht (BOTTOM) nicht verschieben. Aber mit 2 Timern im PWN Modus, die über den gleichen Prescaler gehen und synchron laufen? Dann sollte ein RS-Flipflop helfen. Mit CMP-A setzen und mit CMP-B löschen.... Dann sollte eine fast IRQ-freie Implementierung gehen.
Gast
#816066
Andere AVR-Lösung (nicht getestet, deswegen keine Garantie): Ein Timer/Counter im Non-PWM-Mode, zwei Compare-Matches auf diesem Timer als Toggle-on-Match konfiguriert. Die Compare-Werte werden so festgelegt, dass sie die Hälfte des Zählermaximums auseinanderliegen. Ab da läuft alles ohne weiteren Softwareeingriff, auch mit Frequenzen deutlich über 10 kHz.
Kann man denn 2 Compare-Matches auf einen Timer machen? War mir nicht bekannt, wäre aber natürlich ideal... Wegen der Auflösung benötige ich auch einen 16Bit Timer und davon 2 erübrigen fällt schwer (hab nur einen)
Gast
#816149
Hi Also in der Zeit, die ihr hier braucht um das auszudiskutieren, hätte man das ganze mit einem Taktgenerator, einem 4017 und 4 Dioden mindestens 20x aufbauen können. MfG Spess
Gast
#816309
Ihhh, löten... Auf nem ordentlichem DSP ist das höchstens ein Zehnzeiler in Assembler.
Gast
#816340
Hi Man kann natürlich auch mit Kanonen nach Spatzen schießen. Auch wenn es manche hier nicht wahrhaben wollen: es gibt noch Elektronik jenseits von AVR, ARM, DSP.... MfG Spess
Gast
#816626
@Lukas Slz: > Kann man denn 2 Compare-Matches auf einen Timer machen? War mir > nicht bekannt, wäre aber natürlich ideal... Jeder AVR mit mehr als 8 Beinchen hat einen 16-Bit-Timer mit zwei Output-Compares (OC1A und OC1B). @spess53: > Man kann natürlich auch mit Kanonen nach Spatzen schießen. Auch wenn > es manche hier nicht wahrhaben wollen: es gibt noch Elektronik > jenseits von AVR, ARM, DSP.... Auch ich bin ein Freund einfacher Lösungen. So gefällt mir die Schaltung von Helmut Lenzen mit einem 7474 sehr gut. Allerdings braucht man hier noch den Takt. Dieser soll, wenn ich Lukas richtig verstanden habe, auch noch variabel und vielleicht sogar über einen PC o.ä. einstellbar sein. Möglicherweise soll auch die Drehrichtung des simulierten Encoders im Betrieb geändert werden können. Da er sowieso schon einen AVR einsetzt, ist es doch das einfachste, diesen weiterzuverwenden und die Software etwas zu optimieren. Als Ergebnis hat man alle o.g. Funktionen in einem einzigen IC vereinigt, das nicht einmal arg viel kostet.
Gast
#817242
> Also in der Zeit, die ihr hier braucht um das auszudiskutieren, hätte > man das ganze mit einem Taktgenerator, einem 4017 und 4 Dioden > mindestens 20x aufbauen können. Schon, aber das hier ist ja auch ein "Mikrocontrollerforum" und keine "Wie bau ich mir ein CMOS-Grab" oder so, Forum ;-)
Bei einem 7474 kann man noch nicht von einem TTL Grab reden Und es steht auch Elektronik drueber Gruss Helmi
Gast
#817251
Hi Wenn mich alles täuscht, heißt das hier '... und Elektronik'. Vielen 'Programmierern' hier könnte etwas mehr Elektronikwissen nicht schaden. MfG Spess
Gast
#817267
Dazu ein kleine Stück Software:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
7400 war gestern :-)) Gruss Andy
Du sagst es Spess53 Gruss Helmi
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
