Skocz do zawartości
Nawyk

[Dla początkujących] Przepis na robota - w pełni programowalny Line Follower

Pomocna odpowiedź

Witam!

Udało mi się zbudować robota według schematu jednak mam pewien problem.

Narazie testuję robota z odłączonymi czujnikami i gdy robot jest podłączony do komputera poprzez programator kółka kręca się prawidłowo i nie ma żanego problemu. Otrzymuje wtedy stale napiecie zasilania 4 V. Na serwach 3,5 V. Jednak gdy odlacze programator i włącze robota to koła się nie kręcą. Otrzymuje napięcie 3,5 V ale na silniczkach juz 0 V.

Udostępnij ten post


Link to post
Share on other sites

Za niskie napięcie podłącz 4,5 i będzie śmigać

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Wielkie dzięki ! 🙂

Sprawdziłem baterie, które miałem w robocie i dawały tylko 1V każda. Dałem nowe i wszystko działa jak najlepiej 🙂

Udostępnij ten post


Link to post
Share on other sites

Witam,
czy ma ktoś zrobioną płytkę do drukowania z tego schematu?

Udostępnij ten post


Link to post
Share on other sites
Tomson1105, jakich silników użyłeś? Czym zasilasz robota?

Trochę późno odpowiedź, ale to ze względu na brak czasu i podjęcie się budowy robota od nowa. Tym razem zrobiłem na własnej płytce PCB, na 100% nie ma zwarć, na 100% połączenia są pewne, robiłem je wg schematu z kursu więc i muszą być prawidłowe, czujniki świecą i są sprawne (sprawdzane multimetrem). Zasilanie z programatora na 5V lub z własnego stabilizatora również 5V... Kompletnie żadnej reakcji na silnikach (Pololu) :/

W dodatku w programie nie mam pojęcia w jakich granicach mam ustawić stałą Granica... 10? 100? 200? 500? 1000? o.O

Mam wątpliwości co do tego fragmentu:

"Wczytaj_stany_przetwornikow:

Start Adc

W = Getadc(5)

W = Getadc(5)

Stop Adc

Czujnik_lewy = W

Start Adc

W = Getadc(4)

W = Getadc(4)

Stop Adc

Czujnik_srodkowy = W

Start Adc

W = Getadc(3)

W = Getadc(3)

Stop Adc

Czujnik_prawy = W

Return

"

Czy wszędzie powinno być to "W" ?? Nie powinny być 3 zmienne?

Udostępnij ten post


Link to post
Share on other sites

Witam, właśnie skończyłem pierwszą płytkę. Zabrałem się do pracy nad drugą płytką (tą z fototranzystorami) i dotarło do mnie iż nie posiadam rezystorów 240 Om. Czy mogę zastąpić te elementy opornikami 22Om?

Udostępnij ten post


Link to post
Share on other sites

Rezystory 240R odpowiadają za ograniczenie prądu diod w transoptorach - zmiana na 220R nie powinna zbytnio wpłynąć na działanie układu.

Co najwyżej będziesz musiał ciut wykalibrować czułość w programie.

Udostępnij ten post


Link to post
Share on other sites
Czy mogę zastąpić te elementy opornikami 22Om?

22 Omy to ponad 10x mniej niż 240 Om, więc nie, nie możesz, ale jeśli miałeś na myśli 220 to możesz takich użyć.

Udostępnij ten post


Link to post
Share on other sites

Villentre lepiej zrozumiał moje zamiary, przepraszam za pomyłke 😉

Czyli na upartego (odpuszczajac jakiekolwiek kalibracje) maszyna bedzie daiłac poprawnie?

Udostępnij ten post


Link to post
Share on other sites

Czy mógłbym dostać zdjęcie, jak powinna wygladać płytka od spodu (interesują mnie luty). Z racji iż jest to moja pierwsza przygoda z robotyką nie potrafię sie połapać, co i gdzie robie źle.

Skleciłem płytkę według schematu, podpiołem programator, wrzuciłem program do procka no i tu już przestaje byc tak wesoło. Po podpięciu zasilania (5,4V mierzone multimetrem) długo można było by czekać i nic. Nie świeci dioda, nie ma oznak działania siliczków(chociaż raz ni stad ni z owad jak przestawiałem maszyte miałem wrażenie ze prawy dał oznake zycia - drgnal) No ale to by było ns tylr.

Dodsam jeszcze iż silniczki sprawdziłem, pod stałym napięciem działają poprawnie.

Udostępnij ten post


Link to post
Share on other sites

Mam problem z zaprogramowaniem uC Atmega8-16pu. Bascom 2.0.7.1.001 demo wykrywa uC jako Atmega8 (Bascom 2.0.7.5 wykrywał uC jako Atmega8a) Jednak przy ładowaniu pliku program_testowy.hex (ten od Nawyka) wyskakuje błąd:

Chip differs at bytes adress:00000

Skutek jest taki, że robot reaguje tylko na czujnik lewy i prawy - jest gotów skręcać lewo/prawo, jednak nie jedzie do przodu.

Poprzednio w wersji Bascom 2.0.7.5 udało mi się wgrać plik.hex i wszytko grało, jednak za każdym razem kiedy wprowadzałem zmiany w pliku.bas, kompilowałem go samodzielnie wyskakiwał ten sam błąd.:

Chip differs at bytes adress:00000

lub

Detected Micro ATmega8a does not match the selected Micro ATmega8

Jedyną opcją było wgranie pliku .hex od Nawyka co i tak nie zawsze się udawało (udało się 2 razy na około 25 prób)

Chciałbym móc coś pozmieniać w programie od Nawyka, ale nie ma opcji żeby bezbłędnie wgrać program do Atmegi, bo albo wyskakuje błąd że nie rozpoznaje kontrolera:

Detected Micro ATmega8a does not match the selected Micro ATmega8

(to w Bascomie 2.0.7.5 - kiedy używam regfile = m8def.dat)

a jeśli użyję regfile = m8adef.dat, wtedy otrzymuję błąd:

Chip differs at bytes adress:00000

i robot nie jedzie do przodu tylko reaguje na czujnik lewy/prawy.

Przejrzałem niemieckie forum

http://bascom-forum.de/showthread.php?4729-BASCOM-2-0-7-5-003-erkennt-den-ATMEGA8-16PU-falsch

Tam jest opisany podobny problem i zalecano użycie bascom 2.0.7.1 który miał prawidłowo rozpoznać uC, jednak mimo, że ta wersja wykrywa moj uC Atmega8-16pu jako Atmega8

(plik m8def.dat) to jednak wyskakuje błąd:

Chip differs at bytes adress:00000

:/

Używam programatora USB AVR ISP II (STK500v2)

Uporałem się z błedem Chip differs at bytes adress:00000

(błąd występował przy weryfikacji). Niemniej jednak robot nie chce jechać do przodu (jakby nie widział linii

Else

Pwm1a = 255

Pwm1b = 255

żeby robot zaczął działać musiałem zmienić część programu:

Do

Gosub Wczytaj_stany_przetwornikow

If Czujnik_srodkowy > Granica Then

‘Silnik lewy – maksymalna prędkość

Pwm1a = 0

‘Silnik prawy – maksymalna prędkość

Pwm1b = 0

Elseif Czujnik_lewy > Granica Then

Pwm1a = 0

Pwm1b = 255

Elseif Czujnik_prawy > Granica Then

Pwm1a = 255

Pwm1b = 0

Else

Pwm1a = 0

Pwm1b = 0

End If

Loop

End

jakieś pomysły co zrobiłem źle, że musiałem odwrócić wartości?

Udostępnij ten post


Link to post
Share on other sites

Witam 🙂

Jestem w trakcie budowy robota opartego na na kursie linefollowera z forum forbota.

Uzywane są tam TRZY czujniki CNY70. Modyfikacja jest to ze ja używam SZEŚĆ. 🙂

Do emitera i czujnika kazdej jednostki CNY70 podlaczone są rozne rezystory. I teraz ponieważ uzywam wiecej czujnikow uznalem ze muszę zmienić wartości rezystancji.. i tu mam problem bo z moich obliczen wynikaja jakies bzdurne wnioski (odwrotnie nie oczekiwane).

Dioda IR w CNY70 zasilana jest z 5V i ma szeregowo rezystor 240R

Fototranzystor ma szeregową rezystancję 10K.

Moje pytanie: Czy wiecie jak zmienić wartosci rezytsancji skoro uzywam dwa razy wiecej czujnikow a chce zeby przez kazdy emiter i fototranzystor plynął ten sam prąd co w oryginalnym projekcie?

Oto link do kursu: https://www.forbot.pl/forum/topics20/dla-poczatkujacych-przepis-na-robota-w-pelni-programowalny-line-follower-vt2356.htm?utm_source=forbot&utm_medium=link_portal_menu&utm_content=link_linefollower&utm_campaign=menu_1

A oto link do schematu PCB (po prawej są wspomniane czujniki):

https://www.forbot.pl/forum/upload_img/obrazki/IMG_4e88ed98a84607715.png

Pozdrawiam serdecznie

__________

Komentarz dodany przez: Sabre

Scaliłem z oryginalnym tematem.

Udostępnij ten post


Link to post
Share on other sites

Każda dioda i każdy fototranzystor ma swój rezystor, więc co chcesz zmieniać? Powiel tylko ten kawałek schematu i gotowe. (oczywiście podłącz wyjścia fototranzystorów pod wolne piny...)

Udostępnij ten post


Link to post
Share on other sites

Witam. Chce zbudować tego robota. Obecnie kompletuję części. Czy ktoś może mi powiedzieć jaki programator należy zakupić do tego procesora? Mam lpt i rs. Co konkretnie potrzebuję by bez problemu go zaprogramować?

Udostępnij ten post


Link to post
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!

Gość
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...