Skocz do zawartości

Jakie elementy do budowy robota typu LineFollower?


jaceksz73

Pomocna odpowiedź

Poniższe pytanie zostało wydzielone z następującego tematu:

---

Dziękuję. 
A jakie obecnie są najlepsze komponenty do LF?

diody:

silniki:
encodery:

sterowniki do silników:

stabilizator napięcia 5v:

stabilizator napięcia 3,3v:

bateria (zasilanie):

Czy zalecane jest np użycie drv8833 do jednego silnika?

Czy powinno się podnieść napięcie z baterii 2S 7,4v do sterowania silnikiem?

Czy stabilizować napięcie sterowania silnikami?

Procesor znalazłem taki STM32h750 

Ma tylko 128MB pamięci. Czy to wystarczy?

 

 

Link do komentarza
Share on other sites

Zastanawiałem się czy w pytaniu podać moje typy. Nie podałem ich, żeby nie sugerować innym, ale faktycznie wyszło to trochę zbyt ogólnikowo.

Planuję złożyć LF na następujących komponentach:

1) procesor: STM32H750VBT6 - 128KB, 480MHz, obudowa 100-LQFP (14x14), Liczba I/O - 82

2) czyjniki IR: 12 szt. KTIR0711S

3) silniki: Pololu HPCB 10:1 z obustronnym wałem 9V (ewentualnie z enkoderem)

4) sterowniki silnika: dwa Pololu DRV8833 - dwukanałowy sterownik silnika 10.8V / 1.2A - Połączone dwa wyjścia ze sterownika na jeden silnik

5) stabilizator napięcia 5V: Stabilizator LDO 5V LM1117MP - SMD SOT223

6) stabilizator napięcia 3,3V: Stabilizator LDO 3,3V LM1117MP - SMD SOT223

7) Bateria: nano tech 35/70C 300mAh 7,4V

Pozostaje jeszcze opcjonalny czujnik wykrywający przeszkodę i żyroskop. Tu niejstety nie mam pomysłu.

Najtrudniejsze dla mnie jest zasilanie silników. Jak je najlepiej zrealizować?

Co sądzicie o takim zestawieniu? Co należałoby zmienić albo dodać?

 

Link do komentarza
Share on other sites

8 godzin temu, jaceksz73 napisał:

7) Bateria: nano tech 35/70C 300mAh 7,4V

Co do reszty się nie wypowiadam, co do tego akumulatorka a i owszem. Według mnie to jeden z najgorszych akumulatorków, albo ma na wyrost C-rating albo są po prostu kiepskie. Szybko puchną przy poborach prądu mieszczących się poniżej 20C.

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

11 godzin temu, jaceksz73 napisał:

Zastanawiałem się czy w pytaniu podać moje typy. Nie podałem ich, żeby nie sugerować innym, ale faktycznie wyszło to trochę zbyt ogólnikowo.

Planuję złożyć LF na następujących komponentach:

1) procesor: STM32H750VBT6 - 128KB, 480MHz, obudowa 100-LQFP (14x14), Liczba I/O - 82

2) czyjniki IR: 12 szt. KTIR0711S

3) silniki: Pololu HPCB 10:1 z obustronnym wałem 9V (ewentualnie z enkoderem)

4) sterowniki silnika: dwa Pololu DRV8833 - dwukanałowy sterownik silnika 10.8V / 1.2A - Połączone dwa wyjścia ze sterownika na jeden silnik

5) stabilizator napięcia 5V: Stabilizator LDO 5V LM1117MP - SMD SOT223

6) stabilizator napięcia 3,3V: Stabilizator LDO 3,3V LM1117MP - SMD SOT223

7) Bateria: nano tech 35/70C 300mAh 7,4V

Pozostaje jeszcze opcjonalny czujnik wykrywający przeszkodę i żyroskop. Tu niejstety nie mam pomysłu.

Najtrudniejsze dla mnie jest zasilanie silników. Jak je najlepiej zrealizować?

Co sądzicie o takim zestawieniu? Co należałoby zmienić albo dodać?

 

1. Ten STM to budżetowy H7. Bardzo szybki, jednak przy dzisiejszych bibliotekach 128KB Flasha może Ci nie wystarczyć. Zazwyczaj podłącza się pod niego zewnętrzny flash po QSPI. Jeśli nie planujesz stosowania skomplikowanej matematyki, to uznałbym ten procesor za niepotrzebne utrudnienie sobie życia 🙂
2. Czujniki OK.
3. Przy niedużych kołach robot może osiągać zbyt niską prędkość przy wersji 9V na baterii 2S. Jeszcze kwestia czy z turbiną czy bez. Dla LFa bez turbiny momentu obrotowego Ci nie zabraknie przy wersji 6V. (Ten parametr to napięcie nominalne i spokojnie mógłbyś taki silnik wysterować nawet z baterii 4S - ważne, żeby silnika nie przegrzać i nie "zedrzeć" szczotek).
4. Drivery powinny wystarczyć. Kojarzę jeszcze DRV8838, ale są jednokanałowe i pozwalają na odrobinę mniejszy pobór prądu niż zmostkowany DRV8833 😕
5, 6. Trzeba pamiętać, że cały spadek napięcia na LDO będzie skutkował wydzieleniem dość sporej ilości ciepła. Ogólnie OK, jeśli określisz dopilnujesz poboru prądu.
7. Z bateriami warto dzisiaj poszperać w kierunku mikro-dronów FPV. Mają coraz lepsze parametry i lepszą cenę/dostępność. Te nanotech'y wydają się trochę niedzisiejsze.

Zasilanie silników zdecydowanie bezpośrednio z baterii poprzez sterownik (mostek H).

A jeżeli chodzi o najlepsze części do LF, to powiedziałbym, że:
- lekka konstrukcja o niewielkich bezwładnościach (koniecznie - znacznie przedłuża czas życia projektu, większe możliwości, większa sterowalność, można więcej wycisnąć)
- bardzo przyczepne koła (koniecznie)
- enkodery (zalecane, ale można sobie bez nich poradzić)
- "ułatwiacze" (łączność, zdalny start, interfejsy - żeby obsługa robota, poprawki, strojenie były jak najwygodniejsze)
- bezawaryjność i "prawidłowa" elektronika (żeby skupić się na programowaniu, nie na szukaniu błędów w schemacie podczas zawodów)
- oprogramowanie
To są moim zdaniem kluczowe czynniki , które warto brać pod uwagę, a na resztę nie ma jednoznacznego przepisu i nie sposób ich określić bez wcześniejszych prób i przekonania się na własnej skórze - wszystko jedno jaki symbol ma przetwornica czy dioda. Część z nich na pewno dyktuje dostępność i cena. Sam styl/metoda programowania (sterowania LFem) może sprawić, że istotniejsze będą dla Ciebie inne podzespoły niż u drugiego zawodnika. Dodatkowo, często trasa płata nam figle 🙂
 

Edytowano przez mice.co
  • Lubię! 1
Link do komentarza
Share on other sites

Moim zdaniem wybór elementów do LFa zależy od tego jakie masz doświadczenie w tej konkurencji.

Osobiście uważam, że robot zbudowany z elementów, które podałeś (3 wiadomości powyżej) będzie działał porównywalnie z:

1) Atmega324 32KB, 20MHz, TQFP44

2) 12 ktirów z komparatorami

3) Polulki 10:1, 6V, "zwykłe" szczotki (lub nawet te tańsze N20 z Botlandu)

4) jeden (no może dwa) TB6612 (zasilane prosto z akumulatora)

...

7) Li-Pol Dualsky 150mAh 30C 2S 7,4V

 

Jeśli chcesz zrobić szybszego robota (a masz już jakieś doświadczenie) to polecam:

1) STMF7 (jak wolisz, ale lepszy procesor nie przyspieszy robota, tylko później się będziesz przejmował czy robot coś Ci zdąży policzyć) (i przydaje się powyżej 256 KB Flash)

2) co najmniej 12 ktirów (8 czasem sprawia problemy)

3) Polulki HPCB 10:1 z obustronnym wałem (Koniecznie enkodery)

4) Jeżeli chodzi o sterowniki to nie powiem Ci jakie jest optymalne rozwiązanie - 4x TB6612 wytrzymują wszystko 😁 (choć trochę zajmują)

5) i 6) pierwsze lepsze LDO

7) Li-Pol Dualsky 150mAh 30C 2S 7,4V (albo 220mAh - na dłużej starcza)

Zasilanie silników bezpośrednio z akumulatora (w sensie bez żadnych przetwornic i stabilizatorów) - enkodery ładnie sterują obrotami a słaby akumulator najwyżej spowoduje wolniejsze przyspieszanie ale nie będzie rozstrajać PIDa (w RoChNie 3 to trochę bolało).

Z przeszkodami jeszcze nie jeździ ale polecam TOFy VL53L1X.

Żyroskop fajny, akcelerometr jeszcze fajniejszy - pytanie czy Ci się przyda. Nie mówię, że nie ale da się przeżyć bez niego.

 

Wszystko sprowadza się do tego jakiego robota chcesz zrobić: RoChN 3 czy Cukiereczek, oraz jakie masz doświadczenie.

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

Bardzo dziękuję za wskazówki i obszerne wyjaśnienia. 

Odnośnie komunikacji.

W artykule napisałeś:

Dnia 10.03.2019 o 22:33, mice.co napisał:

Interfejs USB - Jedyne złącze użytkowe w robocie. Jako, że interfejs SWD programowania wyprowadziłem w postaci padów do lutowania, "codzienne" programowanie robota odbywało się przez interfejs USB w trybie DFU. Napisany został kod umożliwiający przejście mikrokontrolera do wewnętrznego bootloadera, a następnie wgranie nowego programu. USB służył także do debugowania poprzez port COM.

Czy program do przejścia mikrokontrolera w bootloader operował na pinach boot0 i boot1 i resetował mikrokontroler?

A jak wychodziłeś z bootloadera?

Jak realizowałeś debugowanie przez port COM? Czy mogłeś podglądać rejestry czy tylko wysyłałeś dane do portu?

Dlaczego nie korzystałeś z programatora lub innej metody?

 

Link do komentarza
Share on other sites

Dnia 11.01.2020 o 09:23, jaceksz73 napisał:

Bardzo dziękuję za wskazówki i obszerne wyjaśnienia. 

Odnośnie komunikacji.

W artykule napisałeś:

Czy program do przejścia mikrokontrolera w bootloader operował na pinach boot0 i boot1 i resetował mikrokontroler?

A jak wychodziłeś z bootloadera?

Jak realizowałeś debugowanie przez port COM? Czy mogłeś podglądać rejestry czy tylko wysyłałeś dane do portu?

Dlaczego nie korzystałeś z programatora lub innej metody?

 

Przejście do wbudowanego bootload'era odbywało się wyłącznie software'owo. W momencie uruchamiania całego programu sprawdzana jest pamięć w konkretnej komórce BKPSRAM i ewentualnie zerowana. Jeśli przed restartem uC było tam wpisane żądanie wejścia w bootloader, stos MSP ustawiam na 0x1FF0 0000 i przechodzę wskaźnikiem do *(0x1FF0 0000 + 4).

Do programowania używałem programów zewnętrznych bazujących na dfu-util - po zaprogramowaniu uC jest restartowany.
 

Debugowanie odbywało się w sposób uproszczony poprzez konsolkę - wyświetlając komunikaty, wartości zmiennych itd.
Pełny, prawdziwy, debugger SWD był mi potrzebny w momencie problemów z hardfault'ami (głównie przez TCM-RAM, dcache i dma ...typowe początki z F7).

Nie korzystałem, gdyż chciałem uniknąć dodatkowego złącza w robocie oraz operować sporą ilością kabli i płytką programatora - wystarczy zwykły przewód microUSB-USB. Jednocześnie po zaprogramowaniu, przez COM można natychmiast wysyłać statusy o poprawnych inicjalizacjach itd itp.
Przez USB jest też możliwość zgrywania logów z karty uSD poprzez tryb MSC (nie trzeba wyciągać karty ze slotu, upychać w adapter i wpychać do czytnika komputerowego), ale nie zdążyłem tego zaimplementować 🙂

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.