Skocz do zawartości

Autonom - line follower szkoleniowy


nif

Pomocna odpowiedź

Witam wszystkich :->

Po dłuższym okresie samego tylko czytania forum, postanowiłem zwrócić się do Was z konkretną sytuacją 😋 .

Jako, że na co dzień pracuję jako programista, zainteresowałem się mikrokontrolerami i ich specyfiką.

Postanowiłem, że nauka połączona z przyjemną praktyką będzie najskuteczniejsza, zatem zdecydowałem się na budowę robota.

Będzie to Line Follower.

Chciałbym aby był zbudowany z modułów. Na chwilę obecną są to moduły:

1. zasilania,
2. mikrokontrolera i jego najbliższego otoczenia,
3. mostka H,
4. czujników linii.

Zebraną dotychczas wiedzę przekułem w schematy i projekty PCB.

Poświęciłem im sporo czasu i myślę, że mogę poddać je Waszej opinii.

1. Zasilanie

Prosta stabilizacja na bazie LM7805.

Źródłem energii będzie LiPol. Na chwilę obecną nie mam konkretnego.

Planuję najpierw uruchomić układ na zasilaczu i w miarę swoich możliwości zmierzyć pobory prądu w różnych konfiguracjach i ustawieniach peryferiów uC.

2. Mikrokontroler

Schemat bardzo typowy. Wyprowadzenia poprowadziłem tak aby móc łatwo łączyć się z innymi modułami.

Nie wiem czy dobrze zrobiłem z VCC2 i VCC3 na PCB. Chciałem mieć tam wyjścia z napięciem, ale nie wiem czy dobrze to poprowadziłem.

Dołożyłem dwa przyciski do późniejszego wykorzystania tak, aby można było połączyć je z masą za pomocą zworek.

3. Mostek H

Wybrałem mostek L293D. Będzie sterował silnikami HL149 z przekładnią 10:1.

Ze wstępnych pomiarów wynika, że mostek powinien wydolić (600mA wg noty).

Co do PCB, ponownie ogarniają mnie wątpliwości. Głównie co do grubości ścieżek między padami mostka.

4. Czyjniki linii

Czujnikami są 4 sztuki 😳 TCRT5000 przesyłające dane o linii poprzez komparator LM339N.

Ze względu na ilość posiadanych sensorów umieściłem je w znacznym oddaleniu (ok. 1,5 cm). Mam obawy, że to za duży rozstrzał. Jak myślicie?

Schematy zostały niemal w 100% przetestowane na płytce stykowej. Niemal, ponieważ czujnik sprawdzałem jeden zamiast 4 a w mostku sprawdziłem jeden kanał wierząc, że ich powielenia będą także działać.

Największe moje wątpliwości dotyczą PCB i wokół nich orbitują moje największe obawy.

Zdaję sobie sprawę, że Autonom jest kolejnym trywialnym i nieoryginalnym LF, ale przekonałem się nie raz, że solidne zrozumienie podstaw tematu to zapowiedź większej swobody w przyszłości 😉

Liczę jednak, że dzięki Waszej pomocy proces ten skróci się znacznie 😅

Link do komentarza
Share on other sites

Po dłuższym okresie samego tylko czytania forum, postanowiłem zwrócić się do Was z konkretną sytuacją 😋 .

Schematy zostały niemal w 100% przetestowane na płytce stykowej. Niemal, ponieważ czujnik sprawdzałem jeden zamiast 4 a w mostku sprawdziłem jeden kanał wierząc, że ich powielenia będą także działać.

Największe moje wątpliwości dotyczą PCB i wokół nich orbitują moje największe obawy.

Zdaję sobie sprawę, że Autonom jest kolejnym trywialnym i nieoryginalnym LF, ale przekonałem się nie raz, że solidne zrozumienie podstaw tematu to zapowiedź większej swobody w przyszłości 😉

Liczę jednak, że dzięki Waszej pomocy proces ten skróci się znacznie 😅

Żeby każdy tak podchodził do sprawy ... aż miło patrzeć i czytać 🙂

Schematy:

1. wzorcowo

2. wzorcowo

3. dodaj kondensatory filtrujące zakłócenia oraz magazynujące energię.

4. LM339 ma wyjścia typu otwarty kolektor. można wykorzystać wewnętrzne pull-upy mikrokontrolera, ale chyba jednak bezpieczniej byłoby dać rezystory podciągające blisko wyjśc LMów.

PCB:

Pytanie: Płytka jednowarstwowa?

1. wygląda OK

2. kilka uwag:

- ścieżka zasilając pin 7 mikrokontrolera jest za cienka pod goldpinami PORTD. Zrób ją przewodem górą. (Twoje wątpliwości były słuszne 🙂 )

- usuń połączenie ścieżki zasilającej przechodzącej pomiędzy pinami 22 i 23.

- usuń połączenie masy między pinami 13 i 14

- wylej masę pod uC w pobliżu pinów portów C i D

3. Grubości ścieżek - ta płytka jest do zaprojektowania od nowa. Silniki ciągniesz na cieniutkich ścieżkach - tak byc nie może. Zaglądnij do datasheet - tam jest sugerowany PCB (podstawa) oraz poszukaj wzorów PCB na forum i w sieci.

4. kilka uwag:

- usuń połączenie masy pomiędzy pinami 3 i 4 oraz usuń rozlaną masę powyżej LM'ma idącą do R1.

- potencjometr R1 obróć w lewo o 90 stopni. Pin masy potencjometru podłącz do masy która jest pod R10. W ten sposób będziesz miał proste podłączenie pozostałych dwóch pinów R1.

Generalnie należy rezygnować łączenie zasilania w obwody zamknięte.

Pisałem o tym w punkcie III.4.2 tutaj: Dla początkujących - Zakłócenia w pracy mikrokontrolerów - poradnik praktyczny dla robotyków.

Link do komentarza
Share on other sites

Dzięki za wskazówki. Wziąłem je na warsztat i oto co powstało:

Zasilanie

Schemat i PCB:

1. wzorcowo

Przyjmuję to za dobrą monetę 😃

Mikrokontroler

Schemat:

2. wzorcowo

PCB:

2. kilka uwag:

- ścieżka zasilając pin 7 mikrokontrolera jest za cienka pod goldpinami PORTD. Zrób ją przewodem górą. (Twoje wątpliwości były słuszne )

- usuń połączenie ścieżki zasilającej przechodzącej pomiędzy pinami 22 i 23.

- usuń połączenie masy między pinami 13 i 14

- wylej masę pod uC w pobliżu pinów portów C i D

Na PCB zaszły zmiany. Wyrzuciłem cienkie ścieżki a napięcie poszło górą. Teraz jednak ogarnęły mnie wątpliwości: czy w zaproponowanej postaci nie odbije się to na sygnałach PORTuD i ADC?

Co do schematu to przyznam otwarcie, że większość informacji czerpałem z Twojej strony, jednocześnie starając się posiłkować datasheetem. BTW wpadam tam często, kawał solidnej roboty 😉

Mostek H

Schamat:

3. dodaj kondensatory filtrujące zakłócenia oraz magazynujące energię.

PCB:

3. Grubości ścieżek - ta płytka jest do zaprojektowania od nowa. Silniki ciągniesz na cieniutkich ścieżkach - tak byc nie może. Zaglądnij do datasheet - tam jest sugerowany PCB (podstawa) oraz poszukaj wzorów PCB na forum i w sieci.

Przerobiłem schemat i projekt płytki zgodnie ze wskazówkami. Pojemności kondensatorów magazynujących myślę, że będę próbował zbadać empirycznie (oscyloskopu nie mam niestety, karta dzwiękowa w laptopie nie wchodzi w grę). Na wstępie daję 100uF. Najpierw elektrolityczne potem obadam tantalowe.

Czujniki linii

Schemat:

LM339 ma wyjścia typu otwarty kolektor. można wykorzystać wewnętrzne pull-upy mikrokontrolera, ale chyba jednak bezpieczniej byłoby dać rezystory podciągające blisko wyjśc LMów.

PCB:

4. kilka uwag:

- usuń połączenie masy pomiędzy pinami 3 i 4 oraz usuń rozlaną masę powyżej LM'ma idącą do R1.

- potencjometr R1 obróć w lewo o 90 stopni. Pin masy potencjometru podłącz do masy która jest pod R10. W ten sposób będziesz miał proste podłączenie pozostałych dwóch pinów R1.

Zmieniłem projekt płytki wg sugestii, z tym, że R1 obróciłem o 180 stopni bo nie chciał się zmieścić między ścieżkami.

Jeśli chodzi o schemat to prawdę powiedziawszy myślałem, że właśnie korzystam z rezystorów podciągających (R10-R13 w szeregu z LEDami).

W programie, w skrócie, wygląda to tak:

DDRC &= ~(1<<SENSOR1); // wejscie
PORTC &= ~(1<<SENSOR1); // bez podciagania
while (1) {
   	if (!(SENSOR1_PIN & (1<<SENSOR1))) {
   	    	// Sygnal
   	}
   	if (SENSOR1_PIN & (1<<SENSOR1)) {
   	    	// Brak sygnalu
   	}
}

Łatwo jednak dopuszczam możliwość pomyłki. Jeśli tak jest to bardzo chcę poznać prawdę 😃

Masy tworzące zamknięte obwody rozdzieliłem.

Wszystkie zmienione projekty podmieniłem w pierwszym poście. [ten nierozsądny ruch już odkręciłem, do pierwszego posta trafiły oryginalne obrazki a do niniejszego poprawione wersje - nif, 15.03.2012]

Jak to się prezentuje teraz? :->

Link do komentarza
Share on other sites

Co do schematu to przyznam otwarcie, że większość informacji czerpałem z Twojej strony, jednocześnie starając się posiłkować datasheetem. BTW wpadam tam często, kawał solidnej roboty 😉

Gdy czytałem Twój pierwszy post od razu wiedziałem, że mam doczynienia z osobą która solidnie poczytała to, co tam tworzymy - brawo (!), bo widząc takie projekty jak Twój wiemy, że warto tworzyć następne artykuły 🙂

Ale do rzeczy:

Wszystkie zmienione projekty podmieniłem w pierwszym poście.

Szkoda - bo lepiej byłoby widać postęp i łatwiej przypomnieć sobie na co zwracałem uwage i dlaczego. Poza tym Ci co ten temat będą czytać w przyszłości nie będę wiedzieli do czego były uwagi. Jeżeli możesz to wstaw z powrotem poprzednie a te nowe daj w swoim poście powyżej.

2. Mikrokontroler

PCB: Twoja obawa dot. pomiarów ADC. Jeżeli korzystać będziesz z pomiarów w zakresie 8 bitów, to problemów nie powinieneś mieć. Jeżeli jednak chcesz pomiar z większą rozdzielczością, to tę ścieżkę należy zaprojektować inaczej.

Reszta OK.

3. Mostek H

Wygląda o wiele lepiej i będzie działać prawidłowo. Ale może jednak powinieneś zastosować połączenia jak z datasheet czyli piny 4, 5, 12 i 13 połączyć razem. Będzie trudniej, ale ...

nie mam doświadczenia z tym układem - może ktoś z praktyki podpowie.

Cały prąd dwóch pracujących na maksa silników będzie płynął pinem Vcc2. Dlatego też ta ścieżka powinna być znacznie grubsza do goldpinu.

Kondensatory tak jaki piszesz - ale zapewne 100uF wystarczą i nie będziesz musiał sprawdzać oscyloskopem. Ten na Vcc1 być może nawet mniejszy np. 47uF.

A może ktoś ma inne zdanie?

4. Czyjniki linii

Tutaj właśnie najbardziej brakuje mi widoku poprzedniej wersji PCB, ale chyba większość moich uwag jest OK.

Co do rezystorów w szereg z diodami, nie będę się upierał, ponieważ widziałem, że niektóre roboty tak mają zaprojektowane wyjście LM + LED + rezystor. Jeżeli praktycy takich rozwiązań, nie wnoszą zastrzeżeń, to przyjmuję, że jest OK.

Program - może być, jako wersja rozwojowa 🙂

  • Pomogłeś! 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

Faktycznie bez sensu, że zastąpiłem obrazki. Na szczęście moja podświadoma przezorność zabroniła mi nadpisywać projekty i bez problemów wszystko przywróciłem. Teraz widać co i jak.

Co do meritum:

Mikrokontroler

2. Mikrokontroler

PCB: Twoja obawa dot. pomiarów ADC. Jeżeli korzystać będziesz z pomiarów w zakresie 8 bitów, to problemów nie powinieneś mieć. Jeżeli jednak chcesz pomiar z większą rozdzielczością, to tę ścieżkę należy zaprojektować inaczej.

Reszta OK.

Myślę, że 8bit starczy, ale skoro może być lepiej, to czemu nie? Płytkę z powodzeniem będę mógł wykorzystać w innych układach, wolę więc mieć możliwość wykorzystania pełnych 10bitów.

Początkowo chciałem ścieżkę VCC poprowadzić dokoła PORTuC, bez przebijania się na górę, ale czy to coś da? Też będzie blisko.

Wykoncypowałem w końcu to:

Mostek H

3. Mostek H

Wygląda o wiele lepiej i będzie działać prawidłowo. Ale może jednak powinieneś zastosować połączenia jak z datasheet czyli piny 4, 5, 12 i 13 połączyć razem. Będzie trudniej, ale ...

[...]Cały prąd dwóch pracujących na maksa silników będzie płynął pinem Vcc2. Dlatego też ta ścieżka powinna być znacznie grubsza do goldpinu.

Przeoczyłem to połączenie 😳 Problem załatwiłem brzydko: przebiłem się górą po prostu 😕 . Linię VCC2 pogrubiłem (ale nie aż tak bardzo, bo mi kondensator się nie mieści), ale może solidne cynowanie załatwi sprawę?

Czyjniki linii

4. Czyjniki linii

[...]Co do rezystorów w szereg z diodami, nie będę się upierał[...]

Czy to oznacza, że bez diody, będzie to "normalne" podciągnięcie? Może jest tutaj jakaś dobra praktyka?

Wrzucony przeze mnie wycinek programu to makieta. Chciałem za pomocą przykładu sprawdzić czy dobrze rozumiem o co chodzi.

Na prawdziwy program daję sobie jeszcze czas 😅

PS. Zamieszczone moduły pozostaną póki co na jednostronnym laminacie, ale następne płytki będą już dwustronne. Kłują mnie w oczy te zwory 😖

Link do komentarza
Share on other sites

piotreks-89, przy nawiercaniu i podczas lutowania przekonałem się na własnej skórze jak trafna była Twoja uwaga odnośnie pól lutowniczych i przelotek.

Przy kolejnych płytkach koniecznie muszę to zmienić.

Link do komentarza
Share on other sites

Nie sprawy.

Poniżej kilka zdjęć.

Ostrzegam, że widok moich lutów zastrzegam tylko dla twardzieli o wyjątkowo mocnych nerwach 😋

Dodam, że nie jest to kwestia, że zrobiłem na "odwal się". Myślę, że po prostu zabrakło mi doświadczenia przy tych małych polach lutowniczych i grubym grocie transformatorówki.

Na ostatnim zdjęciu zrobiłem zbliżenie, aby unaocznić dlaczego będę zwracał większą uwagę na pola lutownicze. Praca w takich miejscach to koszmarek.

A tymczasem smażę dalej...

Link do komentarza
Share on other sites

Detaliści zjadą te płytki, ale dla mnie są po prostu boskie 😃

Mając podobne przypadki rwania padów wiertłem przy wierceniu, powiększyłem sobie odpowiednio biblioteki 😉

Link do komentarza
Share on other sites

Zmontowałem ostatnie płytki :->

Połączone moduły, bez silników, wyglądają tak:

Obecnie pracuję nad podwoziem i kołami, ale to już nie tematyka tego podforum 😉

PS. przy wierceniu otworów montażowych przekonałem się na "własnej płytce" co znaczy tępe wiertło.

Dość powiedzieć: ostre wiertło = estetyczny otwór 😃

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.