takie pytano o sterowanie silnikiem DC...

Apr 12, 2014 37 Replies

Jest sobie taki układ - uC za pośrednictwem mosfeta reguluje prędkość silnika szczotkowego DC.



W układzie mosfeta jest jeszcze rezystor pozwalający na pomiar prądu pobieranego przez silnik - żeby wyłączyć przy przeciążeniu silnika. Znaczy banał.



I teraz - silnik zasilany jest napięciem w zakresie 20-30v (no takie nietypowe źródło zasilania) - nie ma dokładnej stabilizacji. Ale - ponieważ chcemy zachować jaką-taką stałą prędkość obrotową, to MCU mierzy to napięcie zasilające, i odpowiednio reguluje via PWM prędkość silnika.



Przy czym robi to "na ślepo" w oparciu o pomiary i wyliczoną tablicę napięcie/PWM. I generalnie toto działa.



Niemniej fajnie by było, gdyby można zrobić to porządnie - czyli mierząc faktyczną prędkość silnika. Sam silnik pobiera około 1A - i z oscylogramu prądu wynika, że prąd ten delikatnie oscyluje z częstotliwością ok. 400Hz - zapewne z taką szybkością obraca się wał silnika - tego nie wiadomo zresztą, ponieważ silnik zamknięty jest w obudowie z przekładnią zmniejszającą obroty do ok. 1 / sek. Delikatnie oscyluje - znaczy jak pamiętam - to przy 1A są to oscylacje na może 20 mA - coś koło tego. Sinusoida zresztą.



No i teraz - żeby wykryć rzeczywistą prędkość silnika, należałoby odczytać te wahania prądu. Przychodzą mi tu do głowy jakieś rozwiązania "normalne" - czyli odseparować składową stałą, wzmocnić itp.



Ale może - i tu docieram do clue - jest jakiś wynalazek (driver silnika), który takie cudo ma zaimplementowane ?


Od razu wyjaśniam, że żadne pomiary "mechaniczne" na silniku nie wchodzą w grę. Zakładamy, że on jest fizycznie niedostępny - są tylko przewody do niego.

W dniu sobota, 12 kwietnia 2014 05:14:53 UTC+2 użytkownik sundayman napisał:

Scalaki od zasilania silników w magnetofonach kasetowych potrafiły robić to co Ci potrzebne z zadziwiającą precyzją. Do większego silnika niż był w magnetofonie wystarczyło zewnętrzny tranzystor dołożyć.

to co Ci potrzebne z zadziwiaj±c± precyzj±. Do wiêkszego

a tam scalaki... w roku 1974 w MK125 by³a zdaje siê taka ma³a p³yteczka z potecjometrem.

formatting link
przesuwu ta¶my: 4,75 cm/sek. Nierównomierno¶æ przesuwu ta¶my ~ 0,3 %.

Od razu wyja¶niam, ¿e nie jestem zwolennikiem rozwi±zañ na tranzystorach BC211, nie zamierzam robiæ tego w assemblerze, ani na procesorze 8- bitowym :-). S.

Użytkownik sundayman napisał:

Nie banał a chińszczyzna. W prawidłowo zaprojektowanym układzie powinien być mosfet z sensorem prądowym - zwłaszcza w układach bardzo niskich napięć ma to sens.

Nie bardzo - łatwiej badać spadek napięcia Uds. Wyjście prądowe jest wskazane przy większych napięciach raczej. Ewentualnie jak dysponujesz ujemnym napięciem, żeby spolaryzować nóżkę CS MOSFETa...

W TME jedynym obecnie dostępnym tranzystorem serii IRC jest IRC840 - na 500V - trudno to nazwać niskim napięciem.

A przy otwartym kluczu? S.

Albo mamy jakiś problem definicyjny albo nie zrozumiałeś. Spójrz do PDFa układów IR2127/28 - tam akurat badają spadek napięcia na IGBT - jest wyższy więc łatwiej.

Dnia Sat, 12 Apr 2014 11:07:19 +0200, Sylwester Łazar napisał(a):

Uklad byl w miare typowy, na dwoch tranzystorach.

Ale czy az taki dobry ..

I slusznie, bo to bardzo zly tranzystor byl :-)

No, w dzisiejszych czasach ... ja bym przemyslal.

J.

Dnia Sat, 12 Apr 2014 05:14:53 +0200, sundayman napisał(a):

Te wspomniane magnetofony mierzyly troche inaczej Napiecie na silniku U=I*R+E, gdzie E - napiecie samoindukcji. E=k*n, gdzie n - predkosc obrotowa, k - stala silnika.

Wystarczy wiec policzyc E=U-I*R i stabilizowac to E.

Niestety - metoda nie jest zbyt dokladna, a w obecnosci PWM wszystko sie komplikuje.

A nie da sie dolozyc jakiegos enkodera ?

J.

W dniu 2014-04-12 12:13, J.F. pisze:

Pisał że bez przeróbek mechanicznych. ATSD do stabilizacji obrotów silników DC stosuje się zazwyczaj tachometry. Małe prądniczki zapięte na wał silnika.

W dniu 2014-04-12 05:14, sundayman pisze:

TPIC2101 Texasa. Jest na "samochodowe" napięcie, ale jeśli trochę pokombinujesz, to wykombinujesz :-) Zrobiłem na nim sterownik wiertarki do płytek zasilany transformatorem

24V. Działa super, żadnych oscylacji.

Paweł

Dnia Sat, 12 Apr 2014 13:00:48 +0200, Mario napisał(a):

Ale to rozwiazanie analogowe, niedokladne. Impulsator lepszy i malutki.

J.

W dniu 2014-04-12 13:08, J.F. pisze:

Do stabilizacji prędkości wystarczy. Typowe drivery do sterowania silników DC mają wejścia do sprzężenia zwrotnego z tachometru. Enkoder raczej służy do ustalania położenia.

Tachometr ma około 20 mm średnicy a enkoder 45.

Dorzucę jeszcze, że robiłem stabilizator obrotów według Application Note

292 Nationala, LM3524 z odczytem napięcia generowanego przez silnik w przerwach PWM. Przy obciążonym silniku działa fajnie, ale bez obciążenia silnik dostawał kota. Być może sama przekładnia obciąży silnik w wystarczającym stopniu.

P.P.

W dniu sobota, 12 kwietnia 2014 13:08:45 UTC+2 użytkownik J.F. napisał:

faktycznie 0,3% to niedokładnie.

Wydaje mi siê, ¿e ani jedno, ani drugie. Po prostu nie wiedzia³em co robi±, aby High Voltage nie zniszczy³o wej¶cia pomiarowego. Odpowied¼: Przy otwartym kluczu jest dioda, która polaryzuje siê zaporowo, a napiêcie jest ¶ci±gane do potencja³u bramki w stanie wy³±czonym. Dziêki Roman. S.

Ach, nieporozumienie :(

Często stosuje się też dwie diody - jedna do drenu (kolektora w przypadku IGBT) a druga do pomiaru - w ten sposób kompensuje się dryft termiczny.

Już patrzę na tego TPIC'a...

Co do reszty uwag - żadne enkodery, impulsatory itp. - jak mówiłem , nie ma fizycznie dostępu do silnia i koniec tematu. Gdyby to było możliwe, to bym nie kombinował z wykrywaniem obrotów po skokach prądu...

Regulatory analogowe "z kaseciaka" może i są dobre w kaseciaku, ale :

1) nie sądzę, żeby to się sprawdzało przy tak dużej rozpiętości napięcia zasilającego 2) silnik tak czy owak musi być sterowany PWM - chociażby dlatego , że musi być softstart 3) zmiany obciążenia silnika są w bardzo dużym zakresie (jest to pompa, która jest bardzo różnie obciążana - czasem wręcz do "zatrzymania" )

Poza tym, ta regulacja która jest (czyli napięcie/PWM) działa, i jest to jak dotąd wystarczające. Więc jeśli zmieniać, to tylko na FAKTYCZNY pomiar obrotów - zmiana na inną "protezę" sensu nie ma.

***

TPIC2101 - no fajnie, ale to jest "tylko" regulator PWM. On nie ma "zwrotnego" pomiaru prędkości obrotowej via pomiar prądu silnika. A właściwie, nie via "prądu silnika" tylko wahań tego prądu, spowodowanych przez działanie komutatorów silnika.

Czyli nic to nie wnosi.

Może się niejasno wyraziłem - te oscylacje prądu pobieranego przez silnik, nie wynikają z pracy PWM, tylko są cechą samego silnika i występują także przy zasilaniu bezpośrednio z zasilacza - po prostu przełączanie uzwojeń w silniku powoduje takie minimalne wahania prądu - ale korzystne jest to, że te wahania odzwierciedlają rzeczywistą prędkość obrotową. Trzeba tylko je "wyciągnąć" i wykorzystać.

tutaj jest opis tego mechanizmu :

formatting link
Nawet się zgadza wygląd tych oscylacji.

Użytkownik J.F. napisał:

Albo wręcz ułatwia, w czasie wyłączonego klucza można mierzyć E.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required