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



Teraz jest 25 lut 2025, o 22:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 7 cze 2015, o 15:42 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Witam wszystkich ! :)

Piszę z pewnym problemem z prostym termometrem na ds18b20. Temperatura powinna być wyświetlana na wyświetlaczu 7-segmentowym. Tutaj pojawia się problem. Wszystko poskładałem na płytce stykowej. Użyłem procka atmega8 i ustawiłem oscylator wewnętrzny na 8Mhz. Nie ma kodu źródłowego, tylko gotowy plik hex do wgrania. Pochodzi z pewnej strony. Program wyświetla temperaturę na podwójnym wyświetlaczu, lecz zapalają się nie odpowiednie segmenty. Po odłączeniu czujnika wyświetlają się dwie 88 tak jak powinno. Proszę o pomoc w rozwiązaniu problemu.

Pozdrawiam.
Obrazek
Obrazek
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 15:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Kukiz napisał(a):
Witam wszystkich ! :)

Piszę z pewnym problemem z prostym termometrem na ds18b20. Temperatura powinna być wyświetlana na wyświetlaczu 7-segmentowym. Tutaj pojawia się problem. Wszystko poskładałem na płytce stykowej. Użyłem procka atmega8 i ustawiłem oscylator wewnętrzny na 8Mhz. Nie ma kodu źródłowego, tylko gotowy plik hex do wgrania. Pochodzi z pewnej strony. Program wyświetla temperaturę na podwójnym wyświetlaczu, lecz zapalają się nie odpowiednie segmenty. Po odłączeniu czujnika wyświetlają się dwie 88 tak jak powinno. Proszę o pomoc w rozwiązaniu problemu.

Pozdrawiam.



Kolego raczej pomocy nie uzyskasz bo jak sam piszesz masz wsad hex z pewnej strony której tutaj nie podajesz może lepiej zapytać się autora pliku co może być nie tak ?

Na moje oko masz nie ten wyświetlacz ... są różne wyświetlacze 7-segment i z różną pinologią ...a skoro ci się zapala 88 to nic dziwnego bo tam zapalasz wszystkie ledy dlatego jest ok ale już same wyświetlanie jest inne ... bo masz inny wyświetlacz.

Schemat jak mniemam nie jest twój a skopiowany ze strony autora ... zobacz na wyprowadzenia wyświetlacza.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 16:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 569
Lokalizacja: Żagań
Pomógł: 54

W schemacie masz błąd na błędzie.
Na DS18B20 robisz zwarcie zasilania do masy.
Tranzystory źle podłączone ...

_________________
http://leszczamiga.ppa.pl/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 16:15 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Nie spodziewałem się tak szybkiej odpowiedzi. :)
Segmenty sprawdzałem po kolei , więc tutaj chyba nie tedy droga. Napisałem już do autora, lecz czekam na odpowiedź.

Ds18b20 podłączyłem tak jak na schemacie podał autor projektu. Jeśli to źle to prosił bym o podpowiedź, jak podłączyć.

A jeszcze z tymi tranzystorami też nie wiem dlaczego są źle. :)

Jestem można powiedzieć laikiem. Próbowałem zaprogramować samemu w C, lecz póki co mam problemy z przerwaniami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 16:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 569
Lokalizacja: Żagań
Pomógł: 54

W celu poprawnego podłączenia to odsyłam do noty katalogowej Dallasa.

W zależności od rodzaju użytego wyświetlacza 7-segmentowego stosuję jak poniżej:
- dla wspólnej anody
Obrazek

- dla wspólnej katody
Obrazek

W tych przykładach nie steruję kropką dziesiętną.

_________________
http://leszczamiga.ppa.pl/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 16:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

LA72 napisał(a):
Na DS18B20 robisz zwarcie zasilania do masy.

W celu poprawnego podłączenia to odsyłam do noty katalogowej Dallasa.

A kolega zaglądał kiedykolwiek do tej noty?
W ten sposób podłącza się czujnik w trybie Parasite (zasilanie w trybie pasożytniczym).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 18:30 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Złożyłem wszystko od nowa i wychodzi na to, że to kod źródłowy ma źle zdefiniowane znaki, ponieważ jedna z cyfr wyświetla się prawidłowo. W takim razie proszę o jakieś wskazówki jak krok po kroku powinien działać taki program. Wiem jak stworzyć tablice z znakami. Problem pojawia się przy obsłudze 1-wire oraz przetworzenie wartości z zmiennej na znaki. Liczę na Waszą pomoc. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Nie wiem jak tam się łapiesz w tym gąszczu kabli, ale sprawdź czy masz podłączone nóżki 20 i 22 w/g schematu. Wygląda to tak jakby był tam podłączony tylko kondensator, a gdzie masa i Vcc?
Sprawdź po symbolu wyświetlacza czy jest on ze wspólną anodą, bo właśnie taki jest zastosowany w tym projekcie. Ze wspólną katodą nie będzie działał.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Podaj no że symbol tego wyświetlacza mam taki sam i gwarantuję ci że on ma inne wyprowadzenia niż ten co autor użył w swoim projekcie

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:18 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Nóżki 20 i 22 podłączone mam, a wyświetlacz mam z wspólną anodą. Tak jak mówię cyfra jedności wyświetla się poprawnie tylko gdy dojdzie do 30 (prawdopodobnie) to już nie.

@edit LTC-46454G 103 PHIL



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Czujnik DS18b20 jest prawidłowo podłączony w tzw trybie PARASITE. Sprawdź z notą katalogową wyświetlacza LED czy prawidłowo podłączyłeś jego segmenty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Kukiz napisał(a):
Nóżki 20 i 22 podłączone mam, a wyświetlacz mam z wspólną anodą. Tak jak mówię cyfra jedności wyświetla się poprawnie tylko gdy dojdzie do 30 (prawdopodobnie) to już nie.

@edit LTC-46454G 103 PHIL



A ja powiem tak nie wiesz czy prawidłowo a ja widząc oryginalny projekt oraz twój wyświetlacz pewny jestem że to jest wina twojego wyświetlacza

Jestem wręcz pewny że tam musisz szukać winy złego wyświetlania cyfr

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:39 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Segmenty sprawdzone. :?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:51 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Nie wiem jak to sprawdzałeś więc podam mój sposób. Na początku wyświetla się 88 i bardzo dobrze. Teraz po kolei odłącz tylko A i uruchom od nowa, potem tylko B itd.Odłączony segment powinien być wygaszony. Segmenty numeruje się w ten sposób:
---A---
F.....B
---G---
E.....C
---D---DP

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 19:59 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Dobry sposób. :) Tylko, że właśnie tak robie. I wszystko jest poprawnie po kolei podłączone.
Zauważyłem coś dziwnego, gdy wyciągne czujnik i świeca dwie 88 to jeśli wyciągne rezystor podciągający PB0 do VCC to gaśnie segment F.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 20:16 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Ten kondensator elektrolityczny 10 uF to powinien być blisko nóżek 7 i 8 tak jak ten ceramiczny 100 nF.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2015, o 20:27 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Przełączyłem, ale to niestety jak się spodziewałem nie rozwiązało problemu. Chociaż dzięki za tak kompleksową pomoc :)

@Edit Ma ktoś może kod do takiego prostego termometru, bo chciałbym zobaczyć jak to powinno być napisane i postaram się dopasować do mojego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2015, o 13:17 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Napisałem kod do obsługi wyświetlacza. Teraz mam problem jak zabrać się do pisania obsługi czujnika podpiętego aktualnie do portu PB0 w trybie pasożytniczym z rezystorem podciągającym do VCC. Nie mam pojęcia jak to ma działać przez 1-Wire i jak użyć bibliotek, które znalazłem w internecie. Proszę o pomoc.

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: 6 wrz 2015, o 14:09 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 24 lip 2013
Posty: 9
Lokalizacja: Jarocin
Pomógł: 0

Pisze post pod postem, ponieważ nie chcę zakładać nowego tematu. Znowu znalazłem chwilę żeby zająć się programowaniem i nadal nie mogę sobie poradzić z tym nieszczęsnym termometrem.
Nie potrafię dojść do tego co jest nie tak w kodzie. Na wyświetlaczu pojawiają się cztery ósemki.

Proszę o pomoc :?

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


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


ds18b20.h
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 

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