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



Teraz jest 6 kwi 2026, o 17:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 31 sty 2016, o 19:01 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Witam,

od niedawna zacząłem przygodę z mikrokontrolerami AVR. Przerabiam po kolei rozdziały z książki p. Mirka, jednak mam problem z odczytem temperatury poprzez magistralę 1Wire.

Obrazek

Czujnik DS18B20 podłączony do portu PB0 oraz zdefiniowany w programie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dodatkowo podłączone - wyświetlacz LCD na porcie A oraz dioda na Porcie C sygnalizująca error z drugiego czujnika.

Obecnie wpięty uC Atmega32 z taktowaniem wewnętrznym 8 MHz. Timer ustawiony zgodnie z dokumentacją procesora. Proszę o pomysły bo moje już się skończyły.

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


Z góry dziękuję.

Pozdrawiam



Ostatnio edytowano 31 sty 2016, o 19:41 przez michal.drgas5, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 19:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 gru 2014
Posty: 77
Lokalizacja: Gorlice
Pomógł: 5

Wg mnie to niepotrzebnie masz nawias klamrowy w tym miejscu zaznaczone przerywaną linią

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


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


oraz wstaw całość do swojego kodu jeśli się nie mylę próbujesz oczytać teraz coś czego nie masz


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 19:52 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Dopisałem wg. wskazówek. Teraz na wyświetlaczu dodatkowo pojawił się napis:
T1
error Ds-0

Może problem leży po stronie czujnika?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 gru 2014
Posty: 77
Lokalizacja: Gorlice
Pomógł: 5

Może tak być proponuję uruchomić na oryginalnym programie Mirka bez przeróbek za wyjątkiem portu do którego jest podłączony DS jeśli nie zadziała to znaczy że jest uszkodzony
a przy okazji czy jest dołączony rezystor między linię danych a 5V DS-a to też ma znaczenie, a na zdjęciu nie widać tego



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:14 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Ile podłączyłeś czujników?
Bo zgodnie z tym, co piszesz, to pierwszy pracuje poprawnie, a z drugim jest jakiś problem.
Pytanie, czy w ogóle on jest, bo piszesz tylko o jednym.


Na zdjęciu też widać tylko jeden czujnik.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:22 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Próbowałem już na oryginalnym programie. Wciąż wyświetla "error". Rezystancja jest włączona pomiędzy 5V, a DQ. Wartość zmierzona omomierzem wynosi 10,04 kOhm-ów. W następny weekend postaram się uruchomić na nowo na płytce uniwersalnej z rezystancją 4,7k. Zobaczymy co z tego wyniknie.

Dziękuję za pomoc!

------------------------ [ Dodano po: 3 minutach ]

Czujnik podłączony jest tylko jeden. Zgodnie ze zdjęciem. Drugiego nie ma.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:31 
Offline
Użytkownik

Dołączył(a): 30 sie 2012
Posty: 226
Pomógł: 11

Sprawdziłeś dobrze PINy zasilania czujnika czy na pewno są wpięte prawidłowo?
Zajrzyj jeszcze tutaj:
topic4466.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:39 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

W linii 74 próbujesz odczytać drugi czujnik...którego nie ma.


Zmień "gSensorIDs[1]" na "gSensorIDs[0]".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 20:59 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Nic się nie zmieniło. Wciąż błąd w postaci czerwonej diody i komunikatu na wyświetlaczu. Warunek nigdy nie jest spełniony i nie wyświetla temp.

Czujnik wydaje się być zasilony prawidłowo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2016, o 22:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Takie banalne, ale w tych ciemnościach nie widać: kabelek do DS'a wpięty w odpowiednią jego nóżkę?

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 18:13 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Tak. Podłączony pod linię DQ - środkowy PIN czujnika.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 18:45 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Masz wyłączony JTag? Próbowałeś podpiąć ds-a pod inny pin/port uC?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 19:18 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Właśnie sprawdzałem JTAG - jest wyłączony.
Na innych portach, pinach - niestety to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 19:45 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Wyłącz zasilanie i sprawdź, czy masz ciągłość pomiędzy środkową nóżką ds'a a nogą atmegi do której jest podpięty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 20:03 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Sprawdziłem ciągłość obwodu i jest przejście pomiędzy czujnikiem a uC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 21:21 
Offline
Użytkownik

Dołączył(a): 30 sie 2012
Posty: 226
Pomógł: 11

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



Efekt nadal ten sam?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2016, o 19:43 
Offline
Nowy

Dołączył(a): 13 gru 2015
Posty: 10
Pomógł: 0

Wkleiłem kod, uruchomiłem i niestety wciąż to samo... Jak zakupię inny czujnik to zbuduję układ na płytce uniwersalnej. Może się uda wtedy.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lut 2016, o 22:30 
Offline
Użytkownik

Dołączył(a): 30 sie 2012
Posty: 226
Pomógł: 11

Przeglądając zdjęcie nie widzę, żeby pin RW wyświetlacza był gdziekolwiek podłączony.

Konfiguracja pinu RW znajduje się w bibliotece "LCD/lcd44780.h".
0 - pin RW podłączony na stałe do GND
1 - pin RW podłączony do mikrokontrolera



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: 18 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO