Forum

Einloggen | Registrieren | RSS  

gerdwilken(R)

24.07.2008,
21:42
 

Drehrichtung mit Hallsensor auswerten (Elektronik)

Hallo, ich drehe mich ein wenig im Kreis und habe schon einiges durchdacht und aufgebaut, bin aber nicht zum Ziel gekommen. Vielleicht hat einer von Euch ein Idee.
An den meisten Elektrofahrrädern im Pedelec-Betrieb ist auf der Pedalachse eine Scheibe mit 5 Magneten aufgesteckt, die an einem Hallsensor vorbeilaufen. Die Steuerungen der Räder werten die Signale aus und schalten den Motor der Räder nur ein, wenn die Pedale in Vortriebrichtung betätigt werden.
Ich möchte bei einem Fahrrad diese Auswertung extern machen und anderweitig nutzen.
Der Sensor ist schon einer, der sich je nach Drehrichtung der Magnete anders verhält.
Wird vorwärts gedreht, ergeben sich Rechteckimpulse, die im Verhältnis "high" zu "low" ca. 2:1 sind. Wird rückwärts getreten ist das Verhältnis ca. 1:2. Die Impulsweiten variieren dabei je nach Drehgeschwindigkeit, das Verhältnis bleibt aber gleich.
Die Zustände des Ausgangsignals am Hallsensor können vier Zustände haben:
1. "high"
2. "low"
3. "high" zu "low" ca. 2:1
4. "high" zu "low" ca. 1:2
Nur ein Zustand soll für mich am Ausgang der Zusatzschaltung ein "high" erzeugen. Das soll sein, wenn "high" zu "low" ca. 2:1 ist, also vorwärts gedreht wird.
Vielleicht ein LM324 als Fensterkomperator?
Danke im Vorraus an alle, die ihr Gehirn für mich matern! Gruß Gerd Wilken

herrma(R)

Homepage E-Mail

25.07.2008,
06:35

@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Die Zustände des Ausgangsignals am Hallsensor können vier Zustände haben:
»
» 1. "high"
» 2. "low"
» 3. "high" zu "low" ca. 2:1
» 4. "high" zu "low" ca. 1:2
» Nur ein Zustand soll für mich am Ausgang der Zusatzschaltung ein "high"
» erzeugen. Das soll sein, wenn "high" zu "low" ca. 2:1 ist, also vorwärts
» gedreht wird.

Es scheint ja so zu sein, dass im "Rückwärts-Modus" nur jeder zweite Magnet "gewertet" wird und dann - wie auch immer - einen Impuls auslöst.

Kannst du das bestätigen (gfl. mal prüfen)?

Gruß
Herrma

gerdwilken(R)

25.07.2008,
07:17

@ herrma

Drehrichtung mit Hallsensor auswerten

Hallo, nein. Der Effekt ist aber ähnlich. Der Hallsensor muss ein "doppelter" sein, der halt die Drehrichtung detektieren kann.

Vorwärts drehen:
Magnet am Sensor: Signal geht auf "high" und kippt bei Verlassen das Magneten nicht auf "low". Ist die Strecke zwischen den Magneten weiterhin auf "high" und erst beim nächsten Annähern an einen Magneten geht das Signal auf "low". Beim Erreichen des Magneten kommt das "high". Das Spiel geht dann von vorne los. So entsteht bei 5 Magneten auf dem Kreisumfang der Scheibe ein Verhältnis zwischen "high" und "low" von 2:1.

Rückwärts:
Magnet an Sensor: Signal geht auf "high"
Magnet verlässt Sensor: Signal geht auf "low"
Dann eine ungefähr doppelt so lange Strecke (bei 5 Magneten auf dem Kreisumfang der Scheibe) bei der das Signal auf "low" bleibt und beim nächsten Magneten das Spiel von vorne beginnt. Verhältnis zwischen "high" und "low" ist in diesem Fall ca. 1:2.

Im Endeffekt könnt Ihr aber die gesamte Schaltung und Funktion ignorieren.

Ich habe am Eingang meiner geplanten Schaltung die möglichen Zustände:
1. "high"
2. "low"
3. "high" zu "low" ca. 2:1
4. "high" zu "low" ca. 1:2

Zustand 1, 2, und 4 sollen am Ausgang "low" = 0 V geben,
Zustand 3 soll mir ein "high" = 5 V liefern.

Digigtal wäre das vielleicht noch einfach and und nand usw..
Das Problem am Eingangssignal ist aber, das es nur ca. das Verhältnis 2:1 (bzw. 1:2) hat und das die Pulsweite sich mit der Drehgeschwindigkeit ändert.
Wahrscheilich muss ich irgendwie zunächst die Pulsweite für ein "low" bestimmen um dann digital weiter zu arbeiten? Vieleicht ist ja aber alles viel einfacher!???
Gruß Gerd und weiter Erfolg beim Denken! Mein Kopf raucht.

herrma(R)

Homepage E-Mail

25.07.2008,
07:50
(editiert von herrma
am 25.07.2008 um 07:52)


@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Hallo, nein. Der Effekt ist aber ähnlich. Der Hallsensor muss ein
» "doppelter" sein, der halt die Drehrichtung detektieren kann.
»
» Vorwärts drehen:
» Magnet am Sensor: Signal geht auf "high" und kippt bei Verlassen das
» Magneten nicht auf "low". Ist die Strecke zwischen den Magneten weiterhin
» auf "high" und erst beim nächsten Annähern an einen Magneten geht das
» Signal auf "low". Beim Erreichen des Magneten kommt das "high". Das Spiel
» geht dann von vorne los. So entsteht bei 5 Magneten auf dem Kreisumfang
» der Scheibe ein Verhältnis zwischen "high" und "low" von 2:1.
»
» Rückwärts:
» Magnet an Sensor: Signal geht auf "high"
» Magnet verlässt Sensor: Signal geht auf "low"
» Dann eine ungefähr doppelt so lange Strecke (bei 5 Magneten auf dem
» Kreisumfang der Scheibe) bei der das Signal auf "low" bleibt und beim
» nächsten Magneten das Spiel von vorne beginnt. Verhältnis zwischen "high"
» und "low" ist in diesem Fall ca. 1:2.
»
» Im Endeffekt könnt Ihr aber die gesamte Schaltung und Funktion
» ignorieren.
»
» Ich habe am Eingang meiner geplanten Schaltung die möglichen Zustände:
» 1. "high"
» 2. "low"
» 3. "high" zu "low" ca. 2:1
» 4. "high" zu "low" ca. 1:2
»
» Zustand 1, 2, und 4 sollen am Ausgang "low" = 0 V geben,
» Zustand 3 soll mir ein "high" = 5 V liefern.
»
» Digigtal wäre das vielleicht noch einfach and und nand usw..
» Das Problem am Eingangssignal ist aber, das es nur ca. das Verhältnis 2:1
» (bzw. 1:2) hat und das die Pulsweite sich mit der Drehgeschwindigkeit
» ändert.
» Wahrscheilich muss ich irgendwie zunächst die Pulsweite für ein "low"
» bestimmen um dann digital weiter zu arbeiten? Vieleicht ist ja aber alles
» viel einfacher!???
» Gruß Gerd und weiter Erfolg beim Denken! Mein Kopf raucht.

Lösbar ist das Ding garantiert. Vielleicht ist es auch ganz einfach, aber um relevante Vorschläge unterbreiten zu können, muss man´s erstmal richtig verstanden haben.

Wenn ich deine "Vorwärts-Beschreibung" richtig interpretiere, erhalte ich doch nachstehendes Impulsdiagramm?! Wo ist denn da das Verhältnis 2:1?

El-Haber

25.07.2008,
08:53

@ herrma

Drehrichtung mit Hallsensor auswerten

Hi,
die Lösung könnte so aussehen, wie bei den alten Composite-Fernseh-Signalen das Bildwechselsignal.

Nach jeder Zeile wird auf der Schwarzschulter ein negativer Peak aufgebracht. Nach jedem Bild (300 Zeilen) kommen 5 Peaks.
Wenn die Peaks oder bei dir die PWM-Signale gleichgerichtet werden (mit Stomsteuerung und belastung), dann ergibt sich eine Mittenspannung, die in Vorwärtsrichtung (2:1H) etwa bei 2/3 der Betriebspannung liegt und in Rückwärtsrichtung (1:2H) etwas unter 1/3 der Betriebspannung liegt.

Die Signale vom Tachogenerator des Pedals müssen dazu aber notfalls noch normiert werden, so daß die Impulse unabhängig von der Drehzahl mit immer der gleichen Spannung kommen. (Transistor-Treiberstufe an eine konstante Betriebspannung).
Laden und Entladen des Kondensators über Vorwiderstand und prüfen mit jeder positiven Flanke des Tacho-Signals.

Cu
Stef

herrma(R)

Homepage E-Mail

25.07.2008,
09:04
(editiert von herrma
am 25.07.2008 um 09:12)


@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Im Endeffekt könnt Ihr aber die gesamte Schaltung und Funktion
» ignorieren.
»
» Ich habe am Eingang meiner geplanten Schaltung die möglichen Zustände:
» 1. "high"
» 2. "low"
» 3. "high" zu "low" ca. 2:1
» 4. "high" zu "low" ca. 1:2
»
» Zustand 1, 2, und 4 sollen am Ausgang "low" = 0 V geben,
» Zustand 3 soll mir ein "high" = 5 V liefern.

Man könnte die Bedingung für den gewünschten Ausgangspegel doch auch vereinfacht so definieren.

PULSE(t) > PAUSE(t) AND action

gerdwilken(R)

25.07.2008,
21:48
(editiert von gerdwilken
am 25.07.2008 um 22:51)


@ herrma

Drehrichtung mit Hallsensor auswerten

Ja, stimmt. Erstmal überhaupt auf Impulse prüfen weil ja 0 V und 5 V anstehen können aber nicht zum Ausgangssignal führen sollen.
Dann reicht die von Dir genannte Bedingung: Wenn Pulse kommen und die 5 V länger andauern als die 0 V, dann Signal am Ausgang.
Hast Du dann auch schon für die Schaltung eine Idee?

Ich bin etwas kurz dran, weil ich unterwegs bin und erst Sonntag wieder richtig da bin. Auf jeden Fall schon mal vielen Dank für das Mitdenken! Gruß Gerd

hws(R)

E-Mail

59425 Unna,
26.07.2008,
11:23

@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Hast Du dann auch schon für die Schaltung eine Idee?

Einfach ein RC Glied und ein Fensterkomparator.

Sind's am RC Glied 0Volt oder 5Volt, dann steht das Fahrrad.

Sinds 1..2 Volt (genauen Wert ausprobieren) dann wird NICHT vorwärts gedreht, bei 3..4Volt gehts vorwärts. Das könnte man per Fensterkomparator feststellen.

Auf Softwareauswertung per µC oder diverse Mono- und Flipflopschaltungen will ich mal nicht eingehen. Oder hast du dazu die nötigen Vorkenntnisse?

hws

herrma(R)

Homepage E-Mail

26.07.2008,
12:04
(editiert von herrma
am 27.07.2008 um 06:33)


@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Ja, stimmt. Erstmal überhaupt auf Impulse prüfen weil ja 0 V und 5 V
» anstehen können aber nicht zum Ausgangssignal führen sollen.
» Dann reicht die von Dir genannte Bedingung: Wenn Pulse kommen und die 5 V
» länger andauern als die 0 V, dann Signal am Ausgang.
» Hast Du dann auch schon für die Schaltung eine Idee?
»
» Ich bin etwas kurz dran, weil ich unterwegs bin und erst Sonntag wieder
» richtig da bin. Auf jeden Fall schon mal vielen Dank für das Mitdenken!
» Gruß Gerd

OK, dadurch wird´s doch schon überschaubarer und eine passende Schaltung, ob analog, digital oder via µC, ist schnell gemacht.

Eine reine FF-Lösung in Kombination mit Timern, Monoflops, Zählern etc. ist sicher auch machbar, aber wäre vergleichsweise viel zu aufwendig.

Ein weiterer Lösungsansatz wäre das TTL-Eingangssignal zu integrieren und dann den Analogwert über diverse Verfahren auszuwerten. Dazu müssten aber die Grenzwerte (z.B. Trittfrequenz min/max etc.) berücksichtigt werden und die Portierbarkeit auf ähnliche Problemstellungen wäre eingeschränkt.

Als bekennendes Mitglied der µC-Fraktion würde ich natürlich diese Variante wählen, da sich damit alle Aufgaben ohne externe Bauteile schnell, störungssicher, ökonomisch und komfortabel erledigen lassen. Ein kleiner µC ohne weitere Beschaltung würde dann genügen.


Gruß
herrma

gerdwilken(R)

29.07.2008,
07:43

@ herrma

Drehrichtung mit Hallsensor auswerten

Hallo herrma, El-Haber und hws danke für die Ideen!
Die Idee mit der "Gleichrichtung" hatte ich auch schon, bin aber mit berechnen und probieren nicht weiter gekommen. Die Impulse werden zwar mit meinen RC Aufbauten "verbogen", aber einen festen Spannungswert bekomme ich nicht. Der müsst ja unabhängig von der Drehgeschwindigkeit bei 2/3 (vorwärts) bzw 1/3 (rückwärts) liegen.
Der Einsatz von µC scheint mir verlockend, aber ich habe damit keine Erfahrung. Hat einer von Euch eine Musterbeschreibung für so ein Miniprojekt oder sehe ich das jetzt zu blauäugig, einfach mal so da ranzugehen?
Gruß Gerd

herrma(R)

Homepage E-Mail

29.07.2008,
17:11
(editiert von herrma
am 30.07.2008 um 12:01)


@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Hallo herrma, El-Haber und hws danke für die Ideen!
» Die Idee mit der "Gleichrichtung" hatte ich auch schon, bin aber mit
» berechnen und probieren nicht weiter gekommen. Die Impulse werden zwar mit
» meinen RC Aufbauten "verbogen", aber einen festen Spannungswert bekomme ich
» nicht. Der müsst ja unabhängig von der Drehgeschwindigkeit bei 2/3
» (vorwärts) bzw 1/3 (rückwärts) liegen.
» Der Einsatz von µC scheint mir verlockend, aber ich habe damit keine
» Erfahrung. Hat einer von Euch eine Musterbeschreibung für so ein
» Miniprojekt oder sehe ich das jetzt zu blauäugig, einfach mal so da
» ranzugehen?
» Gruß Gerd

Hallo Gerd,

was verstehst du denn unter einer "Musterbeschreibung"?

Offensichtlich handelt es sich ja um einen Inkrementaldrehgeber, der dir ein codiertes digitales Signal liefert, welches u.a. auch die von dir benötigte Information enthält.

Einzige Konstante ist das Puls-Pausenverhältnis, die Zeiten sind variabel.
Hier kannst und solltest du ansetzen, eine Reanalogisierung ist nur selten sinnvoll und bestenfalls als Workaround in Betracht zu ziehen. Einige der dann auftauchenden Probleme hast du ja schon selber erkannt.

Hier ist ohne Wenn und Aber ein µC angesagt, auch wenn der sich mächtig langweilen wird.

Gruß
Herrma

gerdwilken(R)

18.08.2008,
22:30

@ herrma

Drehrichtung mit Hallsensor auswerten

Hallo, nun sind 3 Wochen ins Land gegangen und ich bin nicht weitergekommen. Vielleicht kann mir ja einer von Euch doch noch eine Lösung liefern!?
Ich fasse noch einmal zusammen:
Ich habe ein Signal, das kann sein:
- 0 V,
- 5 V,
- Impulse Verhältnis 5 V zu 0 V = 2 zu 1 und
- Impulse Verhältnis 5 V zu 0 V = 1 zu 2
Die Impulsweiten sind unterschiedlich. Das Verhältnis 0 V zu 5 V ist ein ca.-Verhältnis aber gleichbleibend auch bei den unterschiedlich Impulsweiten.
Ich brauche am Ausgang einer Schaltung 5 Volt wenn die Impulse im Verhältnis 5 V zu 0 V = 2 zu 1 sind.
Die 3 anderen Zustände sollen am Ausgang 0 V liefern.
Wenn es ein µC wird, bin ich unbedarft und benötige mehr Information.




Hat jemand konkret eine Idee? Ich danke Euch! Gruß Gerd

herrma(R)

Homepage E-Mail

19.08.2008,
06:06

@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Hallo, nun sind 3 Wochen ins Land gegangen und ich bin nicht
» weitergekommen. Vielleicht kann mir ja einer von Euch doch noch eine
» Lösung liefern!?


"Damals" hatte ich mich ja schon mit deinem Problem beschäftigt und eine Lösung im Sinn. Aber 3-4 Wochen sind eine lange Zeit und man muss unnötigerweise quasi wieder von vorn beginnen.

Wie bereits weiter oben gesagt: Hier ist eine µC-Lösung angesagt, aber es fehlen immer noch die angefragten Informationen hinsichtlich der MIN-/MAX-(Tritt)Frequenzen.

Bis demnächst
Herrma

gerdwilken(R)

19.08.2008,
10:14

@ herrma

Drehrichtung mit Hallsensor auswerten

Hallo Herrma,
ich denke, dass der Radfahrer entweder mit einer Pedalumdrehung in 2 Sekunden bis zu 2 Umdrehungen pro Sekunde treten wird. Bei 5 Magneten auf der Geberscheibe wären das 2,5 Hz bis 10 Hz Frequenz.
Die Kurve:

Der Controller

Im Controller arbeitet ein
CY8C24423A
24PVXI TWN0707
B02CYP 612979

Neben dem CY8C24423A sind 5 PIN´s. Ganz vermessen gefragt, kann man den vielleicht auslesen und umprogrammieren? Gruß Gerd

herrma(R)

Homepage E-Mail

19.08.2008,
11:21

@ gerdwilken

Drehrichtung mit Hallsensor auswerten

» Neben dem CY8C24423A sind 5 PIN´s. Ganz vermessen gefragt, kann man den
» vielleicht auslesen und umprogrammieren? Gruß Gerd

"Man" könnte das vielleicht, aber ich würde das erst gar nicht versuchen.:-)

Danke für die Info´s. Heute fehlt mir leider die Zeit, aber falls sich morgen noch nichts ergeben hat, werde ich es mir gern nochmal vornehmen.

Zwei Fragen vorab:

1.) Willst du einen Eingriff in ein sicherheitsrelevantes System vornehmen?

2.) Da du sprichst von "dem Radfahrer" in der dritten Person. Ist es überhaupt ein privates Projekt?

Gruß
Herrma

gerdwilken(R)

19.08.2008,
11:59

@ herrma

Drehrichtung mit Hallsensor auswerten

Hallo Herrma,
ich fange mit 2. an

2.) Da du sprichst von "dem Radfahrer" in der dritten Person. Ist es überhaupt ein privates Projekt?

Ich denke, so halb könnte es schon gewerblich werden. Meine Frau verkauft Elektrofahrräder. Für einen Kunden aus dem Bekanntekreis möchte ich die im folgenden Punkt erläuterten Änderungen machen.

1.) Willst du einen Eingriff in ein sicherheitsrelevantes System vornehmen?

Bei einem Importtyp der Räder wird das deutsche Recht nicht eingehalten.
In einer Schalterstellung ist es ein Pedelec, d.h. der Motor unterstützt beim Pedale treten - allerdings immer mit voller Kraft. Da geht das Rad ab wie Schmidt´s Katze. Mein Bekannter fährt deshalb in der Gruppe immer allen davon.
In der anderen Schalterstellung wird das Rad mit einem "Gasgriff" gefahren und das ohne dass getreten werden muss. Dies ist in Deutschland nicht zulässig. Die Leute, die so fahren, bewegen nach deutschem ein Kraftfahrzeug ohne Betriebserlaubnis und Versicherung.
Bisher schneiden wir einfach das Kabel zum Drehgriff so durch, dass es nicht mit "einfachen Mitteln" wieder angeschlossen werden kann.

Die Kunden fahren dann das Pedelec mit dauerndem "Vollgas" oder ausgeschaltet als normales Rad.

Für meinen Bekannten möchte ich jetzt folgende Änderung machen. Der Drehgriff tritt erst in Funktion, wenn getreten wird. So kann er auch in der Gruppe wieder "geregelt" mitfahren. Zur Realisierung brauche ich halt die Detektion ob getreten wird und gebe damit den Griff frei.

Jetzt ist das erstmal ein privates Projekt. Ich will aber nicht behaupten, dass die Lösung auch anderen Kunden meiner Frau zugute kommen könnte.
Wenn ich nun gegen die Regeln verstoßen habe, bitte ich um Entschuldigung. Der Admin sollte dann besser alle Beiträge aus dem Forum löschen. Tut mir leid, darüber habe ich nicht nachgedacht.

Gruß Gerd