logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zbudować sterownik do manipulatora 3DOF z ATmega16?

adamusx 14 Gru 2005 22:25 7644 23
  • #1 2084104
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Witam


    Jakiś czas temu skonstruowałem robocika, a fachowiej mówiąc jest to manipulator o 3 stopniach swobody. Robocik powstal raczej dla "zabawy" :) , jednak po zastosowaniu lepszego ukladu sterowania mógłby znalesc jakies poważniejsze zastosowanie. Zbudowalem do niego prosty sterownik na ATmega16., by oczywiscie to wszystko ozywić
    Po krótce uklad umozliwia :

    -reczne sterowanie poszczegolnymi przegubami robota i chwytakiem
    -regulacja predkosci przegubów
    -ustawianie ramion w pozycji wyjsciowej (zerowanie i kalibracja )
    - zapamietanie do 10 pozycji
    - szukanie zapamietanych pozycji
    -mozliwosc zapetlenia i wykonywajia sekfencyjnych ruchów

    Sterowanie odbywa sie za pomoca przyciskow i wyswietlacza LCD
    Sterownik posiada także interfejs RS-232 jednak z braku czasu nie napisalem odpowiedniej aplikacji sterujacej na komputer.

    Jesli ktos jest zainteresowany dokladniejszymi informacjami to chetnie ich udziele:)

    Obecnie mam zamiar wykonać nowy uklad sterowania. Chce zbudować osobny sterownik dla kazdego ogniwa na jakims AVRku, z wspolna komunikacja po RS-ie.



    Czy ktos budowal podobny uklad?


    A oto fotki przedstawiajace robota i sterownik.
    Załączniki:
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? sterownik_driver800x600.jpg (111.14 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? sterownik800x600.jpg (101.02 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? robot800x600.jpg (82.63 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #2 2084236
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Dolaczam filmiki ktore przedstawiaja robota w "ackji" :)
    Załączniki:
    • robot_small.rar (1.4 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #3 2084273
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    I jeszcze widok z góry
    Załączniki:
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? z_gory.jpg (60.25 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 2092195
    Simsons
    Poziom 11  
    Posty: 42
    Ocena: 1
    Cześć
    Właśnie ja chcę coś takiego zrobić już od dłuższego czasu.
    Mam w związku z tym pare pytań, a mianowicie:
    - z czego zbudowałeś tego robocika- np.: silniki i szkielet
    - ile wydałeś na jego budowę
    - czy posiadasz jakieś schematy
    - jak długo robiłeś go

    Za wszystkie odpowiedzi dozgonne dzięki!! :)
  • #5 2092358
    mleczarz
    Poziom 15  
    Posty: 228
    Pomógł: 11
    Ocena: 15
    Super konstrukcja z wykorzystaniem silników od wycieraczek samochodowych o ile mnie oczy nie mylą :) Jak rozwiązane jest sprawdzanie położenia przekładni w tych silnikach bo w oryginale go nie ma.
  • #6 2092443
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    WItam.

    Co do pytan :

    Silniki jak dobrze zauwazyl kolega wyżej są od wycieracze samochodowych. Jest to najtanszy i zarazem chyba najlepszy sposob uzyskania dobrego i przede wszystkim taniego i silnego napedu. Silniki nabywalem na allegro, mozna kupic uzywane juz za parenascie zlotych. Typowe samochodowe zasilane sa napieciem 12V ,maja duze przelozenie dzieki przeladnie slimakowej dzieki czemu mozna na nich przenosic dosc duze sily. Testowalem taki silnik z ramieniem o dł ok 60-70 cm na ktorym był ciężar ok 1 Kg i silnk sobie z tym radził.

    Najwiekszy problem to oczywiscie odczytywanie pozycji w takim silniku. Wykorzystalem do tego celu enkodery - znalazlem na allegro tanie enkodery za 12 zl, ale teraz juz takich nie widze. Enkoderów mechanicznie nie bylem w stanie polaczyc bezposrednio z walem silnika wycieraczek, dlatego zastosowalem dodatkowa przeladnie by zwiekszyc doladnosc i lączylem je z walem za przekladnia (tam gdzie sa przykrecone ramiona) Rozdzielczosc okazala sie calkiem niezla-bląd ok 0.2 stopnia. Jak bede mial chwile czasu to wrzuce fotki. To byla wlasnie najtrudniejsza czesc konstrukji.
    Szkielet robota w wiekszosci powstal z metalowych ksztaltownikow od wycieraczek samochodowych co widac na zdjeciach ( te w kolorze ciemno -zielonym) generalnie mozliwosci jest duzo, nie planowalem z gory jak to ma wygladac, bralem elementy ktore mialem pod ręką i kombinowalem..wiertarka szlifeirka itp :]

    Koszt budowy hmm....nie liczylem ale nie wyszlo duzo.To byla konstrukcja ktora powstala minimalnym nakladem srodkow finansowych :)
    3 silniki od wycieraczek - razem ok 60 zl, silnik chwytaka - ze starej drukarki.
    na allegro zakupilem dodatkowo 3 mostki H-bridge STA434A - za ok 2 zl za sztuke . Moga one przewodzic do 7 A wiec to w zupelnosci wystarcza
    Do tego mikrokontroler ATmega 16 - 12 zl . Wyswietlacz LCD 27 zl.

    Reszta to drobne czesci i elementy mechaniczne, ktore wygrzebalem ze starych czesci.
    Ta wiec koszt budowy zamknal sie w okolicach 100 zl.

    Konstrukcje mechaniczna robilem okolo tygodnia. Elektronike jakies 3 dni.
    Potem oczywiscie wprowadzalem poprawki, ale calosc powstala w okolo 2 tyg.

    Dodano po 32 [minuty]:

    Drugi filmik w lepszej jakosci.
    Załączniki:
    • robot_2.rar (4.93 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 2093982
    DosinskY
    Poziom 19  
    Posty: 332
    Pomógł: 24
    Ocena: 9
    Czesc,

    No bardzo zacny manipulator! Regulacje predkosci obrotow silnikow zrealizowales zapewne wykorzystujac PWM?? Jezeli tak to nie miales problemow ze spadkiem mocy silnika dla malych wspolczynnikow wypelnienia??

    pzdr
    Dosinsky
  • #8 2095017
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Tak ,regulacja predkosci odbywala sie za pomoca PWM , z tym że przy wypelnieniu ok 40 % silniki juz praktycznie stawały wiec wykorzystywałem wypelnienie od 40 do 100% dzieki czemu moglem spokojnie sterować "prędkościa od 0 do maksymalnej.Dzialanie PWM dobrze "slychac" -slychac pisk o czestotliwosci PWMa przy pracy z niepelna prędościa. Przy maks prędości można obrócic ramie o 300 stopni w ok 0.5 sekundy.
    Wada konstrukcyjna jest to ze wszystkie silniki sa sterowanie z jednego PWMa, na poczatku mialem sterowac kazdy silnik oddzielnym PWM ,niestety zabraklo mi nozek w mikrokontrolerze :)
    Załączniki:
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? robot_6.jpg (51.72 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? robot4.jpg (122.96 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #9 2095319
    DosinskY
    Poziom 19  
    Posty: 332
    Pomógł: 24
    Ocena: 9
    A jak wygladala sprawa z momentem obrotowym?? Ramie manipulatora bylo dla kazdego wsp.wyp. tak samo "silne"?? + czy silnik zatrzymywal sie i rozpoczynal prace przy tych samych wsp. wypelnienia, czy tez moze wkradla sie tam jakas histereza?

    Ja tez zamierzam "na dniach" regulowac predkosc silnikow PWM-em w robocie przemyslowym i robie rozpoznanie w temacie, wiec ogromne dzieki z a odpowiedz ;)

    Zalozenia projektu sa nastepujace:
    1) 3 PIC16f877, po jednym na kazdy silnik polaczone w siec poprzez UART+RS485
    2) Regulacja PWM predkosci obrotowej silnikow
    3) Pomiar polozenia (przy uzyciu potencjometrow)
    4) Mozliwosc sterowania z PC
    4) Bajery i wodotryski po uruchomieniu czesci postawowej ;)

    Chetnie podziele sie doswiadczeniami jak wszystko nabierze ksztaltu.

    Dosinsky
  • #10 2095371
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Witam

    WIec sprawa wyglada tak - w moim sterowniku nie stosowalem jakis skomplikowanych układów regulacji i sprzężen. Momenty sa rozne. Dla ramienia dolnego wybralem najmocnuiejszy silnik, dodatowo jest wspomagany 2 spręzynami co widać na zdjeciach co daje podobne momenty dla silników. Jednak mimo wszystko silniki nie ruszaja przy takich samych wypelnieniach PWM, ale to nie ma znaczenia gdy silniki są sterowane osobno. Generalnie przy mniejszym wypelnieniu predkosc silnka maleje ale maleje także jego moment.
    U mnie calosc jest sterowana za pomoca jednej ATmegi, jest ona niestety niewystarczajaca by zastosowac bardziej sompliowane ulady regulacji i korekcji . ( np stabilizacja prędkosci, przyspieszenia itp )
    Dlatego mam zamiar wykonac bardziej zaawanoswayny sterownik - jeden mikrokontroler dla jednego silnika i calosc strerowana nadrzędnym mikrokontrolerem ( bądź PC) na RS232 badź RS485 , wlasnie cos podobnego jak Ty.
    Generalnie by taki uklad byl fachowo zrobiony nalezy wykonać sprzeżenie od prądu silnika i od prędkosci tzn badać jego prąd i prędkosć.
    W takich ukladach implementuje sie regulatory : Proporcjonalno- Calkujacy badz Proporcjonalno-Calkująco-Rozniczkujacy ( PI ,PID )

    Jakim robotem przemyslowym bedziesz sterowal?? Jakiej mlocy są silniki ?
    Jak bedziesz mial juz cos stworzonego to daj znac bo jestem zainteresowany:)
    Załączniki:
    • Jak zbudować sterownik do manipulatora 3DOF z ATmega16? robot4.jpg (122.96 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 2095753
    DosinskY
    Poziom 19  
    Posty: 332
    Pomógł: 24
    Ocena: 9
    Nie pamietam oznaczenia, ale jest to dosc wysluzony, stosunkowo maly manipulator przemyslowy z mojej uczelni. Nie ma oryginalnych napedow i w zasadzie nikt nie moze mi powiedziec skad sie wziely te nieoryginalne. Z kumplami zrobilismy ostatnio rozeznanie i bankowo sa to silniki od wycieraczek i pod obciazeniem pobieraja do 2A. Na robocie zamontowane sa krancowki, ktore w zasadzie nalezaloby wymienic na cos ciekawszego np. kontaktron czy chocby transoptor oraz 3 potencjometry pomiarowe. Za jakis czas bede mial fotki wiec wrzuce tu jakies. Projekt nie bedzie sie raczej posowal sie zabojczym tempem, ale jak bede mial cos konktretnego to sie pochwale.

    dosinsky
    ps. w manipulatorze wystepuja dosc duze tarcia, co zmusilo pana X (co montowal nieoryginalne silniki) do zastosowania odpowiedniej przekladni, co z kolei skutecznie ograniczylo predkosci przemieszczania sie ramienia :(
  • #12 2096321
    Troll_u
    Poziom 12  
    Posty: 104
    Pomógł: 3
    Ocena: 3
    mam jedno lamerskie pytanie... co to są te całe PWM o ktorych tyle mówicie? bo może to jest coś fajne o czym ja nie wiem... i moze mi sie przyda znajomość tego elementu ( :?: )

    pozdrawiam

    PS bardzo fajny manipulator ;)
  • #13 2096591
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Dzięki :)

    PWM to nie urządzenie tylko sposób sterowania np silnikiem ( i nie tylko ) Z angielskiego PWM -Pulse width modulation, czyli chodzi o sterowanie szerokością impulsu. Dokładniej - sygnał który steruje np tranzystorem zalączającym silnik ma pewne wypełnienie. Powiedzmy ze sygnal ten ma częstotliwość 100Hz czyli okres 0.01 s . Zmieniajac wypelnienie tego sygnalu (np stan wysoki bedzie trwal 0.009 s, a niski 0.001 s ) uzyskamy wypelnienie 90% czyli mozna powiedziec ze taki tranzystor bedzie prawie caly czas otwarty i silnik bedzie mial prawie pelną moc. Odwrotnie w drugą strone - zmniejszając wypełnienie ( np stan wysoki 0.02s a niski 0.08 ) - 20 % silnik będzie zalączony przez 0.02 s a wylaczony przez 0.08 czyli zmniejszymy jego moc ( prędkość)
    Zaleta takiego sterowania jest brak strat mocy w tranzystorach sterujących.
  • #14 2096679
    daniel93
    Poziom 29  
    Posty: 1673
    Pomógł: 30
    Ocena: 93
    Dodam że PWM jest tylko w procesorach (np. Atmega8).
  • #15 2097130
    Tawez
    Poziom 18  
    Posty: 265
    Pomógł: 19
    Ocena: 5
    A ja dodam, że jak zwykle piszesz nieprawdę, danielu93.
    Aby w odróżnieniu od ciebie nie być gołosłownym, napiszę, że PWM można np. zrobić na znanym w niektórych kręgach ;) NE555
  • #16 2097172
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    W sumie racja...Kiedys nie bylo AVRow, za czasow 8051 ktory nie mial sprzetowego PWMa robilo sie to programowo.No oczywiscie da sie tez taki układ zbudowac bez uzycia mikrokontrolera. Potrzeba tylko generatora z mozliwoscia regulacji wypełnienia :)
  • #17 3544339
    skibol85
    Poziom 11  
    Posty: 6
    Czy sygnał PWM ma stałą częstotliwość, czy zależy to od programisty? Jeśli od programisty, to jakie są zalety i wady stosowania dużej i małej częstotliwości?
  • #18 3544442
    _Robak_
    Poziom 33  
    Posty: 2209
    Pomógł: 231
    Ocena: 29
    Czestotliwosc sygnalu mozesz zmieniac, oczywiscie sa ograniczenia zwiazane z czestotliwoscia taktowania procesora. A czestotliwosc sygnalu dobierasz taka jaka potrzebujesz;)
  • #19 3600423
    skibol85
    Poziom 11  
    Posty: 6
    czy np okres o 20ms nadaje sie do sterowania silnikiem prądu stałego? ( oczywiście z wypełnieniem większym niż 40% ...)
  • #20 3623720
    wynalazca6
    Poziom 12  
    Posty: 39
    A mógłbys adamusx zamieścić jakieś shcematy zasilacza i sterownika chodzi mi o pwm jak to podłączyłeś :?::?::?::?::?:
  • #21 3872962
    jachok
    Poziom 12  
    Posty: 19
    Ocena: 4
    Jestam poczatkujacy wiec prosze o wyrozumailosc mam zrobic narazie sterowanie silnikem na pwm, na atmega8 w "C" ale jestem zielony jakich komend uzywac do programowania. Gdybyscie mogli mi pomoc cos stworzyc bylbym wdzieczny. Jak sie naucze juz sterowac jednym silnikiem to mam plan zrobic robota ramowego o 3 stopniach swobody. Dzieki z gory za pomoc
  • #22 3886418
    adam_es
    Poziom 30  
    Posty: 956
    Pomógł: 175
    Ocena: 185
    Witam adamusx; jeżeli interesuje Cię sterowanie każdej osi osobno, to mam dokumentację do swojej pracy inżynierskiej - manipulatora 3-osiowego o napędzie pneumatycznym, z mikrokontrolerem na każdym napędzie. W prosty posób można go zaadaptować do dowolnych napędów. Sterowanie jest przez RS232.
    Pozdrawiam, Adam
  • #23 4488507
    michal-100
    Poziom 1  
    Posty: 1
    A ja mam jeszcze jedno pytanie odnośnie do PWM. W jaki sposób silnik "widzi" takie przerywane napięcie? Czy jego indukcyjność własna wystarcza do złagodzenia przebiegu prądu na stałą (albo prawie stałą) wartość?
  • #24 4491243
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Opis robota oraz pliki z nim związane są dostępne na mojej stronce
    http://www.adamusx.ovh.org/

    >>michal-100 Silnik jest obiektem inercyjnym. Posiada spora bezwladnosc i impulsy z PWMA sa jakby "wygladzane" wiec tak naprawde nie widac roznicy w pracy przy zasilaniu z PWMa (no chyba ze czestotliwosc PWMa bedzie za niska powiedzmy kilkanascie Hz) Jedynynm zjawiskiem jest charakterystyczne "piszczenie" silnika zasilanego przez PWM - slychac po prostu czestotliwosc PWMa, ktora przenosi sie na wirnik.

Podsumowanie tematu

✨ Dyskusja dotyczy budowy sterownika do manipulatora 3DOF opartego na mikrokontrolerze ATmega16. Manipulator wykorzystuje silniki z wycieraczek samochodowych z przekładnią ślimakową, co zapewnia duży moment obrotowy i możliwość przenoszenia obciążeń około 1 kg na ramieniu długości 60-70 cm. Pozycja ramion jest odczytywana za pomocą tanich enkoderów mechanicznych sprzężonych przez dodatkową przekładnię, co zwiększa dokładność pomiaru. Sterowanie prędkością silników realizowane jest metodą PWM (Pulse Width Modulation) generowaną przez ATmegę16, z wypełnieniem od około 40% do 100%, co pozwala na płynną regulację prędkości bez zatrzymywania silnika. Wady obecnego rozwiązania to sterowanie wszystkimi silnikami jednym sygnałem PWM oraz brak zaawansowanych układów regulacji momentu i prędkości. Planowane jest stworzenie bardziej zaawansowanego systemu z osobnym mikrokontrolerem dla każdego silnika i komunikacją RS232 lub RS485 z nadrzędnym sterownikiem lub komputerem. W dyskusji wyjaśniono również zasadę działania PWM, jego zalety (brak strat mocy w tranzystorach) oraz kwestie częstotliwości sygnału PWM i wpływu indukcyjności silnika na wygładzanie prądu. Poruszono także temat zastosowania potencjometrów i krańcówek do pomiaru pozycji oraz problemów z tarciem i histerezą w układzie napędowym.
Wygenerowane przez model językowy.
REKLAMA