Forum: Fahrzeugelektronik Quadratur-Hall in Single-Hall Signal umwandeln


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias (hias9)


Lesenswert?

Hallo,

es geht hier um den Tretsensor eines eBikes, der nur die 
Pedalumdrehungen pro Zeit misst, nicht das Pedal-/Kurbeldrehmoment.
Entschuldigt bitte, dass meine Kenntnisse was Platinendesign angeht sehr 
rudimentär sind.

Der Tretsensor hat vier Kabel (+5V, GND, Output_Hall1, Output_Hall2) und 
besteht im wesentlichen aus 2 nebeneinander angeordneten Hallsensoren.
Die Outputs der Halls haben fast immer den gegensätzlichen Zustand, 
sprich wenn Hall1 von LOW auf HIGH springt, springt bei dieser 
Pedalstellung Hall2 von LOW auf HIGH.

Ich möchte nun das Ausgabesignal, welches 2 Kabel benötigt, in ein 
Signal umwandeln das nur ein Kabel benötigt.
Wenn vorwärts pedaliert wird sollen die Pulse eines der beiden Halls 
ausgegeben werden.
Wenn rückwärts pedaliert wird sollen keine Pulse ausgegeben werden.

Mit Hilfe eines D-Flipflops (74AHC1G79GW) lässt sich ausgeben, ob 
vorwärts oder rückwärts pedaliert wird. Dies habe ich bereits getestet 
und es funktioniert einwandfrei. Der Ausgabepin vom D-Flipflop ist z.b. 
HIGH wenn vorwärts pedaliert wird und LOW wenn rückwärts pedaliert wird 
(bzw. könnte wenn nötig auch genau andersrum sein, wenn man 2 Pins 
anders anschließt).

Jetzt benötige ich noch ein Bauteil, dass das Signal eines der beiden 
Hallsensoren nur durchlässt, wenn der Ausgabepin vom D-Flipflop HIGH ist 
(also vorwärts pedaliert wird).

Mit dem D-Latch SN74LVC1G373 hab ich es leider nicht hinbekommen, wohl 
weil nur neuer Output möglich, wenn Pin LE (Latch-Enable) von LOW auf 
HIGH geht.
Zwischen den beiden Hall Outputs und +5V habe ich jeweils einen 10kOhm 
Widerstand verbaut und Pin 6 vom SN74LVC1G373 ist mit GND verbunden.

Hat jemand eine Idee wie man es am besten lösen kann? Die Platine sollte 
kompakt (max. 25x13mm) und im Idealfall nur einseitig sein.

Vielen Dank im Voraus!

: Verschoben durch Moderator
von Teo D. (teoderix)


Lesenswert?

Und!

von Rainer W. (rawi)


Lesenswert?

Matthias schrieb:
> Die Outputs der Halls haben fast immer den gegensätzlichen Zustand,
> sprich wenn Hall1 von LOW auf HIGH springt, springt bei dieser
> Pedalstellung Hall2 von LOW auf HIGH.

Die Richtungserkenneng wertet das "fast" aus. Zeig doch einmal genau, 
wie die Signale jetzt aussehen. Da "vorwärts" und "rückwärts" schon als 
Signal zur Verfügung stehen, brauchst du doch nur noch ein UND- oder 
NAND-Gatter, um das Signal eines der Sensoren nur bei "vorwärts" durch 
zu lassen, z.B. ein Single Gate Nand 74LVC1GU00.

von Michael B. (laberkopp)


Lesenswert?

Matthias schrieb:
> Mit dem D-Latch SN74LVC1G373 hab ich es leider nicht hinbekommen

Transparent Latch ist doof, du brauchst eins das auf steigende Flanke 
reagiert.

RESET an Output_Hall1, Clock an Output_Hall1, D an Output_Hall2.

von Jens G. (jensig)


Lesenswert?

Was soll denn überhaupt der Sinn des Ganzen sein?
Die originale Steuerung wird ja diese Änderungen nicht mögen wollen ...

von Matthias (hias9)


Lesenswert?

Vielen Dank für die Antworten!

Die Signale der beiden Hallsensoren sehen in etwa aus wie hier wenn 
vorwärts pedaliert wird: https://ibb.co/H4YSqN5
Wenn rückwärts pedadiert wird ist der andere Hall voraus.

Mit den 2 Hallsensoren + D-Flipflop + UND oder NAND-Gatter + jeweils ein 
10kOhm-Widerstand zwischen den Hall_Outputs und +5V müsste das auf jeden 
Fall funktionieren.
Sollten zusätzlich noch Kondensatoren auf die Platine?

Gibt es auch eine Lösung mit nur einem Bauteil anstatt D-Flipflop + 
UND/NAND-Gatter?

@Jens: die verwendete Steuerung hat einen (weil closed-source) 
nicht-fixbaren Bug bei höhehren Tretfrequenzen im Quadratur-Modus, 
funktioniert aber einwandfrei im Single-Pulse-Modus.

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.