Skocz do zawartości
Tolo

[Line follower] Snab III

Pomocna odpowiedź

Ponieważ pracę nad poprzednim robotem (Snab II) powoli zbliżają się do końca postanowiłem rozpocząć nowy worklog. Co wcale nie oznacza, że odstawiam poprzednika do kurzenia się na półce ale bez nowych silników dalsze prace nad programem są utrudnione. Po za tym i tak projektowanie płytki to proces który trochę trwa więc nic nie stoi na przeszkodzie żeby ciągnąć dwie rzeczy na raz.

No to zaczynamy co chciałbym zmienić względem poprzednim konstrukcji:

➡️ Oddzielna płytka z czujnikami z możliwością regulacji odległości od płytki głównej

➡️ 8 czujników podłączonych do ADC

➡️ Wyprowadzenie magistrali I2C

Tak to narazie wygląda ale mam kilka pytań czy takie rozmieszczenie elementów dookoła ST1S10PHR jest Ok ? I wogóle czy jest sens dawać tą przetwornicę ? Co tak naprawdę daje przetwornica ?(stabilizacja obrotów ? ) Może jednak lepiej ją wyrzucić i zamiast tego upchnąć tam enkodery ?

Udostępnij ten post


Link to post
Share on other sites

1. Dałeś przetwornicę ale nie wiesz po co?

2. Robisz przelotki mimo sporej ilości miejsca na ścieżki na warstwie TOP - po co?

Generalnie ciężko cokolwiek wywnioskować tylko z tego obrazka, który wrzuciłeś...

Dałbyś schemat albo chociaż obie strony tej PCB

Udostępnij ten post


Link to post
Share on other sites

Dawno nie pisałem ale już to nadrabiam postanowiłem zrobić coś takiego :

Konstrukcja klasyczna że tak powiem. Układ IC8 będzie służył do zamiany sygnału analogowego na cyfrowy który to będzie pochodził z takich enkoderów http://botland.com.pl/enkodery/2755-zestaw-enkoderow-optycznych-do-micro-silnikow-pololu-wersja-5v-2-szt.html.

Dodatkowo chciałem aby konstrukcja była uniwersalna w związku z czym umieściłem kilka otworów montażowych na krawędziach płytki. Będą one służyć do przykręcania dodatkowych pięter elektroniki. Aby zasilić wszystkie moduły postanowiłem wykorzystać przetwornicę MC34063. Wybrałem ją ponieważ jest tania i ma prostą aplikację. Myślę, że 1,5A mi wystarczy. Zamiast drabinki RN1 mam zamiar wlutować gniazdo goldpin będę tam wsuwał drabinkę a jeśli będę chciał się pobawić np. Multiplexerem to podłącze tam złącze prowadzące na "drugie piętro" oczywiście wyjmę wtedy wzmacniacze z podstawek. Czemu użyłem LM358 zamiast LM339 ? Po prostu lepiej pasowały gabarytowo można je ustawić bardziej wertykalnie. Mam nadzieje, że będą działać prawidłowo. Jako płytki czujników jeszcze nie wykonałem ale użyje chyba 8xCNY70. Wiem, że projekt jest jeszcze niedokończony ale specjalnie wstawiam taki surowy stan aby mieć pole do manewru w przypadku ewentualnych uwag zgłoszonych przez was.

Udostępnij ten post


Link to post
Share on other sites

Zastanów się czy nie warto łączyć płytki czujników z główną za pomocą IDC10, tak jak programator. Jeżeli nie zależy Ci na miniaturyzacji i nie chcesz dać tasiemki ZIFF to myślę że IDC będzie dobrym wyjściem.

Z doświadczenia wiem że łatwiej jest zrobić taką właśnie tasiemkę, IDC10, niż tasiemkę zakończoną żeńskimi goldpinami 10x1

Udostępnij ten post


Link to post
Share on other sites

Ja chciałbym tylko parę słów o przetwornicy. Bez wartości elementów trudno coś powiedzieć, ale z tego co już widzę:

- Katalogowo maksymalny prąd klucza to 1.5A, ale jest to naprawdę nieprzekraczalny parametr. Z zasady pracy układu step-down wynika, że prąd tranzystora i dławika oscyluje wokół wartości prądu wyjściowego plus minus pewna amplituda. Z 34063 nie uzyskasz 1.5A prądu bez wsparcia z zewnątrz (MOSFET?). Już 500mA będzie dobrym wynikiem a przy 1A scalak będzie parzył.

- Ten układ pracuje na niskiej częstotliwości - kilkadziesiąt kHz, a to wymusza dużą indukcyjność dławika. Cewka przenosząca 2A prądu (bo na tyle musi być przy 1.5A na wyjściu) i mająca ze 220uH będzie wielka. Nie widzę nigdzie na PCB miejsca na element wielkości połowy silnika. To co wstawiłeś to jakiś dzidziuś, spojrzyj na te przykłady i znajdź tu element na min. 2A:

http://www.tme.eu/pl/katalog/#search=220uh&s_field=accuracy&s_order=DESC&id_category=112360&page=1

- Dioda w tej przetwornicy musi mieć ciągły prąd min 2A. Twoja ma 500mA - kup coś większego. Przy 1.5A nawet Schottky się grzeje. Jeżeli może być SMD to proponuję coś w obudowie SMB lub SMC z dobrym kawałkiem miedzi przynajmniej wokół doprowadzenia anody (masy).

- 34063 będzie miała spadek drop-out ponad 2V (klucz jest Darlingtonem plus dioda plus dławik) no i z uwagi na algorytm pracy (PFM) bardzo marnie zachowuje się przy małych różnicach we-wy. Nie wiem z czego chcesz to napędzać (jak zwykle brak podstawowych informacji na schemacie), ale w tym układzie Lipol 2S to zły pomysł. Przy 3S i 12V na wejściu zacznie to działać sensownie.

- Trzy kondensatory na wejściu to jednak przesada. Przy sztywnym LiPolu wystarczy raz 220uF plus 100nF-1uF ceramiczny.

- Jak rozumiem z wielkości prądu (choć VMOT mostka nie jest do niczego podłączone - poważny błąd) przetwornicę chcesz użyć do zasilania wszystkiego łącznie z silnikami. Dlaczego?

I jeszcze:

- brakuje GND a złączach UARTa i I2C.

- Procesor nie dostał zasilania.

- LM358 to wzmacniacze nie komparatory, ale jeśli nie będziesz przekraczał ich napięć wejściowych, będą tu działać. Z uwagi na to graniczenie napięcia proponuję czujniki zrobić w konfiguracji "opornik do masy, tranzystor do plusa". Wtedy w ciemności będzie 0V które urośnie gdy coś się odbije od białego podłoża.

Uzupełnij wartości wszystkich elementów - wtedy pogadamy o szczegółach. Skoro schemat jest zły, to o płytce nie ma co mówić.

EDIT: Tak, ten enkoder ma czujniki dające sygnał cyfrowy, dwustanowy. Sam hallotron ma co prawda wyjście typu otwarty-kolektor:

https://botland.com.pl/index.php?controller=attachment&id_attachment=884

ale na płytce są też rezystory podciągające do Vcc:

https://botland.com.pl/index.php?controller=attachment&id_attachment=885

tak więc dostajesz prawidłowe zarówno zero jak i jedynkę logiczną.

Udostępnij ten post


Link to post
Share on other sites
LM358 to wzmacniacze nie komparatory, ale jeśli nie będziesz przekraczał ich napięć wejściowych, będą tu działać. Z uwagi na to graniczenie napięcia proponuję czujniki zrobić w konfiguracji "opornik do masy, tranzystor do plusa". Wtedy w ciemności będzie 0V które urośnie gdy coś się odbije od białego podłoża.

Odwracanie każdego sygnału byłoby trochę kłopotliwe z uwagi na brak miejsca. Czy jeśli zamienią te układy na LM393 (identyczny pin-out ) to wszystko będzie ok ?

EDIT: Tak, ten enkoder ma czujniki dające sygnał cyfrowy, dwustanowy. Sam hallotron ma co prawda wyjście typu otwarty-kolektor:

To super będę miał więcej miejsca na płytce

Jak rozumiem z wielkości prądu (choć VMOT mostka nie jest do niczego podłączone - poważny błąd) przetwornicę chcesz użyć do zasilania wszystkiego łącznie z silnikami. Dlaczego?

Z racji zastosowania enkoderów nie potrzebuje chyba dodatkowej stabilizacji obrotów. Więc silniki będą zasilane prosto z akumulatora.

I jeszcze:

- brakuje GND a złączach UARTa i I2C.

- Procesor nie dostał zasilania.

Przecież pisałem ,że jeszcze nie dokończyłem jak widzisz gdybym dalej szedł tą drogą to dokończył bym płytkę napracowałbym się a potem by wyszła z tego kicha. Więc wolałem wstawić to co mam i mieć pole do zmian.

Skoro ta przetwornica jest taka dziadowa (przynajmniej z punktu widzenia wad które wymieniłeś) to czy lepszy będzie układ LM2576 lub LM2596 ? Patrzyłem do noty katalogowej ale z tego co widzę to pracują one na 50khz czyli o połowę mniej niż ten 35063 więc ten dławik będzie miał kolosalne rozmiary. Ale w takim razie pytanie jakim cudem ludzie używaj do stabilizowania silników tych przetwornic i dają dławiki SMD ?

Udostępnij ten post


Link to post
Share on other sites

Wiem, że nie zostawiłbyś procka bez zasilania (choć na PCB też chyba nie jest dociągnięte), ale wypisuję wszystko co zauważę żeby został jakiś ślad. Następnym razem mogę coś pominąć i babol się prześlizgnie.

LM-y które wymieniłeś to jedni z najstarszych Simple Switcher'ów dawnego National Semiconductors. Seria zaczynała się od 50kHz (np. 2575/6) bo to zrobić najłatwiej, ale następne modele (np. 2596) miały już 150kHz a dzisiejsze przetwornice dociągają powyżej 2MHz. To były czasy, gdy na rynku nie było zbyt dużo elementów indukcyjnych mocy a istniejące materiały magnetyczne nie tolerowały częstotliwości setek kHz. Przetwornicę obniżającą (step-down) możesz traktować jak generator przebiegu prostokątnego o zmiennym wypełnieniu (PWM) a indukcyjność i pojemność wyjściową jak elementy filtra dolnoprzepustowego wydzielającą z PWMa składową stałą (wartość średnią). Jeżeli musisz filtrować sygnał 50kHz, LC muszą być duże by częstotliwość graniczna filtra była niska i byś na wyjściu dostawał (prawie) wyłącznie napięcie stałe DC. Jeżeli przetwornica pracuje na 500kHz, cewka i kondensatory mogą być dużo mniejsze. Oczywiście zawsze dławik musi wytrzymać prąd wyjściowy, ale jeśli zaczniesz szukać np. wśród tych pracujących na 2A, ale raz będziesz musiał użyć 220uH (MC34063, 50-80kHz) a raz 3.3uH (ST1S10, 900kHz) to różnicę wielkości (i ceny) zobaczysz od razu. To samo z kondensatorem wyjściowym. Do 34063 czy 2576 wystarczą zwykłe elektrolity, a ST potrzebuje szybkich ceramicznych MLCC bo tani elektrolit na tej częstotliwości jest już prawie wyłącznie wysokostratną cewką.. Analizę można też przeprowadzać w dziedzinie czasu (tj. przebiegi prądów w poszczególnych fazach pracy klucza), ale wyjdzie na to samo.

Jak rozumiem rezygnujesz z przetwornicy w ogóle a o zasilania procesora użyjesz LDO, czy tak?

Nie zrozumiałem tego motywu z odwracaniem sygnału. Wzmacniacze są użyte poprawnie, mają histerezę i są nieodwracające. Możesz je połączyć inaczej i będą odwracały - to samo z komparatorami, ale przecież masz procesor - polaryzacja sygnałów doprowadzonych do niego z czujników jest bez znaczenia.

Udostępnij ten post


Link to post
Share on other sites
Nie zrozumiałem tego motywu z odwracaniem sygnału. Wzmacniacze są użyte poprawnie, mają histerezę i są nieodwracające. Możesz je połączyć inaczej i będą odwracały - to samo z komparatorami, ale przecież masz procesor - polaryzacja sygnałów doprowadzonych do niego z czujników jest bez znaczenia.

Chodziło mi o to zdanie z twojej poprzedniej wypowiedzi:

Wtedy w ciemności będzie 0V które urośnie gdy coś się odbije od białego podłoża.

Myślałem, że sugerujesz zanegowanie sygnału.

Jak rozumiem rezygnujesz z przetwornicy w ogóle a o zasilania procesora użyjesz LDO, czy tak?

Nie bardzo. Wolałbym dać jednak przetwornicę impulsową myślę, że LM2596 byłby niezły (niska cena, montaż przewlekany, istnieje wersja z ustawionym napięciem, tylko 4 elementy zewnętrzne)

Udostępnij ten post


Link to post
Share on other sites

No ale zaraz, jeżeli silniki/mostki puścisz wprost z baterii, to reszta przecież nie pobierze z 5V więcej jak 200-300mA wliczając procka, czujniki, ew. LEDy i nawet jakiś moduł radiowy BT.

To po co przetwornica? Mając aku LiPol 3S lub wyższy to jeszcze rozumiem, zawsze szkoda tego (10V-5V)*0.3A=1.5W mocy na ciepło, ale przy mniejszym sprawność przetwornicy będzie prawie taka sama jak LDO a koszt i stopnień skomplikowania większy. Więc, dlaczego?

Sugerowałem konfigurację czujników z tranzystorem do plusa a opornikiem do masy właśnie po to, by sygnał dla wzmacniaczy zmieniał się od 0V na czarnym do jakichś niedużych 3V (dobierzesz oporniki w emiterach) na białym. Stawiając emiter tranzystora npn na masie dostaniesz na jego kolektorze 5V w ciemności i coraz mniej na białym, a 5V na wejściu te wzmacniacze nie lubią. Tylko tyle.

Udostępnij ten post


Link to post
Share on other sites

Posiedziałem trochę nad tym wyszło tak :

Poprawiłem trochę prowadzenie ścieżek i zmiejszyłem całość

Udostępnij ten post


Link to post
Share on other sites

Tolo, nie obraź się, ale kogo obchodzi Twoja płytka, jeśli nie mamy do niej schematu? Może Ty wiesz co tam namalowałeś - fajnie, tylko po co nam to wysyłasz? Mamy sobie pooglądać niebiesko-czerwone kreski? Już taka uwaga w tym wątku była, pamiętasz? Po co mam opisywać co mi się na płytce nie podoba, jeśli np. skopałeś schemat? Poprawiłeś doprowadzenia zasilania procesora? W jaki sposób w ogóle zrobiłeś nowy system zasilania robota? Dlaczego każesz mi się tego domyślać i odczytywać schemat połączeń z plątaniny ścieżek? Proszę, trochę szacunku dla czyjegoś czasu.

Udostępnij ten post


Link to post
Share on other sites

Nie wiem nie mogę dodać zdjęcia więc daje plik w załączniku. No więc tamtą płytkę zasadniczo zrobiłem ale wymyśliłem jeszcze jedno rozwiązanie. Nie wiem czy pomysł jest dobry ale wydaje mi się że tak. Otóż chciałem wykorzystać multiplexer 16 kanałowy oraz licznik dwójkowy. Dzięki temu obsługuje 16 czujników przy pomocy jedynie 2 linii czyli łącze się za pomocą płytki złączem 4pin (masa i +) Jedyne co to muszą zapamiętywać liczbę impulsów które wysłałem do licznika ale to akurat jest proste.

Co myślicie ?

Miałem jeszcze taki pomysł aby w ramach oszczędzania energii zrobić tak aby w czasie sprawdzania linijki święcił się tylko czujnik aktualnie sprawdzany. Myślałem żeby wykorzystać dekoder BDC lub coś podobnego bo drugi multiplexer zajmie za dużo miejsca.

o6aglw.png

Udostępnij ten post


Link to post
Share on other sites

Dawno nie pisałem więc czas to zmienić 🙂 Otrzymałem od mikołaja wszystkie potrzebne części (enkodery,silniki itp. ) więc dokończyłem budowę jak narazie wszystko idzie całkiem nieźle. Kilka fotek i mam nadzieje już niedługo filmik z jazd 🙂

Udostępnij ten post


Link to post
Share on other sites

O, nie wiedziałem tego schematu z licznikiem. Jedyną wadą ten metody skanowania jaką widzę jest to, że nie wiesz w jakim stanie licznik "wstaje" po włączeniu zasilania. Po tasiemce powinieneś przesyłać także sygnał zerowania licznika. Problem nieznanego stanu licznika wystąpi także po zerowaniu procesora przez programator. W jakim stanie zostawił licznik poprzednio działający program?

Rozwiązaniem może być procedura programowej synchronizacji:

1. Podnosisz nadwozie tak, by wszystkie czujniki widziały "czarne" bo nic się nie odbija od pustej przestrzeni.

2. Program ciągle wczytuje stany wszystkich czujników i czeka na znalezienie takiego który jest "biały".

3. Zbliżasz mały kawałek jasnej kartki (lub palec) do jednego, umówionego, np. skrajnego czujnika a program znajduje "biały" czujnik i od tej pory wie, że licznik wskazuje właśnie ten skrajny czujnik.

Każde zakłócenie na tasiemce lub na zasilaniu spowoduje zliczenie dodatkowego impulsu i rozsynchronizowanie rzeczywistego stanu licznika z tym co "myśli" program. Sygnał zerowania wysyłany co pełny cykl 16 zegarów byłby jednak przydatny. Niestety przywarłeś do masy jedno z wejść zerowania a o ile pamiętam 7493 ma AND na wejściach R i oba muszą zobaczyć stan wysoki by wyzerować licznik.

EDIT:

Nie widzę też rezystora ciągnącego do góry kolektory czujników. Albo każdy tranzystor powinien mieć własny rezystor, albo jeden wspólny na wyjściu OUT multipleksera.

W sumie brawo za pomysł 🙂

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, aby zacząć 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...