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



Teraz jest 24 kwi 2024, o 13:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 59 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 28 paź 2014, o 21:22 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

robisz to na płytce stykowej ?

------------------------ [ Dodano po: 10 minutach ]

złożyłeś to na stykówce czy na pcb ?
jakiej długości masz przewody?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2014, o 21:47 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Oki jutro może wcześniej wrócę z pracy to jeszcze powalczę z połączeniami (wszystko odnowa poskładam i zobaczymy). Dzięki za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2014, o 21:49 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

W sumie Ci nic nie pomogłem , ale się starałem a twój problem jest ciekawy.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2014, o 21:51 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Na stykówce a przewody ma krótkie no chyba że chodzi o ten przewód łączący SDA i uc to trochę dłuższy tak z 20 cm.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2014, o 22:27 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

http://vindicator.pl/sites/default/files/projekty/1wire.pdf na koniec taki fajny pdf na temat 1-wire



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 17:58 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Dzięki za linka ;) fajnie napisane. Sprawdziłem połączenia wygląda wszystko ok, nawet otworzyłem obudowę czujnika aby sprawdzić czy kolory przewodów odpowiadają opisowi. Na wyświetlaczu LCD cały czas wyświetla mi "-1" zrobiłem taki test i podmieniałem w kodzie wartości "-1" na inne i tylko w tym fragmencie kodu który podawałem wcześniej i podaje poniżej, zmiana wartości z "-1" np na "-2" wyświetlało mi "-2" w innych częściach kodu nie. Czy oznacza to że czujnik może być uszkodzony ?

Dariusz Brzózka napisał(a):
Spoko nic się nie stało co do pułapek to już to zrobiłem wychodzi na to że już wyrzuca na tym etapie kodu poniżej:

Kod:
//check start condition 1
   if((DHT_PIN & (1<<DHT_INPUTPIN))) {
      return -1;
   }



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 18:19 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

WItam
Pod jaki Pin masz podpiety czujnik i jakim mikrokontrolerem dysponujesz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 18:23 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Atmega8 PIN PD0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 18:27 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

w bibliotece dht.h rozumiem że zmieniłeś pin tam jest podłączone do PD6:
Kod:
#define DHT_INPUTPIN PD[b]6[/b]

jeżeli tego nie zrobiłeś to .......... masz odpowiedz na pytanie czemu to nie chodzi

------------------------ [ Dodano po: kilkunastu sekundach ]

Kod:
#define DHT_INPUTPIN PD6



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 18:29 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Tak wcześniej też miałem podłączone pod PIN PD6 i nie działało a dzisiaj podłączyłem pod inny pin czyli PD0 i zmieniłem też w kodzie i efekt ten sam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 18:37 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

ostatnia szansa to pobaw sie z czasmi:
Kod:
   DHT_PORT |= (1<<DHT_INPUTPIN); //high
   DHT_DDR &= ~(1<<DHT_INPUTPIN); //input
   _delay_us(40);

   //check start condition 1
   if((DHT_PIN & (1<<DHT_INPUTPIN))) {
      return -1;


_delay_us(40); z ta 40 coś możesz porobić zmniejszałeś na 20 ? zgodnie z notą może być wartość od 20 do 40us masz atmegę na kwarcu czy na bez, pracujesz w eaglu , czy masz ustawiony we własnościach projektu częstotliwość zegara odpowiednią , może to być banalne pytanie ale ....warto sprawdzić bo ja już sam nie wiem co może być już praktycznie koniec pomysłów to może jakaś podstawowa rzecz zawiodła.
to musi chodzic u mnie chodza dht11 i dht 22 na tej bibliotece na atmedz168 z kwarcem 8MHZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 20:34 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

No i jak ? Czekam na jakiś feedback.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 20:38 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

No i nic już różne datasheet przerobiłem i z czasami tez i to samo chyba zamówię dht22 pisałeś że najlepszy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 20:53 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

taki mam jest z tego co widziałem na youtubie nawet mniejszy zobacz w datasheecie , chyba bardziej dokładniejszy, można dokonywać pomiarów na zewnątrz chociaż nie sprawdzałem przy ujemnej ponieważ mam go od 2 miesięcy. W sumie łatwiej znaleźć drivery, ten jest jakiś dziwny mało informacji jest o nim . Tylko cena trochę odstrasza ja dałem 29PLN/szt.
Nie wiem czy on jest sprawny, możę weź znajdz jakiś inny driver pod DHT22 i może to wina tego drivera ....nie wiem, ja zaraz poszukam może Ci wyślę .

------------------------ [ Dodano po: 9 minutach ]

http://www.pocketmagic.net/2012/11/temp ... FFGjslASRk
dosyć fajnie opisany projekt na końcu masz kod , fajnie napisane w pętli badany jest ten warunek na który Tobie się wysypuje 20-40 us , możesz sprawdzić to , ale myślę że jak masz wszystko dobrze podłączone i na kwarcu jedziesz ...a propo nie napisałeś o częstotliwości i czy w projekcei miałeś dobre wartości ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 21:08 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Próbowałem na różnych częstotliwościach i w tych podanych i innych niestety to samo :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 21:32 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

to znaczy ze masz zwalony ten czujnik .......tak mi sie wydale



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2014, o 21:34 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Do momentu przyjścia nowych jeszcze powalczę ;) Dzięki za pomoc naprawdę jestem wdzięczny :) uciekam Narka.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 00:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Kolega wrzucam Ci plik dht.c, weź go podmień ze swoim i spróbuj ok?

Oczywiście define dla DHT-22. Możesz jak dalej nie zadziała zamienić rezystor 4.7k na 1k.

Porób te zmiany i napisz czy załapało ok?

z Niebieskim pozdRowieniem,
Doman89


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

PS Giciors kody źródłowe wrzucamy przez syntax=c ;)


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 07:02 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Po pracy sprawdzę Twój plik widzę, że zmieniłeś czas na 2 ms z tego co kojarzę to próbowałem z takim czasem nie pamiętam czy na rezystorze 1k(na innych czasach też używałem rezystor 1k i bez zmian).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 17:59 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Niestety po podmianie pliku i zmianie rezystora ta sama sytuacja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 18:35 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

Witam
Zmiana wszystkiego na wszystko nie pomoże czujnik prawdopodobnie w ogóle nie działa po Resecie linii powinien coś wysłać , dając sygnał niski przez 200ms -500ms a potem wysoki tak jak jest w specyfikacji przez 20-40us powinien zmienić stan na niski a tu nic......
Może masz jakąś DHT11-stkę ? a w czym piszesz programy ? tak z ciekawości jakim środowiskiem dysponujesz ?
Ja kiedyś jak startowałem przypomniało mi się iż w Atmel Studio napisałem program i nie chciał chodzić walczyłem chyba 3 dni potem przeczytałem iż problem leżał w toolchain , ten sam kod wwaliłem do eclipsa i poszło bez problemu.
Może to jakiś fart ale z delay ami są często problemy (Mirek zawsze to powtarza i z tym się całkowice zgadzam po tym doświadczeniu- ale są wygodne).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 19:09 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Wszystkie programy piszę w Eclipse ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 23:18 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

Witam

Dodam od siebie, że odbiór danych z tego czujnika w pętli zajmuje dużo czasu procesora, a co gorsza musimy na czas odbioru blokować przerwania. Dużo lepszym sposobem jet zrobienie tego na przerwaniu zewnętrznym i timerze do odliczania czasu, w dość podobny sposób jak jet rozwiązany odbiór rc5 w bluebook. Jeśli jest ktoś chętny to opublikuję kod, co prawda pod lpc800 ale idea pozostaje ta sama.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 paź 2014, o 23:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Kolega to ostatnia moja porada to daj na 10ms ;) to jest czas max. oraz czas resetu na 180ms (aktualnie jest 100ms).

Od razu teoretycznie zapytam, ustawienia częstotliwości taktowania mikroprocesora w programie jak i mikroprocesorze dobrze ustawione?

Jak to wszystko zrobisz to naprawdę nie mam pomysłu co jest nie tak :/

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2014, o 20:10 
Offline
Użytkownik

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

giciors napisał(a):
może to być banalne pytanie ale ....warto sprawdzić bo ja już sam nie wiem co może być już praktycznie koniec pomysłów to może jakaś podstawowa rzecz zawiodła.


Widzę że kolega też stracił wszystkie możliwości , o częstotliwość to się pytałem (to podstawa operacji na czasówkach). Moim zdaniem albo czujnik jest zwalony albo to jest tak banalne rozwiązanie że nam do głowy nie przyszło.
Jakbyś rozwiązał problem to napisz .....dla informacji co było przyczyną.
Pozdrawiam i powodzenia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 16:20 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Panowie ruszył ;) ale na bibliotece z tej strony http://www.pocketmagic.net/2012/11/temperature-and-humidity-sensor-dht-22/#.VFT5xsnIfSO

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

Co do przyczyn dlaczego na tej ruszył a na tamtej nie jeszcze nie wiem będę miał chwilę czasu do postaram poszukać przyczyny ;)

------------------------ [ Dodano po: 21 minutach ]

Jeszcze brakuje mi jednej rzeczy jak odczytywać pomiary z dwóch czujników? Wiem że można z wykorzystaniem id czujników. Próbował już ktoś to ogarnąć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 17:48 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

DHT nie mają ID czujników.
Jeśli chcesz czytać z dwóch czujników to musisz je podpiąć na dwóch różnych pinach procesora.


Autor postu otrzymał pochwałę

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 17:56 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Uuu to się pomyliłem a więc dzięki za podpowiedź ;)



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

Dołączył(a): 01 paź 2013
Posty: 305
Lokalizacja: Olsztyn
Zbananowany użytkownik

Pomógł: 20

Witam
Widzę że zadziałał na bibliotece powyżej, ale nadal nie rozumiem czemu nie działał na wcześniejszej mimo tego że różnica polega na :
1. czas zerowania 1.1ms (było zmieniane )
2. czas odpowiedzi 50us i podtrzymania 100us (też zmieniałeś)
Nic wielkiego , zatem czemu tak się dzieje ?



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: 59 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO