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



Teraz jest 31 maja 2026, o 00:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 1 sie 2013, o 22:14 
Offline
Nowy

Dołączył(a): 01 sie 2013
Posty: 6
Pomógł: 0

Witam.
Buduję urządzenie, które ustala moc na wyjściu ze względu na temperaturę.
Termometr to DS18B20, a regulator mocy to układ na triaku BT136 + wyświetlacz temperatury.
Wszystko działa na uC Atmega32 z kwarcem 16Mhz.
Oba układy(regulator i termometr) osobno działają bez zastrzeżeń. Problem zaczyna się, gdy chcę uruchomić je równolegle. W momencie wywołania funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

na wyjściu moc krótkotrwale, ale zauważalnie spada(żarówka przygasa i zaraz się rozjaśnia). Sposób podłączenia i kod w całości zaczerpnięty z książki tego wydawnictwa(tej niebieskiej). Oczywiście nie czekam na pomiar delay_ms(750) tylko zastosowałem timer.
Chcę wyeliminować migotanie podczas równoległej pracy. Przeglądałem bibliotekę 1wire i nie sądzę, żeby delay_us(400) miało aż taki wpływ na regulator o parametrach: liczba kroków: 200, czas trwania szpilki 1.5.
Bardzo proszę o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sie 2013, o 06:33 

Pomógł: 0

W tym temacie miałem podobny problem topic2118-30.html?hilit=termopara

Z tego co pamiętam problemem okazały się same IF przy obsłudze "liczników" w pętli głównej.
Trzeba było zrobić jak w lekcji 10 czyli

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


Ale już tego nie sprawdziłem, bo projekt poszedł na zaliczenie ;).



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sie 2013, o 21:19 
Offline
Nowy

Dołączył(a): 01 sie 2013
Posty: 6
Pomógł: 0

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


Dodam jeszcze, że zmniejszając liczbę kroków migotanie zmniejsza się, ale nie jest całkowicie eliminowane.

Kod wklejamy przy pomocy syntax=c - Różowy J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2013, o 14:27 
Offline
Nowy

Dołączył(a): 01 sie 2013
Posty: 6
Pomógł: 0

Termometr był próbowany na PD5 i PB4. Na obu taka sama sytuacja



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2013, o 16:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27460
Lokalizacja: Szczecin
Pomógł: 1045

niestety taka obsługa 1wire wymaga chwilowego wyłączania przerwań na czas transmisji pojedynczego bajtu. Są to krótkie czasy i w wielu sytuacjach nie kolidują z pracą innych funkcjonalności programu. Jednak tutaj mowa o 200 krokach w trakcie 10ms, co już powoduje że czas staje się napięty i może dochodzić do takich problemów jak migotanie przy standardowym użyciu obsługi 1wire czy regulacji fazowej.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2013, o 17:18 
Offline
Nowy

Dołączył(a): 01 sie 2013
Posty: 6
Pomógł: 0

Bardzo dziękuję za odpowiedź.
Czy przejście na tryb NORMAL przy jednoczesnym zmniejszeniu liczby kroków poprawi sytuację?(teraz pracuje w trybie PARASITE).

Ewentualnie mogę przejść na pomiar temperatury w trybie analogowym poprzez ADC. Czy taki pomiar nie będzie bardziej czasochłonny dla procesora niż 1wire?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2013, o 20:04 
Offline
Nowy

Dołączył(a): 01 sie 2013
Posty: 6
Pomógł: 0

Używam biblioteki przerobionej przez pana Mirka.
Po usunięciu wyłączenia przerwań na krótki czas termometr i regulator dobrze ze sobą współgrają. Miganie ustąpiło.
Martwią mnie tylko konsekwencje tego zabiegu. Po włączeniu temperatura jest mierzona prawidłowo, ale bardzo zależy mi na stabilności układu, który ma pracować przez długi czas.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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