www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TLE4998 - 5V/10V Schnittstelle über 7810?


Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, ich meinte nicht 7810 sondern 7805!

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee? kann man das so machen?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort :)

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

> Mit dem Kap am 7805 Ausgnag stellst Du Dir die Flanke ein, wenn nötig
> mit niedrigem Vorwiderstand.
Aha! Vielleicht sind meine Flanken gar nicht steil genug. Habe einen 
10µF C hinter dem 7805 und keinen R...

lg pk

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm aber dann brauche ich ja 2 Pins am µC?

Und die Version die ich im 1. Post beschrieben habe funktioniert nicht?
(SCL des µCs an Masse des 7805, Out des 7805 an SCL des Sensors)

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hmm aber dann brauche ich ja 2 Pins am µC?

Mit ein bißchen nachdenken und zusätzlichen Transen
geht das auch mit einem Pin.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler und geschalteter OpAmp bzw. Multiplexer.
Oder ein LM317 dessen Spannungsteiler geschaltet wird. Oder oder.

Wie sieht denn die Vorgabe vom Hersteller aus? Der muß sich ja auch an 
irgendwas orientiert haben und zumindest eine Applikation mit einem 
Controller kennen. Mal fragen.


Gruß -
Abdul

Autor: itsmee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/Operations...

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).

Autor: itsmee (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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) :-)

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

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.