Hallo,
ich habe google und das forum schon durchsucht, aber nirgends eine antwort auf mein problem erhalten.
ich habe ein kty10 Temperatursensor an meinen ADC gehangen.
aufbau: 5V -> R -> ADC -> Kty10 ->GND
Habe das mal schnell mit nem 2200ohm vorwiderstand ausgerechnet und da müssten am adc ca 2,62V ankommen. das passt auch.
in meinem zimmer sind 21° (Kty = 2003ohm), zeigt der adc ca 896 an. wenn ich den sensor in der hand halte, steigt er auf 901. das sind 5 schritte, bei 0,0048V auf lösung sind das aber nicht viel, oder???? das wären ja pro schritt 3°, ne ziehmlich bescheidene auflösung.
wie kann ich das verbessern????
Ach ja Aref liegt bei 5V. (bit wandler also max 1023.
hier mal mein testprogramm (ist noch nicht speziell für temperatur sondern zeigt erstmal nur die spannung an). ausserdem hat es noch ne leuchtbalkenanzeige. so mal als test.
thx for helpCode:$regfile = "m16def.dat" $crystal = 8000000 '******************* AD-Wandler *********************** Config Adc = Single , Prescaler = Auto , Reference = Internal '******************* LCD Display ********************** Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Portc = Output Portc = &B11100111 Start Adc Dim Wert As Word , Channel As Byte , Spannung As Single Channel = 0 Do Wert = Getadc(channel) Spannung = Wert * 0.0048875855 Cls Locate 1 , 1 Lcd "Volt: " ; Spannung ; " V"; Locate 2 , 1 Lcd "ADC: " ; Wert ; If Spannung => 0.625 Then Portc.0 = 0 Else Portc.0 = 1 End If If Spannung => 1.25 Then Portc.1 = 0 Else Portc.1 = 1 End If If Spannung => 1.875 Then Portc.2 = 0 Else Portc.2 = 1 End If If Spannung => 2.5 Then Portc.3 = 0 Else Portc.3 = 1 End If If Spannung => 3.125 Then Portc.4 = 0 Else Portc.4 = 1 End If If Spannung => 3.75 Then Portc.5 = 0 Else Portc.5 = 1 End If If Spannung => 4.375 Then Portc.6 = 0 Else Portc.6 = 1 End If If Spannung => 4.95 Then Portc.7 = 0 Else Portc.7 = 1 End If Waitms 500 Loop End







Zitieren

Lesezeichen