Skocz do zawartości

Ramie robota - programowanie - Arduino czy Python?


Koper90

Pomocna odpowiedź

Witam,

 

Na poczatku chcialbym opisac co zamierzam zrobic i skad takie pytanie.

Otoz, jakis czas temu natrafilem na portal hackday.io i znalazlem swietne projekty robotow, a dokladniej zafascynowaly mnie ramie robota. Stwierdzilem ze to jest ciekawe wyzwanie i napewno rozwinie mnie w tej dziedzinie. Wiec zabralem sie do dzialania i wstepnie zaprojektowalem przekladnie cykloidalna (first step done 🙂 ). 

Nastepnie zaczolem szukac jaki mikrokontroler bedzie najlepszy do stworzenia programu i reverse kinematic. Lecz tutaj napotkalem sie z pewna blokada, jest wiele projektow ktore wykorzystuja arduino i pythona do programowania. Zakupilem kurs programowania Python na Udemy, jestem juz na okolo 20% oraz przejrzalem 3/4 kursu Arduino od Forbot. Lecz dalej mam metlik w glowie. Nie wiem co wybrac? Co bedzie najlepsze do programowania Teensy i stepperow TB6560. 

Dziekuje za wszelkie wypowiedzi.

 

Pozdrawiam

Daniel

Edytowano przez Koper90
Link do komentarza
Share on other sites

Hmmm, niestety nie wiem, jakie Kolega @Koper90 ma doświadczenie i co dokładnie chce zrobić, ale aby wykonać pierwsze ruchy, poruszanie robotem do zadanej pozycji XZY, czyli Inverse Kinematic i tak dalej, w zupełności wystarczy Arduino, które programowany w czymś-C-podobnym jest bardzo intuicyjne i nawet od zera, podłączenie TB6560 i wysterowanie silnika krokowego to max dzień nauki 🙂 Oczywiście jednoczesne sterowanie większą ilością stepper'ów (ile osi?) będzie trochę trudniejsze, ale Arduino bez problemu da radę - jeśli chcesz, zobacz moje dwa projekty: https://forbot.pl/forum/topic/16601-copernicus/ i https://forbot.pl/forum/topic/18145-delta-astra/ - były one wprawdzie oparte na Nucleo, ale Arduino UNO (lub Mega, tak na zapas) bez problemu to obsłuży. Jeśli chodzi o Python, proszę nie rezygnować, gdyż przyda się na 100%, np. w dalszej części projektu będzie można dodać RaspberryPi, jakiś prosty system wizyjny, podpięcie pod Ethernet, bo na hali produkcyjnej żaden robot w pojedynkę nie pracuje 🙂 czy panel HMI celem obsługi. Ewentualne spięcie Arduino z Raspberry Pi to temat na dłuższą rozmowę, można po USB lub UARTem na przykład, ale wydaje mi się, że lepiej takie sterowanie "sprzętowe" realizować na Arduino lub innym mikrokontrolerze, potem tą warstwę wyższą można "nadbudować", i tu Python będzie znakomity. To oczywiście tylko moje prywatne zdanie, ale ja zacząłbym od Arduino i jego C-podobnego języka.

Pozdrawiam, wn2001 🙂

PS Z tego, co Kolega napisał wnioskuję, że jest mechanikiem? Napisałby coś Kolega więcej o tej drukowanej 3D przekładni cykloidalnej?

 

Edytowano przez wn2001
  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

5 godzin temu, wn2001 napisał:

jego C-podobnego języka.

Co znaczy "C-podobny"? Owszem, podobny, bo nie jest to C tylko C++, a jakie widzisz różnice między C++ a "językiem w którym programuje się Arduino"?

  • Lubię! 1
Link do komentarza
Share on other sites

Wyjąłeś stwierdzenie z kontekstu - tam chodziło o to, że w Arduino nie ma standardowych bibliotek C++ (z przyczyn czysto technicznych) i zostały zastąpione uproszczoną wersją, dodatkowo wzbogaconą o funkcje Wiringa (te wszystkie digitalRead, pinMode, delay, millis i tym podobne). Sam język to normalny C++, przy czym preprocesor Arduino dodaje swoje "ulepszenia":

  • jeśli parametrem funkcji jest void, można go pominąć (dodawany jest automatycznie)
  • nie są konieczne deklaracje wyprzedzające funkcji (preprocesor przeszukuje kod i dodaje je sam)
  • nie trzeba wstawiać #include <Arduino.h> (wstawiany jest automatycznie na samym początku)

Dotyczy to tylko pojedynczych plików *.ino i z wyjątkiem ostatniego punktu nie zawsze działa tak jak chcemy, więc lepiej na tym nie polegać 🙂

 

  • Lubię! 1
Link do komentarza
Share on other sites

@wn2001  Dopiero studiuje Electrical Engineering w Szkocji. Co do przekladni to wszystko z poradnikow z neta. Moge podeslac kilka watkow ktorymi sie sugerowalem. Materialu jest duzo.

Odnosnie jezyka programowania tez bardziej bylbym sklonny do programowania w Arduino jako ze jest bardziej przyjazny dla poczatkujacych. Co do Pythona, sam nie wiem, wyglada jak dosc prosty i bardzo intuicyjny jezyk programowania.

 

Dziekuje za odpowiedzi. 

Link do komentarza
Share on other sites

Potwierdzam słowa @deshipu, jeżeli temat Cię zainteresuje, prędzej czy później Python też się przyda, chociażby na RaspberryPi (to, o czym już pisałem wcześniej) 🙂 Wprowadzam założenie, że pisząc o Arduino masz na myśli... Arduino, a pisząc Python, masz na myśli RaspberryPi - może to, poniższe porównanie, pokaże różnicę między tymi dwoma platformami:

https://forbot.pl/blog/raspberry-pi-vs-arduino-ktora-platforme-wybrac-id10439

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.