Hardware
Drucksensor
Umrechnung von verschiedenen Druckparametern:
|
PSI |
In. H2O |
In.Hg |
kPa |
mBar |
cm H2O |
mm Hg |
PSI |
1,000 |
27,680 |
2,036 |
6,8947 |
68,947 |
70,308 |
51,715 |
In H2O |
0,036127 |
1,000 |
0,073554 |
0,2491 |
2,491 |
2,5400 |
1,8683 |
In.Hg |
0,4912 |
13,596 |
1,000 |
3,3864 |
33,864 |
34,532 |
25,400 |
kPa |
0,14504 |
4,0147 |
0,2953 |
1,000 |
10,000 |
10,1973 |
7,5006 |
mBar |
0,01450 |
0,4147 |
0,02953 |
0,100 |
1,000 |
1,01973 |
0,75006 |
cm H2O |
0,014223 |
0,3937 |
0,028958 |
0,09806 |
0,9806 |
1,000 |
0,7355 |
mmHg |
0,019337 |
0,53525 |
0,039370 |
0,13332 |
1,3332 |
1,3595 |
1,000 |
at |
|
|
|
98,1 |
981 |
|
|
atm |
|
|
|
101,3 |
1013 |
|
760 |
1Pa = |
1bar = 105 Pa = 100 kPa |
techn. Atmosphäre |
Physik. Atmosphäre: |
|
Alle Werte gelten für Luftdruck auf Meeresniveau
Wahl des Drucksensors
Unser Drucksensor soll einen Wasserstand bis 5m messen können. Das bedeutet, daß der Drucksensor zumindest einen Druck bis 500mBar messen können muß.
Unser Drucksensor muß außerdem ein Differenzdrucksensor sein, der nur den Druck der Wassersäule mißt, damit eventuelle Luftdruckschwankungen nicht in die Messung mit eingehen. Bei einem Absolutdrucksensor würde eine Luftdruckschwankung von 25mBar bereits einen Fehler von 5% oder 25 cm erzeugen.
Wir verwendeten den Differenzdrucksensor SPX50 der Firma Sensym (siehe Datenblatt).
Funktionsweise des Drucksensors
Der Drucksensor funktioniert als Wheatstone-Brücke. Wenn an den Sensor Druck angelegt wird, dann ändern sich die Widerstände um einen bestimmten Betrag. Die ausgegebene Spannung, ist direkt proportional zum angelegten Druck.
Die Spannung ändert sich um etwa 1mV/kPa.
Dimensionierung der Stromquelle (LM334)
Der Eingangswiderstand des Drucksensors (Meßbrücke) ändert sich mit der Temperatur. Deshalb wird die Brücke mit einer Stromquelle versorgt, die den Temperaturkoeffizient der Brücke kompensiert.
Temperaturkoeffizient der Brücke:
Temperaturkoeffizient der Stromquelle:
Der Widerstand R5 dient zur Verringerung des Temperaturkoeffizienten der Stromquelle. R6 dient zur Einstellung des Brückenstromes.
Für VS = 5V und VB = 3V ergeben sich für R6 = 16.9W und R5 = 866W
Dimensionierung des Differenzverstärkers
Der Differenzverstärker soll die maximale Eingangsspannung, die vom Drucksensor kommt, soweit verstärken, daß bei Maximaldruck fast 5V am ADC anliegen.
U+=UR4+URef
Eingesetzte Werte:
R1=100kW
R2=10kW
R3=10kW
R4=100kW
Uref = 0V T RGAIN ist ein 2k Potentiometer T
Software
FluSSdiagramm
Programm
;§§§§§§§§§§§ I C Slave Transmitter §§§§§§§§§
mit ADC §§§§§§§§§ stadc.asm
;§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ 11:57 23.03.1998
GESAMT DATA 30h
LOWTIME DATA 31h
WERT DATA 32h
BITNR data 2eh
DAT bit 01h
SDA bit p1.7
SCL bit p1.6
; ** ** ** ** *********** ISR ** ** ** ** ** ** *
ORG 800Bh ;Interrupt Timer 0
JMP MESSUNG ;Interrupt alle 256us für Messung
; ** ** ** ** ****** Hauptprogramm ** ** ** ** **********
ORG 8100h
INIT: ANL TMOD,#0h ;Timer 0 auf Mode 0
ANL TCON,#10101111b
SETB EA ;Interrupts enablen
SETB ET0 ;Enable Timer 0 Interrupt
SETB TR0 ;Starte Timer 0
S1: JNB SCL, S1 ;Startbedingungserkennung
JNB SDA, S1
S2: JB SDA, S2
JNB SCL, S1
S3: JB SCL, S3 ;Warten, bis SCL LOW
CLR TR0 ;Timer1 disablen
CALL START ;Beginne Übertragung
SETB TR0 ;Timer0 enablen
JMP S1
; ** ** ** ** ***** Unterprogramme ** ** ** ** *********
; ; ; ; ;; UNTERPROGRAMM Rechnung ; ; ; ; ;;;;;
RECHNUNG: MOV B,GESAMT ;Algorithmus zur Berechnung des ADC Wertes
MOV A,LOWTIME
DIV AB
MOV A,B
MOV WERT,A
RET
; ; ; ; ;; UNTERPROGRAMM Messung ; ; ; ; ;;;;;;
MESSUNG: INC GESAMT
JB P1.5,WEITER
INC LOWTIME
WEITER: MOV R0,GESAMT
CJNE R0,#0FFh,WEITER1
CALL RECHNUNG ;Berechnung des Meßwertes
MOV GESAMT,#00h
MOV LOWTIME,#00h
WEITER1: RETI
; ; ; ;;;;; UNTERPROGRAMM I2C Übertragung ; ; ; ; ;;
START: MOV BITNR, #8h ;Hilfszähler
;----- ----- ------- ADRESSE einlesen ----- ----- -----------
NBIT: SETB SCL
CHK: JNB SCL, CHK ;(SCL Vorbereitung abfragen)
MOV C, SDA
CLR SCL ;SCL LOW (Taktsynchronisation)
NOP
NOP
RLC A ;store Bit
DJNZ BITNR, NBIT ;Hilfszähler wird dec und Überprüfung ob 8. Bit erreicht
MOV R0, A ;Adressbyte speichern
MOV BITNR, #8h ;Hilfszähler reset
CJNE R0,#10010111b,ENDE
ACK: CLR SDA ;ACK: SDA Low; Takt durch Master
MOV A, Wert ;Senderegister init.
SETB SCL ;SCL wird freigegeben
WAITH: JNB SCL, WAITH
WAITL: JB SCL, WAITL
SETB SDA ;Wenn SCL wieder LOW: SDA wird freigegeben
;----- ----- --------- Byte Senden ----- ----- --------------
NBITS: SETB SCL ;SCL wird freigegeben
CHKS: JB SCL, CHKS ;(SCL Vorbereitung abfragen)
CLR SCL ;SCL LOW (Taktsynchronisation)
NEXT: RLC A ;get Bit
MOV SDA, C ;send Bit
DJNZ BITNR, NBITS ;Hilfszähler wird dec und Überprüfung ob 8. Bit erreicht
MOV BITNR, #8h ;Hilfszähler reset
SETB SCL
F: JB SCL, F
SETB SDA
ENDE: RET
end
Schaltung u. Stückliste
Stück |
Bauteil |
Wert |
Bezeichnung im Schaltplan |
6 |
Widerstand 1/4W |
100kW |
R1, R4, R7, R8, R11, R12 |
4 |
Widerstand 1/4W |
11kW |
R2, R3, R13, R15 |
1 |
Widerstand 1/4W |
866W |
R5 |
1 |
Widerstand 1/4W |
16.9W |
R6 |
1 |
Widerstand 1/4W |
3,3kW |
R14 |
1 |
Potentiometer |
2kW |
P1 |
1 |
4-OPV Maxim MXL1014CN |
|
IC1 |
1 |
Atmel mC AT89C2051 |
|
ATMEL |
1 |
SMD Invertierer NC7ST04 |
|
U1 |
1 |
Kunststoffkondensator |
6,8nF |
C1 |
2 |
Keramikkondensator |
30pF |
C2, C3 |
1 |
Quarz |
11,059MHz |
X1 |
1 |
Drucksensor MPX50DP |
|
|
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen