Mam serwery typu hobby ( Power HD 1501MG ) i chciałbym móc je kontrolować (za pośrednictwem Arduino), więc albo przejdą pod ustawionym kątem, albo przestawią je w tryb „swobodnego działania”, gdzie ładunek zabierze ich gdziekolwiek się pojawi.
Czy to w ogóle możliwe, czy po prostu skończę zrzucać koła zębate?
Moją pierwszą myślą jest po prostu zabicie mocy serwomechanizmu, ale siła potrzebna do przeniesienia ich w tym stanie jest większa niż bym chciał.
Jeśli to możliwe, czy patrzę na zmianę sprzętu, czy mogę to zrobić w oprogramowaniu?
Odpowiedzi:
To, o co prosisz, nie będzie łatwe ze standardowym serwomechanizmem RC.
To, o co prosisz, to serwomechanizm z napędem wstecznym. IE taki, który można dowolnie obracać poprzez zastosowanie zewnętrznego momentu obrotowego. Z pewnością można je utworzyć i są one stosowane w wielu robotach, ale większość serwomechanizmów RC wymaga znacznego momentu obrotowego, aby je napędzić. Nazwałbym ich pół-backdrivable.
Co przeszkadza ci jeździć? Dwie rzeczy:
Tarcie: po pierwsze tarcie w łańcuchu zębatym i silniku. Serwa RC są zawsze ustawione w dół; wyjście obraca się wolniej niż silnik. Oczywiście oznacza to, że kiedy spróbujesz jechać z powrotem, musisz bardzo szybko obrócić silnik. Każde tarcie lub zazębienie w silniku będzie odczuwane kilkadziesiąt razy na wyjściu.
Prąd: coś zaskakującego w silnikach elektrycznych polega na tym, że w przypadku zwarcia zacisków trudniej jest je obrócić. Obrót silnika wytwarza prąd elektryczny, który działa przeciwnie do obrotu. Elektronika wewnątrz serwomechanizmu może pozwolić na przepływ wystarczającej ilości prądu, nawet gdy jest wyłączony, co wyraźnie uniemożliwia cofanie. W przeszłości zauważyłem, że niektóre duże silniki krokowe, nawet gdy są nieuzbrojone, są prawie niemożliwe do cofnięcia po podłączeniu do niezasilanego sprzętu. Ale kiedy je odłączysz, można je dowolnie obracać.
Tak więc jednym ze sposobów na poprawienie sterowności wstecznej jest zapobieganie przepływowi prądu. Oczywistym sposobem na to jest całkowite odłączenie silnika od jego elektroniki. Jest to jednak trudne, nawet przy użyciu tranzystorów polowych, ponieważ diody wewnątrz tranzystorów polowych mogą umożliwiać przepływ prądu. Możesz jednak użyć przekaźnika, który naprawdę odłączyłby silnik. Będziesz musiał użyć go tylko na jednym z zacisków silnika.
„Właściwe” serworegulatory (takie jak ESCON firmy Maxon) faktycznie zawierają kontroler prądu, który może aktywnie zapobiegać przepływowi prądu poprzez przyłożenie odpowiedniego napięcia do zacisków silnika. Naprawdę może pomóc wymiana elektroniki w serwomechanizmie na coś zdolnego do kontroli prądu.
Co powinieneś zrobić: Otwórz serwo, odsprzedaj silnik i zmontuj go ponownie. Jak łatwo jest teraz jeździć? Jeśli jest to łatwe, może być możliwe zrobienie tego, co chcesz. Jeśli nadal jest to zbyt trudne dla twojej aplikacji, będziesz musiał wybrać inne serwo lub stworzyć własne. Wykonaj jedno z jednym stopniem przekładni, aby maksymalnie zredukować tarcie przekładni, i zastosuj elektronikę napędową z pętlą sterowania prądem, aby zapewnić zerowy przepływ prądu.
źródło
Interesujące pytanie.
Pierwszą opcją, którą zbadałem, byłoby odcięcie zasilania zgodnie z twoimi sugestiami (być może sterowanie MOSFET w oprogramowaniu do przełączania zasilania).
Innym bardziej skomplikowanym podejściem może być monitorowanie poboru prądu przez serwomechanizm w celu wykrycia, kiedy znajduje się on pod dużym obciążeniem. Gdy chcesz przejść do trybu „swobodnego działania”, pozwól swojemu oprogramowaniu próbować w sposób ciągły ustawiać serwomechanizm w pozycji zapewniającej najmniejsze zużycie prądu. Nie spowoduje to całkowicie „wolnego działania” serwomechanizmu, ponieważ wystąpią pewne drgania serwomechanizmu, gdy oprogramowanie będzie próbowało znaleźć „właściwą” pozycję, ale może działać w zależności od aplikacji.
Nie trzeba modyfikować serwomechanizmów, aby monitorować bieżące zużycie. Płytka taka jak ta SparkFun będzie znajdować się pomiędzy serwomechanizmem a jego źródłem zasilania (potrzebujesz jednego z nich na serwomechanizm) i będzie generować napięcie analogowe (które można odczytać na pinie ADC mikrokontrolera), które odpowiada prądowi:
Zdjęcie z SparkFun
źródło
Zazwyczaj tego rodzaju serwomechanizmy hobby nie są przeznaczone do ciągłego obrotu i często zawierają mechaniczne zatrzymanie. Uwaga: to, co przedstawię poniżej, jest pewnym sposobem, aby nigdy nie uzyskać rzeczywistego działania w pętli zamkniętej, ale zamiast tego sprawi, że serwo będzie działać tylko w sposób ciągły.
Przez większość czasu możesz wykonać szybkie wyszukiwanie w trybie online „Ciągła modyfikacja dla serwomechanizmu x”, ale tutaj opiszę ogólny proces.
Teraz wysłanie polecenia „środkowego” do serwomechanizmu powinno zatrzymać ruch, a wysłanie polecenia pozytywnego lub negatywnego powinno spowodować ciągłe obracanie się w jednym lub drugim kierunku. Prędkość obrotowa powinna być proporcjonalna do „odległości” od środka wysłanego polecenia.
Jeśli chcesz przywrócić działanie serwomechanizmu do nowo zmodyfikowanego serwomechanizmu, możesz dodać koder w celu ponownego zamknięcia pętli.
Alternatywnie, możesz przyjrzeć się serwo serii Dynamixel , które pozwala zarówno na pracę ciągłą, jak i serwo oraz zawiera pewne wsparcie dla Arduino.
źródło
Zamiast tego zdobądź przyzwoite silniki i przejedź je mostem h, jak znajdziesz na tej osłonie silnika .
źródło