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

Przykładowe programy w C++ dla robota kroczącego na ARM-ach

thomas_191 24 Lis 2007 22:18 11797 37
Najlepsze odpowiedzi LABEL_AI_GENERATED

Jak znaleźć przykładowe programy lub gotowe podprogramy w C++ do 4-nożnego robota kroczącego na ARM-ach, który ma chodzić i omijać przeszkody, i czy da się dołożyć kamerę?

Nie ma zwykle jednego gotowego programu do takiego robota — trzeba składać go z osobnych bloków: napędu, czujników i algorytmu sterowania, zaczynając od mechaniki, potem wejść/wyjść i dopiero na końcu programu sterującego [#4518219] Dla 4-nożnej maszyny 3-stopniowej na nogę trzeba liczyć się z około 12 serwami, 12 wyjściami PWM, kinematyką prostą i odwrotną oraz wcześniejszą symulacją ruchu, żeby sprawdzić sens konstrukcji i dobrać serwa do obciążeń [#4535777] Jeśli chcesz tylko sterowanie serwami, warto rozważyć gotowy sterownik typu SSC-32 albo zrobić jego odpowiednik samemu; to upraszcza komunikację po RS232 i odciąża mikrokontroler [#4579897] Jeśli ARM jest wymagany, sensownym wyborem wskazano Cortex-M3, a niektóre osoby zwracały uwagę, że ARM7 ma mniej wygodne rozwiązania i mniej gotowych przykładów niż AVR/PIC [#4567572][#4519420] Kamera i przesył obrazu to już znacznie trudniejszy temat: dla wideo sugerowano raczej platformę z Linuxem lub FreeRTOS, a Bluetooth uznano za zbyt słaby do transmisji obrazu [#4535777]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
  • #1 4517207
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Witma
    Przymierzam sie do pisania mgr... chcialbym zrobić robota(maszyne kroczącą 4-nożną)... Chce ją zrobić na ARM-ach... Jestem w posiadaniu materiałów dotyczących tego mikrokontrolera(m.in kursy Ep orazdokumentacja no i oczywiscie materialy z netu) lecz poszukuje przykładowych gotowych programów dla robotów??? Najlepiej w C++. Jeżeli ktoś miałby i mógłby udostępnić jakiś przykładowy program lub link to będę wdzięczny...
    Jedyną konkretną stronkę którą udło mi sie znaleść to

    http://www.lynxmotion.com/ViewPage.aspx?ContentCode=Home

    Robot ten ma ogłlnie chodzić i omijać przeszkody. Myślałem jeszcze o zamontowaniu kamerki ale słyszałem że ciężko jest to zrobić na ARM-ach?

    Jeszcze raz proszę o przykładowe programy

    Pozdrawiam[/code]
  • REKLAMA
  • #2 4518219
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    raczej nie znajdziesz całego gotowego programu , bardzo ogólnie cały program to zbiór kilku podprogramów odpowiedzialnych za poszczególne funkcje danego bloku w każdym robocie masz przynajmniej dwa takie bloki
    - napędowy
    - wejściowy ( czujniki )
    tak więc najpierw muszą prawidłowo być sterowane , obsługiwane te bloki aby można było tworzyć stosowny algorytm pracy całego robota
    zawsze pracę zaczyna się od części mechanicznej potem układy wej/wyj a na końcu program sterujący , masz literaturę o danym uC ale czy masz doświadczenie w pisaniu programów na ten uC bo teoria to nie wszystko bez praktycznego doświadczenia w programowaniu będziesz miał problemy i nie ma znaczenia rodzaj mikrokontrolera
    przy Twoich założeniach układ może być napędzany 2 - 4 serwami do tego czujniki ultradźwiękowe lub na podczerwień , powinieneś zacząć od zapoznania się z zasadami pracy i sterowania tego typu urządzeń , spróbować napisać programy sterujące i zobaczyć jak ma się teoria do praktyki
  • #3 4518412
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    no właśnie tu jest problem ze nie posiadam za dużego doświadczenia(JESTEM POCZąTKUJąCY W TEJ DZIEDZINIE) ale lobię stawiać sobie w życiu wyzwania :) całe życie się kształcimy ...co do napędu to myślałem o 3 serwach wtedy ruch nogi będzie zbliżony do rzeczywistości w tym tygodniu planuje już zakupić serwa... myślałem też o sterowaniu go przez bluetooth przez tel ale jeszcze nie opracowałem szczegółów... poszukuje przykładowych programów (podprogramów)(np sterowanie napędem robota) wiec jakby ktoś miał teki to proszę o przesłanie (np na e-mail'a)...
    Pozdrawiam i czekam na pomoc
  • #4 4519420
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    nie będę namawiał Cię do zmiany uC to Twój wybór , ale znacznie więcej znajdziesz gotowych rozwiązań na AVR , MSC 51 czy PIC
    co do Twojego pomysłu z zdalnym sterowaniem to możesz przykładowo wykorzystać gotowy moduł
    sterownika serw do tego moduł komunikacyjny i masz zdalnie sterowany pojazd , proponuje zajrzyj na forum robotyka zapoznaj sie z podstawowymi elementami konstrukcyjnymi takich rozwiązań jak również nad rozwiązaniami układów elektronicznych stosowanych w robotach i tak jak wspomniałem wcześniej zacznij od mechaniki elektronikę zawsze dopasujesz odwrotnie jest znacznie trudniej
  • #6 4535209
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    ok dzieki za pomoc
    sorki ze tak poxno ale troszkę zajęć na uczelni
    Zdaje sobie sprawe ze projektowanie taich mikorkontrolerow jak pic avr itp jest prostsze niz Arm'ow ale mysle ze Arm maja szerszy zakres zastosowania .... juz wybralem mikrokontroler ARM Cortex-M3 chodź myslalem tez o ARM7TDMI-S... a Wy jak sadzicie??
    Co do http://www.nordelektronikplus.pl/oferta_det.asp?show=0&g=31&pg=0&sg=1&id=239&los=0,3656702
    to mam pytanko czy nie ma jakiegos "zamiennika" tylko tańszego:) ???
  • REKLAMA
  • #7 4535777
    Halftheman
    Poziom 16  
    Posty: 195
    Pomógł: 6
    Ocena: 5
    Wrzuce swoje 3 grosze.

    Maszyna krocząca 4 nożna o 3ch stopniach swobody na noge. W sumie 12 serw. Do tego potrzebujesz 12 PWM, które sam będziesz musiał wygenerować. Najlepsi np lynxmotion robia to na atmega8 + chyba transmisja po rs232? tak? (nie wglebialem sie az tak bardzo ;) ).

    Do tego, żeby to miało sens musisz wyliczyc równania do kinematyki prostej i odwrotnej. Nastepnię zrobić jakąś symulacje tego, żeby sprawdzić czy taki model ma sens. Następnie zrobić wstępny projekt jednej nogi, którą obciążysz hipotetyczną wagą robota, tylko po to, żeby wybrać odpowiednie serwa. (Generalnie można to wszystko wyliczyć jak się ma pojęcie o mechanice). Jest to istotne, bo na ogół serwa są za słabe, żeby w ogóle podnieść takiego robota (tutaj przewage mają maszyny 6cio nożne!).

    Teraz po co ARM? Jak będzie to robot autonomiczny to ma to troche sens, bo wyliczanie trajektorii kończyń będzie trzeba wyliczyć. Można to robić łopatologicznie zadając pozycje dla każdego serwa jednak jest to troche banalne imho.

    Na przesyłaniu obrazu sie nie znam, generalnie jednak będzie do tego potrzebował jakiegos uC Linuxa, albo FreeRTOS'a. Próbowałem się w to bawić jednak nie jest to zbyt proste niestety więc projekt porzuciłem. ARM odpoczywa ;).

    Niemniej jednak, z tego co wiem BT jest za słabe do przesyłania obrazu (nigdy nie spotkałem się z takim projektem), więc będziesz potrzebował WIFI, a żeby mieć WIFI to na ARMie musisz zrobic stos TCP/IP, a to już takie banalne nie jest (bynajmniej dla mnie ;) ).

    Generalnie w skrócie jak chcesz kamerkę to powinieneś pomyśleć o czymś co pociągnie LINUXa. Jest to najprostsze rozwiązanie.

    Aha no i logika w ARMach jest 3.3V, a to może być za słabe, żeby bezpośrednio podawać sygnał na serwo tj ma to miejsce w AVR, PIC etc. Wtedy trzeba dorzucić jakieś buforki np z serii 74xxx244.

    thomas_191 napisał:

    Co do http://www.nordelektronikplus.pl/oferta_det.asp?show=0&g=31&pg=0&sg=1&id=239&los=0,3656702
    to mam pytanko czy nie ma jakiegos "zamiennika" tylko tańszego:) ???


    Jest zamiennik. Zrobisz go sobie sam jak przeczytasz dokumentacje Atmegi8 i MAX232.

    Ten schemat jest prosty jak... wiadomo co.

    Atmega8 + MAX 232 z kondensatorami, złącze RS232, stabilizator 7805, jedna wtyczna, jeden kwarc prwo 8Mhz. Ten jeden mały układzik koło przycisku nie wiem po co ;)

    Za elementy zapłacisz max 20zł + wytrawić płytke i masz satysfakcje z wlasnego projektu!!

    Banalne prawda? :D

    I to chyba tyle na razie ;) Jak gdzieś się pomyliłem prosze o sprostowanie. Pozdrawiam.
  • #8 4536937
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Witam
    Halftheman dzieki za wskazówki napewno sie przydadzą ale oczywiscie mam kilka pytań..
    Cytat:
    Do tego, żeby to miało sens musisz wyliczyc równania do kinematyki prostej i odwrotnej.

    a jak moglbys podać wiecej szczegolów bo szczerze to z mechaniki nie jestem za dobry(niestety)....
    Cytat:
    Teraz po co ARM?

    moj promotor raczej sie upiera aby to byly ARM'y wiec sie nie kluce :D
    Cytat:
    Ten schemat jest prosty jak... wiadomo co.

    a mozna jakis schemacik:) rzucić... i jak mozesz zrobić jasies zdjęcie jak to w rzeczywistości wygląda ???
    z gory dzieki

    Dodano po 2 [minuty]:

    a mam jeszcze pytanie czy ktos zna sie na przesyłaniu obrazu ??? wiem ze to nie jest za latwe ale moze kilka wskazówek (chetnieby się przydało w miare proste wyjasnienie)
    ?????
  • #9 4567572
    jaqbw
    Poziom 13  
    Posty: 55
    Pomógł: 2
    Ocena: 3
    skoro już mają być ARM'y to wybierz Cortex M3 są tańsze i imho lepsze (obsługa przerwań) od ARM7TDMI (ale np. STR710FR2 można dostać dość tanio - jako próbki :-)
  • REKLAMA
  • #10 4568250
    Halftheman
    Poziom 16  
    Posty: 195
    Pomógł: 6
    Ocena: 5
    thomas_191 napisał:

    a mozna jakis schemacik:) rzucić... i jak mozesz zrobić jasies zdjęcie jak to w rzeczywistości wygląda ???
    z gory dzieki


    Niedługo powinno pojawić się coś na forum ;) Niestety prace nad takimi projektami idą wolno :|

    jaqbw napisał:
    skoro już mają być ARM'y to wybierz Cortex M3 są tańsze i imho lepsze (obsługa przerwań) od ARM7TDMI (ale np. STR710FR2 można dostać dość tanio - jako próbki :-)


    Tzn dlaczego ta obsługa przerwań jest lepsza w M3? Nie miałem z nimi do czynienia ale z checia sie dowiem :D
  • #11 4579299
    jaqbw
    Poziom 13  
    Posty: 55
    Pomógł: 2
    Ocena: 3
    "kontroler przerwań" nazywa się NVIC, ma coś takiego jak tail-chain przydatne gdy dwa przerwania przychodzą blisko siebie.

    Thumb2 - lepszy DMIPS/MHz i DMIPS/mW

    architektura harvard

    sprzętowe mnożenie i dzielenie

    dla procesorów ST teoretycznie pozwala na prace z prędkością 2x większą niż pamięć flash (u innych producentów pewnie też)

    dodatkowo u ST (u innych producentów to nie musi się sprawdzi)
    - możliwość pracy z dowolną prędkością gdy korzystamy z USB
    - dedykowany timer SysTick dla systemu operacyjnego (np.: freeRTOS)
    - specjalny obszar pamięci do którego jest dostęp bitowy - upraszcza ustawianie kasowanie bitów (jest atomowe)

    jest też kilka innych usprawnień, wg. ludzi z ST Cortex'y mają w dłuższej perspektywie zastąpić ARM7

    trochę w tym marketingu, ale akurat bylem na warsztatach z Corex'ów sponsorowany przez ST :-) a jak porównałem to co może STR710, a STM32 (odpowiednio 7TDMI i Cortex), to nie ma porównania
  • #12 4579425
    farmazon3000
    Poziom 15  
    Posty: 259
    Pomógł: 3
    Ocena: 26
    thomas_191 napisał:
    Witam
    Halftheman dzieki za wskazówki napewno sie przydadzą ale oczywiscie mam kilka pytań..
    Cytat:
    Do tego, żeby to miało sens musisz wyliczyc równania do kinematyki prostej i odwrotnej.

    a jak moglbys podać wiecej szczegolów bo szczerze to z mechaniki nie jestem za dobry(niestety)....
    Cytat:
    Teraz po co ARM?

    moj promotor raczej sie upiera aby to byly ARM'y wiec sie nie kluce :D
    Cytat:
    Ten schemat jest prosty jak... wiadomo co.

    a mozna jakis schemacik:) rzucić... i jak mozesz zrobić jasies zdjęcie jak to w rzeczywistości wygląda ???
    z gory dzieki

    Dodano po 2 [minuty]:

    a mam jeszcze pytanie czy ktos zna sie na przesyłaniu obrazu ??? wiem ze to nie jest za latwe ale moze kilka wskazówek (chetnieby się przydało w miare proste wyjasnienie)
    ?????



    piszesz prace mgr a nie wiesz co to jest kinematyka prosta i odwrotna? to co ty jestes z wydziału chemii?
  • #13 4579485
    Halftheman
    Poziom 16  
    Posty: 195
    Pomógł: 6
    Ocena: 5
    jaqbw napisał:

    trochę w tym marketingu, ale akurat bylem na warsztatach z Corex'ów sponsorowany przez ST :-) a jak porównałem to co może STR710, a STM32 (odpowiednio 7TDMI i Cortex), to nie ma porównania


    Jak sie dostac na takie warsztaty? :D (moze jest jakis sposob). I skoro jestes tak obcykany w ARMach to moze, wiesz skad czerpać źródło dot ARMów (fora? cokolwiek), bo póki co to tylko dokumentacja techniczna mi została :( (nie ukrywajmy jest średnia dla NXP :/ )
  • #14 4579576
    jaqbw
    Poziom 13  
    Posty: 55
    Pomógł: 2
    Ocena: 3
    Halftheman napisał:

    Jak sie dostac na takie warsztaty? :D (moze jest jakis sposob). I skoro jestes tak obcykany w ARMach to moze, wiesz skad czerpać źródło dot ARMów (fora? cokolwiek), bo póki co to tylko dokumentacja techniczna mi została :( (nie ukrywajmy jest średnia dla NXP :/ )

    dostać się jest łatwo, wystarczy pracować w firmie której pracownikom zaproponują na takie warsztaty :-)
    wiedzę czerpię z google, elektroda.pl :-), dokumentacji i znajomych którzy od kilku lat programują nie tylko ARM'y, albo chcą obronić dyplom na ARM'ach do końca roku :-)
    btw. polecają Atmel'e AT91SAM7S (to nie Cotrex, a 7TDMI), tylko problem jest z zegarem, bo procek zamiast 60 (czy tam nawet 72) chodzi na 48 MHz ... bo USB. dokumentacja (podobno) tak dobra jak do AVR'ów. Otwierasz pdf'a i zaczynasz programować.
  • #15 4579593
    Halftheman
    Poziom 16  
    Posty: 195
    Pomógł: 6
    Ocena: 5
    Ja akurat mam LPC2148 i dokumentacja jest średnia, a zmieniać teraz na Atmela średnio mi sie uśmiecha :( Do firmy raczej sie nie dostane teraz za szybko :) Trzeba coś pomyśleć..
  • #16 4579897
    Michlis
    Poziom 11  
    Posty: 7
    farmazon3000 napisał:
    piszesz prace mgr a nie wiesz co to jest kinematyka prosta i odwrotna? to co ty jestes z wydziału chemii?

    Podstawy robotyki zawsze się przydadzą, ale w tym przypadku chyba nie jest konieczne rozwiązywane problemu odwrotnego kinematyki. Może wystarczy znaleźć wartości serw tylko dla kilku pozycji nogi (góra/dół, przód/tył) a niekoniecznie równania na dowolną pozycję?

    Co do sterowania serwami polecam SSC-32 http://www.lynxmotion.com/Product.aspx?productID=395&CategoryID=52
    Dosyć drogi, ale obsługuje do 32 kanałów i można się wygodnie komunikować po RS. Już niedługo będę korzystał z tego układu do sterowania hexapodem.
  • #17 4579908
    Halftheman
    Poziom 16  
    Posty: 195
    Pomógł: 6
    Ocena: 5
    Przecież SSC-32 można zrobić samemu. Może nie 32, ale 16 lekko. Przy większym wysiłku można więcej wyciągnąć :)
  • #18 4593273
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Witam
    dzieki wszystkim za odpowiedzi i jak mielibyście jeszcze jakies pomysly to piszcie.... no może poza tekstami
    Cytat:
    piszesz prace mgr a nie wiesz co to jest kinematyka prosta i odwrotna? to co ty jestes z wydziału chemii?
    Pana farmazon3000 każdy ma jakieś problemy lub czegoś nie rozumie. Podobno całe życie sie uczymy. A co do kinematyka prostej i odwrotnej to wiem co to jest i do czego sie stosuje. Juz doczytalem:), może zamiast uwag napisałbyś cos pożytecznego?????.....
    wracając do robota to praca idzie powoli do przodu (części już zakupione ) lecz moj promotar wymaga aby przed realizacja fizyczną stworzy symujacje przy pomocy pythona cos na wzór
    http://ka1943.pe.kr/ka1943_lib.html (można pobrać i zobaczyć filmik)oczywiście z wykorzystaniem bibliotek (np.ode lub innych) i tu mam problem bo nigdy nic takiego nie pisałem. Powiem wiecej nigdy nie mialem doczynienia z pythonem no ale trzeba sie w życiu rozwijać :D... wiec mam pytanie czy ktoś robił taką symulację i mógłby ją udostępnić (jakiś przykładowy kod)....?????
    A co do ARM to w elektronice praktycznej ukazywały sie kursy dla ARM'ów mogę je udostępnic dla potrzebujących (jak coś to proszę pisac na mojego e-mail'a)możemy sie powymieniać ....

    Pozdrawiam
  • #19 4608844
    jaqbw
    Poziom 13  
    Posty: 55
    Pomógł: 2
    Ocena: 3
    Zakładam, ze wygooglałeś już PyODE - nie pomogło ?

    Jakby Ci się coś udało z tym ODE w C/C++ to daj znać.
  • #20 4609652
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Witam

    Cytat:
    Zakładam, ze wygooglałeś już PyODE - nie pomogło ?

    Jakby Ci się coś udało z tym ODE w C/C++ to daj znać.


    tak widziałem ta stronkę ...
    troszkę teraz czytam o tym pythonie ale ciężko idzie bo po ang...
    nie ma ktoś linka lub pdf do jakieś polskiej książki (wiadomo najlepiej sie czyta w ojczystym języku)...???
    Planuje tak po świętach sie przyłożyć ...
  • #21 4922072
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Witam
    po dość długiej nieobecności ... prace and robotem idą powoli ale do przodu... i stanołem na kolejnym problemem... zrobiłem tester(na Atmega8) serw 8(po 2 na nogę), wysterowłem serwem i wszystko jest ok (ładnie idzie do zadanej pozycji i ma moc). Problem zaczyna sie dopiero przy podłączeniu wiekszej liczby serw (przy 5 i więcej) co prawda serwa dochodza do zadanej pozycji lecz skokami i nie maja odpowiedniej mocy... przypuszczam ze jest tu problem z zasilaniem(mogę sie mylić) w załaczniku płytka, a może atmega nie wyrabia bo sam juz nie wiem...
    Może ktoś spotkał się z takim problemem...
    Z gory dzieki za pomoc
    Załączniki:
    • Przykładowe programy w C++ dla robota kroczącego na ARM-ach imaege2.jpg (147.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #22 4922453
    Fyszo
    Poziom 37  
    Posty: 3987
    Pomógł: 223
    Ocena: 115
    Kolego a czym zasilasz te 8 serw? I czym zasilasz logike?
  • #23 4922655
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    serwa są zasilone stabilizowanym napięciem 6V, procek stabilizowanym 5V
  • #24 4922741
    Fyszo
    Poziom 37  
    Posty: 3987
    Pomógł: 223
    Ocena: 115
    'Ja pytam jak wisła szeroka a ty mi że głeboka...' Jakie wydajności prądowe ma twoje zasilanie. Policz sobie pobory mocy i przekalkuluj czy z tych 6V przypadkiem się 4V nie robi.
  • #25 4922961
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    thomas_191 napisał:
    a może atmega nie wyrabia bo sam juz nie wiem...
    Może ktoś spotkał się z takim problemem...


    Nie ma takiej możliwości żeby to procek nie wyrabiał. Takie problemy to wina zasilania. Porządne zasilanie i kondensatory filtrujące załatwią sprawę.
  • #26 4923054
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    Cytat:
    Porządne zasilanie i kondensatory filtrujące załatwią sprawę.
    a moze ktos ma taki schemacik (przykladowy) jak to powinno wygladac aby bylo ok...
  • #27 4925669
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    chyba problem jest jednak z programem bo:
    1. programuje jeden port, podlaczam jedno serwo - jest wszystko OK
    2. programuje kilka portów - podłączam JEDNO serwo - jest lipa (skacze).
    3. jesli programuję wszystkie serwa z PORTD i conajmniej jedno z PORTB to nic nie działa, na symulatorze rónież cuda się dzieją
    4. po podłączeniu kilku serw jednocześnie, sytuacja pogarsza się (nieznacznie), być może przy kazdym trzebaby zastosować kondensator

    dodam ze serwa byly zasilane ze zrodla o wydajności do 40A (teraz mam pewnosc ze to nie problem zasilania :) )
    jutro pomysle jeszcze nad programikiem i zobaczymy...
  • REKLAMA
  • #28 4926197
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    No fakt. Chyba masz jednak problem z programem.
  • #29 4957100
    thomas_191
    Poziom 11  
    Posty: 64
    Ocena: 8
    chodź sam już nie wiem tu ludzie piszą https://www.elektroda.pl/rtvforum/topic672855.html ze to jednak nie problem programu lecz kondensatorów odsprzęgających
    Cytat:
    kondensatory odsprzęgające przy procesorze (dosłownie przy - odległość jest ważna) oczywiście zasilanie serw z innego źródła niż uC (o ile to możliwe, jeśli nie, to chociaż kondensator 100n przy każdym) do tego kilka większych pojemności.

    Cytat:
    podłącz przez rezystor 1K do plusa


    sądzicie że to może być wina braku kondensatorów?? i są spadki napięć... chodź jak zaprogramuje 8 serw to skacze ale nie na ostatnich (tzn nie widać kumulacji spadku napięcia) skacze np. serwo2, serwo 4, serwo 5, serwo7 a reszta chodzi bez problemów... a może to wina tego(teraz myśl przyszła) że wszystkim zadaje od razu określoną pozycje(tzn nie steruje sekwencyjnie) i w tym samym czasie chce aby wszystkie doszły do danej pozycji. Może trzeba sekwencyjnie sterować, chociaż w czasie chodu każde serwo będzie musiało utrzymywać określoną pozycje(dostawać sygnał)... chyba już zaczynam "szukać dziury w całym":cry:

    Dodano po 1 [minuty]:

    a może wogóle płytka jest do bani??
  • #30 4957398
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Na płytce przecież nie ma żadnych kondensatorów filtrujących zasilanie, dołożyć nie zaszkodzi. Co do kodu - póki go nie pokażesz póty możemy dywagować...

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy realizacji pracy magisterskiej polegającej na budowie czteronożnego robota kroczącego opartego na mikrokontrolerach ARM, głównie Cortex-M3 oraz ARM7TDMI-S. Autor poszukuje przykładowych programów w C++ do sterowania napędem (serwa) i czujnikami (ultradźwiękowe, podczerwień) oraz wskazówek dotyczących implementacji algorytmów ruchu i omijania przeszkód. Poruszono kwestie mechaniki, kinematyki prostej i odwrotnej, symulacji ruchu w Pythonie z wykorzystaniem bibliotek takich jak PyODE, a także problemów z zasilaniem i sterowaniem wielu serw (8 serw na Atmega8) – wskazano na konieczność stosowania kondensatorów filtrujących i odpowiedniego zasilania. Dyskutowano o generowaniu sygnałów PWM, wykorzystaniu modułów sterowników serw SSC-32 (Lynxmotion) oraz oprogramowaniu i sprzętowych ograniczeniach mikrokontrolerów. Wskazano, że prace nad projektem zakończyły się sukcesem – robot potrafi chodzić, biegać, siadać i wykrywać przeszkody, z możliwością generowania chodu 2- i 3-podporowego. Udostępniono również linki do filmów prezentujących działanie robota. Poruszono także temat przesyłania obrazu z kamerki na ARM, jednak uznano to za trudne do realizacji. Wskazano na zalety Cortex-M3 względem ARM7TDMI, takie jak lepsza obsługa przerwań (NVIC), wyższa wydajność Thumb2, architektura Harvard, sprzętowe mnożenie/dzielenie oraz dedykowane funkcje dla systemów czasu rzeczywistego.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA