Witam
Ostatnio znalazłem na allegro taki oto silnik
Zasilanie 12V, przekładnia 102:1 oraz enkoder 1632 impulsy na jeden obrót wału(już na przekładni). Zastanawiam się czy silnik DC z enkoderem mógłby być wykorzystany do precyzyjnego sterowania np. powiedzmy ramieniem robota lub czegokolwiek? Zmontowałem na szybko takie coś jak na filmiku poniżej (tylko prosze od razu wyciszyć dźwięk, nie wiem dlaczego podczas konwersji tak to narosło!!!)
Ten cały pasek jest tylko po to aby spowolnić lekko obroty silnika przy pełnym zasilaniu 12V (przy stałym wypełnieniu PWM)
Silnikiem sterują dwa przekaźniki, jeden od kierunku obrotów, drugi jako ENABLE załącza obwód silnika. Przekaźnikami steruje ARDUINO UNO pobierając informacje z kanałów A i B enkodera. Jest to o tyle fajna jak dla mnie rzecz (bo pierwszy raz mam z tym styczność), że pozycja enkodera jest całkowicie niezależna od zasilania silnika. Wyłączyłem zasilanie, ręcznie przekręciłem lekko wał silnika i po włączeniu zasilania ramię dojechało do swojej pozycji.
Teraz właśnie zauważony mankament. Po dojechaniu do 2000 impulsów (wartość zadana) program odłączał zasilanie na 1s, ale siła bezwładności i zachowana energia dalej pchała ramię. Na filmiku zastosowałem podanie wstecznej polaryzacji na 50ms co momentalnie wyhamowuje silnik, ale zauważyłem, że przez to sam silnik lekko sie nagrzewa. Poza tym przy większym ciężarze hamowanie będzie juz dłuższe.
Czy silniki prądu stałego mają wogóle zastosowanie w precyzyjnym pozycjonowaniu? Zastanawiam się nad zakupem jakiegoś modułu PWM do regulacji prędkości. Impuls z enkodera generuje przerwanie zewnętrzne, może użyć timera do określenia czasu kolejnego impulsu, a mając drogę i czas mam też prędkość dla ustalenia jakiegoś algorytmu hamowania? Czy podanie odwrotnej polaryzacji jest wogóle poprawne? w celu wyhamowania.
No i powtórzę się z pytaniem czy wogóle warto zagłębiać się w temat, czy silnik prądy stałego może precyzyjnie i szybko przemieszczać się z miejsca w miejsce?
Poniżej mój tymczasowy program
Ostatnio znalazłem na allegro taki oto silnik
Zasilanie 12V, przekładnia 102:1 oraz enkoder 1632 impulsy na jeden obrót wału(już na przekładni). Zastanawiam się czy silnik DC z enkoderem mógłby być wykorzystany do precyzyjnego sterowania np. powiedzmy ramieniem robota lub czegokolwiek? Zmontowałem na szybko takie coś jak na filmiku poniżej (tylko prosze od razu wyciszyć dźwięk, nie wiem dlaczego podczas konwersji tak to narosło!!!)
Ten cały pasek jest tylko po to aby spowolnić lekko obroty silnika przy pełnym zasilaniu 12V (przy stałym wypełnieniu PWM)
Silnikiem sterują dwa przekaźniki, jeden od kierunku obrotów, drugi jako ENABLE załącza obwód silnika. Przekaźnikami steruje ARDUINO UNO pobierając informacje z kanałów A i B enkodera. Jest to o tyle fajna jak dla mnie rzecz (bo pierwszy raz mam z tym styczność), że pozycja enkodera jest całkowicie niezależna od zasilania silnika. Wyłączyłem zasilanie, ręcznie przekręciłem lekko wał silnika i po włączeniu zasilania ramię dojechało do swojej pozycji.
Teraz właśnie zauważony mankament. Po dojechaniu do 2000 impulsów (wartość zadana) program odłączał zasilanie na 1s, ale siła bezwładności i zachowana energia dalej pchała ramię. Na filmiku zastosowałem podanie wstecznej polaryzacji na 50ms co momentalnie wyhamowuje silnik, ale zauważyłem, że przez to sam silnik lekko sie nagrzewa. Poza tym przy większym ciężarze hamowanie będzie juz dłuższe.
Czy silniki prądu stałego mają wogóle zastosowanie w precyzyjnym pozycjonowaniu? Zastanawiam się nad zakupem jakiegoś modułu PWM do regulacji prędkości. Impuls z enkodera generuje przerwanie zewnętrzne, może użyć timera do określenia czasu kolejnego impulsu, a mając drogę i czas mam też prędkość dla ustalenia jakiegoś algorytmu hamowania? Czy podanie odwrotnej polaryzacji jest wogóle poprawne? w celu wyhamowania.
No i powtórzę się z pytaniem czy wogóle warto zagłębiać się w temat, czy silnik prądy stałego może precyzyjnie i szybko przemieszczać się z miejsca w miejsce?
Poniżej mój tymczasowy program
Kod: C / C++