Hallo Forum, ich habe einen uC der an 5V betrieben wird. Nun möchte ich einen Sesor anschließen der eine Betriebsspannung von 2,2-3,6V hat. gibt es eine Möglichkeit, die Ausgänge des uC so zu programmieren, damit ich an einem Ausgang 3V entnehmen kann (DA/Ausgang)? Oder benötige ich immer einen LM317? vielen Dank im voraus
Miriam schrieb: > gibt es eine Möglichkeit, die Ausgänge des uC so zu > programmieren, damit ich an einem Ausgang 3V entnehmen kann Ja, n simpler Spannungsteiler aus 2 Widerständen genügt.
ja, das weiß ich. Sind aber wieder 2 Widerstände die man verlöten muss ;-) eine andere Möglichkeit, gibt es da nicht?
Du hast 2 Baustellen: 1. Versorgung des Sensors: Dazu brauchst Du einen Spannungsregler. Welcher geeignet ist, hängt von der verfügbaren Quelle ab. Aus +5V +3V zu machen geht allerdings mit dem LM317 nicht. Dazu brauchst Du einen LDO (low-drop-regulator). Ein µC-Ausgang ist dafür ungeeignet. 2. Pegelanpassung der Sensorsignale. Von +5V nach +3V reicht normalerweise ein Spannungsteiler. Von +3V nach +5V ist es schwieriger. Dazu gibt es verschiedene Lösungen. Für die beste/einfachste Lösung ist auch entscheidend: - welche Versorgunsspannungen stehen zur Verfügung - Stromverbrauch des Sensors - was für eine Schnittstelle hat der Sensor - Geschwindigkeit des Datenaustauschs Sag doch mal, welchen Sensor Du an welchen µC hängen willst. Gruß Dietrich
:
Bearbeitet durch User
ATMega 32 und folgender Sensor: http://www.pollin.de/shop/dt/MDg4OTgxOTk-/Bausaetze_Module/Module/Luftdruck_Modul_HP03S.html
Für das I2C Interface würde sich ein (bidirektionaler) Logik Level-Shifter anbieten. Entweder besorgst du dir einen entsprechenden Level-Shifter Chip oder baust eine kleine Schaltung mit 2 MOSFETs auf, die die Spannungen stiftet, wie hier dargestellt: http://playground.arduino.cc/uploads/Main/i2c-level-shift-mosfet.png Grüße Max
Hallo, die HP03 gibt ja noch, habe ich hier seit ein paar Jahren im Einsatz. Spannungsregler wäre ein LP2950 möglich, da aber dann 33k Widerstand am Ausgang als Mindestlast ranhängen. MCP1702 ist auch gut. Falls es nicht auf minimalen Stromverbrauch ankommt einen 78L33. Der Sendor hat I2C als Bus. Bi-direktionale Pegelwandler sind also nötig. Oder einfach den Mega32 mit 3,3V betreiben, wenn das keine anderen Probleme macht. Viel Spaß, falls Du die Software selber programmieren willst, nette Rechnerei bei den Luftdrucksensoren, hat mich damals ziemlich beschäftigt. http://www.avr.roehres-home.de/sensoren/i_druck_sensor.html Gruß aus Berlin Michael
warum so kompliziert? ich benötige nur ca. 3V dann würde ich doch den Spannungsteiler bevorzugen. warum benötige für einen I2C Anschluss einen bidirektionaler Logik Level-Shifter?
Miriam schrieb: > ich benötige nur ca. 3V > dann würde ich doch den Spannungsteiler bevorzugen. Weil ein Spannungsteiler, der belastet wird, keine stabile Spannung erzeugen kann. Beschwerden sind an Herrn Ohm zu richten, der das gleichnamige Gesetz eingeführt hat. Georg
Miriam schrieb: > warum benötige für einen I2C Anschluss einen bidirektionaler Logik > Level-Shifter? Du hast ja einen uC, der mit 5V läuft, also auch mit 5V über I2C kommuniziert. Der Sensor funktioniert aber (wahrscheinlich) nur mit 3.3V I2C, d.h. verträgt der Sensor die 5V vom uC nicht. Deshalb muss das "5V-I2C", das vom uC kommt, auf "3.3V-I2C" "runtergeshiftet" werden. Andersherum muss das "3.3V-I2C" vom Sensor in "5V-I2C" "hochgeshiftet" werden, da der uC mit "5V-I2C" kommuniziert. -> Bidirektionales Level-Shifting Max
Hallo, I2C hat OpenCollektor-(OpenDrain-)-Ausgänge, weil beide Seiten sowohl SDA als auch SCK auf Low ziehen dürfen und können müssen. Das wird Dir mit einem Spannungsteiler allein nicht gelingen. Mit der Betriebsspannung ist es ähnlich. Die Stromaufnahme kann beim HP03 um den Faktor 500 schwanken (1µA im StandBy, 500µA bei Wandlung. Du kannst ja den Spannungsteiler mal berechnen, der Dir unter diesen Umständen eine stabile Spannung für den HP03 liefert. Stabil heißt hier nicht, daß sie innerhalb der zulässigen 2,2V bis 3,6V des HP03 liegen muß, sondern daß sie sich nicht merklich ändern darf, wenn er von StandBy auf Wandlung schaltet. Man kann den HP03 mit z.B. 2,8V betreiben. Logik-ICs haben meist wenig Verständnis dafür, wenn sich Spannung während des Betriebes plötzlich um einen größeren Wert ändert. Die machen dann meist, was sie wollen... Hast Du Dir das Datenblatt des HP03 schonmal angeschaut? Gruß aus Berlin Michael
Miriam schrieb: > ich habe einen uC der an 5V betrieben wird. Spricht denn irgend etwas dagegen, den Mikrocontroller mit 3,3V zu betreiben? Frank
das habe ich mir auch gedacht. Naja, hab den Controller an dem USB Port meines Computers angeschlossen. Außerdem kann ich den dann an meiner Poerbank betreiben. Mir wird wohl nichts anderes übrig bleiben. Man lernt eben nie aus ;-)
Kannst du uns noch sagen, ob du deinen ATMega 32 auf einem Steckbrett aufgebaut hast, oder ist das ein fertiges Entwicklungsboard? Wenn du einen Spannungsregler für µC + Sensor verwendest, dann kannst du beides trotzdem noch am USB port betreiben. Halt mit einer Wandlung von USB -5V--> 3.3V Alex
Um einen Spannungsregler wirst du nicht herum kommen. Ob du nun µC und Sensor oder nur den Sensor mit 3V betreibst bleibt dir überlassen. Wenn du nur den Sensor mit 3V betreibst spricht nichts dagegen die PullUp-Widerstände an die 3V zu legen. Der µC erkennt die 3V eindeutig als high.
Hubert G. schrieb: > Der µC erkennt die 3V eindeutig > als high. Hi, Das ist etwas mutig. 3,3V wäre besser und dann vielleicht bei 100kHz belassen und nicht Vollgas geben. Von 5 auf 3,3V reicht es, die Pullups an 3,3V zu legen. Michael U. schrieb: > Falls es nicht auf minimalen Stromverbrauch ankommt einen 78L33. Kein so guter Tip, das geht nur mit Glück. LP2950-3.3 ist da schon besser. Mindestlast braucht der nicht aber ist etwas wählerisch bei der Beschaltung mit C's -> Datenblatt lesen. Gruß, Norbert
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.