Skocz do zawartości

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


Nawyk

Pomocna odpowiedź

Przy pierwszej płytce z czujnikami jeden cny70 nie działał, a przy drugiej podczas lutowania byłem już zmęczony i do jednej nóżki czujnika podpiąłem dwa kabelki i cały czas +5v było na wyjściu z czujnika 😃

Błąd znalazłem za pomocą multimetru

Link do komentarza
Share on other sites

Witam,
tak mi się spodobał ten robocik, że go zrobiłem. Działa wspaniale. Pozwoliłem sobie wykonać płytki drukowane, których dokumentację (EAGLE) i maskę do termotransferu załączam. Wystarczy wydrukować, wyprasować, wytrawić i polutować. W zestawie są 2 płytki - płytka czujników i płyta główna. Połączone są kabelkiem z pięcioma żyłami. Płytę czujników można odsuwać względem płyty głównej co umożliwia odpowiednie ustawienie względem podłoża.

Mam nadzieję, że ułatwię tym samym budowę robota innym, równie niezaawansowanym jak ja, robotykom-amatorom.

PCB dla line followera.zip

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

Mam pytanie czy mając programator Willem uda się wgrać program atmedze 8 ? Sory, jesli jest to głupie pytanie, ale jestem poczatkujacym i nie zbyt się orientuję. Z tego co kojarze jest to programowanie równoległe, choc tez mi to niewiele mówi.

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

Witam

Nie mam zbyt dużego doświadczenia z elektroniką i stąd wynikają moje problemy - nie wiem jak się obchodzić z tym CNY70.

Rozumiem, że jak na sensor padnie odbite promieniowanie to zacznie przewodzić i wtedy będę mógł to odczytać w rejestrze PIN danego wyprowadzenia do którego jest CNY70 podłączony. Tutaj leży mój problem, bo niezależnie czy zakrywam sensor białą kartką, czymś czarnym czy niczym to różnicy nie ma.

Wgrałem do Atmegi podany przez autora program w Bascomie i silnik się nie kręci (bo na razie mam jeden, ale to nie powinno robić różnicy - szczególnie, gdy testuję środkowy czujnik).

Próbuję to teraz uruchomić na płytce stykowej z diodą zamiast silników (sam mostek bez uC działa) i jest to samo. Z kolei po odłączeniu czujników i podawaniu samego sygnału ręcznie na dane wyprowadzenie dioda się zapala (lub gaśnie - zależnie od programu).

Mój program w C do obsługi diody:

#include <avr/io.h>
#define F_CPU 1000000

void main()
{
DDRC = 0x0;
DDRD = 0x40;
PORTD = 0x0;

for(;;)
{

if (bit_is_set(PINC, 5))
{
	PORTD = 0x40;		
}
else
{
	PORTD = 0x0;
}

}
return 0;
}

Schemat:

schematw.th.png

Testowałem sam transoptor mierząc prąd i po przykryciu białą kartką prąd wzrasta z zera do 2uA. Gdy poświecę pilotem od telewizora do 8uA.

Jak mam to zaprogramować lub zmienić w schemacie, by zadziałało?

Link do komentarza
Share on other sites

Jeśli chciałbyś używać samej Atmegi to musisz skorzystać z ADC. Jeśli jednak nie to musisz dodać komparator porównujący napięcie i wysyłający sygnał 1 lub 0 do uC.

P.s. Dodaj kondensatory filtrujące przy zasilaniu bo ich na schemacie nie widzę 😉

Link do komentarza
Share on other sites

Zmierz napięcia wyjściowe przy białej kartce i czarnej taśmie.

Możesz też spróbować podbić trochę prąd diod. Nie dość że ilość światła się zwiększy, to wzrośnie też wzmocnienie tranzystorów(ciepło). U mnie przy zasilaniu 5V i prądzie diod ~35mA sygnały na wyjściu to ok. 0,1V dla czarnej taśmy i 4,4V dla białej kartki.

Link do komentarza
Share on other sites

Złożyłem tego robota, lecz spalił mi się jeden czujnik. Może to być przyczyną " nie jeżdzenia" robota?

Czujnik nie ma nic do robota oprócz wskazywania położenia czy jest na białym czy czarnym podłożu.

A jak jest spalony to pozostają ci zawsze 2 czujniki.

A zanim ci się spalił ten czujnik, to robot działał?

edit:

Chyba że zrobiłeś zwarcie na czujniku, ale nie wiem czy to by miało jakiś wpływ na niedziałanie robota.

Link do komentarza
Share on other sites

Witam.

Robot działa , lecz pojawił się nowy problem . Otóż bardzo wolno jeździ ( około 1cm/s). Na dodatek przerywa ( szybko włącza i wyłącza serwa). Czego to może być wina? Programu? Warto dać oddzielne napięcie na l293d , i oddzielne na atmegę ?

Pozdrawiam.

Link do komentarza
Share on other sites

Czy mostek H jest gorący? I jakie masz napięcie na silnikach + na wejściu zasilania w trakcie pracy silników? Możesz pomyśleć nad dodaniem dużego kondensatora elektrolitycznego miedzy "+" a "-" (duży, czyli rzędu 470µF ÷ 1000µF) oraz 100nF ceramiczny zaraz obok.

Link do komentarza
Share on other sites

Mostek się nie grzeje, lekko ciepły jest. ( tylko) . Kondensator dałem ,ale tylko jeden ( nie ma poprawy). 100 nf ceramicznego nie posiadam ,ale mam za to 100 nf stały , myślę ,że też się nada . Napięcie na serwach w czasie ich żmudnej pracy wynosi średnio około 0,7 v, w porywach do 1,2 v ( jeśli serwo nagle przyspieszy ). Napięcie na wejściu całego układu wynosi 5,8 v. Na dodatek spalił mi się czujnik , na który bezpośrednio była podłączona masa. Co ciekawe wczoraj jeżdził szybciej robot, ale nie zadowalająco.

Link do komentarza
Share on other sites

Zasilasz z akumulatorów, baterii alkalicznych, czy zwykłych? Strasznie niskie to napięcie na silnikach. Masz PWM w programie ustawione na maksa (255)? Co prawda pewien spadek napięcia występuje na mostku, do tego napięcie spada na źródle pod wpływem obciążenia... Ale nie powinno aż tyle, zwłaszcza, że jedno serwo w tym przypadku nie powinno pobierać więcej niż jakieś 500mA. Powinieneś zmierzyć ten prąd, ale przy zasilaniu z napięcia ok. 5V (bieg jałowy, ew. docisnąć lekko koła). 5,8V to przy działających silnikach? Ile jest przy odłączonych?

Link do komentarza
Share on other sites

Przy niedziałających serwach wynosi około 5.5 v, a przy działających tak jak mówiłem około 0.7v w porywach do 1,2v. Dziwne jest też to ,że koła się kręcą nawet jak robot nie widzi żadnej linii. Wlączam napięcie , to i koła się kręcą . Tak, wartość pwm jest na maxa = 255. A czy dioda powinna w tym robocie migac ? Bo jak podłączam silniki to miga, jak są odłączone to świeci światłem ciągłym. A co do zasilania , to mam 2 akumulatory i dwie zwykłe baterie alkaliczne.

Dałem teraz 4 baterie alkaliczne + stabilizacja napięcia , robot porusza się znacznie płynniej .

Lecz cżesto gubi linię . Może to być wina spalonego czujnika ? Dodam ,ze mam TcRT5000 . A właśnie . Do tych czujników rezystor przy anodzie tez powinien miec 240 omów ?

Rezystory zmieniłem na wszelki wypadek na 330 omów. Jak już wspomniałem , dałem napięcie stabilizowane . Teraz robot jeżdzi szybciej lecz nadal przerywa. Sądzę ,ze wina nie leży po mojej stronie ... Ciekawe jak silniki sprawowałyby się ... Zrobie następnego na silnikach , to sam się przekonam . Dzięki za pomoc.

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.