Skocz do zawartości

[Bascom] Line Follower algorytm


aixI

Pomocna odpowiedź

W żółtych ramkach zaznaczyłem ci o co mi chodzi. Weź te ścieżki po prostu usuń poleceniem ripup.

Dodatkowo zaznaczyłem ci pomarańczową ramką miejsce, w którym będziesz miał najprawdopodobniej zwarcie.

Tak jak już poprzednicy mówili dodaj przelotki łączące obie strony masy. (np z lewej i z prawej koło silnika, koło złącza na taśmę do czujników).

Popraw to sprawdź płytkę poleceniem DRC, ustawiając uprzednio w nim wartości które uda ci się zrobić ręcznie (bo z tego co pisałeś to zamierzasz ją robić ręcznie). Jeśli nie wiesz jakiej grubości zdołasz zrobić najcieńszą ścieżkę, oraz odstęp pomiędzy nimi, to wydrukuj sobie testową płytkę z prostymi ścieżkami o różnej grubości i różnymi odległościami. Dzięki temu będziesz w łatwy sposób uniknąć problemów podczas wykonywania płytki.

Proszę prześlij wraz z poprawioną wersją płytki, aktualny schemat.

Pozdrawiam

Paweł

Link do komentarza
Share on other sites

1. Na pierwszy rzut oka rzuca się włącznik koło miso. Jak go ustawisz w pozycji on, to spowodujesz zwarcie kondensatora C12.

2. Nie powinno się podłączać kondensatorów do linii ISP.

3. Wiele problemów może ci przysporzyć LED_6 podłączony do linii MOSI. Pamiętaj, że podczas programowania, zmienia się na tych liniach stan, a taki led to jest obciążenie dla tej linii.

4. Popraw schemat tak aby nie było takich niejasności jak teraz (z tym stabilizatorem popraw po prostu bibliotekę).

5. Kolejną sprawą to czytelność schematu. Jest on bardzo słabo czytelny. Posłużę się kawałkiem mojego schematu aby zilustrować o co mi chodzi.

Jak widzisz na twoim schemacie masz strasznie dużo symboli GND i VCC (koło uC) U mnie po ustawieniu tego troszkę w inny sposób znacznie lepiej wygląda i jest przejrzystszy.

6. Różne wielkości chorągiewek (Polecam stosować wielkość 0,56) i niepotrzebne "pogięcie" linii TXD i RXD.

7. Linia AVCC nie ma kondensatora, ani dławika.

8. Bardzo słabe filtrowanie zasilania. Zalecane jest dawać przy filtrowaniu mikrokontrolera parę kondensatorów o wartości 100nF, oraz od 1uF do 47uF. Tak samo zero filtrowania przy komparatorach.

9. LM293 to dosyć słaby układ. Zachodzi na nim dosyć duży spadek napięcia, ale również ma małą wydajność prądową. Polecam użyć tb6612 lub podobnego.

10. Sygnał zasilania V_bat praktycznie jest niezauważalny. Zastosuj jakiś symbol typu VDD.

Polecam przeczytać bardzo dobre poradniki pana Mirosława Kardasia na temat filtrowania:

http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

http://mirekk36.blogspot.com/2012/12/filtrowanie-zasilania-dlaczego-tak-wazne.html

  • Lubię! 1
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

Ad.1. To nie jest włącznik tylko micro-switch, ale dzięki za uwagę.

Ad.2. A gdzie Ty widzisz kondensator przy linii ISP? Na PCB jest rezystor SMD 10k podciągający reset do VCC.

Ad.3 Wiem, dlatego zadałem pytanie tu na Forum, ale nikt nie odpowiedział.

Ad.4. Jak znajdę czas to pobawię się z tą biblioteką.

Ad.5. Poprawiłem czytelność schematu.

Ad.6. Poprawione.

Ad.7. Nie korzystam z ADC.

Ad.8. Przy komparatorach dać po kondensatorze ceramicznym 100nF?

Ad.9. Kupiłem już L293DD.

Czytałem te poradniki.

Link do komentarza
Share on other sites

Micro-switch to inaczej mały przełącznik 😉.

Kondensator masz na linii miso koło tego micro-switcha.

Ad.3. Jeśli chcesz podłączyć tą diodę do tego pinu to dołącz bufor do niej. Proponuję abyś dał na miso i mosi taki bufor i diodę a przełącznik do zwykłego portu i/o.

Ad.7. Może to nie jest wymagane ale gdy postanowisz zmienić coś np. użyć jednak tego ADC w jakimś celu to masz uproszczone zadanie. Jeden dławiki i kondensator przecież nie kosztują mnóstwa pieniędzy.

Ad.8. Tak daj koło każdego minimalnie 100nF. Koło złącza do btm daj też parę kondensatorów. BTM lubi robić "szpilki" w szczególności podczas parowania. Dał bym też kondensator przy układzie sprawdzający stan baterii. Po co? Po to aby podczas chwilowym spadku napięcia (np podczas włączania silników) dioda nie migała bez potrzeby.

Link do komentarza
Share on other sites

Micro-switch to inaczej mały przełącznik

No wiesz? Nie wiedziałbym 😃

Ad.3. To po prostu wywalę ten switch z linii miso i diodę z linii mosi - wtedy będę miał trzy diody LED do debugowania i switch na pinach I/O.

Ad.7. W żadnym celu w tym bocie nie będę używał ADC, bo mi na nic nie jest potrzebne.

Ad.8. Ok, dam do każdego komparatora 100nF, na BTM'a też dam, a na układzie sprawdzającym stan akumulatora mam dać kondensator 100nF (na VCC i GND scalaka LM358?).

Link do komentarza
Share on other sites

Dzięki za dosyć szybką odpowiedź. Płytę wykonałem - wytrawiłem, wyciąłem i pocynowałem 🙂 Teraz tylko polutować i w wolnych chwilach testować.

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

Edit2:

Pozwoliłem sobie usunąć poprzedniego "Edit'a".

A teraz do rzeczy:

1. Sprawdziłem, które czujniki są dodatnie (Suma = Suma + ...), a które ujemne (Suma = Suma - ...): tak więc lewa strona bota jest "dodatnia", a prawa "ujemna".

2. Sprawdziłem, który czujnik z osobna wykrywa linie - działa.

3. Sprawdziłem, jakie wartości przypisane mają czujniki (czyli tą sumę) i wyszło tak: lewy skrajny +15, dalej +10, dalej +5, dalej -5, dalej -10, dalej -15.

4. Sprawdziłem kiedy "Aktualna_pozycja" jest równa 0 - działa na środkowych czujnikach: +5, -5.

"Aktualna_pozycja" to wynik z dzielenia "Sumy" przez "Black".

"Suma" to suma wag czujników.

"Black" to ilość czujników na linii.

To chyba wszystko z dzisiejszych testów sprawdzania, czujników, wyliczeń.

Mój bot nadal cierpi na niemożność jazdy prosto 😃, gdy są tylko środkowe czujniki na linii. Oglądałem różne roboty/konstrukcje na Internecie, tu na Forbocie i niektóre mają oscylacje, niektóre nie, niektóre jeżdżą płynnie, niektóre nie - pewnie to kwestia dopracowania algorytmu. Ja nie znam za bardzo regulatorów, nadal zgłębiam informacje o nich (wiadomo człowiek uczy się na błędach). Proszę Was abyście mi wytłumaczyli, czemu bot nie może jechać prosto, na pewno nie powinno tak być.

Pozdro!

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.