Frequenz eines Rechtecksignals ändern

OP #5163602
Hallo, ich habe eine 12V Rechtecksignal für einen Tacho. Dieses ändert 
sich linear in der Frequenz zur Geschwindigkeit. Jetzt liegt es leider 
um 60% daneben. Da der Tacho nicht zum Abs paßt, welches die Frequenz 
ausgibt.
Wie kann man am besten eine art offset auf die Frequenz bekommen, bzw 
die Frequenz ändern um es zu korrigieren. Am besten ohne einen 
Mikrocontroller.
Gast
Ingo L. schrieb:
> Marc G. schrieb:
>> Am besten ohne einen Mikrocontroller.
> Das wird schwer. Hier wäre ein µC tatsächlich das Einfachste.

Einfach insbesondere, wenn man ein bestehendes Programm nebst Schaltung 
verwendet: http://mino-elektronik.de/Generator/takte_impulse.htm#bsp4
Lediglich den Korrekturfaktor muß man auf 0.6 ändern. Bei einfachen 
Anwendungen (Tacho) kann man sich den ext. Quarz sparen und mit int. 
Takt arbeiten.
Moderator (Firma: Titel) Persönliche Seite
Marc G. schrieb:
> Wie kann man am besten eine art offset auf die Frequenz bekommen, bzw
> die Frequenz ändern um es zu korrigieren.
Am besten und einfachsten mit einem Mikrocontroller.

> Am besten ohne einen Mikrocontroller.
Dann gibt es nur eine aufwändige und sicher bestenfalls "zweitbeste" 
Lösung: du wandelst das Signal mit einem Monoflop und anschließendem 
Tiefpass in eine Gleichspannung (fU-Wandler), ziehst den Offset ab und 
erzeugst daraus wieder ein Rechtecksignal (Uf-Wandler).
Viel Spass beim Berechnen und Abgleichen dieser Lösung... ;-)
Moderator
Prinzipiell gibt es noch die Möglichkeit, die Eingangsfrequenz mittels
einer PLL-Schaltung um den Faktor 2 bzw. 8 zu erhöhen und anschließend
mit einem Frequenzteiler um den Faktor 5 herunterzusetzen. Das sollte
mit 2 ICs realisierbar sein, könnte aber bei sich schnell ändernden
Eingangsfrequenzen problematisch werden. Auch ein Finetuning (wenn man
bspw. feststellt, dass die Abweichung nicht 60%, sondern 61% beträgt),
ist nicht so leicht möglich.

Eine µC-Lösung ist da um ein Vielfaches flexibler.
Gast
Manchmal frage ich mich, warum solche Fragen im Mikrocontroller.net 
Forum gestellt werden.

a) Weil der Fragende schon davon ausgeht, daß er dazu einen 
Mikrocontroller verwenden wird.
b) Weil er dieses Forum für ein allgemeines Elektronik Forum hält und 
noch keinen Lösungsansatz vor Augen hat.

Auffällig (sicher auch verständlich) ist auf jeden Fall, daß hier sehr 
häufig Mikrocontroller empfohlen werden. Aber hilft das dem TO? Wenn man 
schon einen Mikrocontroller empfiehlt, müsste man dann nicht auch gleich 
ein Konzept für die Software skizzieren?

Ich stelle mir vor, ich frage bei einem Steine-Fachhandel nach, wie ich 
ein Gartenhaus bauen könnte. In einer weitschweifenden geste würde der 
auf seine Steine-Ausstellung verweisen und sagen "Nimm Steine". Das 
würde mich keinen Schritt weiter bringen.
Gast
Stefan U. schrieb:
> Wenn man
> schon einen Mikrocontroller empfiehlt, müsste man dann nicht auch gleich
> ein Konzept für die Software skizzieren?

Was habe ich denn weiter oben gemacht? ;-)
Wenn der TO mit einem programmierten AVR umgehen kann, das heißt 12 V 
Pegel mit 5 V zu verarbeiten, kann ich ihm gerne ein paar µCs mit 
passendem Programm programmieren und zuschicken. Aber ich drängel mich 
da nicht auf.
Gast
> Was habe ich denn weiter oben gemacht?
Ja du hast das gemacht. Viele Leute empfehlen aber einfach nur einen µC, 
in diesem Fall dein Vorgänger Lothar.
Stefan U. schrieb:
>> Was habe ich denn weiter oben gemacht?
> Ja du hast das gemacht. Viele Leute empfehlen aber einfach nur einen µC,
> in diesem Fall dein Vorgänger Lothar.

Der Hinweis, daß ein µC hier das Mittel der Wahl wäre und daß seine 
Einschränkung

Marc G. schrieb:
> Am besten ohne einen Mikrocontroller.

kontraproduktiv ist, weist ihm zumindest einen Weg. Ob er den gehen kann 
oder will, ist seine Entscheidung. Wenn er dann will, kann er immer noch 
nach Details fragen.
Gast
Marc G. schrieb:
> Am besten ohne einen Mikrocontroller.

Ob mein Vorschlag dazu passt mag nur der TO beurteilen:

In der Motorradszene wird für ein solches Problem (Tacho passt
nicht zur Übersetzung) gerne ein >Speedohealer< benutzt.
Gast
Harald W. schrieb:
> Auch bei Frequenzen nahe null?

Wenn du nur ein bisschen Ahnung von Fahrzeug-Technik hast dann
wirst du wissen dass der Fall nicht vorkommt, deine Bedenken
also für die Katz' sind. Wenn du überhaupt Bedenken geäussert
hast.
OP
Yalu X. schrieb:
> Prinzipiell gibt es noch die Möglichkeit, die Eingangsfrequenz mittels
> einer PLL-Schaltung um den Faktor 2 bzw. 8 zu erhöhen und anschließend
> mit einem Frequenzteiler um den Faktor 5 herunterzusetzen. Das sollte
> mit 2 ICs realisierbar sein, könnte aber bei sich schnell ändernden
> Eingangsfrequenzen problematisch werden. Auch ein Finetuning (wenn man
> bspw. feststellt, dass die Abweichung nicht 60%, sondern 61% beträgt),
> ist nicht so leicht möglich.
>
> Eine µC-Lösung ist da um ein Vielfaches flexibler.

Welches IC wäre da am besten geeignet ?
Hätten Sie da einen link für mich ?
Gast
Yalu X. schrieb:
> Prinzipiell gibt es noch die Möglichkeit, die Eingangsfrequenz mittels
> einer PLL-Schaltung um den Faktor 2 bzw. 8 zu erhöhen und anschließend
> mit einem Frequenzteiler um den Faktor 5 herunterzusetzen.

Ist es nicht eher so, dass die Eingangsfrequenz um Faktor 5 erhöht 
werden muss und dann durch 8 geteilt wird?
300*5/8 = 187.5
Mit einer PLL vielleicht sogar besser *10/16 wegen symmetrischem 
Tastverhältnis für den PLL-Frequenzkomparator.
Ich könnte mir vorstellen, dass es mit einem 4046 und zwei 
Teilerbausteinen realisierbar sein sollte.

Aber die Info vom TO kam ja erst danach:
Marc G. schrieb:
> Also ich müßte aus 300Hz 187.5 Hz machen.
Gast
Die einfachste Lösung wäre wohl, mit einem BCD-Zähler die Signalfrequenz 
durch 16 zu teilen und im Tacho das Komma um eine Stelle nach links zu 
schieben, wenn moglich?
HildeK schrieb:
> Ist es nicht eher so, dass die Eingangsfrequenz um Faktor 5 erhöht
> werden muss und dann durch 8 geteilt wird?

Ja 5/8 = 0,625
Vielleicht reicht es ja schon mit einem 3-bit Zähler die Eingangspulse 
mitzuzählen, und dann 3 von 8 Pulsen zu unterdrücken.
Die Logik wäre z.B.
1
cnt enable  
2

3
000   1
4
001   0
5
010   1
6
011   0
7
100   1
8
101   0
9
110   1
10
111   1    
11

12

13
enable = !bit0 | (bit0 & bit1 & bit2)
Gast
Ihr diskutiert hier alle über die Frequenz. Ich würde mich viel eher auf 
die Zeitabstände zwischen den Tacho-Impulsen konzentrieren. Denn das ist 
doch das, was die Tachos wirklich messen. Oder irre ich mich?

Dann braucht man auch keine PLL. Einfach fortlaufen den Zeit-Abstand 
zwischen Impulsen messen und ein PWM Signal generieren, wo der Abstand 
entsprechend länger oder kürzer ist.
Gast
Normalerweise lässt sich die Frequenz eines Rechtecksignales nicht 
ändern.
Nur im Sonderfall: Z.B. 2:1 oder so geht das. Das Weglassen von 
einzelnen Pulsen (Verkleinerung) erzeugt einen, oft unzulässigen Jitter.

Pseudo-Analog ginge es mit einem Frequenzteiler mit einer 
nachgeschalteten PLL. Das aber nur, wenn ein fixes Verhältnis zwischen 
vorhandener und gewünschter Frequenz besteht.

In dem von Dir gewünschten Frequenzbereich sollte ein µP arbeiten 
können. Das entbindet Dich aber nicht davon, irgendeinen Teilerfaktor 
bzw. Multiplikator zu fixieren. Ist bei einem weiten Frequenzbereich - 
vor allem, wenn es in Richtung null geht - nicht ganz einfach.
Gast
Hurvinek schrieb:
>mit einem BCD-Zähler die Signalfrequenz
>durch 16 zu teilen

Ein BCD-Zähler kann das nicht, der kann nur durch 10 teilen.
Du meinst wahrscheinlich ein Binärzähler.
Hurvinek schrieb:

> Die einfachste Lösung wäre wohl, mit einem BCD-Zähler die Signalfrequenz
> durch 16 zu teilen und im Tacho das Komma um eine Stelle nach links zu
> schieben, wenn moglich?

Genau, wenn dann das Tacho statt bis 200 km/h nur bis 20 kmh geht,
trägt das auch sehr zur Erhöhung der Fahrsicherheit bei. :-)
Moderator
HildeK schrieb:
> Yalu X. schrieb:
>> Prinzipiell gibt es noch die Möglichkeit, die Eingangsfrequenz mittels
>> einer PLL-Schaltung um den Faktor 2 bzw. 8 zu erhöhen und anschließend
>> mit einem Frequenzteiler um den Faktor 5 herunterzusetzen.
>
> Ist es nicht eher so, dass die Eingangsfrequenz um Faktor 5 erhöht
> werden muss und dann durch 8 geteilt wird?
> 300*5/8 = 187.5

Völlig richtig.

Nach der ursprüngliche Information

Marc G. schrieb:
> Jetzt liegt es leider um 60% daneben.

wäre der Faktor entweder 0,6=3/5 bzw. 1,5=8/5 gewesen. Aus der 3 ist
dann durch zu schnelles Tippen meinerseits eine 2 geworden :)

Aber jetzt ist ja das Ziel genauer bekannt, nämlich 0,625=5/8.

Harald W. schrieb:
> Hurvinek schrieb:
>
>> Die einfachste Lösung wäre wohl, mit einem BCD-Zähler die Signalfrequenz
>> durch 16 zu teilen und im Tacho das Komma um eine Stelle nach links zu
>> schieben, wenn moglich?
>
> Genau, wenn dann das Tacho statt bis 200 km/h nur bis 20 kmh geht,
> trägt das auch sehr zur Erhöhung der Fahrsicherheit bei. :-)

Einfach ein Getriebe mit i=1:10 an die Zeigerwelle, und die Sache stimmt
wieder ;-)
Moderator (Firma: Titel) Persönliche Seite
Marc G. schrieb:
> Das Signal muß runter geteilt werd.  Also ich müßte aus 300Hz 187.5 Hz
> machen.
Und aus 600 Hz dann 375?
Ich dachte, da war von einem "Offset" die Rede. Ein Offset wäre aber 
eine konstante Frequenz, die immmer dazuaddiert werden würde, also etwa 
so:
Eingang --> Ausgang
1000  -->  0
1100  -->  100
1500  -->  500
1900  -->  900
2100  -->  1100

Yalu X. schrieb:
> Aber jetzt ist ja das Ziel genauer bekannt
Ja, hoffentlich...  ;-)
Moderator
Stefan U. schrieb:
> Ihr diskutiert hier alle über die Frequenz. Ich würde mich viel eher auf
> die Zeitabstände zwischen den Tacho-Impulsen konzentrieren. Denn das ist
> doch das, was die Tachos wirklich messen. Oder irre ich mich?

Ja, es wäre interessant zu wissen, wie der Tacho das Signal tatsächlich
verarbeitet. Ich kenne mich da leider auch nicht aus. Evtl. gibt es
sogar Unterschiede zwischen verschiedenen Tachotypen.


Lothar M. schrieb:
> Ich dachte, da war von einem "Offset" die Rede.

Ich glaube, er meinte einen "prozentualen Offset", was letztendlich
einem Faktor entspricht.
Stefan U. schrieb:
> Ihr diskutiert hier alle über die Frequenz. Ich würde mich viel eher auf
> die Zeitabstände zwischen den Tacho-Impulsen konzentrieren. Denn das ist
> doch das, was die Tachos wirklich messen. Oder irre ich mich?
>
> Dann braucht man auch keine PLL. Einfach fortlaufen den Zeit-Abstand
> zwischen Impulsen messen und ein PWM Signal generieren, wo der Abstand
> entsprechend länger oder kürzer ist.

1/Zeit zwischen den Impulsen nennt man Frequenz: f=1/t

Oder meinst du, daß die Frequenz konstant ist und im Duty Cycle die 
Geschwindigkeit kodiert ist?
Gast
Harald W. schrieb:
> Hurvinek schrieb:
>
>> Die einfachste Lösung wäre wohl, mit einem BCD-Zähler die Signalfrequenz
>> durch 16 zu teilen und im Tacho das Komma um eine Stelle nach links zu
>> schieben, wenn moglich?
>
> Genau, wenn dann das Tacho statt bis 200 km/h nur bis 20 kmh geht,
> trägt das auch sehr zur Erhöhung der Fahrsicherheit bei. :-)

Es irrt der Mensch, solange er lebt! :-) Danke
Na klar, div. 16 und mul. 10 bedeutet, "," eine Stelle nach rechts.
Gast
Yalu X. schrieb:
> Ja, es wäre interessant zu wissen, wie der Tacho das Signal tatsächlich
> verarbeitet. Ich kenne mich da leider auch nicht aus.

Ich mich auch nicht.
Vor gefühlten 100 Jahren war es ein Magnet, der in einer Art Schale lief 
und so je nach Drehzahl auf die Rückstellfeder des Zeigers mehr oder 
weniger weit bewegt hatte. Wirbelstromtachometer.
Es gab auch die Variante, dass eine der Drehzahl proportionale Frequenz 
mittels Monoflop mit fester Zeit zu einer Art PWM-Signal wurde. Eine 
einfache RC-Filterung oder schon die Trägheit eines Zeigerinstruments 
hat dann gemittelt.
Oder, es ist eben ein ganz normaler Frequenzzähler, der die Anzeige über 
einen Schrittmotor bedient.
Was auch immer, hier sind die Varianten genannt: 
https://de.wikipedia.org/wiki/Tachometer
Gast
Yalu X. schrieb:
> Ja, es wäre interessant zu wissen, wie der Tacho das Signal tatsächlich
> verarbeitet.

Das Zauberwort ABS gibt Aufschluss. Wenn man die Roh-Impulse
betrachtet die vom Radsensor kommen dann sind das keine
Signale wie beim Fahrrad (1x Reedkontakt schliessen pro
Umdrehung) sondern eben ein Menge Pulse die pro Radumdrehung,
mindestens so etwa 20 an der Zahl sind.

Marc G. schrieb:
> Da der Tacho nicht zum Abs paßt, welches die Frequenz ausgibt.
Gast
Marc G. schrieb:
> Da der Tacho nicht zum Abs paßt, welches die Frequenz
> ausgibt.

Würde es das ABS denn sehr stören wenn man da einfach einen zum Tacho 
passenden Sensorring, Zahnkranz montiert. Oder dem vorhandenen einige 
Zähne wegflext oder Lücken zulötet? Ohne µC-Erfahrung bist du damit 
sicher einige Monate früher am Ziel als mit jedweder Elektronik.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.