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



Teraz jest 22 gru 2024, o 19:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 24 kwi 2016, o 17:46 
Offline
Nowy

Dołączył(a): 23 mar 2016
Posty: 2
Pomógł: 0

Zaobserwowałem dziwne zachowanie czujnika temperatury DS18B20, mieliście coś podobnego lub możecie sprawdzić u siebie.

Poniżej kod na którym robiłem małe testy. Wgrywałem go wielokrotnie do arduino zmieniając za każdym razem rozdzielczość 9,10,11 i 12. Po czym notuje czas działania funkcji odczytTerm(); i skok temperatury jaką otrzymuje oto pierwszy test:

Rozdzielczość czas(ms) skok('C)
9 125 0,5
10 125 0,25
11 218 0,12
12 406 0,06

To co wyżej pewnie wygląda dla wszystkich OK (przypominam zmieniam tylko rozdzielczość w funkcji ustTerm() i nic więcej nie ruszam wgrywam tylko po jednym RAZIE). To teraz lecę dalej to samo teraz wgrywam każdą wersję po dwa razy:

Rozdzielczość czas(ms) skok('C)
9 781 0,5
9 125 0,5
10 125 0,25
10 218 0,25
11 218 0,12
11 406 0,12
12 406 0,06
12 780 0,06

Czy ktoś potrafi mi to wytłumaczyć? Poniżej kod z którego korzystałem

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 kwi 2016, o 08:13 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Skąd wniosek, że wyniki które otrzymałeś zależą wprost od czujnika? Korzystasz przecież z biblioteki, która chyba nie daje Ci gwarancji uzyskania katalogowych czasów operacji na czujniku. A co do samych pomiarów, to należałoby zrobić raczej po 10 pomiarów dla każdej rozdzielczości, odrzucić błędy grube, i uśrednić wyniki. Ale tak jak mówię, przyczyn takiego zachowania należy upatrywać raczej w samej bibliotece, a niżeli w czujniku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2016, o 20:42 
Offline
Nowy

Dołączył(a): 14 maja 2015
Posty: 3
Pomógł: 0

Ja mam inny problem postaram się go opisać ale połączony z ds18b20 i czasem odczytu dlatego napiszę tutaj. Robię układ który ma wysyłać temperaturę do aplikacji napisanej na b4a.
Dokładnie wykorzystany sprzęt to : Arduino Nano + esp8266 <-> komunikacja komendami AT <-----> Aplikacja B4A na telefon.
Kod wysyłający dane:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Ustawienia ESP jako Access Point transmisja po UDP dokładne ustawienia:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Problem jest taki, że aplikacja na b4a nie odbiera danych. Natomiast aplikacja od Pana Mirka na komputer napisana w B4J odbiera wszystko idealnie.
Aplikacja na b4a zaczyna odbierać dopiero poprawnie dane gdy zakomentuje operacje z temperatura, a w miejsce temperatury wstawię zwykłą wartość wtedy działa wszystko ok.
Komunikacja pomiedzy PC (B4J) - Aplikacja(B4A) również działa dobrze. Czy problemem może być zbyt długi odczyt temperatury?



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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