Witam
W moim projekcie używam Atmegi8L do przetwarzania napięcia przesłanego z czujnika ciśnienia (MPX5700AP) i do wyświetlenia tej wartości na wyświetlaczu LCD. Jednak otrzymane wyniki sz bardzo rozbieżne i na pewno nieprzystające do rzeczywistości... (wyświetla od 30 do 70kPa)
Podejrzewam dwie rzeczy:
1) błędy w odpowiednim skonfigurowaniu przetwornika (zwłaszcza jeśli chodzi o napięcie odniesienia)
2) błędy w przeliczaniu danych z przetwornika
Poniżej zamieszczam schemat i kod programu, za wszelkie podpowiedzi będę wdzięczny
****
Wartości elementów:
C1,C2,C3=10 µF
R1=10 kΩ
****
W moim projekcie używam Atmegi8L do przetwarzania napięcia przesłanego z czujnika ciśnienia (MPX5700AP) i do wyświetlenia tej wartości na wyświetlaczu LCD. Jednak otrzymane wyniki sz bardzo rozbieżne i na pewno nieprzystające do rzeczywistości... (wyświetla od 30 do 70kPa)
Podejrzewam dwie rzeczy:
1) błędy w odpowiednim skonfigurowaniu przetwornika (zwłaszcza jeśli chodzi o napięcie odniesienia)
2) błędy w przeliczaniu danych z przetwornika
Poniżej zamieszczam schemat i kod programu, za wszelkie podpowiedzi będę wdzięczny
****
Wartości elementów:
C1,C2,C3=10 µF
R1=10 kΩ
****
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 1a
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2
Config Lcdpin = Pin , Db6 = Portd.1 , Db7 = Portd.0
Config Lcdpin = Pin , E = Portd.4 , Rs = Portd.5
Dim Wartosc As Word
Dim A As Single
Dim B As Single
Config Adc = Single , Prescaler = Auto , Reference = Off
Start Adc
Do
Cls
Wartosc = Getadc(0)
A = Wartosc * 700 'wartosc odczytana * max zakres czujnika (700kPa)
B = A / 1024 ' i podzielone przez rozdzielczosc przetwornika
Lcd "P=" ; Fusing(b , "#.##") ;
Lcd "kPa"
Waitms 500
Loop
End