Forum: Mikrocontroller und Digitale Elektronik Hall Sensor an Tachowelle auslesen


von Wolfgang (Gast)


Lesenswert?

Hallo,

ich möchte zum ersten Mal mit einem VDO Hall Geber arbeiten. Er wird in 
die Tachowelle ein geschleift.

https://www.trabiteile.de/product_info.php/cPath/28_161/products_id/726

Hallgeber Hall-Effect Sensors Elektrischer Anschuss: 3polig, massefrei
Geberversorgung: Spannung: 8 V bis 16 V Strom: 21 mA
Schaltzeiten: tr = 10 μs, tf = 10 μs
Drehzahl: max. 3500 min -1
Tastverhältnis: (t on + t off ) / t on = 1,25 bis 5

Mit einem AT 89C2051 möchte ich nur erkennen, ob das Fahrzeug steht, 
also nicht fährt. Kann mir bitte jemand erklären, wie ich das im 
Assembler mache.

Beste Grüße
Wolfgang

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wolfgang schrieb:
> Mit einem AT 89C2051 möchte ich nur erkennen, ob das Fahrzeug steht,
> also nicht fährt.

Wenn du dich nicht zwanghaft mit einem MC auseinandersetzen musst, dann 
tuts auch ein retriggerbares Monoflop mit einer Zeitkonstante, die du 
als Stillstand definierst. (Das gleiche musst du auch mit einem MC 
definieren, btw).
Wird das Monoflop nicht innerhalb der Zeit von einen neuen Impuls des 
Sensors getriggert, springt es auf inaktiv und hebt das /Q Beinchen auf 
high.
Das gleiche musst du mit dem MC auch machen. Ein z.B. Timer wird vom 
Hallgeber immer wieder zurückgesetzt. Wenn der Timer doch überläuft, 
muss das Fahrzeug still stehen oder extrem langsam fahren.
Die Zeitkonstanten hängen u.a. von der Übersetzung der Tachowelle und 
der Häufigkeit der Sensorimpulse pro Drehung ab.

von Wolfgang (Gast)


Lesenswert?

Hallo Matthias,

danke, hört sich gut an.

Ein z.B. Timer wird vom
Hallgeber immer wieder zurückgesetzt. Wenn der Timer doch überläuft,
muss das Fahrzeug still stehen oder extrem langsam fahren.

Das reicht auf jeden Fall. Wie geht das parktisch im Assembler?

Gruß
Wolfgang

von assembler (Gast)


Lesenswert?

>Ein z.B. Timer wird vom
>Hallgeber immer wieder zurückgesetzt. Wenn der Timer doch überläuft,
>muss das Fahrzeug still stehen oder extrem langsam fahren.


In Assembler mußt du nur deine Beschreibung in Software fassen. Und gut.


Hast du dich schon mal mit dem µC befaßt?
Willst du es tun?
Willst du eine fertige Lösung präsentiert bekommen?

von Ralph B. (rberres)


Lesenswert?

Bei dem Golf 4 war es zumindest so das die ausgegebene Frequenz des 
Tachosignalgebers ziemlich exakt der Geschwindigkeit in kmh entsprach.

Raus kam ein Rechtecksignal mit 0V low und +5V high Tastverhältnis 1:1

Man hätte ein Frequenzzähler anschließen können und die angezeigte 
Frequenz ist = Kmh

Ralph Berres

von Orlov (Gast)


Lesenswert?

..ich hätte aber gerne Assembler!!

von m.n. (Gast)


Lesenswert?

Ralph B. schrieb:
> Man hätte ein Frequenzzähler anschließen können und die angezeigte
> Frequenz ist = Kmh

Das heißt bei 60 km/h erhält man 60 kHz?
:-)

von Ralph B. (rberres)


Lesenswert?

m.n. schrieb:
> Ralph B. schrieb:
>> Man hätte ein Frequenzzähler anschließen können und die angezeigte
>> Frequenz ist = Kmh
>
> Das heißt bei 60 km/h erhält man 60 kHz?
> :-)

Nein 60Hz

Ralph Berres

von Wolfgang (Gast)


Lesenswert?

Hallo Assembler,

ja, ich habe mich schon mit µC AT 89C2051 befasst und auch eigene 
Lösungen entwickelt. Da wurden aber immer Ports eingelesen oder 
beobachtet und entsprechenfde Funktionen daraus abgeleitet.

Der Hall Sensor wird mit Spannung versorgt und die Signalleitung gebe 
ich auf einen Port.

Nur mit welchen Befehlen ich das Hall Signal einlese und verarbeite ist 
mir unklar.

Gruß
Wolfgang

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Dann beschäftige dich mal mit den Timern. Grundsätzlich sehe ich 2 
Lösungswege:
* Das Hallsignal geht an T0 oder T1 und zählt einen Counter hoch (ext. 
Clock Modus). Der andere Timer liest bei Overflow den Counter. Der vom 
Counter gelesene Wert entspricht der Geschwindigkeit. Dann setzt die 
Routine den Counter zurück.
* Das Hallsignal löst einen Interrupt aus (INT0 oder INT1) und setzt 
einen freilaufenden Timer zurück. Die Overflow ISR des Timers detektiert 
eine sehr langsame Geschwindigkeit oder Stillstand.

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Ich würde für dieses Vorhaben auch lieber einen µC nehmen als ein 
einfaches Monoflop. Deine Beschreibung hört sich nach einer Alarmanlage 
an. Ein Monoflop hört schon mal gern das "Gras wachsen". Nichts ist 
schlimmer bei einer Alarmanlage als Fehlalarme! Ein µC kann besser auf 
Plausibilität prüfen und hat zusätzliche Helfer: watchdog, Brown-Out.

Den 89C2051 hätte ich nicht genommen, weil er die letztgenannten 
Features nicht besitzt. Außerdem ist er blöd zu programmieren (extra 
Programmer) und läuft ohne Quarz nicht. Den Mehraufwand kann man sich 
mit einem kleinen PIC oder AVR Tiny sparen. Was man nicht aufbauen muß, 
geht auch nicht kaputt.

Orlov schrieb:
> ..ich hätte aber gerne Assembler!!

Dann schreib doch den Quelltext!
Ich schaue dann drüber und sage: das ist gut, das ist schlecht, und hier 
könntest Du noch etwas besser machen.

von Wolfgang (Gast)


Lesenswert?

Hallo Route 66,

abgesehen davon, dass ich da auch mal gerne mit meiner 1200C entlang 
knattern würde.....wird aber nichts, ist zu teuer, da bleiben nur die 
Dolomiten und Gardasee, aber auch nett.

Es geht nicht um eine Alarmanlage, sondern um einen Oldtimer der 
konstruktiv immer im 2. Gang Automatik anfährt. Bei Kick down 
(Magnetschalter an der Automatik) im ersten Automatik Gang mit 
quitschenden Reifen. Ein elektrischer Handschalter bei jedem Anfahren 
wäre eine schlechte Lösung. Eine Überwachungsschaltung muss erkennen, 
der Wagen steht, dann kommt der "Magnetschalter".

Was mir fehlt ist der Quelltext für die Abfrage des Hall Sensors. Wäre 
es dir möglich mir die paar Zeilen zu schreiben?

Gruß
Wolfgang

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wolfgang schrieb:
> ja, ich habe mich schon mit µC AT 89C2051 befasst und auch eigene
> Lösungen entwickelt. Da wurden aber immer Ports eingelesen oder
> beobachtet und entsprechenfde Funktionen daraus abgeleitet.

Das ist nur eine sehr schwache Ausrede. Jeder, der sich ernsthaft mit MC 
beschäftigt, muss früher oder später mit Timern arbeiten und nicht nur 
wenn-dann Probleme lösen.
Wenns daran scheitert, nimm doch das Monoflop in Hardware.
Nur wenige MC sind besser dokumentiert als die MCS51 Serie. Tausende von 
Artikeln und Codeschnipsel sind einfach im Internet zu finden.
Und ich habe dir bereits 2 Lösungswege ohne Anspruch auf Vollständigkeit 
gepostet, mit diesen Stichworten und dem Datenblatt des MC kann es 
losgehen.

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

>Mit einem AT 89C2051 möchte ich nur erkennen, ob das Fahrzeug steht,
>also nicht fährt. Kann mir bitte jemand erklären, wie ich das im
>Assembler mache.

Die einfachste Möglichkeit ist: Du schaust Dir die Räder an.

Eine weitere währe: Du definierst irgendwo den Stillstand (Ticks pro 
Tack) und schaust ob genauso viele oder mehr Impulse pro Zeiteinheit 
vorbeischauen.

Ein winziges Problem bleibt: Definierst Du einen Tick pro Jahr als 
Stillstand, so dauert es ein wenig, bis das Ergebnis vorliegt.

von Wolfgang (Gast)


Lesenswert?

Hallo,

gut gemeinte Ratschläge, aber leider nichts was nichts weiter bringt.

Andere Frage, so ein Tachogenerator bringt vermutlich ein positives 
Rechtecksignal entsprechend der Umdrehungen. Bedeutet das im 
Umkehrschluss, dass bei Stillstand ein amplitudenfreies positives Signal 
ausgegeben wird?

Beste Grüße
Wolfgang

von Werner M. (Gast)


Lesenswert?

Wolfgang schrieb:
> Bedeutet das im Umkehrschluss, dass bei Stillstand ein amplitudenfreies
> positives Signal ausgegeben wird?

Das kommt wahrscheinlich drauf an, bei welchem Drehwinkel der Geber 
steht. Was spricht eigentlich dagegen, ein Messgerät in die Hand zu 
nehmen und sich das Signal mal an zu sehen?

von Wolfgang (Gast)


Lesenswert?

Hallo Werner,

dagegen spricht ein nicht vorhandener Sensor. Es erscheint mir nicht 
sinnvoll einen VDO Sensor für ca. 100 Euro zu kaufen, wenn ich keinen 
Lösungsweg sehe.

Gruß
Wolfgang

von Werner M. (Gast)


Lesenswert?

Wolfgang schrieb:
> dagegen spricht ein nicht vorhandener Sensor. Es erscheint mir nicht
> sinnvoll einen VDO Sensor für ca. 100 Euro zu kaufen, wenn ich keinen
> Lösungsweg sehe.

So ein Originalteil mit schönem Gehäuse hat schon was - zumindest seinen 
Preis, wenn man bedenkt, dass solche Dinger mit einem Hall-Sensor, 
minimalistischer Auswerteelektronik und einem Permanentmagneten vom 
Zulieferer für wenige Euros kommen ...

Ohne Gehäuse gibt es die Sensorik für deutlich unter 10€ (z.B. ebay 
171864923443)

von Wolfgang (Gast)


Lesenswert?

Hallo Werner,

verhält sich das eBay Ding genauso wie ein VDO Hall Sensor im Stand?

Gruß
Wolfgang

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.