| Author |
Message
|
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#1
14 Mar 2010 23:50 [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów (rpm) |
|
|
|
Witam,
Sytuacja wygląda tak, mam jeden układ do sterowania wentylatorami z wykorzystaniem PWM sprzętowym ATmega8.
Wziąłem druga ATmegę i zacząłem zabawę z timerami i zrobiłem pomiar prędkości obrotowej z magicznego "żółtego kabelka" - 3 pinowy wentylator.
Pomiar jest ok, jeśli zasilam z wentylator z zasilacza stabilizowanego, zliczam impulsy(2 opadające zbocza na obrót) w czasie i wyświetlam na LCD.
:arrow: Sterując wentylatorem za pomocą PWM (ok 32kHz) - timer zlicza cuda, nawet gdy wentylator się nie kręci, i pwm jest na około 30% pokazuje ponad 10 tys rpm. Rozumiem, sygnał PWM generuje te zakłócenia, timer zlicza je jako impulsy i przekłamuje pomiar . Pomiar jest ok jeśli mamy 100% pwm i są to maksymalne obroty.
:arrow: Jak zlikwidować te zakłócenia, żeby wydobyć impulsy odpowiedzialne tylko za obroty wentylatora?
1)Przetwornik cyfra>analog (zasilanie wentylatora)?
2)Filtr?
3)Programowo?
:arrow: Zastanawia mnie np. Jak jest mierzona prędkość wentylatora 4 pinowych, które wymagają sygnału sterującego?
|
|
| Back to top |
|
 |
technics6 Poziom 22

Joined: 19 May 2007 Posts: 2274 Location: Białystok
|
#2
15 Mar 2010 13:34 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Jakiś filtr LC powinien załatwić sprawę.
Dodano po 1 [minuty]:
A może wystarczy rezystor 4,7-10k ściągający do masy ten "żółty kabelek".
|
|
| Back to top |
|
 |
Google

|
#
15 Mar 2010 13:34 |
|
|
|
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#3
15 Mar 2010 19:12 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| technics6 wrote: |
Jakiś filtr LC powinien załatwić sprawę.
A może wystarczy rezystor 4,7-10k ściągający do masy ten "żółty kabelek". |
:arrow: Filtr LC na linii zasilania czy na "żółtym kabelku"?
:arrow: Ściąganie do masy nie pomaga, w ten sposób nie wykrywa żadnych impulsów. Dodam, że kabel sygnałowy jest podciągnięty do +5V na pinie ATmegi(wewnątrz).
:idea: Próbowałem najprostrzego filtra RC i częstotliwości odcięcia od 100 Hz do 15kHz, jednak nie filtruje on dobrze i nadal są zakłócenia :cry: . Nie posiadam oscyloskopu, który ułatwiłby sprawę.
Filtr RC dolnoprzepustowy taki jak tutaj, użyłem zwykłych rezystorów i kondensatorów ceramicznych, jednak tak jak wyżej napisałem marne efekty . Częstotliwość oczywiście ze wzoru:
:arrow: Jakie rozwiązanie proponujecie :?:
|
|
| Back to top |
|
 |
technics6 Poziom 22

Joined: 19 May 2007 Posts: 2274 Location: Białystok
|
#4
15 Mar 2010 19:28 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Masz na tym żółtym przewodzie cały czas napięcie, a kiedy jest "impuls" to spada do zera? To podciągnij rezystorem do plusa...
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#5
15 Mar 2010 19:45 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| technics6 wrote: |
| Masz na tym żółtym przewodzie cały czas napięcie, a kiedy jest "impuls" to spada do zera? To podciągnij rezystorem do plusa... |
:arrow: Przecież już jest podciągnięte do plusa( cbi(DDRD,4);sbi(PORTD,4); ) czyli PIN jako wejście oraz podciągnięty do VCC , i dodanie rezystora nic nie zmienia, taki sam efekt jak ściągnięcie do masy.
:arrow: To wygląda tak, na tym kablu sygnałowym występuje impuls zwierany do masy, na jeden obrót przypadają dwa zbocza opadające, gdyż wypełnienie impulsu to 50%, czyli przejście z 0 na 1 i z 1 na 0.
:?: Ponoć jest to otwarty kolektor, przy zasilaniu liniowym wszystko jest ok, jednak prze zasilaniu PWM, tak jakby ta bramka traktuje sygnał PWM jako załączający czego efektem są impulsy na wyjściu(zwarcie do masy) - dobrze myślę?
|
|
| Back to top |
|
 |
Dar.El Poziom 24

Joined: 28 May 2006 Posts: 4952 Location: Warszawa
|
#6
15 Mar 2010 20:18 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Będziesz musiał zjechać częstotliwością PWM na tyle aby łapać czas między impulsami z wentylatora, gdy PWM jest na H.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#7
15 Mar 2010 21:03 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| Dar.El wrote: |
| Będziesz musiał zjechać częstotliwością PWM na tyle aby łapać czas między impulsami z wentylatora, gdy PWM jest na H. |
:arrow: Czyli proponujesz pomiar czasu, a nie impulsów? Ma to sens dla tych prędkości obrotowych? 4000 rpm >> ~ 66 obr/s >> x2 to jest 132 Hz (impulsy na obrót) >> czyli czas pomiędzy impulsami jakieś 7,5 ms.
:?: A jak wychwycić impulsy gdy PWM jest na H ? Jaką wtedy dać częstotliwość PWM? Dając niższą częstotliwość wentylatory grają, piszczą.
Np. 1500 rpm > 25 obr/s > 50 Hz(impulsy) > mierząc w czasie 0.25 s mamy 12 impulsów, to żeby wyłapać te 12 impulsów PWM musiałby pracować z częstotliwością 2 Hz.. 0.25 s - stan 1 kolejne 0.25 stan 0...
Nawet próbując zmierzyć czas pomiędzy tymi impulsami czyli 20 ms(50Hz) >> stan H musi trwać dłużej czyli jakieś 40 Hz.. ale to za mało na wentylator..
|
|
| Back to top |
|
 |
technics6 Poziom 22

Joined: 19 May 2007 Posts: 2274 Location: Białystok
|
#8
15 Mar 2010 21:09 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Ja bym dał jakiś filtr zasilania tego silnika. Nie może być takimi śmieciami zasilany prosto z tranzystora.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#9
15 Mar 2010 21:36 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| technics6 wrote: |
| Ja bym dał jakiś filtr zasilania tego silnika. Nie może być takimi śmieciami zasilany prosto z tranzystora. |
Pytanie jaki? Śmieci nie śmieci, to tylko sygnał PWM, co innego do zwykłego wentylatora sterując go mikroprocesorem?
:arrow: Problem tyczy się pomiaru prędkości, konkretniej tych impulsów.
Może przetwornik, C/A , ale to przerost formy nad treścią w tym przypadku..
|
|
| Back to top |
|
 |
_Robak_ Poziom 22

Joined: 16 Apr 2006 Posts: 2185 Location: Bytom
|
#10
15 Mar 2010 21:42 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Tylko, że jak nie masz podglądu na oscyloskopie to ciężko powiedzieć co tam się w ogóle dzieje;)
|
|
| Back to top |
|
 |
technics6 Poziom 22

Joined: 19 May 2007 Posts: 2274 Location: Białystok
|
#11
15 Mar 2010 22:24 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
To bezszczotkowy wentylator. Ma w środku elektronikę (jakiś generator, coś do wzmacniania sygnału z czujnika itd.).
Nie dziw się, że przy zasilaniu prostokątem nie działa jak powinno.
Podłącz kondensator 47uF równolegle do silnika. Jak nie pomoże - 100uF.
Dodano po 2 [minuty]:
Poprawka - przy częstotliwości 32kHz te kondensatory będą za duże.
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#12
15 Mar 2010 22:35 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Zacznijmy od tego, że pewnie sterujesz PWMem od strony masy. A impulsy na tym żółtym kabelku też są w stosunku do masy. Tyle że masy wentylatora...
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#13
15 Mar 2010 22:58 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
:arrow: technics6 , za duże, nawet 1uF powoduje że wentylator rusza już przy 10% wypełnieniu, a śmieci dalej są..
:arrow: atom1477 tranzystorem sterującym jest BUZ10 (MOFSET N) - pracuje jak najzwyklejszy klucz, czyli załącza wentylator do masy(rysunek), to może być problemem?
|
|
| Back to top |
|
 |
Google

|
#
15 Mar 2010 22:58 |
|
|
|
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#14
15 Mar 2010 23:01 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| regrom wrote: |
atom1477 tranzystorem sterującym jest BUZ10 (MOFSET N) - pracuje jak najzwyklejszy klucz, czyli załącza wentylator do masy(rysunek), to może być problemem?
![[ATmega8][C] Wentylator sterowany PWM + pomiar obrotów (rpm) [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów (rpm)](http://obrazki.elektroda.net/27_1268690279.jpg) |
No oczywiście że tak. Sterować musisz od plusa.
A żadnych kondensatorów nie potrzebujesz.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#15
15 Mar 2010 23:20 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| atom1477 wrote: |
Sterować musisz od plusa.
|
:arrow: atom1477 możesz rozjaśnić dlaczego, oraz jak to zrealizować?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#16
15 Mar 2010 23:37 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Bo gdy tranzystor rozłącza, to na obydwu pinach wentylatora pojawia się napięcie zasilania.
Gdy ten żółty kabelek jest zwierany do kabelka czarnego, to przy otwieraniu i zamykaniu tranzystora kabelek czarny będzie na przemian przyjmował stan GND i VCC. Zwarty do niego kabelek żółty też. Mimo że wentylator ciągle zwiera go do kabelka czarnego to za sprawą otwieranego i zatykanego tranzystora na kabelku żółtym względem masy będziesz miał przebieg o częstotliwości otwierania i zamykania tranzystora.
Przy sterowaniu od plusa kabelek czarny będzie na stałe zwarty do masy więc na kabelku żółtym będziesz miał przebieg niezależny od PWMa.
Sterowanie od plusa możesz zrealizował na MOSTECie z kanałem P oraz konwerterze poziomów 5-->12V do sterowania bramki MOSFETa. W sumie napięcie nie musi wynosić 12V, ale musi być względem szyny 12V a takie napięcie najłatwiej otrzymać stosując konwerter 5-->12V.
Dodano po 9 [minuty]:
Choć ja osobiście wstawił bym tranzystor PNP zamiast MOSFETa z kanałem P. Takie coś przy małych częstotliwościach też będzie dobre. A tutaj nie potrzebujesz dużych częstotliwości. Małe są nawet lepsze bo przy małych częstotliwościach można uzyskać szerszy zakres regulacji obrotów wentylatora.
Przy kilku Hz można spokojnie uzyskać pojedyncze obroty wentylatora na sekundę.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#17
16 Mar 2010 00:03 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Ok, przetrawię to co napisałeś :D zaopatrzę się w mosfet z kanałem p i potestuje. PNP czy NPN to większe straty w stosunku do mosfetów.
Sterowanie małymi częstotliwościami, też sprawdzę.
Mosfeta P, nie możemy bezpośrednio podłączyć do uC ? Pytam, żeby się ubezpieczyć ;)
|
|
| Back to top |
|
 |
_Robak_ Poziom 22

Joined: 16 Apr 2006 Posts: 2185 Location: Bytom
|
#18
16 Mar 2010 08:17 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Nie;) Bo zatkany będzie dopiero gdy Ugs będzie 0. A u Ciebie byłoby -7V;)
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#19
16 Mar 2010 09:13 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
To jest za mała moc żeby na BJT mieć większe straty niż na MOSFECie.
Nie używasz drivera do sterowania MOSFETa więc na bank masz większe straty na MOSFECie niż myś miał na BJT (bo długo przeładowuje się pojemność bramki co owocuje dużymi stratami przełączania).
Parę dni temu wykonałem sterownik wentylatora (tyle że bez miernika obrotów) na tranzystorze BJT i hula. A tranzystor jest w obudowie TO-92 i nawet o 1°C jego temperatura nie wzrasta (sprawdziłem czujnikiem BS18B20 ;) )
Spróbuj 4,7k + BC547. Do kolektora BC547 rezystor 470R i on bo bazy tranzystora BC327. Ob bazy do emitera BC327 jeszcze daj drugi rezystor 470R.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#20
16 Mar 2010 16:23 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
:arrow: atom1477 Rozumiem ;) przetestuję oby dwie opcje, zarówno z BJT jaki i MOSFET, dlatego proszę o sprawdzanie poniższych schematów, pierwszy odnosi się do tego co napisałeś opcja z BC 327 (800mA) - tylko zastanawia mnie w nocie: VEBO Emitter-Base Voltage -5 V
:arrow: Druga opcja to z MOSFET z kanałem P, czy takie połączenie z NPN jest poprawne?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#21
16 Mar 2010 16:48 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Obydwa połączenia wyglądają OK.
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#22
17 Mar 2010 22:39 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Przetestowałem dziś układ z MOSFETEM P, jest sterowanie od strony +, regulacja PWM jak najbardziej działa.
:cry: Jednak nadal są zakłócenia, takie połączenie nic nie zmieniło, timer nadal zlicza kosmiczne wartości..
Co poradzicie...?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6360
|
#23
17 Mar 2010 22:51 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Zapodaj cały schemat.
|
|
| Back to top |
|
 |
wdogli Poziom 16

Joined: 21 Dec 2006 Posts: 273 Location: Gliwice
|
#24
17 Mar 2010 23:33 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Hej.
Twoje problemy są spowodowanie tym że czujnik hala w wentylatorku zasilasz napięciem prostokątnym o różnym wypełnieniu i takie chocki klocki będziesz miał zawsze.
Moim skromnym zdaniem sprawę załatwisz za pomocą przetwornika KA331 lub LM331.
Scalaka tego można tak zabudować że w zależności od częstotliwości którą będziesz na niego podawał takie napięcie stałe otrzymasz na jego wyjsciu. A wiec wiatraczek zasilasz napięciem stałym o określonej wartości w zależności od tego jaką częstotliwość podasz na wejście scalaka. W takim przypadku czujnik Hala jest zasilany stałym napięciem i nie wariuje :)
Oto link do gotowca :)
Link
Pozdrawiam
|
|
| Back to top |
|
 |
nojmi Poziom 18

Joined: 26 Apr 2003 Posts: 463 Location: Tczew
|
#25
18 Mar 2010 00:00 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Nie lepiej zasilić czujnik hala oddzielnym napięciem z dodatkowego kabelka? Tylko, że wtedy ingerujesz w elektronikę silnika, ale wygląda to na najrozsądniejsze rozwiązanie bo nie wiesz od jakiego napięcia halotron zaczyna działać prawidłowo. Możliwe, że dla minimalnych prędkości napięcie podawane na wentylator będzie za niskie dla czujnika.
Czy przypadkiem LM331 nie ma za małej wydajności prądowej na wyjściu do zasilania wentylatora?
|
|
| Back to top |
|
 |
regrom Poziom 15

Joined: 11 Dec 2005 Posts: 266 Location: Jarocin / Poznań
|
#26
18 Mar 2010 02:09 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Dziękuję za zainteresowanie tematem:
:arrow: atom1477 Schemat, jak i prototyp który służy mi tym przypadku jako regulator PWM, jest tutaj: KLIK
Reszta to druga ATmega, sygnał z wiatraka na wejście T0(timer0), masy połączone, zasilanie stabilizowane.
:arrow: wdogli Przetwornik C/A jest rozwiązaniem.. ale zwiększa koszt całości i oraz wielkość układu(fizycznie), dlatego też szukam jak najprostrzego rozwiązania.
:arrow: nojmi Ingerowanie w wentylator odpada, szukam uniwersalnego rozwiązania. Znalazłem schemat wewnętrznych połączeń tych wiatraków.
|
|
| Back to top |
|
 |
leon1313 Poziom 13

Joined: 11 Jul 2007 Posts: 114 Location: warszawa
|
#27
18 Mar 2010 02:40 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Nie jestem ekspertem w tych sprawach, ale wentylator jest urządzeniem o bardzo dużej bezwładności. Może wybrana przez Ciebie metoda zasilania jest nieskuteczna. Zamiast sterować PWM o częstotliwości kHZ, zejdź do kilku HZ i mierz prędkość tylko w przypadku, kiedy układ jest zasilany. Nie wiem, jak to się będzie sprawowało, szczególnie przy małych obrotach..
|
|
| Back to top |
|
 |
WOBI Poziom 12

Joined: 29 Jul 2004 Posts: 96 Location: Walbrzych
|
#28
18 Mar 2010 13:17 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Na schemacie który umieścileś masz wersję wentylatora 4 przewodowego i wejście Drive do którego podłącz swój PWM oczywiście przez tranzystor który zasteruje to wejście (drive) poziomem takim jak zasilasz +V i wtedy sterujesz tylko samym wentylatorem a czujnik halla nasz zasilany stale. 2 opcja to PWM przekształcić w zasilacz, czyli wyjście pwm podajesz na tranzystor, dławik i diode, a na jego wyjściu dajesz kondensator elektrolityczny i masz coś w rodzaju zasilacza impulsowego. Na wyjściu bedziesz miał napięcie stałe od 0V do +V przy wypełnieniu od 0% do 100%. Ale wentylator bedzie działał tylko od pewnego napięcia minimalnego (czujnik też) czyli defakto regulacja skuteczna prędkości wentylatora bedzie na poziomie np 30% do 100% wypełnienia PWM. Podłacz wentylator do zwykłego regulowanego zasilacza a zobaczysz od jakiego napięcia wentylator (dany typ) bedzie zaczynał pracę( minimalna predkość), to bedziesz wiedział o co chodzi i wtedy ustalisz zakres zmian PWM.
lub daj kondensator elektrolityczny tak jak na tym schemacie i będzie stałe napięcie zależne od wypełnienia PWM.
|
|
| Back to top |
|
 |
_Robak_ Poziom 22

Joined: 16 Apr 2006 Posts: 2185 Location: Bytom
|
#29
18 Mar 2010 14:16 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
| Quote: |
lub daj kondensator elektrolityczny tak jak na tym schemacie i będzie stałe napięcie zależne od wypełnienia PWM.
|
No nie bardzo, żeby zrobić taki regulator należy dać cewkę i diodę, tak jak w http://cds.linear.com/docs/Application%20Note/an35.pdf
|
|
| Back to top |
|
 |
Google

|
#
18 Mar 2010 14:16 |
|
|
|
|
|
| Back to top |
|
 |
WOBI Poziom 12

Joined: 29 Jul 2004 Posts: 96 Location: Walbrzych
|
#30
18 Mar 2010 14:45 Re: [ATmega8][C] Wentylator sterowany PWM + pomiar obrotów ( |
|
|
|
Będzie działać bo u mnie działa, to jest uproszczony regulator napięcia. Dla tego przykładu co podałeś (klasyczny zasilacz impulsowy) który obniża napięcie i wymagane są parametry takie jak stabilność, napięcie tętnień, szumy itd. to stosuje się co co podałeś. Ale ja podałem uproszczony sposób o który kolega piszący post prosił więc można pominąć i uprościć układ bo w tym zastosowaniu można tak zrobić. U kolegi był problem że sterował masą (minusem) i sterował też przy okazji czujnikiem halla. Przy sterowaniu tak jak podałem ( plusem + kondensator) bedzie uklad działał. Wiem że nie jest to klasyczne rozwiązanie ale skuteczne. Tylko wartość kondensatora trzeba dobrać do danego obciążenia tutaj wentylatora.
|
|
| Back to top |
|
 |