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
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
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
>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.
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)
>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.
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
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).
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) :-)
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.