Skocz do zawartości

krolikbest

Użytkownicy
  • Zawartość

    10
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    3

krolikbest wygrał w ostatnim dniu 16 czerwca

krolikbest ma najbardziej lubianą zawartość!

Reputacja

16 Dobra

O krolikbest

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Zainteresowania
    robotyka
  • Zawód
    programista

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Dzięki za uznanie, choć droga jeszcze daleka. ad1. uno zlicza enkoder ale ma więcej zadań. Jest kila założonych liczników, min. globalny, tymczasowy itp. Dedykowane sterowniki (należy pamiętać, że to tylko napędy tzw. hybrydowe a nie prawdziwe serwa) testowałem, ale ponieważ było to w czasie kiedy jeszcze walczyłem z różnymi błędami, postanowiłem uprościć układ. banalne wytłumaczenie jest tez takie, że tych prostych sterowników mam więcej. RPi mogłoby być może obsługiwać te kilka enkoderów, generować sygnały itp, ale ... RPi wykonuje tez inne zadania. Jeśliby się Malinka przywiesiła, to wolę nie stać w pobliżu Dlatego cała procedura rozruchu, hamowania i normalnej pracy jest wykonywana przez uno. Na jeden silnik jedno uno. Wszystko rozmawia ze sobą po i2c. RPi to też sterowanie wej/wyj, HMI, edytor ruchu i co najmniej kilka innych funkcji. ad2. mniejsze silniki ale zwykłe nie modelarskie. dwa większe to standard nema34 a dwa mniejsze to nema23. Maszyna jest testowa ale przeznaczenie docelowe na hale produkcyjną. Wspomnę tu również o zabezpieczeniach takich jak: - max i min zakres na poszczególne silniki, przekroczenie tych zakresów -> błąd i wyłączenie pracy - jeżeli silnik nie zostanie "wykryty" podczas załączenia urządzenie -> błąd i brak możliwości włączenia maszyny i kilka innych błędów ad3. wszystkie ad4. tak, robota przesuwasz "ręcznie" czyli naciskasz odpowiedni przycisk na ekranie podłączonym do RPi , skojarzony z danym serwem i serwo pracuje. na razie trzeba sterować każdym ramieniem z osobna, ale znane jest mi zagadnienie kinematyki prostej i odwrotnej. Prace nad tym już niebawem. Na początek kinematyka prosta. Po zapisaniu wszyskich pozycji robota do pliku xml, bazujesz ramię w pozycji tzw. home (również polecenie, maszyna cały czas "wie" gdzie jest, gdzie jest pozycja home, pozycja spoczynkowa czyli przed wyłączeniem jej z prądu, itp) i wybierasz program jaki ma robot wykonać, czyli np. tą nową ścieżkę. Przycisk start i działa (jak na razie ). Testów zrobiłem już sporo. ad5. test do budowy czegoś bardziej profesjonalnego do użycia w cyklu produkcyjnym. zaznaczam, że nie mam ambicji zbudowania profesjonalnego manipulatora. Moja konstrukcja ma zastosowanie w pracach typu "podnieś przesuń połóż" 5-6 tys PLN. Pozdrawiam,
  2. Teraz będzie więcej programowania po stronie RaspberryPi. Kinematyka odwrotna, na razie na płaszczyźnie.
  3. Zamontowałem ramiona, BARDZO podstawowa funkcjonalność już działa. (chyba). Efekt można zobaczyć na poniższym filmiku.
  4. Taki nieco luźno związany temat z programowaniem w Lazarus/Object Pascal. Po dzisiejszych testach zachowania się całego układu publikuję link do krótkiego filmu: Jest to powstający w pełni funkcjonalny do zastosowania w lżejszych pracach typu "weź, przenieś, połóż" manipulator. Jego konstrukcja jest aluminiowa, napędzany jest przez dwa serwa hybrydowe o momencię trzymającym 4.5 Nm oraz dwa mniejsze serwa o momencie 2 Nm. Wszystkie serwa mają przełożenie co najmniej 1:3. Serwa hybrydowe zostały zakupione wraz ze sterownikami, natomiast tzw. zadajnik krok/kierunek to rola klonu Arduino Uno. Do każdego silnika jedno Uno. Malina Pi jest centralną jednostką zadającą kierunek i ile kroków do poszczególnych silników. Manipulator już jest programowalny, czyli można sobie napisać skrypt który zawiera ścieżki do poszczególnych silników albo bezpośrednio wykonywać ruch silnikami i zapisywać pozycje poszczególnych enkoderów optycznych. Jak widać na załączonym filmiku, jeszcze manipulator nie ma zamontowanych ramion. Jest to w planie na ten miesiąc. CDN... Pozdrawiam majsterkowiczów
  5. Arduino to platforma sprzętowa gdzie dzieje się bardzo dużo, producenci układów elektronicznych chcąc tam zaistnieć muszą dostarczać sprzęt+biblioteki i najlepiej jeszcze parę exampli jak dany czujnik, układ, ekran itp. obsłużyć. Oczywiście wszystko w C. Dla bascomowca oprogramowanie takich nowych układów to droga pod górkę bo nie ma gotowców w Bascomie. Osobiście wgłębiam się w datasheety i biblioteki cpp/h. Zauważam też że środowisko Bascoma mimo obecnej niszowości tego języka jest dość stabilne i cały czas ewoluuje.
  6. Miło że się podoba. Gierki też napisałem.
  7. Witam, przedstawiam dzisiaj krótki efekt pracy nad czujnikiem min. gestów Apds 9960 od SparkFun. Czujnik oprogramowałem w Bascomie, nie korzystam ze sketchy na platformę Arduino. Oprogramowanie to współdziała z dwiema prostymi gierkami napisanymi w Delphi 10.2 CE. Pierwsza jest to prosty klon Arkanoida w technologii FireMonkey, druga to klon popularnego Snake-a w standardowym VCL-u. W obu przypadkach sterowanie odbywa się poprzez wykonanie ruchu ręką nad czujnikiem, który rozpoznaje kierunek i przesyła informację do gry o kierunku ruchu, natomiast w grze obiekt sterowany ten kierunek wykonuje. Dla zainteresowanych zamieszczam link do kodu w Basomie: https://drive.google.com/drive/folder[...]mV9wKFj_hTIY7y6t1j7dTxtXE3xEF Link do filmiku na youtubie: Pozdrawiam.
  8. Witam, zakupiłem ostatnio czytnik NFC/RFID oparty o układ PN532. Mając także Arduino UNO, postanowiłem to razem spiąć do spółki z wyświetlaczem lcd 4x20 po interfejsie i2c. Jako, że programuję avr-ki w Bascomie to pierwsza (i chyba jedyna w tym projekcie) trudność już na starcie - kod do komunikacji z PN532 trzeba sobie samemu napisać. Sposób działania jest następujący: czytnik PN532 odczytuje kod karty i po usb przesyła go do mojego programu napisanego w Delphi. Jeżeli kod jest zapisany już w pliku xml to wyświetlana jest informacja z jaką osobą jest on skojarzony. Jeżeli karta jest pierwszy raz odczytywana to pojawia się okno z prośbą o rejestracje tej karty, czyli podanie osoby do jakiej będzie przypisana i parę innych informacji. Zwrotnie do Arduino wysyłana jest informacja jaka to osoba, data i czas logowania oraz inne informacje. Dane te następnie pojawiają się na wyświetlaczu LCD podłączonym do Arduino. Każde odczytanie karty jest zapisywane do pliku listy logowań. Fizycznie jest to plik także xml. Program można rozwinąć o wysyłanie sms, maila, raportowanie. Działanie można zobaczyć tutaj: Pzdr.
  9. W końcu dopisałem moduł uczenia manipulatora. Wygląda to tak, że po osiągnięciu jakiegoś żądanego punktu w przestrzeni, zapisujemy wartość enkoderów, przesuwamy do kolejnego punktu i czynność powtarzamy. Na koniec możemy powrócić do pozycji startowej (Home). Taką siatkę złożoną z wartości poszczególnych enkoderów zapisujemy do pliku. Aby wykonać taki plik ustawiamy ramie w pozycji startowej ( w takiej w jakiej zaczynaliśmy naukę w tym konkretnym przypadku) i uruchamiamy wykonanie skryptu. Malinka wysyła dane do poszczególnych mikrokontrolerów a te wykonują przesłane zadania. Poniżej zamieszczam film z przykładowym uczeniem ramienia: Pozdrawiam, Marcin
  10. Witam, cieszę się, że istnieje takie forum dla zapaleńców robotyki i w ogóle automatyzacji. Chciałem Wam przedstawić mój najnowszy projekt pt. Robot z drewna Tak naprawdę tylko ramiona są wykonane z drewna, sterowanie jest oparte o RasPi3, mikrokontrolery atmega8 (na każde serwo jedna atmega, jest pięć serw) i kilka innych elementów elektronicznych. Koła zebate są wykonane z aluminium i starałem się, aby w miarę możliwości co się da, było wykonane z niego. Projekt ten jest rozwojowy, chodzi o opracowywanie z mojej strony algorytmu nauki ruchu ramieniem robotycznym i ogólnie napisaniu aplikacji sterującej wszystkimi procesami robota. Oprogramowanie napisane jest w środowisku Lazarus, jest to odmiana języka Object Pascal. Atmegi oprogramowałem w Bascomie.RasPi komunikuje się z atmegami po protokole i2c, choć przyznaję, że lepszym jest wykorzystanie rs485. Padło na i2c bo dotychczas niewiele miałem z nim do czynienia i zwyciężyła ciekawość. Ramię ma (lub wkrótce będzie miało) możliwość wykonywania zaprogramowanej w trybie online trajektorii przemieszczenia efektora końcowego, czyli przemieszczaniu jednego serwa lub kilku na raz. Tworzenie tej trajektorii polega na zapamiętywaniu pozycji enkoderów i w ten sposób tworzenia punkt po punkcie ścieżki. Pozdr, Marcin
×
×
  • Utwórz nowe...