mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hallsensor TLE4976L an Atmega8


Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte den TLE4976L Hallsensor (Datenblatt 
http://www.infineon.com/dgdl/TLE4976xData20Sheet_2...) 
zusammen mit einem ATMega 8 Mikrocontroller verwenden. Dabei denke ich 
an die im Datenblatt vorgeschlagene Beispielschaltung um den vom Sensor 
ausgegebenen Strom in eine Spannung umzusetzen und diese als Eingang für 
den Mikrocontroller zu verwenden.

Jedoch heißt es im Datenblatt

This gives a typical signal voltage level VSIG of 0.8 V in the Off state 
and 1.4 V in the On state.

Ich vermute, dass das ein Problem am Mikrocontroller gibt, da dies keine 
eindeutigen 0 und 1 Zustände sind (zumindest kommt mir die Hysterese 
zwischen "On" und "Off" sehr gering vor). Habe ich da ein generelles 
Verständnisproblem oder hat jemand einen Vorschlag wie ich konkret für 
diesen Sensor vorgehen sollte?

Vielen Dank!

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ob das ein problem darstelle kann ich dir auch nicht sagen - ich mach 
PIC.
Steht eigentlich alles im Datenblatt was für die verschiedenen Inputs 
high / low bedeutet (min  max  avg). =>> Datenblatt lesen / google . 
Findet sich meist bei den Tabellen am Anfang wo Vcc / Temperatur, etc. 
angegeben ist.

Ansonsten braucht man eine Komparator. Der hat dann eindeutig 0 bzw. 5V 
am Ausgang - Schwellspannung einstellbar (dafür nimmt man dann meist ein 
Poti).
Auswendig fällt mir da z.B. der LM311N ein - wenn mich nicht alles 
täuscht ist das ein waschechter Komparator. Mal Tante Guuuugl Befragen

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnelle Antwort.

Der Tipp mit der Temperatur war sehr hilfreich, denn ich hatte natürlich 
bereits im Datenblatt nachgeschaut, war aber nicht fündig geworden.

Also für Vcc = 5V ergibt sich
V_inputlowmax ist 0.2*Vcc = 1 V
V_inputhighmin ist 0.6*Vcc = 3 V

Dementsprechend lag ich mit meiner Vermutung gar nicht so falsch. Nur um 
ein Missverständnis auszuschließen: Ich kann durch beliebige Wahl des 
Widerstands R_L wie er im Datenblatt des Sensors angegeben ist die 
gewünschte Differenz von V_inputlowmax und V_inputhighmin nicht 
herstellen, da ja der jeweilige Strom durch den Sensor vorgegeben ist?

Danke auch für den Tipp mit dem Komparator. Gäbe es eine Alternative mit 
dem Mikrocontroller die Zustände Strom_an und Strom_aus zu 
unterscheiden, da ich gerne einen weiteren IC in meiner Schaltung 
vermeiden möchte?

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch ein wenig recherchiert:

Wäre es eine Möglichkeit mit einem geeigneten Widerstand den Sensor auf 
einen der AD-Eingänge des uC zu führen und dann eben über einen 
einfachen <>-Vergleich einen gewissen Spannungswert am Sensor als 0 und 
ab einem anderen Spannungswert 1 zu definieren?

Könnte es da für diesen Sensor andere Probleme geben, an die ich jetzt 
nicht denke? (Ich bitte mir die grundsätzlichen Fragen nachzusehen, ich 
stehe noch ein wenig am Anfang der uC Programmierung)

Autor: Halli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo was möchust genau machen bitte ?
Einen Stom mit einem Hall- Sensor messen ?
Dafür wäre der ungeeignet, da das nur ein Hall- Schalter ist d.h.
bei einer bestimmten Feldstärke ein und einer anderen Feldstärke aus
schaltet (s. Datenblatt). Einen (analogen) Strom kanst Du damit nicht 
messen !

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Es reicht ein Widerstand. Der Sensor hat ein Is von 6mA im Low- und 14mA 
im Highzustand. Ein AVR erkennt, bei VCC0=5V, L bis maximal 0,3VCC 
(1,5V) und H ab 0,6VCC (3V). Der RL (Figure 5) muss so dimensioniert das 
diese Pegel bei den Strömen erreicht werden:

  1,5V/6mA  = 250R
  3,0V/14mA = 187,5R

D.h. für RL gilt also 187,5R<RL<250R

Ein 220R-Widerstand sollte diese Bedingung erfüllen.

MfG Spess

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Nachtrag: Damit die minimale Versorgungsspannung des Sensors eingehalten 
wird
muss er mit mindestens 6V versorgt werden.

MfG Spess

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Halli:

ich dachte ich hätte das einigermaßen verständlich gemacht, es geht 
nicht darum Strom zu messen, sondern den resultierenden Strom des 
Hallsensors in brauchbare Zustände 0 und 1 zu wandeln, so dass der uC 
damit etwas anfangen kann. dazu folgende überlegung:

(@spess53)

eine ähnlich Rechnung hatte ich mir natürlich auch überlegt, nur sind 
bei mir die Parameter etwas anders. Ich habe im Datenblatt (wie oben 
geschrieben) für V_inputlowmax = 0.2*Vcc gefunden.
Dementsprechend ergibt meine Rechnung:

R_L*I_Low < 0.2 * Vcc -> R_L < 167 Ohm
R_L*I_High > 0.6 * Vcc -> R_L > 214 Ohm

na und da gibt es ja offensichtlich Probleme. Wäre also eine Lösung die 
AD Eingänge des uC zu wählen und so über einen beliebigen Widerstand 
(z.B. R_L = 200 Ohm) entsprechend alles unter 1.5 Volt als 0 und darüber 
als 1 zu interpretieren?

(und soweit ich das aus dem DB lese braucht man nur min. 6 Volt, falls 
man noch zusätzlich den Widerstand R_S einbaut, sonst reichen auch 3 
Volt)

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da musst du wohl den Preis für die 2-Drahtleitung zahlen...
(es gibt z.B. alternativ den TLE4905 mit Opencollektorausgang und 3 
Anschlüssen)

du kannst übrigens auch einen Comparator im Mega8 nehmen, dann musst du 
nicht auf denn Interrupt verzichten wie bei der AD-Wandlung

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Walter

leider kann ich den 3-drahtigen Sensor nicht nehmen, da ich einen 
hochsensiblen Sensor brauche (zumindest in Vergleich der Datenblattwerte 
scheint der TLE4976 da gut abzuschneiden, ausprobieren konnte ich es 
leider noch nicht..)
Danke für den Tipp mit dem internen Komparator. Da ich aber 4 Sensoren 
pro uC benutzen werde, ist das auch nicht optimal.

Oweia, das hatte ich mir einfacher vorgestellt..

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich habe im Datenblatt (wie oben geschrieben) für V_inputlowmax = 0.2*Vcc 
>gefunden.

In welchem Datenblatt?

MfG Spess

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Spess

Hier zum Beispiel auf Seite 242

http://www.atmel.com/dyn/resources/prod_documents/...

(Du hattest dich aber auch verrechnet, insofern wird das Fenster schon 
eng selbst wenn 0.3*Vcc als V_inputlowmax stimmen sollte und da sind 
Schwankungen beim Strom noch nicht berücksichtigt.

3,0V/14mA = 214 Ohm und nicht 187,5R )



Danke für die Bemühungen!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Nun dann ändert sich das zu:

167,5R<RL<250R

MfG Spess

Autor: Schimi Schimi (schimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

danke für die Hilfe zu dieser späten Stunde, aber einer von uns steht 
doch auf dem Schlauch (im Zweifel ich):

Ich hatte doch oben meine Rechnung aufgeschrieben:

R_L*I_Low < 0.2 * Vcc -> R_L < 167 Ohm
R_L*I_High > 0.6 * Vcc -> R_L > 214 Ohm

(R_L < 1V / 6 mA = 167 Ohm
 R_L > 3V / 14 mA = 214 Ohm)

Na und das geht offensichtlich nicht..

Autor: Halli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ist klar , habe ICH wohl nicht richtig verstanden, nachdem ich das 
Datenblatt nur flüchtig überflogen habe. Würde einen ADC nehmen für die 
Pegelanpassung oder evt. anderen Hall- Sensor (z.B. Micronas, 
Allegro)...

Autor: Schimi Schimi (schimi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe mir die verschiedenen Optionen durchgeschaut und denke, dass 
ein Comparator (extern) sicherlich die beste Lösung ist. Ich würde dazu 
den LM393 wählen und habe mal einen Schaltplan gezeichnet.

Meine Überlegungen waren folgende:
Ich vergleiche 5 Volt mit der Spannung die am Widerstand R1 abfällt:
Falls der Sensor low schaltet fließt I_L (= 6mA), falls er high schaltet 
I_H (=14maA).
Demensprechend gelten 2 Ungleichungen:

R1*I_L < 5V
R1*I_H > 5V

R_L = 590 Ohm sollte also passen. Auf die Eingänge Vcc+ und Vcc- des 
Comparators führe ich 5V und GND, so dass als SIGNAL 5V anliegen falls 
der Sensor schaltet und GND falls nicht..

Wäre nett wenn jemand kurz drüber schauen könnte!

Autor: Schimi Schimi (schimi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ich habe selbst schon einen Fehler entdeckt.. V+ und V- 
sollten wohl vertauscht sein, damit an V- immer 5V liegen und an V+ 
entsprechend ein Wert größer 5V falls der Sensor schaltet und kleiner 5V 
falls nicht.

Wie gesagt, es wäre glaube ich ganz gut wenn nochmal jemand drüber 
schauen könnte..

Dankeschön

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.