Skocz do zawartości

Robot modułowy


RaV

Pomocna odpowiedź

Planuję moduł sterownika silników, czujnika przeszkód, akcelerometrów, itp. oraz płytę główną sterującą całością.

chodzi mi, żeby bez większej modyfikacji elektroniki dodawać nowe funkcje.

Link do komentarza
Share on other sites

RaV, przy takich wymaganiach spokojnie wystarczy SPI/UPART/I2C - musisz wybrać sam co najlepiej Ci odpowiada. Tylko, że w przypadku modułów, które podałeś trochę szkoda będzie pakować osobne procesorki do komunikacji. Tutaj wystarczyłby jakiś sprytnie pomyślany system uniwersalnych złącz do głównego uC (np.: zasilanie + kilka złącz do I/O).

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

Aby bez większej modyfikacji dodawać kolejne elementy to I2C. Jeśli SPI to musiałbyś łączyć w daisychain, albo od razu zrobić duży zapas gniazd.

edit:

w sumie Treker ma rację: wyprowadzasz sobie wszystkie wejścia analogowe jako gniazda 3-pinowe, wszystkie wejscia cyfrowe jako 2-pinowe (sygnał i GND). Jedynie na silniki wyprowadzasz jakoś inaczej, np. PWM+pin sterujący kierunkiem+piny od zasilania i tak na każdy silnik. Opróćz tego wyprowadź koniecznie UART na 4 pinach (UART+zasilanie).

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

Kilka krotnie już podejmowałem próby robienia takiego robota modułowego, ale za każdym razem przerastała mnie ilość połączeń i prawie zawsze coś nie stykało. Jedyne sensowne rozwiązanie jakie mi się wydaje, to tworzyć tak moduły, żeby łączyło je się na zasadzie płytka w płytkę, w tedy są małe szanse na błędy w połączeniach. Generalnie, to odradzam takie moduły, chyba że masz dużą platformę na której masz gdzie to wszystko osadzać. Co do tego łączenia wszystkich modułów na np i2c to dosyć mocno rośnie cena konstrukcji, bo wszędzie musi być kontroler, albo chociaż jakiś port i i2c albo przetwornik a/c, c/a.

Link do komentarza
Share on other sites

To SPI i korzystać z 74595 jako wyjść cyfrowych i z jakiś analogicznych jako wejść cyfrowych (koszt to ok. 50gr za układ). A jeśli ma być większa ilość to ustawiasz je szeregowo.

Przy okazji mam pytanie: kiedy ATmega uznaje, że dostała bajt transmisji? W momencie, kiedy po zboczu opadajacym na SS dostanie 8b czy kiedy dostanie zbocze rosnące po otrzymaniu transmisji? Oba rozwiązania mają zady i walety.

Link do komentarza
Share on other sites

w sumie Treker ma rację: wyprowadzasz sobie wszystkie wejścia analogowe jako gniazda 3-pinowe, wszystkie wejscia cyfrowe jako 2-pinowe (sygnał i GND). Jedynie na silniki wyprowadzasz jakoś inaczej, np. PWM+pin sterujący kierunkiem+piny od zasilania i tak na każdy silnik. Opróćz tego wyprowadź koniecznie UART na 4 pinach (UART+zasilanie).

Ten pomysł chyba wygrywa cena/jakość. Podobne rozwiązanie ma firma qfix.de (szkoła ma takiego robocika)

Tak jeszcze, jakie złącza byście proponowali?

Link do komentarza
Share on other sites

Ciekawa konstrukcja

najbardziej spodobała mi się jednak koncepcja złącz sygnał/masa/zasilanie, gdyż jest od razu kompatybilna z złączami czujników Sharp i serwomechanizmów.

Właśnie czujniki Sharp mają fajne złącza, wiece gdzie można takie dostać?

-------------------------

http://teabot.org/t/hm płyta główna z ATmega8: złącze programatora, silnika, RS232, 6 złącz analog/cyfra z zasilaniem i 2 diody LED, może się komuś przyda...

Pytanie o złącza nadal aktualne 😉

Link do komentarza
Share on other sites

Pozwólcie że odgrzeję stary wątek. Jakiś czas temu zacząłem budować modularny komputer pokładowy dla modeli samolotów. Ponieważ zdawałem sobie sprawę że nie jestem w stanie wybrać odpowiedniego zestawu czujników jakie będą dobre dzisiaj i za 10 lat, oraz nie chciałem sobie odcinać drogi do rozwoju urządzenia zdecydowałem się na konstrukcję modułową.

Jest płyta główna, w którą wtyka się 3 moduły wewnętrzne i ma gniazda do podłączenia na przewodach 4 modułów zewnętrznych.

Moduły wewnętrzne komunikują się z procesorem na płycie głównej po szybkich magistralach SPI (12MHz) i I2C (400kHz), do tego są po dwie linie I/O na każdy moduł żeby móc coś tam zmienić, skonfigurować czy zresetować jakiś układ. Większość modułów ma na sobie przetwornik A/C.

Moduły zewnętrzne komunikują się długimi przewodami przez wolniejsze interfejsy 3xUART, I2C (50kHz) + opcjonalnie CAN. Mają obsługiwać takie bliżej nieokreślone w fazie powstawania projektu czujniki jak moduły GPS, radiomodemy, czujniki wymagające umieszczenia w konkretnym miejscu itp.

Wszystkie moduły posiadają mechanizm autodetekcji, tak że komputer wie jakie moduły ma obsadzone i je tylko obsługuje. można zmieniać kolejność obsadzenia gniazd, budować nowe itp. Jak na razie ta koncepcja się sprawdza.

Poniżej wygląd komputera z obsadzonymi trzema modułami wewnętrznymi:

Gdyby kogoś zainteresowało to u mnie na stronie jest artykuł z opisem złącz komputera pokładowego AutoPitLot.

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.