RTV forum PL | NewsGroups PL

Jak efektywnie sterować wentylatorem PWM z DS1820 na 1-Wire bez zacięć?

8051, 1 wire i synchronizacja sieci 230V

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie sterować wentylatorem PWM z DS1820 na 1-Wire bez zacięć?

PC
Guest

Sun Apr 06, 2008 6:45 pm   



Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez PWM
synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Pozdrawiam,
PC

Zbych
Guest

Sun Apr 06, 2008 7:33 pm   



PC przemówił ludzkim głosem:
Quote:
Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez PWM
synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Spróbuj wykorzystać UART do odmierzania czasów trwania bitów na 1-wire,
nie będziesz musiał wtedy wyłączać przerwań.

Zbych
Guest

Sun Apr 06, 2008 7:33 pm   



PC przemówił ludzkim głosem:
Quote:
Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez PWM
synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Spróbuj wykorzystać UART do odmierzania czasów trwania bitów na 1-wire,
nie będziesz musiał wtedy wyłączać przerwań.

A. Grodecki
Guest

Sun Apr 06, 2008 7:55 pm   



PC napisał(a):

Quote:
Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Chcesz powiedzieć, że 10ms nie wystarczy żeby zrobić odczyt temperatury
miedzy przerwaniami???


--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

A. Grodecki
Guest

Sun Apr 06, 2008 7:55 pm   



PC napisał(a):

Quote:
Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Chcesz powiedzieć, że 10ms nie wystarczy żeby zrobić odczyt temperatury
miedzy przerwaniami???


--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Konop
Guest

Sun Apr 06, 2008 10:51 pm   



PC pisze:
Quote:
Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez PWM
synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Pozdrawiam,
PC

No masz kilka wyjść Smile...
1) z DSa czytać bezpośrednio po przerwaniu od timera... jeśli przerwania
są stosunkowo rzadko, a czas odczytu krótki - wyeliminuje to
"szarpnięcia"... oczywiście nie musisz czytać po każdym przerwaniu, ale
no. co 100 albo co 1000 Wink...
2) skorzystać z np. AVRów, które mogą mieć sprzętowy PWM... ale to chyba
wywoła problem z synchronizacją z zerem w sieci - ale nie wiem, może
jest jakiś tryb PWM który to zapewnia (jest ich tyle, że nie sposób
wszystkie zapamiętać Wink)
3) skorzystać z innego proca, który sprzętowo obsłuży 1wire
4) wykorzystanie do 1wire timera (timer liczy czas także w trakcie
trwania przerwania, więc przerwania od PWMa nie spowodują złego timingu
na 1wire)...

Pozdrawiam
Konop

Konop
Guest

Sun Apr 06, 2008 10:51 pm   



PC pisze:
Quote:
Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez PWM
synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Pozdrawiam,
PC

No masz kilka wyjść Smile...
1) z DSa czytać bezpośrednio po przerwaniu od timera... jeśli przerwania
są stosunkowo rzadko, a czas odczytu krótki - wyeliminuje to
"szarpnięcia"... oczywiście nie musisz czytać po każdym przerwaniu, ale
no. co 100 albo co 1000 Wink...
2) skorzystać z np. AVRów, które mogą mieć sprzętowy PWM... ale to chyba
wywoła problem z synchronizacją z zerem w sieci - ale nie wiem, może
jest jakiś tryb PWM który to zapewnia (jest ich tyle, że nie sposób
wszystkie zapamiętać Wink)
3) skorzystać z innego proca, który sprzętowo obsłuży 1wire
4) wykorzystanie do 1wire timera (timer liczy czas także w trakcie
trwania przerwania, więc przerwania od PWMa nie spowodują złego timingu
na 1wire)...

Pozdrawiam
Konop

PC
Guest

Mon Apr 07, 2008 7:28 am   



Nie pomyślałem, żeby czytać temeraturę w podprogramie obsługi przerwania!!

Dzięki.

PC

Konop
Guest

Mon Apr 07, 2008 5:45 pm   



PC pisze:
Quote:
Nie pomyślałem, żeby czytać temeraturę w podprogramie obsługi przerwania!!

No ja kiedyś robiłem termometr z wyświetlaczem 7-segmentowym i też

musiałem to zrobić, żeby wyświetlacz nie migotał Wink... niby takie
oczywiste, a też nie od razu na to wpadłem Razz...

Pozdrawiam
Konop

PC
Guest

Wed Apr 09, 2008 10:40 am   



Udało się w końcu choć nie było to takie oczywiste. W zależności od
wymaganego opóźnienia impulsu sterujacego triakiem muszę procedury obsługi
DS-a uruchamiać albo przed impulsem albo za. Ale teraz działa idealnie.

Pozdrawiam,
PC

Peacemaker
Guest

Mon Apr 14, 2008 12:15 pm   



Quote:
Mam problem, bo w układzie pracuje DS1820 a steruję wentylatorem poprzez
PWM synchronizując start triaka z zerem w sieci. Niestety na czas odczytu
termometru muszę wyłączać przerwania bo inaczej pojawiają się błędy w
transmisji 1 wire. Efektem są pukniecia wentylatora. Jako, że odczyty
temperatury są dość częste pojawiają się 2 kwestie:
1. Jest to irytujące;
2. Może to wpływać na trwałość wentylatora.

Przy założeniu, że musi być 1 wire (odległość) jak sterować wentylatorem
poprzez PWM, żeby wyeliminować ten problem? Może jest jakiś scalak?

Pozdrawiam,
PC

Z ciekawości, a jak ty sygnałem PWM sterujesz tego triaka skoro triaka
włączysz ale wyłącza go jedynie przejście przez zero?

--

--
pzdr
peacemaker


>

PC
Guest

Fri Apr 18, 2008 8:09 am   



Quote:
Z ciekawości, a jak ty sygnałem PWM sterujesz tego triaka skoro triaka
włączysz ale wyłącza go jedynie przejście przez zero?

W zerze sieci dostaję przerwanie z AC na wtórnym przez diodę. Startuję timer

i mierzę opóźnienie. Gdy timer odmierzy co trzeba daję szpilkę na triaka a
wyłacza się sam w zerze. Cykl powtarza się co pół okresu sieci.

PC

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie sterować wentylatorem PWM z DS1820 na 1-Wire bez zacięć?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map