Luftdrucksensor mit I2C

OP #3496422
Hallo zusammen,
ich habe einen Luftdrucksensor HP03SA, dessen Spannungsbereich mit 2.2 
..3.6V angegeben ist. Mein ATMega arbeitet jedoch mit 5V (für andere 
Komponenten wichtig). Kann das trotzdem funktionieren, oder muss ich 
einen bidirektionalen Pegelwandler benutzen?

Vielen Dank im Voraus

Wolfgang
Gast #3496430
Ich weiss ja nicht ob Du zu den empfindsamen Seelen zählst. Daher frage 
ich mal höflich, ob Du erlaubst, dass man Dir den Rat gibt in das 
Datenblatt zu schauen?
#3496436
Die bessere Lösung wäre, den Mega auch mit 3,3 Volt zu betreiben. 5V ist 
out und wirst damit immer wieder genau diese Probleme bekommen. Gerade 
mit modernen Sensoren und neuen ICs. Die laufen alle mit 3,3 V aber 
viele davon nicht mit 5V und du bist dann dauernd am Pegelwandeln. 
Lieber umgekehrt. Die Anzahl der Komponenten mit 5V wird abnehmen.

Gerade I2C ist aufgrund der bidirektionalität nicht soo super zum 
diskreten Pegelwandeln mit Transistoren. Interessant vielleicht die 
ADUMs für I2C. Sind zwar auch fürs isolieren gedacht, aber das muss man 
ja nicht so nutzen. Damit lässt sich I2C sehr einfach pegelwandeln.

gruß cyblord
Gast #3496460
Hallo Wolfgang,

ich verwende den Luftdrucksensor BMP085 mit einer Betriebsspannung von 
3,3V direkt an einem ATMega 328P  mit 5V Betriebsspannung unter Bascom 
V2.0.7.6 ohne Probleme.

Mit zwei 10kOhm Widerständen sind SDA und SCL an der 3,3V-Versorgung des 
Luftdrucksensors angeschlossen, es entsteht also ein 3,3V-I2C-Bus.

Der I2C-Treiber darf aber den Mega nicht dazu veranlassen 5V in den 
I2C-Bus senden, sondern muss sich wie ein offener Kollektor verhalten.

Grus Allu
Gast #3841284
Schau mal hier
vielleicht hilft es ja.
Beitrag:
I2C TWI HP03S HH10D HYT939 Drucksensor Luftfeuchtesensor Beispiele 
ATmega8 Assembler

unter "Projekte & Code"
#3841681
Ich will an dieser Stelle mal auf den MPL3115 hinweisen. Der Vorteil 
gegenüber dem BMP085 / BMP180 ist, dass man keine Berechnungen selbst 
anstellen muss, vor allem im Bezug auf die Calibration Parameter, der 
Luftdruck wird direkt ausgegeben. Er hat sogar eine Altimeter-Funktion, 
welche sofort die Höhe in Meter ausgibt.

Eure ganzen Probleme bei der I2C-Ansteuerung von solchen Sensoren kann 
ich aber nicht nachvollziehen. Die Dinger laufen normalerweise nach 1 
Stunde Datenblattlektüre und programmieren zufriedenstellend.
#3841831
Ralf-Peter Grellmann schrieb:
> kannst Du den Code preisgeben ???

Hallo Grelli,

anbei ist der Programmausschnitt zum Drucksensor. Im ganzen Programm ist 
noch ein Feuchtesensor und anderes eingebunden.

Im BMP085-Programm habe ich das Beispiel aus dem Datenblatt in Bascom 
umgesetzt.

Eingebunden ist das BMP085-Bedienprogramm in etwa wie folgt:

regfile = "M328pdef.dat"               ' _Chip =  60
$crystal = 16000000

Initialisieren mit:
Gosub Bmp_init                      'Kalibrierwerte aus dem BMP085 laden

Messen mit:
Gosub Bmp_temperatur_messen
Gosub Bmp_druck_messen
Gosub Bmp_berechne_temperatur
Gosub Bmp_berechne_druck

Testanzeige:  '(!!!! Temperatur in 10-tel Grad)
Locate 2 , 1
Lcd "T:" ; Str(bmp_temperatur) ; " D:" ; Str(bmp_luftdruck)


Ich hoffe, Du kannst was davon verwenden.

Gruß Alex
Angehängte Dateien:
#3842696
Hallo Grelli,

gerade habe ich gesehen, dass von den Zeitmessungen noch "Set Test" und 
"Reset Test" drin steht. Da der Test-Pin in einem anderen Programmteil 
definiert ist, werden die beiden Zeilen dem Compiler nicht gefallen. 
Bitte einfach löschen.

Gruß Alex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.