Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Ograniczenie natężenia przy starcie silnika DC.

PiotrDzz 12 Apr 2017 10:45 2505 31
Tespol
  • #1
    PiotrDzz
    Level 11  
    Witam, co można zastosować aby ograniczyć prąd rozruchu silnika DC ? Nie może to być rozwiązanie programowe, musi być sprzętowe. Silnik nie jest duży, zasilany 4.9V, dokładnie jestto serwo SG90 bez elektroniki (sam silnik i przekładnie). Prąd przy normalnej pracy to około 400mA, natomiast podczas startu ponad 700mA. Czy da się to ograniczyć jakimś komponentem elektronicznym ? Czytałem trochę o diodach prostowniczych i Schottky`ego ale nie wiem czy to rozwiązuje problem.
  • Tespol
  • #2
    dedito
    Level 39  
    W najprostszym przypadku termistor, w najlepszym do kupienia softstart, ewentualnie do wykonania.
  • #4
    PiotrDzz
    Level 11  
    Termistor zmienia rezystancję zależnie od temperatury więc do rozwiązań na zewnątrz chyba nie będzie się nadawał, dobrze rozumuję ? Co do gotowych układów soft-start możesz podać przykład do kupienia żebym wiedział jak i co szukać ? Co do wykonania, obawiam się że może to być ponad moje siły patrząc na układy z tego tematu:

    https://www.elektroda.pl/rtvforum/topic1047137.html

    Dodano po 2 [minuty]:

    Zasilanie 5V ale sterowane PWM-em z płytki Arduino Leonardo przez sterownik silnika HG7881, pomiar prądu przez gotowy czujnik INA219. Wydajność źródła zasilania to 2A, jest to przetwornica Step-Down.
  • #5
    Zbigniew 400
    Level 38  
    Wystarcz zrobić ograniczenie prądowe w zasilaczu. Ale stracisz moment rozruchowy.
    Jaki jest cel ograniczenia prądu rozruchu ?
  • #6
    PiotrDzz
    Level 11  
    Buduję projekt sterowania bramą wjazdową przez płytkę Arduino z możliwością przeniesienia na skalę rzeczywistą. W związku z tym napisałem kod który odczytuje wartość prądu płynącego do silnika i w momencie wykrycia prądu większego niż założony, procesor zatrzymuje działanie silnika , co ma równać się wykryciu jakiejś przeszkody i przeciwdziałaniu uszkodzeniu silnika. W takim układzie prąd rozruchowy przewyższa prawie o połowę zadeklarowaną wartość i efekt jest taki, że nawet przy braku przeszkody procesor zatrzymuje działanie podczas startu silnika.
  • #7
    krzysiek_krm
    Level 40  
    Witam,
    PiotrDzz wrote:
    Zasilanie 5V ale sterowane PWM-em z płytki Arduino Leonardo przez sterownik silnika HG7881, pomiar prądu przez gotowy czujnik INA219. Wydajność źródła zasilania to 2A, jest to przetwornica Step-Down.

    przecież możesz zrobić "soft start" zwiększając płynnie współczynnik wypełnienia sterującego sygnału PWM. Zamiast szczytowej wartości prądu musisz mierzyć wartość średnią, spokojnie wystarczy jako zabezpieczenie. Okres uśredniania musisz sprytnie dobrać.

    Pozdrawiam
  • #8
    PiotrDzz
    Level 11  
    Próbowałem tak zrobić jednak używam biblioteki obsługi wątków "Timers.h" i nie mogę zastosować opóźnienia "delay()" gdyż gryzie się to później z obsługą wątków. Żeby nie spamować wysłałem PW.
  • Tespol
  • #9
    Zbigniew 400
    Level 38  
    Błąd w rozumowaniu. Naleźu sprawdzić czas rozruchu i w tym czasie nie mierzyć prądu lub zaprogramować wyźszą wartość ograniczania.
  • #10
    krzysiek_krm
    Level 40  
    PiotrDzz wrote:
    Próbowałem tak zrobić jednak używam biblioteki obsługi wątków "Timers.h" i nie mogę zastosować opóźnienia "delay()" gdyż gryzie się to później z obsługą wątków. Żeby nie spamować wysłałem PW.

    Stosowanie "delay" jest "ostateczną ostatecznością", cokolwiek by to oznaczało.
    Spróbuj zastosować mechanizm:
    http://playground.arduino.cc/Code/TimingRollover
    przyda się przy różnych aplikacjach, nie tylko w aktualnej.

    Pozdrawiam
  • #11
    User removed account
    User removed account  
  • #12
    krzysiek_krm
    Level 40  
    mkbwewe wrote:
    To serwo mechanizm, jak potrzeba to zmienia kierunek n razy na sekundę, limitując mu prąd upośledzisz jego własności dynamiczne, nadążność itd.

    raczej nie, bo użytkownik stosuje
    PiotrDzz wrote:
    bez elektroniki (sam silnik i przekładnie)
  • #13
    PiotrDzz
    Level 11  
    Też tak myślałem aby odczekać trochę przed pomiarem ale nie wiem co z tego wyjdzie, niemniej spróbuję. Co do wyższej wartości nie będzie to dobre rozwiązanie gdyż później może być problem z wyłączeniem, co zajmie za dużo czasu jak i mogą ulec uszkodzeniu inne elementy konstrukcji, zanim prąd osiągnie tak dużą wartość.

    Dodano po 3 [minuty]:

    "krzysiek_krm" dziękuję za link, poczytam i zobaczę czy dam radę to wykonać.
  • #14
    Zbigniew 400
    Level 38  
    Nie zrozumiałeś mojego pomysłu. Usyalasz dwa progi prądowe. Jeden większy na czas rozruchu i drugi roboczy.
  • #15
    krzysiek_krm
    Level 40  
    Zbigniew 400 wrote:
    Nie zrozumiałeś mojego pomysłu. Usyalasz dwa progi prądowe. Jeden większy na czas rozruchu i drugi roboczy.

    To jest najlepszy pomysł. Rozruch trwa na tyle krótko, że raczej nic złego się nie stanie.
    Z drugiej strony, mógłbyś "utknięcia" silnika monitorować za pomocą jakiegoś prostego przetwornika obrotowo - impulsowego.
  • #16
    Zbigniew 400
    Level 38  
    Moźna zastosować na osi silnika impulsator. Tak jest w fabrycznych napędach do bram przesuwnych.
  • #17
    PiotrDzz
    Level 11  
    No rzeczywiście można ustalić dwa progi prądowe, jednak spróbowałem rozwiązania z wstrzymaniem pomiaru i uruchomienie chwilę po starcie silnika. Jestem na etapie sprawdzania jak to działa więc na razie nic więcej nie napiszę. Dziękuję wszystkim za pomoc i cenne rady, myślę że jutro napiszę o efektach.
  • #18
    srajponiec
    Level 14  
    A nie prosciej dodać kondensator na linie pomiarowa prad, wprowadzi to opoźnienie w reakcji układu, przez co duzy prad rozruchowy zostanie niezauwazony dla ukladu jednak po napotkaniu przeszkody gdzie silnik bedzie mial wyrazny problem i przy nieco dluzszym czasie niz sam rozruch silnika po prostu zareaguje. Zresztą ardunio idzie zaprogramowac..., ja tylko mówie o rozwiazaniu analogowym najprostrzszym z mozliwych, zeby uklad nie wykryl tego jako przeciazenie, bo taki uklad przeciez nie musi od razu reagować tylko z pewnym opoznieniem, a silnik od chwilowej pracy przeciazeniowej sie nie spali.
  • #19
    PiotrDzz
    Level 11  
    Właśnie o takie najprostsze rozwiązanie mi chodziło tylko jaki kondensator ? Elektrolityczny ma polaryzację więc chyba nie będzie możliwości wpięcia go w układ, zostaje więc ceramiczny tak ? Teraz mam wpięty 100nF pomiędzy silnikiem a czujnikiem INA219.

    Poradziłem sobie z tym ale nie wiem czy w dobry sposób. Otóż wątek odpowiedzialny za pomiar sprawdzany jest co 200ms, gdy pomiar zostaje uruchomiony wykonuje się kod "Licznik++", następnie sprawdzam warunek "if(Licznik>=2)" wtedy dopiero zaczyna się część odpowiedzialna za odczytywanie wartości. Sprawdza się to dobrze, lecz jednym mankamentem jest dla mnie to że licznik wykonuje się do momentu zakończenia otwierania lub zamykania, jest to niepotrzebne zajęcie procesora. Czy takie rozwiązanie jest w miarę rozsądne ?
  • #20
    srajponiec
    Level 14  
    Musisz dobrać doświadczalnie, bo raczej cięzko określić i co innego jesli masz w szeregu w lini pomiarowej wpiety rezystor o jakis wartosci to mozesz zrobic prosty układ RC i to juz idzie jakoś obliczyć. Wzory do stałych czasowych znajdziesz w necie, pelno tego. Jak masz oscyloskop to mozesz tez zmierzyc czas impulsu pradu rozruchowego i dac z zapasem czasu w ukldzie RC. W obrazku masz przykład tego. R1 wraz z C1 tworza uklad RC w lini pomiarowej i tu mozesz sobie obliczyc jaki czas przy danych elementach masz. W tym wypadku takie coś ma mieć miejsce na zaciskach Vin+ i Vin- ukladu INA219, w czesci cyfrowej musisz sobie sam poradzic albo kogos innego męczyć. :D
    Ograniczenie natężenia przy starcie silnika DC.
  • #21
    Wini 230
    Level 23  
    Pomiar napięcia na rezystorze i w zależności od jego poziomu sterowanie otwarciem tranzystora za pomocą wzmacniacza operacyjnego :D
  • #22
    srajponiec
    Level 14  
    Wini 230 wrote:
    Pomiar napięcia na rezystorze i w zależności od jego poziomu sterowanie otwarciem tranzystora za pomocą wzmacniacza operacyjnego :D

    Cały czas się o to rozchodzi, tylko żeby układ nie reagował na byle pierdoły to trzeba go jakoś zamulić. ;p
  • #23
    neo_dc
    Level 32  
    Lekarstwem na Twoje bolączki jest element o nazwie pozystor, stosowany często w kineskopowych TV. Bez żadnych procesorów, przetwornic itp.
  • #24
    Zbigniew 400
    Level 38  
    Po co szukać dziwnych rozwiązań jeźeli problem jest rozwiązany w działających urządzeniach.
  • #25
    srajponiec
    Level 14  
    Zbigniew 400 wrote:
    Po co szukać dziwnych rozwiązań jeźeli problem jest rozwiązany w działających urządzeniach.

    Jakich dziwnych, kazde podane rozwiazanie jest znane od XX czasu. Kazdy sposob jest dobry aby zrealizowac swoj cel, tylko czasami po co kombinowac z impulsatorami - twoja wypowiedz wyzej, skoro sa jeszcze duzo prostrzsze rozwiazania? Kolega chce coś prostego i majacego duża skuteczność, rozwiazania z pozystorami czy termistorami ntc sa bardzo powszechnie stosowane i znane od bardzo wielu lat, dlużej niz przykładowe rozwiazania cyfrowe. Termistory ntc w układach zasilania zarzenia w lampach był bardzo powszechnie stosowane. Teraz sie o tym tak czesto nie slyszy bo zasila sie poprzez przetwornice itd z ograniczeniami pradu, ale kiedys w celu ograniczenia pradu stosowało sie termistor który poprzez przepływ pradu się rozgrzewał i zmniejszal swoja rezystancje do odpowiedniej dla układu, powodując przy tym miękki start, takie termistory mocy ciezko dzisiaj dostać od ręki, ale jeszcze kilkadziesiąd lat temu był powszechnym elementem. To samo układu RC w celu opoźniania sygnałów, bardzo powszechnie stosowane. Proste tanie rozwiązania o których jak domniemam, nie słyszałeś?
  • #26
    Zbigniew 400
    Level 38  
    Słyszałem i naprawiałem. Jak zachowa się silnik z pozystorem przy duźym obciąźeniu pr zy starcie ?
    Nie spotkałem się z ograniczaniem prądu rozruchu rezystancyjnym.
    Po drugie ma być to prijekt na dzisiejsze czasy, więc powinien zapewniać obowiązujące wymagania techniczne.
  • #27
    PiotrDzz
    Level 11  
    Widzę, że problem można rozwiązać na kilka sposobów, natomiast mam pytanie: czy taki pozystor to dobre rozwiązanie przy tak małych silnikach jak mój ? Nie znam w ogóle tematu więc pytania mogą być bezsensowne, ale przeczytałem przykładową kartę z charakterystyką pozystorów i tam czas reakcji wynosił 16 sekund, tak długi czas reakcji pewnie spowodowany był tym, że elementy były do napięć <2,5kV, ale zastanawia mnie czy pozystory mają tak szybki czas działania tzn. <0,2 sekundy ? Gdyż z taką częstotliwością "łapię" pomiar.

    Wini 230 wrote:
    Pomiar napięcia na rezystorze i w zależności od jego poziomu sterowanie otwarciem tranzystora za pomocą wzmacniacza operacyjnego

    Wybacz, ale chodziło mi o rozwiązanie proste i tak jak napisał kolega "srajponiec" najlepiej analogowe, a Twój przykład wymaga dużo więcej zachodu niż jest to warte. Gdyby był to poważny projekt wtedy możemy rozmawiać dalej :)

    Panowie, weźcie proszę pod uwagę to, że jest to tylko projekt w małej skali. Gdy będzie to robione na skalę rzeczywistą, kupię gotowy moduł SoftStartu gdyż w moim przypadku lepiej zaufać komponencie stworzonym przez doświadczonych ludzi. Niemniej Wasze informacje przydadzą się gdybym jednak zmienił zdanie i powoli próbował zrobić to własnymi siłami. Nie sprzeczajcie się jakie rozwiązanie jest dobre, gdyż według mnie każde będzie dobre do konkretnego przypadku, chodź i pewnie nie zawsze no ale mniejsza z tym.

    Jeżeli proste rozwiązanie zwyczajnie nie istnieje to trudno, najlepszym rozwiązaniem na chwilę obecną według mnie jest pomysł kolegi "Zbigniew 400" o ustaleniu programowo dwóch progów pomiaru natężenia, jeden rozruchowy, drugi do pracy. Jak poszedłem jeszcze bardziej na łatwiznę i tak jak pisałem wyżej, dodałem chwilowe opóźnienie rzędu 400ms do pomiaru natężenia, niestety nie jest to zrobione tak jak zakładałem ale jednak był to najprostszy sposób. Mimo to bardzo dziękuję za poświęcony czas i przekazaną wiedzę.
  • #28
    srajponiec
    Level 14  
    PiotrDzz wrote:
    Wybacz, ale chodziło mi o rozwiązanie proste i tak jak napisał kolega "srajponiec" najlepiej analogowe, a Twój przykład wymaga dużo więcej zachodu niż jest to warte. Gdyby był to poważny projekt wtedy możemy rozmawiać dalej


    Tylko, że.... INA219 na wejsciu pomiarowym posiada op ampa i uklad pomiaru jest taki sam jak kolega napisał, różnica w tym ze INA219 posiada interfejs cyfrowy, ale o identyczna rzecz chodzi, pomiar napiecia opampem na boczniku pomiarowym, op amp steruje elementem wykonawczym np tranzystorem.
  • #29
    PiotrDzz
    Level 11  
    Czyli chodziło o to żeby nie używać INA219 tylko zrobić nowy układ który sterowałby tranzystorem ? Jak pisałem nie mam dużego doświadczenia w takich układach stąd moje pytania.
  • #30
    Marian B
    Level 37  
    Tyle tu opisano różnych metod, a może by wrócić do klasyki stosowanej od "zawsze" w rozrusznikach silników prądu stałego, czyli na czas rozruchu dołączany jest rezystor szeregowy, zwierany po pewnym czasie stykiem przekażnika (za pomocą układu czasowego, lub pomiaru prądu w systemach bardziej zaawansowanych)?
    Takie włączenie szeregowego rezystora NIE ZMNIEJSZA momentu rozruchowego, są jedynie przez chwilę mniejsze obroty.

    W silnikach dużej mocy jest też stosowany rozruch wielostopniowy, kolejno są zwierane kolejne rezystory w połączeniu szeregowym, albo dołączane przy połączeniu równoległym.