Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 11 gru 2024, o 20:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 13 maja 2014, o 21:05 
Offline
Użytkownik

Dołączył(a): 19 mar 2014
Posty: 87
Lokalizacja: Okolice Ostrołęki
Pomógł: 3

Witam.
Mam problem z kalibracją czujnika temperatury.
Gdy go skalibruje na pokój czyli na 20stopni jest ok, ściskam go w palcach to wskaże temperaturę ciała czyli 37stopni, ale jak mu podam temperaturę 60stopni to już ma odchylenie o 30stopni. Ja mu podaje 60stopni a wyświetla 90. Co o tym myśleć?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
BB



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2014, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

Wklej jak zamieniasz wynik z przetwornika na stopnie Celcjusza. Mi osobiście LM35 nie sprawiał żadnych problemów.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2014, o 21:33 
Offline
Użytkownik

Dołączył(a): 19 mar 2014
Posty: 87
Lokalizacja: Okolice Ostrołęki
Pomógł: 3

ustawiłem ADLAR na 1
i odczytuje teraz wynik z ADCH
Wynik z ADCH wystarczy pomniejszyć teraz tylko o 3 i mam już stopnie C.
Teraz na sucho sprawdzałem że działa. Czujnik co 1 stopień zmienia napięcie o ok 0.5mV więc praktycznie powinno teraz działać. Jutro przetestuję to ponownie.
Może zmiana rozdzielczości coś pomoże hmmm

_________________
BB



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 09:47 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

lucas0091 napisał(a):
Czujnik co 1 stopień zmienia napięcie o ok 0.5mV więc praktycznie powinno teraz działać.

Nota czujnika LM35 mówi że daje on co 1 stopień napięcie 0,01V czyli 10mV i charakterystyka jest liniowa.
Przy 25 stopniach powinien dać 0,25V przy 36 stopniach 0,36 V. Możesz to sprawdzić woltomierzem.
Także z AVRka robisz voltomierz z zakresem do 1V. LM35 1V da dla 100 stopni celsjusza.

Tu jest nota LM35 http://www.ti.com/lit/ds/symlink/lm35.pdf


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 15:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

OdeOn napisał(a):
Także z AVRka robisz voltomierz z zakresem do 1V

Otóż to i nic nie musisz odejmować. Może masz uszkodzony czujnik LM35? Tak jak kolega wyżej radzi sprawdź multimetrem.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 17:09 
Offline
Użytkownik

Dołączył(a): 19 mar 2014
Posty: 87
Lokalizacja: Okolice Ostrołęki
Pomógł: 3

No faktycznie...
Ale AVR nie wyświetla nam napięcia tylko jak się nie mylę wartość w rozdzielczości zwykle 10 bitowej i tą wartość musimy przerobić na temperaturę. Ja korzystając z ADCH wystarczy że od pomiaru odejmę 3 i mam temperaturę jak ta lala :)
Zwracam honor LMowi bo nie jest taki zły jak myślałem :)

_________________
BB



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 18:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

lucas0091 napisał(a):
korzystając z ADCH wystarczy że od pomiaru odejmę 3 i mam temperaturę jak ta lala

Z rejestru ADCH nie będziesz miał wartość ADC w rozdzielczości 10 bit. Rejestry w AVR są 8 bitowe.
Są tam dwa rejestry ADCL i ADCH. W zależności od bitu ADLAR są w różny sposób napełniane 10 bitami. Trzeba robić przesunięcia bitowe i ładować zawartoścć tych 2 rejestrów do jednej zmiennej o typie 16 bit (uint16_t).
W GCC jest dostępne makro upraszczające ADCW które od raz można przypisać do zmiennej 16 bitowej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2014, o 21:08 
Offline
Użytkownik

Dołączył(a): 19 mar 2014
Posty: 87
Lokalizacja: Okolice Ostrołęki
Pomógł: 3

Trochę to źle ująłem :)
Adlar mam na 1 a odczytuje z ADCH i Wynik pomieszam o 3 i mam już stopnie C. Z ADCW owszem tez można byłoby ale tam już jest większy zakres i byłoby trzeba robić proste obliczenie ale na większej liczbie :)
Adlar decyduje czy wynik wyrównany jest do lewej czy do prawej :)

_________________
BB



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2014, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

lucas0091 napisał(a):
Adlar decyduje czy wynik wyrównany jest do lewej czy do prawej

Tak zgadza się.
Ale odczyt ADCH daje Ci nie tyle mniejszy zakres co obcięcie rozdzielczości do 8 bit. Zakres jest ten samo od 0V do REF.
Obcinasz tylko dwa najmłodsze bity.
Masz tylko 256 dyskretnych poziomów reprezentujących napięcie gdzie 255 to wartość napięcia REF a 0 to GND.
Jeśli jako REF jest 2,54V to rozdzielczość jest około 10 mV.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO