Elektroda.pl
Elektroda.pl
X
Relpol
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterowanie ramieniem robota przez potencjometr

krisvann 22 Gru 2008 19:38 3850 4
  • #1 22 Gru 2008 19:38
    krisvann
    Poziom 10  

    Witam
    Zrobiłem ramię robota o dwóch stopniach swobody (prawo-lewo, góra dół). Chciałbym aby chwytał dany przedmiot i przenosił go precyzyjnie z jednego miejsca na drugie. Na początku sterowałem go manualnie, później podłączyłem myszki komputerowe w taki sposób
    Sterowanie ramieniem robota przez potencjometr
    Sterowanie ramieniem robota przez potencjometr
    Podczas ruchu ramienia mikrokontroler zliczałby impulsy z myszki i pozycjonował całość tak jak bym chciał, ale jak opisałem to na forum to dostałem odpowiedź, że enkodery z myszki się nie nadają, bo nie mają punktu odniesienia, wysyłają dwa ciągi impulsów przesuniętych o 90 stopni, no i ogólnie, że to nie może dokładnie pozycjonować. Podsunięto mi pomysł żeby zamiast enkodera użyć potencjometru i za pomocą napięcia ustalać pozycję i mam pytanie: Czy wejście mikrokontrolera (na razie sporo o nich czytam i się uczę) może odczytywać spadek napięcia bezpośrednio z takiego potencjometru?, że np. jeżeli Up<4V to ramię obraca się z pełną prędkością, Up=4.0V-5.0V to któreś z wyjść mikrokontrolera załącza przekaźnik który dodaje opór i ramię zwalnia, Up>5V to zasilanie silnika jest odcięte i następuje jakiś inny ruch. Jeżeli to potrafi to nic tylko uczyć się programowania i tych jego funkcji, ale jak nie to w jaki sposób pozycjonować potencjometrem?
    Zmontowałem na szybko coś takiego
    Sterowanie ramieniem robota przez potencjometr
    Potencjometr dołączony na wał silnika zmieniałby napięcie na dwóch równolegle podłączonych przekaźnikach, które tworzą określoną rezystancję: gdy U<4,5V silnik obraca się pełną parą, gdy U=>4,5V maleją obroty, a gdy U=>5V silnik się zatrzymuje, ale okazuje się że to też mi nie działa tak jak powinno. Gdy nap. zbliża się do pożądanego przekaźnik zamiast od razu zaskoczyć to występują drgania, jak już zaskoczy to zmienia się jego rezystancja i nie działa tak jak powinno!
    Wiem, że najlepiej było by użyć krokowych, ale mam już silniki na12V i chciałbym ich użyć. Podpowiedzcie jak to zrobić?
    Z góry dzięki za odpowiedź

    0 4
  • Relpol
  • #2 22 Gru 2008 20:04
    bogdan_p
    Poziom 39  

    nie ma żadnego problemu z odczytem położenia potencjometru , może nie rezystancja ale wartość napięcia otrzymana z potencjometru zasilanego napięciem 5V , wystarczy że zastosujesz dowolny mikrokontroler z wbudowanym przetwornikiem analogowo / cyfrowym np ATMega 8
    co konkretnie ma być wykonane przy określonej wartości napięcia to kwestia programowa , nie rozumie faktu że enkoder się nie nadaje jest faktem że nie ustalisz pozycji początkowej ale na to są dwa sposoby po uruchomieniu ramie wykonuje ruch do pozycji początkowej i dopiero od tego momentu następuje zliczanie impulsów , układ wymaga zastosowania krańcówki dla położenia początkowego , drugi sposób to cykliczny zapis wartości enkodera do eeprom tak że po uruchomieniu program wie dokładnie w jakiej pozycji pozostało ramię , polecam jednak pierwszy sposób bo jest prostszy i pewniejszy , nawet przy potencjometrach wypada dać krańcówki aby nie zniszczyć mechanicznie potencjometrów

    0
  • Relpol
  • #3 22 Gru 2008 21:28
    McRancor
    VIP Zasłużony dla elektroda

    Musisz zastosować takie sterowanie silnikiem, którym będzie mógł sterować mikrokontroler.

    Na mikrokontrolerze zaprogramujesz regulator pozycji. Będzie od pobierał z przetwornika (obojętnie czy będzie to potencjometr, czy enkoder) wartość rzeczywistą i porównywał ją z oczekiwaną. Na tej podstawie wygeneruje odpowiednie sterowanie, czyli albo załączy przekaźnik, albo wysteruje mostek H. Tak działają właśnie proste regulatory - minimalizują błąd.

    Można zrobić to na przekaźnikach, ale będzie to trudne. Zrobienie końcówki mocy umożliwiające płynne sterowanie, znacznie uprości regulację, pomimo że sama końcówka może być trudna do zrobienia.

    Jaki jest maksymalny prąd pobierany przez te silniki?

    0
  • #4 22 Gru 2008 22:48
    krisvann
    Poziom 10  

    Są to silniki od wycieraczek od golfaIII, ich max. prąd wynosi 5A i zasilam je z zasilacza 12V 5A, tylko że wstawiam szeregowo opornik parę ohmów, bo bez niego ramie obraca się zbyt szybko i sterowanie manualne nie ma sensu, ponieważ raz, że ciężko wychwycić kiedy puścić przycisk, a drugie, że to dosyć mocne silniki i przy nabraniu rozpędu gdy nawet puszczę przycisk w odpowiedniej pozycji ramienia to i tak przesunie się ono trochę dalej siłą impetu, dlatego chciałbym aby przed dojściem do danej pozycji ramię przyhamowało poprzez dodanie dodatkowej rezystancji. No prąd tak czy tak płynie spory, nie mogę dać w szereg większej rezystancji niż 10ohm, bo silnik już nie ruszy

    Dodano po 28 [minuty]:

    Jeżeli piszecie,że odczyt z enkoderów od myszek nie będzie sprawiał mikrokontrolerowi problemów z dokładnym pozycjonowaniem to zostanę chyba przy nim, bo mam to już zmontowane tak jak być powinno, to znaczy, że każdy minimalny nawet ruch wała silnika daje kilka impulsów z enkodera (wcześniej miałem problem z ich odczytem, ale już jest ok) i wszystko jest w miarę stabilne to nie będę tego przerabiał na potencjometr. Dobrze wiedzieć, że mikrokontroler ma tyle funkcji, które można wykorzystać. Teraz święta, sporo wolnego, to może dojdę do tego jak to zaprogramować, dzięki.
    Jeszcze mam pytanie, jak zrobić ten układ krańcówki dla położenia początkowego. Czy chodzi tu np. o jakiś styk, gdzie ramię się przesuwa, załącza go i program się zeruje i wykonuje ruch od początku?

    0
  • #5 23 Gru 2008 12:11
    bogdan_p
    Poziom 39  

    jako wyłącznik krańcowy można zastosować dowolny mikrowyłącznik , bez problemu kupisz w dowolnym sklepie elektronicznym lub na Allegro , są z kilkoma długościami ramienia tak że można sobie dopasować do wymogów konstrukcyjnych , oczywiście jest możliwe wykorzystanie innych prostych rozwiązań z blaszkami ale jest to dość zawodne
    jeżeli masz tak duże silniki to warto pomyśleć o krańcówka w obu kierunkach by nie uszkodzić konstrukcji mechanicznej , skoro przy znamionowym napięcia zasilania masz zbyt dużą prędkość to pozostaje tylko regulacja PWM lub takie obniżenie napięcia aby ramię pracowało wolno a za razem miało dość siły , jednak rozwiązanie z opornikami nie jest najlepsze fakt że proste ale marnujesz energie w ciepło , tak jak wspomniał kol McRancor na samych przekaźnikach możesz zrobić tylko zmianę kierunku , ale nie prędkości , 5A to dość dużo gotowe mostki na Mosfetach są dość drogie chyba że skorzystasz z propozycji Mirek.Cz ( bazar ) można pokusić się o równoległy układ z L298 z ograniczeniem prądu do max 4A lub budowa samodzielnie na tranzystorach
    istnieje jeszcze jedna możliwość sam mostek H na przekaźnikach , osobny regulator PWM na zasilaniu silników , wszystko zależy jakie masz plany , zasoby finansowe i wiedzę
    co do enkodera to faktycznie z myszki ma dużą rozdzielczość , która nie jest Ci za bardzo potrzebna , czy nie prościej zastosować osobną tarczę i transoptor szczelinowy rozdzielczość ustalisz sobie według własnych potrzeb ilością punktów na tarczy

    0