Skocz do zawartości
Joe

Sprawdzenie schematu LineFollower

Pomocna odpowiedź

Hej,
Piszę tutaj z prośbą o sprawdzenie schematu i połączeń na płytce PCB? Czy wszystko zostało wykonane poprawnie?

Jest to płytka, która spełnia rolę podstawy LineFollowera. Do płytki będą jeszcze przyklejone po bokach silniki kątowe o wielkości 54,5x13,8mm. Z przodu przy czujnikach będą znajdować się małe ślizgacze. Na płytce umieszczony będzie pojemnik 4 baterii (akumulatorki Ni-MH), które dawać będą 4,8V na zasilanie całej elektroniki. Wiem, że tego typu zasilanie jest ryzykowne, ale chce spróbować. Jak tego typu zasilanie nie będzie spełniać swojej roli, stworzę zapasowy moduł z stabilizatorem liniowym, który będzie zasilany z 5 lub 6 baterii. Do tego wszystkiego dochodzi moduł menu, obsługujący wyświetlacz i sterowanie menu. Sercem robota jest ATmega16. Na schemacie zostały wyprowadzone linie TXD,RXD do komunikacji z komputerem. Do tego jeszcze zostały wyprowadzone 3 linie w celu podłączenie czujnika odległości do robota.

Przepraszam za błędy, jest to pierwszy mój projekt.

Wielkie dzięki za pomoc 😉

Pozdrawiam

Joe

plyta_glowna_schemat.thumb.png.14bd57f44bf2623dac6664911b8694c7.png

plyta_glowna_PCB.thumb.png.817973a4cae73f55d5b671760ba84e93.png

plyta_glowna_gora_PCB.thumb.png.850765159d93f1d454d16f00664e4dab.png

plyta_glowna_dol_PCB.thumb.png.54037f474689be2d4d289c153cba451c.png

Udostępnij ten post


Link to post
Share on other sites

Coś nie tak przy AVCC/VREF.

Sam dławik - jeżeli w ogóle już go stosujesz - nie wystarczy, potrzebujesz jeszcze kondensatora.

To zły pomysł podłączać VREF do zasilania w sytuacji, gdy nie panujesz nad jego poziomem. Do pomiarów analogowych (np. czujnik odległości) musisz mieć jakieś stabilne odniesienie. Zdecyduj się albo na wewnętrzne napięcie odniesienia procesora (wtedy jeszcze jeden kondensator) albo na coś dołożone z zewnątrz. W każdym z tych przypadków musisz zmodyfikować schemat.

Przydałby się pomiar napięcia zasilania (dlaczego mój robot nie jedzie, przecież włożyłem baterie wyjęte prosto z innej zabawki). Zawsze też możesz taką sygnalizację zrobić "obok"procesora. Wystarczy prosty detektor napięcia zamiast opornika R4 i już diodka będzie świecić np. tylko dla U większego od jakiegoś wyznaczonego progu.

Unikałbym na schemacie nazywania szyn "+5V" skoro nie wiesz ile tam będzie, to dość mylące bo ktoś czytający schemat zaczyna wierzyć, że to prawda i może analizować pewne fragmenty przy takim założeniu. Gdybyś miał stabilizator to tak, ale obecnie bardziej pasuje tu Vbat plus krótki opis ile można się tam naprawdę spodziewać albo granice w jakich przewidujesz, że to ma działać.

Unikaj sterowania odbiorników wymagających prądu (np. diodki LED) z porty analogowego A. Jeżeli możesz, przenieś LEDy na inne wyjścia.

Kondensatory przy kwarcu to co najwyżej kilkadziesiąt pF.

System zasilania w którym napędzasz procesor z tej samej słabej szyny co i silniki to rzeczywiście kiepski pomysł. Wielu już to sprawdziło przed Tobą, po co się pchasz w takie rozwiązanie? Liczysz, że jakoś to będzie? Nie szkoda Ci czasu i pieniędzy? Zmarnujesz go potrójnie: teraz, bo się narobisz przy płytce, potem gdy będziesz się zastanawiał dlaczego procesor się resetuje albo program działa dziwnie i jeszcze raz, gdy będziesz ją robić po raz drugi lub wypruwać ścieżki z tej pierwszej.

To jest dział w którym to my przepraszamy za niedostrzeżenie w porę błędów początkujących. Ty masz (tutaj 🙂 ) do nich pełne prawo.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Dzięki wielkie za porady;)

Dodałem kondensator do mojej cewki jak wspomniałeś, także już jest sprawna. Dodałem oddzielną linię do zasilania silników. Zmieniłem wyjścia mikrokontrolera dla diod i tact switch'a, teraz diody są na cyfrowych wyjściach na porcie B, a mój guzik na pin'ie od ADC. Zmieniłem wartości kondensatorów przy kwarcu na 22pF.

Przepraszam, że nie zmieniłem nazw linii zasilania. Zostawiłem +5V.

Nie za bardzo wiem jak wykonać prosty detektor napięcia. Czy mam podłączyć zasilanie pod pin ADC by badać jego próg czy dodać oddzielny układ scalony w tym celu?

plyta_glowna_PCB.thumb.png.482fdd8af0c08b92abc1049b37e10755.png

plyta_glowna_schemat.thumb.png.e3a8cb44c8a616cee6691057556f1506.png

Udostępnij ten post


Link to post
Share on other sites

Szczerze mówiąc nie widzę żadnej zmiany w systemie zasilania. Nadal procesor i silniki (mostki) zasilane są z tej samej linii +5V. Przecież nie chodzi o to, byś narysował to osobną kreską na schemacie tylko żebyś jeszcze raz przemyślał swój pomysł. Baterie (akumulatory?) w koszyczku i tak są fatalnym źródłem zasilania. Jeżeli będziesz z nich pobierał impulsowo prąd np. 2A (po 1A na silnik) to na zasilaniu +5V (a więc także procesora) pojawią się doły w takt PWM. Wystarczy, że program podejmie jakąś ryzykowną operację np. szybkiego hamowania ze zmianą kierunku obrotów a linia zasilania zwariuje - a wraz z nią procesor. Jak na razie niczego tu nie poprawiłeś. Przecież dziesiątki ludzi robiących tutaj swoje roboty nie wprowadza stabilizatorów napięcia i osobnych zasilań napędów tylko dla zwiększenia kosztów lub zaimponowania kolegom. Taka jest fizyka tych zjawisk i niczego tu nie zwojujesz.

Nie rysuj ani nie poprawiaj płytki (co do której mam wiele uwag, ale nie ma sensu o nich teraz pisać) dopóki schemat nie będzie w porządku. Szkoda czasu.

Co z AREF procesora? Nic tu nie zmieniłeś, czy mógłbyś uzasadnić dlaczego?

Jeżeli będziesz się upierał przy wspólnym zasilaniu to będziesz potrzebował bardzo dobrego projektu PCB i równie dobrego filtrowania +5V. Na schemacie brakuje choćby jednego większego kondensatora.

Pamiętaj, że akumulatorki mają te swoje 1.2V tylko przez pewien czas po wyjęciu z ładowarki. Potem robi się 1.1, 1.0 a pod koniec nawet i 0.9V pod obciążeniem. W czasie pracy napięcie także będzie się wahać w zależności od wysterowania silników. Do tego dojdzie koszyczek, który jest z reguły źródłem dodatkowych problemów (drgania+utlenianie styków) itd..

Detektor możesz zrobić w procesorze albo "na piechotę" - jak wolisz, to Twój projekt. To pierwsze wymaga działającego procesora i opanowania pomiarów ADC, czyli jest zwykle zostawiane "na później", bo przecież czujniki i napędy są najważniejsze...

Udostępnij ten post


Link to post
Share on other sites

Hej,
Rozumiem czemu to jest zły pomysł korzystania z jednej linii zasilania dla procesora i silnika. Mimo tego wolałbym spróbować, bo silniki mają szczytowy pobór prądu 800mA, a mostek L293D pobiera średnio na kanał 600mA. Zależy mi na tym, żeby baterie zajmowały jak najmniej miejsca, a nie chciałbym korzystać z akumulatorów Li-Pol. Robot jest budowany w celu zaliczenia projektu, więc ma posłużyć nam w celach dydaktycznych przez 2-3 miesiące maksymalnie. Płytkę PCB chcemy sami wypalać, więc staram się tworzyć dość szerokie ścieżki i dlatego płytka też tak nieudolnie wygląda. W sumie osiągi się zwiększą gdy podamy większe napięcie na silniki, także też są zalety odejścia od mojego pomysłu, ale jeszcze z tym pomysłem chwilę powalczę.

Co do AREF/AVCC dodałem kondensator. Dziś jeszcze przejrzałem parę przykładów połączeń i notę katalogową, doszedłem do wniosku, że lepiej dodać dwa. 😉

Wracając do pierwszego mojego postu, napisałem, że w razie problemu stworzymy dodatkowy moduł z stabilizatorem napięcia dla elektryki całego zasilania. Czy to jest bardzo zły pomysł?

Sorry, za uciążliwe parcie w moich postanowieniach 😉

Udostępnij ten post


Link to post
Share on other sites

Nie rozumiem co znaczy "mostek L293D pobiera średnio na kanał 600mA". Mostek niczego nie pobiera. On przepuszcza przez siebie prąd, który pobiera obciążenie. Jeżeli silnik może wziąć więcej niż dopuszczalny prąd mostka to ten drugi się spali - proste. I tak dla prądu 600mA w płynącego w dwóch kanałach L293D będzie wydzielał w sobie ponad 3W mocy w postaci ciepła - pomyśl o porządnym radiatorze. Ciepło to główne ograniczenie, z niego wynika tak słaby prąd tego układu i tyle energii z baterii stracisz na robienie zwykłej grzałki. Z powodu strat napięcia na mostku (ok 3V) stosowanie go przy zasilaniu poniżej 12V w ogóle nie ma sensu.

Jeżeli ma to być projekt którym udowodnisz swoją znajomość tematu i "zaliczysz" jakiś etap swojej nauki, to przykro mi, obecna postać jest moim zdaniem nie do przyjęcia. System sterowania napędami jest kompletnie skopany bo jedno (zasilanie) nie pasuje do drugiego (mostek+silnik). Oceniający musiałby być ślepy żeby puścić takie rozwiązanie i uznać, "że się znasz". Przecież (chyba?) nie chodzi o to, żebyś zrobił cokolwiek najmniejszym możliwym kosztem, tylko żebyś wykazał się umiejętnością syntezy optymalnej konstrukcji z wielu możliwych do użycia klocków. Podejdź do tego poważnie (zamiast: wiem że jest kiepsko, ale chcę spróbować - bo to sposób myślenia dzieci w przedszkolu) i zrób to porządnie, a przynajmniej nie będziesz miał poczucia zmarnowanego czasu i prześliźnięcia się przez kolejny test.

Po zmianach dawaj nowy schemat - to jest sposób porozumiewania się elektroników i tylko na tej podstawie mogę weryfikować Twoje pomysły.

Udostępnij ten post


Link to post
Share on other sites

Hej,
Dodałem stabilizator jak mówiłeś. Elektronika będzie zasilana 5 bateriami alkalicznymi, czyli razem 7,5V. Dzięki wielkie za ważne rady, wezmę je sobie do serca. Nie lubię robić na około na studiach, ale zależało mi na zaprojektowaniu jak najmniejszego robota, wytrawieniu bezproblemowego płytki do niego i nie korzystania z akumulatorów Li-Pol.

Proszę, napisz mi co o tym schemacie sądzisz.

plyta_glowna_schemat.thumb.png.1f465d9620ab907f91265c22c64ad718.png

Udostępnij ten post


Link to post
Share on other sites

Nie, to Ty mi najpierw napisz co sądzisz o uwagach na które nie odpowiedziałeś (oraz o kilku nowych). Proszę o dobre uzasadnienia pokazanych na schemacie rozwiązań dotyczących:

- podłączenia AREF do AVCC,
- stosowania mostka na którym spada 3V napięcia i który będzie zamieniał na ciepło 40% cennej energii baterii,
- stosowania stabilizatora 7805 do robienia +5V z napięć wejściowych w zakresie 5-7.5V,
- marnowania energii na osobne zasilanie każdej diody IR w czujnikach,
- braku systemu pomiaru i ew. sygnalizacji stanu rozładowania baterii.

Mam nadzieję, że zanim coś napiszesz przejrzysz jeszcze raz dane katalogowe użytych układów i będziesz umiał przekonać mnie, że to co pokazałeś ma jednak sens. Wciąż zakładam, że chcesz zrobić poprawną konstrukcję która obroni się przed kilkoma oczywistymi pytaniami. Zasilanie bateryjne jest poważnym wyzwaniem dla konstruktora i trzeba się troszkę pochylić i poszukać elementów pozwalających dobrze spożytkować energię drogiego źródła jakim są baterie. Jeżeli jeszcze na dodatek chcesz to zrobić małe i proste to wymagania rosną i nie wystarcza przerysowanie schematu z jakiegoś tutoriala dla początkujących. Możesz oczywiście spuścić z tonu i zacząć upraszczać założenia (np. nie obchodzi mnie sprawność energetyczna, robota mam zrobić w tydzień, ma pracować kilka minut na jednorazowym pokazie, koszt baterii jest bez znaczenia), ale musisz to robić świadomie i dobrze byłoby to napisać.

BTW: Gdybyś skorzystał z rezystorów podciągających wbudowanych w procesor i odwrócił sposób podłączenia przycisku nie musiałbyś dawać R14.

Udostępnij ten post


Link to post
Share on other sites

Joe, przycisk, którego tak dumnie nazywasz guzik jest podłączony mało elegancko do tego bez obwodu tłumiącego drgania styków. W AVRach ze względu na budowę wyjścia portu, podłącza się przyciski zwierając je do masy nie do Vcc, więc tak jak sugeruje marek1707, zmień połączenie i dodaj obwód redukcji skutków drgania styków (filtr RC).

Udostępnij ten post


Link to post
Share on other sites

Hej,
Przepraszam, za mylne użycie na schemacie stabilizatora 7805. Mam zamiar użyć stabilizator Low-Dropout LM1117DT w obudowie SMD TO252. Z powodu podobnej obudowy użyłem na schemacie ten stabilizator, bo działałem w pośpiechu.

Odnośnie połączenia AREF z AVCC, nota katalogowa wyjaśnia się jasno:

Optionally, AVCC or an internal 2.56V reference voltage may be

connected to the AREF pin by writing to the REFSn bits in the ADMUX Register.

Więc połączenie AREF z AVCC brzmi dla mnie w porządku. Jak przeglądam internet odnośnie tego tematu, również nie widzę większych zastrzeżeń użycia takiego rozwiązania. Nie pociągnę przecież dodatkowego zasilania na płytce specjalnie dla napięcia referencyjnego.

Nie podciągam dla każdej diody IR oddzielnego napięcia, bo było by to bezsensu. Eagle został tak zbudowany, by móc jak najbardziej uprościć schemat. Tworząc płytkę PCB mam pociągnięte linię z jednym zasilaniem dla czujników. Można to zauważyć w pierwszym moim poście.

Jeśli chodzi o sygnalizację stanu zasilania układu, wstawiłem diodę LED na wyjściu stabilizatora. Ma ona sygnalizować o spadku napięcia. Czy to jest aż tak złe rozwiązanie? Proszę o jakieś bardziej rezolutne rozwiązanie 😉

Odnośnie "Guzika", połączenie go z rezystorem pull-up jest pomysłem mojego kolegi, który już parę robotów zbudował. Skoro, że Port A ma wbudowaną opcję rezystora pull-up na każdy Pin, czego wcześniej nie wiedziałem, widzę, że jest to zbędne. Dorobię filtr LC z chęcią, ale nie wiem gdzie go dokładnie umieścić.

Wybrałem mostek L293D, bo wiem, że jest prosty w obsłudze i instalacji. Mało awaryjny i najlepszy dla początkujących, ale czemu ma na nim wystąpić spadek 3V? Przecież można na niego podawać dużo więcej niż 7V, a spadek napięcia nie musi wystąpić.

plyta_glowna_schemat.thumb.png.aa03a9cc7955897ac99ae94f8b187292.png

plyta_glowna_PCB.thumb.png.ea138711941a1769448f6b4e2d4141e0.png

Udostępnij ten post


Link to post
Share on other sites

Przeczytaj ze zrozumieniem: may be connected to the AREF pin by writing to the REFSn bits in the ADMUX Register. Szczególnie to co pogrubiłem. Czy jest tutaj napisane coś o fizycznym połączeniu?

Udostępnij ten post


Link to post
Share on other sites

mi14chal, nie bardzo rozumiem z czym się tak pieklisz? Sam wielokrotnie tak robiłem, że łączyłem Aref z AVcc czyli moim napięciem referencyjnym było AVcc. Dodatkowo obydwa piny były podłączone do zasilania przez filtr LC. Nie widzę w tym żadnego błędu jeśli ktoś wie po co to robi. Dodatkowo w wielu miejscach na cudzych schematach widziałem dokładnie to samo.

marek1707, mi14chal, wyjaśnijcie mi proszę jaki jest błąd w takim połączeniu bo ja go nie widzę.

Udostępnij ten post


Link to post
Share on other sites

Przepraszam, już wiem co przez cały czas robiłem źle. Wstawiam poprawiony schemat z poprawnie połączonym AREF, czyli podpięty do masy. Dzięki za pomoc przy tym 😉 Pewnie by mi nic nie jeździło przez to.

plyta_glowna_schemat.thumb.png.0be6acbc3697b95068ddc9fc50651cd5.png

Udostępnij ten post


Link to post
Share on other sites
marek1707, mi14chal, wyjaśnijcie mi proszę jaki jest błąd w takim połączeniu bo ja go nie widzę.

Z dokumentacji:

Internal reference voltages of nominally 2.56V or AVCC are provided On-chip. The voltage reference may be externally decoupled at the AREF pin by a capacitor for better noise performance.

Udostępnij ten post


Link to post
Share on other sites
Sabre odsyłam do tego artykułu odnośnie połączenia i korzystania z ADC

Akurat osoba, do której bloga linkujesz nie jest dla mnie żadnym wyznacznikiem wiedzy, choć potwierdza, że jeśli programista wie co robi to takie połączenie jest dopuszczalne. Czyli dokładnie to co wcześniej pisałem.

The voltage reference may be externally

Czy mam to przetłumaczyć dla ciebie?

W dalszym ciągu nikt nie odpowiedział na pytanie co jest nie tak w takim połączeniu.

Udostępnij ten post


Link to post
Share on other sites

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ę »

×