TLE4998 - 5V/10V Schnittstelle über 7810?

OP Persönliche Seite #1403617
Lesenswert?

Hallo zusammen,

ich möchte meinen Infineon TLE4998 Hallsensor über sein TwoWireInterface 
mit meinem ATMega8 auslesen.
SDA ist Low=0V / High=5V - aber SCL liegt an VDD des Sensors und wird 
mit Low=5V / High=10V betrieben.

Mein Lösungsansatz war, einen 7810 zu verwenden, dessen Eingang mit den 
praktischerweise vorhandenen 24V, Ausgang mit der SCL des Sensors und 
Masse mit der SCL des µCs (0V/5V natürlich) zu verbinden.

Murphys Law hat seine Gültigkeit bewiesen und es funktioniert erstmal 
nicht.

Meine Frage ist jetzt: Liegt das an meiner Schaltung, oder an meiner 
Programmierung?

Im Anhang das Programming-Guide des Sensors. Auf Seite 12 stehen Infos 
zu Spannung und Timing.

Gruß,
pk
Angehängte Dateien:
Gast #1416655
Lesenswert?

Hi,
Du könntest einen 7805 nehmen und den GND Pin über eine 5,1V Zener
Diode an MCU Masse legen, damit ziehst Du Dir den 7805 Ausgang ebenfalls
nach oben. Parallel zu der Zenerdiode CE eines NPN Transistors, die 
Basis über Vorwiderstand an MCU Output.
"L" --> 10V an Vdd
"H" --> 5V an Vdd

Mit dem Kap am 7805 Ausgnag stellst Du Dir die Flanke ein, wenn nötig 
mit niedrigem Vorwiderstand.

Grüße,

Alex
Gast #1416785
Lesenswert?

>Aha! Vielleicht sind meine Flanken gar nicht steil genug. Habe einen
>10µF C hinter dem 7805 und keinen R...

Nimm einen 7805 und einen 7810.
5V und 10V schaltest du dann jeweils per PNP Transe drauf.
Gast #1423501
Lesenswert?

Wenn man Daten aus dem Teil auslesen will (also als Sensor verwenden 
möchte), einfach den Datenpin an eine Capcom-Unit (mit Pullup versehen) 
angängen. Thats all! Bestenfalls noch ein paar Schutzelemente, nur zum 
Basteln reichen aber 100nF auf Vdd und 1nF + 2k2 Pullup am Datenpin.

Der P-Typ hat einen Standard-PWM-Ausgang und liefert Magnetfeld, der 
S-Typ hat ein digitales SENT Interface (SAE J271, der Standard wird in 
modernen Autos statt den guten alten Analogsensoren verwendet) und 
liefert Magentfeld + Temperatur.

Applikationsschaltung und wie die Daten zu interpretieren sind steht in 
der Produktspec.

Das o.g. Interface ist nur das Programmier-Interface(!) da wirst kaum 
eine "offizielle" Applikationsschaltung der Ansteuerung finden. Ist 
nicht für den Normalbetrieb, sondern nur für EOL-Programming 
(end-of-line) gedacht (und Infineon liefert Tools+Support für 
"Professionals" dazu).

Es gibt Programmer+Software z.B. von Hitex zu kaufen (kriegt man glaube 
ich auch auch bei Farnell, ...), die macht dann auch den TC-Abgleich des 
Sensors u.s.w.  By the way, den 7805 so zu verschalten und den Takt 
darüberzulassen wird nicht gut gehen. Die Pegel müssen sauber und ohne 
Über/Unterschwinger erzeugt werden. Der "richtige" Programmer verwendet 
da DACs mit Leistungs-Opams und kann damit 0...25V oder so beliebig 
erzeugen (ist ein Universalprogrammer für diverse Sensoren von denen).

Klar, die Lösung ist nichts für den kleinen Geldbeutel - weil nicht für 
Bastler sondern für Laboreinsatz gedacht (wird auch wie ein Messgerät 
kalibriert ausgeliefert)...

Alternative:

Statt dem "echten" Dac kann man eine R-Leiter mit OPV verwenden (einfach 
mal google anwerfen oder hier

http://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Der_Addierer_.28Summierverst.C3.A4rker.29

beginnen).

Mehr als 1 Pin pro Sensoreingang wird zum "ordentlichen" Programmieren 
aber immer nötig sein, da man folgendes schalten muss: Vdd = 0/5/10V, 
Vout = 0/5/19.3V (die 19.3V müssen zudem recht genau sein).
Gast #1423515
Lesenswert?

Ein Dokument, welches 2 Anwendungen zeigt:
- Positionssensorik
- Stromsensorik

Beide verwenden "1-Draht" Kommunikation, also nur 1 Datenpin am µC 
nötig. Durch Open-Drain kann man den Sensor auch problemlos auf einem 
3.3V oder 5V uC betreiben (einfach den Pullup gegen die uC-Versorgung), 
während der Sensor z.B. an einem Akku oder Netzteil direkt (bis 16V ist 
erlaubt) hängt - im Auto könnte das die Autobatterie sein. Mit dem neuen 
SPC Typ (ein Addon zu SENT) kann man auch bidirektional dem  Sensor den 
Messbereich einstellen (wichtig bei Stromsensoren, damit man kleinere 
Ströme genauer messen kann).

Auf der Infineon-Seite findet man noch mehr...
Die Specs stelle ich nicht hier her - kann sich jeder selbst holen (die 
sind auch deutlich größer) :-)
OP Persönliche Seite #1427120
Lesenswert?

hallo zusammen

ich war eine woche in italien, tut mir leid.

also ich bräuchte das programmier-interface, weil ich darüber den wert 
der hallsonde nochmal um 4 bitsgenauer kriege (16Bit TWI statt 12Bit 
PWM) und zusätzlich noch die Sensortemperatur auslesen kann. Außerdem 
muss ich den Messbereich erstmal einstellen können, was sich aber auch 
"temporär", ohne speicherschreiben, machen lässt. (ich glaube die 19,3V 
waren zum Speicherbeschreiben?)

Das mit der DAC Thematik werde ich mir nochmal genauer ansehen.

lg pk
Gast #1439188
Lesenswert?

Hallo PK,

Du hattest geschrieben:

> "L" --> 10V an Vdd
> "H" --> 5V an Vdd
Der Sensor möchte aber 10V für High und 5V für Low.

--> dann invertier doch das Bit bevor Du es ausgibst :))
Also bei mir hat das Prinzip funktioniert, allerdings war das der 
TLE4990.

Grüße,

Alex
OP Persönliche Seite #1492188
Lesenswert?

Hi

Sorry, ich muss das jetzt doch nochmal aufwärmen.
Ich hab die Platine auf doppelt so viel Platz neu aufgebaut und
festgestellt, dass es dann plötzlich funktioniert hat, genau so, wie ich
es mir vorgestellt hatte - mit dem 7805 zwischen SCL(µC) und
SCL(Sensor).

Jetzt habe ich allerdings folgendes Problem: Ich muss dem Sensor einen
Power-On-Reset geben können. D.h. einfach Vdd auf 0V ziehen.
Ich dachte mir, kein Problem, hängst du halt einen NPN in die Leitung
als Schalter rein.
Hat nicht funktioniert. Dann hab ich mal einen PullDown Widerstand gegen
0V zwischen  Transistor und Sensor gelegt. Geht auch nicht. Und ich hab
einfach keine Ahnung warum...

Funktioniert das so, wie ich es im Anhang gezeichnet habe, nicht? warum
nicht?

lg, pk
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren