Skocz do zawartości

Schemat najzwyklejszego LF'a


Pomocna odpowiedź

Napisano

Siemka,
Na podstawie schematu z tematu Nawyka ( https://www.forbot.pl/forum/topics20/dla-poczatkujacych-swiatlolub-jak-zrobic-robota-od-zoltodzioba-do-pierwszego-robota-vt1096.htm ) chcę zbudować najprostszego line followera do nauki programowania (PWM, ADC).

Płytkę z trzema czujnikami CNY70 już mam. Napęd to przerobione serwa modelarskie (z kondensatorami 100nF tuż przy złączach silników, więc nie dodaję ich na schemacie). Są wolne, więc PWM będzie użyte w tym robocie tylko do celów naukowych 😉

Moje pytanie- czy wszystko jest ok na schemacie?

Jeśli tak, to zabiorę się za ustawianie tego na płytce.

Dzięki za odpowiedzi i uwagi

Łukasz 😉

Edicao:

Ta płytka z czujnikami ma już wstawione rezystory 240R pod diody IR oraz podciągnięcie kolektorów do VCC przez rezystory 10k.

1. Zasilanie silników puść z napięcia baterii, a nie 5V za stabilizatorem.

2. Złącze do CNY zrób na jednym złączu a nie dwóch oddzielnych - lepiej się będzie trzymało. Możesz też pomyśleć o złączu IDC 2x4 i taśmie IDC.

Masz jeszcze 5 wolnych pinów. Ewentualnie możesz wyprowadzić złącze do transmisji uart, oraz 3 ledy, które będą Cię informowały, które czujniki aktualnie widzą linię.

Dodaj sobie swich i polecam dać od razu już kwarc z kondensatorami. Tak możesz go porostu nie wlutowywać i taktować wewnętrznym kwarcem a jak coś ci się odmieni to możesz szybko to zmienić.

MirekCz

Napęd to przerobione serwa, a do zasilania użyję Li-pola 2S, a jak pewnie wiesz przy pełnym naładowaniu mają 8,4V, myślę że podanie tyle na silniki mogłoby znacząco wpłynąć na ich żywotność 😉

Niestety przewody z płytki z czujnikami już są wyprowadzone- 3 piny do ADC + 2 piny na zasilanie

Sosnus

Diody do pokazywania stanów na czujnikach już są 😉

A do czego mógłby się przydać UART w takim LF'ie?

pawcio0928 Switch dobra rzecz, kwarc w sumie też. Dzięki

Silniki mogą ci zakłócać logikę ja bym na twoim miejscu jak koniecznie potrzebujesz ten stabilizator na silniki, chodź możesz bez niego podając porostu mniejsze wypełnienie PWM. Jeśli jednak zdecydujesz się na wersję ze stabilizatorem to pamiętaj że on jest do 1,5A i będzie mógł wydzielać duże ilości ciepła i przy końcowym rozładowaniu li po będziesz miał trochę powyżej 6v co może wpłynąć na nie poprawne działanie stabilizatorów. I jeszcze jedna sugestia. Daj sobie do wolnego portu ADC dzielnik do pomiaru napięcia akusa i np buzzer i diodę. W ten sposób masz 99,9% że nie rozładujesz zbyt głęboko akusa.

OK, w wolnej chwili wprowadzę zmiany.

Jakie wartości rezystorów proponujesz do dzielnika napięcia? Po 100k?

Ledów nigdy za wiele. Ja to widzę tak:

Led mrugający co ileśtam powtórzeń programu, pokazujący że program działa ok;

Led świecący się wtedy, gdy żaden z czujników nie widzi linii, i bot stara się powrócić na trasę;

No i tak jak mówiłem, 3 ledy do badania stanów czujników.

line followera do nauki programowania (PWM, ADC)

i przy okazji nauczył byś się także UARTA.

Ale w każdym razie zrobisz jak uważasz 😉

PS dzielnik jakikolwiek najlepiej aby jeden z rezystorów był 2x większy od drugiego.

Sosnus, w sumie z tymi ledami to racja, dołożę jeszcze dwie diody.

To i wyprowadzenie UART-a (UART a USART to to samo? Wg wikipedii tak) to też nie problem- tylko w czym mógłbym ten interfejs wykorzystać? Przesyłanie informacji przez Bluetooth na komputer np? Sama idea nauki o tym jest bardzo dobra, bo prędzej czy później trzeba to poznać.

Co do dzielnika:

Wyliczyłem sobie, że żeby przy max. napięciu na pakiecie (8,4V) na pinie od ADC mieć 2,55V, potrzebuję R1 139,3K, a R2 60,7K (przyjąłem sobie, że razem opór ma być 200k).

W wolnej chwili spojrzę jakie są wartości rezystorów z szeregu i wybiorę jak najbliższe wartości (ew. trochę zwiększę R1 i zmniejszę R2, żeby nie zdarzyło się, że na ADC będzie np. 2,7V).

A tak przy okazji- mogę uszkodzić ADC jeśli wybiorę Vref 2,56 a podam więcej?

Przez UART możesz przesyłać na przykład konkretne wartości jakie uC odczytał z przetworników ADC, oraz przekazać info do pc, jakie robot postanowił podać PWM na każdy z silników, ale to są tylko przykłady. Może ten artykuł Ci pomoże: https://www.forbot.pl/forum/topics20/programowanie-port-szeregowy-i-interfejs-usart-czyli-komunikacja-mikrokontrolera-z-komputerem-vt6118.htm?utm_source=forbot&utm_medium=link_spis_art&utm_content=art_6118&utm_campaign=spis_art

Możesz użyć wewnętrznego źródła odniesienia, które dla atmegi8 wynosi 2,56V, ale ja proponuję porównać wartość dzielnika z napięciem jakie podasz (czyli najprawdopodobniej 5V) przez dławik na pin AREF. Wtedy wystarczy Ci dowolny dzielnik 1:2 czyli np. z jednej strony rezystor 10k, a z drugiej 2 połączone szeregowo rezystory o wartości także 10k.

Dodałem dwie dodatkowe diody LED i wyprowadziłem USARTA- ale nigdy nie używałem go i możliwe, że coś jest nie tak. Czy ktoś obeznany mógłby spojrzeć czy jest ok?

Druga sprawa to piny PB4 i PB5- chcę użyć ich do sterowania kierunkiem obrotu silników, ale przez te piny następuje programowanie, a pomiędzy pinami uC, a mostkiem nie ma żadnego rezystora ani nic, więc może mogą pojawić się jakieś problemy z programowaniem?

UART jest żle. Daj złącze 4 pinowe, z liniami: VCC,PD0,PD1,GND.

Co do współdzielenia pinów, to ja proponuję dać zworki, i przełączać funkcje pinów, no ale niech się jeszcze ktoś w tej kwestii wypowie.

Przyjąłem że np. moduł BT będzie miał własne podpięcie do zasilania.

Czy pin PD4 (XCK) też powinien być wyprowadzony?

Z tego co wyczytałem to jest używany w zależności od trybu (synchroniczny i asynchroniczny).

piotreks-89

A co sądzisz o sytuacji przy PB4 i PB5? Może tak być czy raczej powinienem zrobić zworki (jak radzi sosnus, chociaż przyznam, że byłoby to trochę niewygodne)?

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...