Silnik 85BYGH450C. Sterownik na TB6600, z możliwością nastawienia mikroprzełącznikiem prądu i ilości kroków na obrót.
Po pierwsze, nie przy każdym ustawieniu działa - przy nastawieniu zbyt małego, albo zbyt dużego prądu działa tylko z niektórymi nastawieniami ilościami kroków na obrót. Ale już wypróbowałem, że ustawienie 1A, albo 1.5A działa prawidłowo z każdym nastawieniem ilości kroków.
Po drugie, działa prawidłowo tylko przy niezbyt szybkich obrotach. Na razie trudem doszedłem do tego, że mogę wykonać cały obrót w czasie nieco poniżej sekundy. Problemem jest bezwładność wirnika - przy większej szybkości nie nadąża reagować na zmiany prądu, gubi synchronizację.
Docelowo, na silniku będzie umieszczone (i sztywno zamocowane) koło o średnicy około 30cm i masie około 1kg - silnik ma nim obracać i szybko ustawiać w potrzebnym położeniu. Moment bezwładności tego koła będzie kilkaset razy większy, niż wirnika w silniku - więc i problemy z bezwładnością odpowiednio większe. A nie jest dopuszczalne występowanie błędów pozycjonowania.
Impulsy wysyłam przez port szeregowy komputera PC (UART - czyli każdy wysłany bajt daje bit startu, 8 bitów danych, bit stopu). To pozwala uzyskać określoną szybkość wysyłania, przynajmniej jeśli jakieś bajty wpisze się do FIFO interfejsu UART, to już chwilowe obciążenie komputera nie opóźni ich wysłania - być może system zapewnia, że UART będzie wysyłał dane z pełną szybkością, dopóki są one dostępne w buforze systemowym, a opóźnienia mogą pochodzić tylko z programu, który je tam umieszcza - ale ciężko będzie to sprawdzić. Z drugiej strony, bit startu i bit stopu mają przeciwną polaryzację sygnału elektrycznego, więc sterownik dostaje co najmniej jeden impuls w czasie wynikającym w szybkości wysyłania i nie można tego zmienić.
No i jest kwestia: jak dobrać sekwencje czasów wysyłania impulsów do sterownika, żeby silnik obracał się szybko do potrzebnego położenia, nie gubiąc synchronizacji? Czy ktoś mierzył się z podobnym zagadnieniem i jest skłonny udzielić wskazówek?
Po pierwsze, nie przy każdym ustawieniu działa - przy nastawieniu zbyt małego, albo zbyt dużego prądu działa tylko z niektórymi nastawieniami ilościami kroków na obrót. Ale już wypróbowałem, że ustawienie 1A, albo 1.5A działa prawidłowo z każdym nastawieniem ilości kroków.
Po drugie, działa prawidłowo tylko przy niezbyt szybkich obrotach. Na razie trudem doszedłem do tego, że mogę wykonać cały obrót w czasie nieco poniżej sekundy. Problemem jest bezwładność wirnika - przy większej szybkości nie nadąża reagować na zmiany prądu, gubi synchronizację.
Docelowo, na silniku będzie umieszczone (i sztywno zamocowane) koło o średnicy około 30cm i masie około 1kg - silnik ma nim obracać i szybko ustawiać w potrzebnym położeniu. Moment bezwładności tego koła będzie kilkaset razy większy, niż wirnika w silniku - więc i problemy z bezwładnością odpowiednio większe. A nie jest dopuszczalne występowanie błędów pozycjonowania.
Impulsy wysyłam przez port szeregowy komputera PC (UART - czyli każdy wysłany bajt daje bit startu, 8 bitów danych, bit stopu). To pozwala uzyskać określoną szybkość wysyłania, przynajmniej jeśli jakieś bajty wpisze się do FIFO interfejsu UART, to już chwilowe obciążenie komputera nie opóźni ich wysłania - być może system zapewnia, że UART będzie wysyłał dane z pełną szybkością, dopóki są one dostępne w buforze systemowym, a opóźnienia mogą pochodzić tylko z programu, który je tam umieszcza - ale ciężko będzie to sprawdzić. Z drugiej strony, bit startu i bit stopu mają przeciwną polaryzację sygnału elektrycznego, więc sterownik dostaje co najmniej jeden impuls w czasie wynikającym w szybkości wysyłania i nie można tego zmienić.
No i jest kwestia: jak dobrać sekwencje czasów wysyłania impulsów do sterownika, żeby silnik obracał się szybko do potrzebnego położenia, nie gubiąc synchronizacji? Czy ktoś mierzył się z podobnym zagadnieniem i jest skłonny udzielić wskazówek?