Skocz do zawartości
dr_mateusz

Sprawdzenie schematu Manipulator

Pomocna odpowiedź

Zgodnie z uwagami pozmieniałem układ jednak nie wiem czy dobrze zrozumiałem wszystko.

Udostępnij ten post


Link to post
Share on other sites

Naprawdę duży postęp.. ale: 🙂

1. Zastanów się, jeśli tak podłączysz diody zabezpieczające, to każde dodatnie napięcie na silniku (większe niż 0.5V) będzie zwierane do masy. Chyba nie o to chodziło. Rysuj wolniej i skupiaj się na tym, czy na pewno rozumiesz co robisz. To tak jakbyś montował układ, tylko na papierze: masz w ręku diodę i chcesz ją dolutować do reszty, patrzysz na element, katoda to ta nóżka z paskiem, nie możesz podłączyć jej do masy bo wtedy zaraz zrobi się zwarcie, prawda? Daj diody odwrotnie.

2. Odbiorniki linii MISO powinny być sterowane sprzed oporników szeregowych - tam sygnał jest "ładny". Za nimi będzie kaszanka związana z odbiciami od przeciwległego końca kabla.

3. Nadajniki zegara SCK (jak z resztą wszystkie bramki 125) włączane są stanem niskim. Zrobiłeś dobrze przy odbieraniu MISO a przy zegarze już o tym zapomniałeś? Myśl.

4. Linie transmisyjne sygnału danych - te sterowane z wyjść DO mogą być dwustanowe. Tam nie musi być "tróstanowości", bo separację masz na płycie głównej. Tak więc bramki przy enkoderach mogą być zawsze włączone, bo robią tylko za bufory odciążąjące enkoder od sterowania kablem. Niestety wyjścia DO enkodera są trójstanowe i w czasie gdy enkoder nie będzie wybrany (CSN=1) wejście jego lokalnego bufora 125 będzie wisiało "w powietrzu" - to niedobrze. Daj na każdym wyjściu DO rezystor rzędu 10-22k ściągający do masy.

5. Zonk. Teraz dopiero zauważyłem, że odbiornik IR zasilasz przez 100k. Pomyśl - jeżeli odbiornik będzie pobierał w czasie pracy choćby 100uA (a to naprawdę mało), to spadek napięcia na 100k wyniósłby.. 10V czyli z 5V zasilania do odbiornika nie dopłynęło by nic. Sprawdź jaki maksymalnie opornik tam może być. Oczywiście wartość minimalna to zero ale wtedy tracisz możliwość filtrowania zasilania odbiornika. Naprawdę bardzo mało rzeczy (jeśli cokolwiek) może być zasilanych przez tak ogromne rezystory.

6. Zupełnie brakuje zabezpieczeń ESD ale o tym następnym razem.

Udostępnij ten post


Link to post
Share on other sites

Poprawiłem schemat. Co do punktu piątego to tam miał być rezystor 100 a nie 100k wkradł się błąd. Kolejne pytanie czy zabezpieczenia ESD są konieczne? Czy jeśli cały układ będzie połączony to może dojść do uszkodzenia mikrokontrolera? Bo chciałbym już zamówić wszystkie części i wykonać płytki.

Udostępnij ten post


Link to post
Share on other sites

Ech, rysujesz, rysujesz i jakoś końca nie widać. Przeczytaj jeszcze raz uważnie te dwa zdania:

"Niestety wyjścia DO enkodera są trójstanowe i w czasie gdy enkoder nie będzie wybrany (CSN=1) wejście jego lokalnego bufora 125 będzie wisiało "w powietrzu" - to niedobrze. Daj na każdym wyjściu DO rezystor rzędu 10-22k ściągający do masy." - podkreślenia autora.

A teraz porównaj to z tym, co zrobiłeś. Dlaczego robisz takie głupie błędy?

Jeśłi zapewnisz, że naprawdę nikt nie będzie odłączał tych wtyczek/kabli nie tylko podczas pracy ale także podczas serwisu/pomiarów/konserwacji urządzenia to OK, możesz zabezpieczeń ESD nie robić ale:

1. Musisz zapewnić, żeby żaden z buforów linii MISO nie włączył się podczas programowania procesora a wtedy wszystkie linie portów są w stanie wysokiej impedancji. Daj oporniki podciągające 22k na wyjściach PA0..PA2.

2. Zrób porządek z numerami elementów. W szczególności bramki HC125 są jakoś dziwnie rozstrzelone. Nigdy nie używaj jeśli naprawdę nie musisz układów serii AC lub ACT. To bardzo silne i bardzo szybkie układy generujące paskudne zakłócenia na liniach zasilania a zbocza ich sygnałów wyjściowych słychać bez problemu nawet w radiach FM. W Twoim urządzeniu wystarczą układy HC i takie kup. To nie jest wszystko jedno.

3. Ja bym jeszcze przemyślał sprawę programowania parametrów enkoderów. Mają tam w środku pamięć nieulotną ale do jej zmiany potrzebne jest chyba sterowanie sygnałem PROG. Czy domyślne ustawienia fabryczne Ci odpowiadają? Czy kiedyś używałeś tego enkodera w praktyce?

4. Wejścia MISO1..3 wyposażyłbym w oporniki ściągające 10-22k do masy. Być może podczas uruchamiania nie podłączysz od razu wszystkich enkoderów a wtedy osierocone wejścia będą wisiały w powietrzu - to źle, prawda?

5. Pod względem formalnym linia RST na złączu programatora moim zdaniem nie jest do niczego podłączona.

6. Wszystkie układy powinny dostać swoje własne kondenastory 100nF. Dotyczy to w szczególności układów sterujących kablami.

7. Nie wiem jak chcesz w końcu podłączyć te "krańcówki" ale dałbym tam przy samym wejściu portu kondensatory do masy z 10nF plus oporniki podciągające z 10k do +5V. Oprócz tego szeregowo opornik 100R do złącza na zewnątrz. Taki układ przynajmniej trochę ochroni delikatne wejście procesora przed tym co może przyjść z kabla oraz jest jakimś filtrem dolnoprzepustowym a taki by się tu przydał. Nie zostawiaj tego fragmentu schematu na później. Jak rozumiem, nie ma już żadnego "później".

8. Wciąż nie odwróciłeś diod zabezpieczających więc nie bajdurz mi tu proszę o wykonywaniu płytek.

Udostępnij ten post


Link to post
Share on other sites

1. Wprowadziłem oporniki podciągające do PA0 do PA2.

2. Został zrobiony porządek z numerami układy które kupie to 74HC125.

3. Enkoderów wcześniej nie wykorzystywałem, ale z tego co czytałem to będę korzystał z domyślnej konfiguracji. Enkodery są programowane tylko jednorazowo.

4. Uruchomienie nastąpi dopiero po podpięciu wszystkich enkoderów, myślę jeszcze o zabezpieczeniu w postaci sprawdzenia podłączenia wtyczek do płytek enkoderów.

5. RST podłączyłem zgodnie z tym jak jest w złączu CANDA bo takie posiadam w programatorze.

6. Kondensatory zostały dodane.

7. Krańcówki zostały na razie wyrzucone.

8. Diody zostały obrócone.

Zabezpieczenia ESD nie będę stosował z tego względu że manipulator jest układem testowym i będzie służył tylko do nauki programowania.

Przesyłam kolejną wersje schematu.

Dziękuje za kolejne posty.

Udostępnij ten post


Link to post
Share on other sites

Dodałeś oporniki podciągające.. ale do masy.

Dodałeś jakieś idiotyczne kondensatory szeregowo ze sterowaniem bramkami HC125.

Odwróciłeś kierunek trzech bramek buforujących SCK.

Czy masz gdzieś na schemacie drugą etykietę RST? Bo jeśli nie to znaczy, że sygnał zerowania ze złącza KANDA formalnie nigdzie nie jest podłączony. Może Ci się wydaje, że do wejścia procesora ale nie. To tylko Twoje pobożne życzenie. Schemat mówi co innego.

Gdzie są te dodane kondensatory 100nF na zasilaniach układów TTL?

"Na razie" jest bardzo niebezpieczne. Jak później podłączysz wyłączniki krańcowe nie przewidując tego teraz?

Gdzie są oporniki ścigąjące wejścia MISO1..3 do masy? Wiszące w powietrzu wejścia układów HC to błąd w projekcie. Nie mów, że absolutnie zawsze będą podłączone trzy enkodery. Jeśli jest złącze, to prędzej czy później zostanie rozłączone. Wystarczy, że jeden spalisz w czasie lutowania albo uruchamiania i co, będziesz czekał z pisaniem programu na kolejną dostawę ze sklepu?

Chłopie, czy Ty sobie jaja robisz? A może powinieneś kłaść się spać zaraz po dobranocce, bo o tej godzinie to jakieś problemy z koncentracją? Nie chcę, byś kolejny zbadziewiony schemat wrzucił tu za godzinę tylko żeby był poprawny, choćby i za dwa dni. Nie tylko rysuj ale i oglądaj co zrobiłeś. To jak z czytaniem i pisaniem. Czytasz własne posty przed wysłaniem? Mam nadzieję, że tak. To schemat też "przeczytaj". Inaczej koniec współpracy.

Udostępnij ten post


Link to post
Share on other sites

Krańcówki nie znajdą się w projekcie z uwagi na brak już możliwości mechanicznego zamontowania.

Wczoraj przez przypadek wrzucił mi się schemat wcześniejszy z niedokończonymi zmianami za co przepraszam.

Przesyłam kolejną wersje schematu mam nadzieje ze wszystkie uwagi dobrze zrozumiałem.

Udostępnij ten post


Link to post
Share on other sites

Hm, ciekawe tłumaczenie. Znaczy robisz zmiany na gorsze a za chwilę je poprawiasz lub usuwasz? Nie, chyba nie chcę znać odpowiedzi.. Wszystko jedno, teraz wygląda dużo lepiej tylko:

- Wrysuj na schemat nieużywane bramki a ich wejścia podłącz do masy. One przecież istnieją mimo, iż tu ich nie widać. Nie mogą zostać niezagospodarowane.

- Przypomnij jak chesz zrobić ew. komunikację przez UART bo gołe porty procesora na złączu wyglądają groźnie. Tu jeszcze może brakować jakiegoś opornika.

- Nadal nie widzę oporników do masy na wyjściach DO enkoderów (chociaż już chyba raz były?).

Powoli możesz zacząć myśleć o kompletowaniu elementów i płytce. Pamiętaj, że nie znam typu kabli jakich użyjesz więc nie wiem jaka będzie ich impedancja charakterystyczna. Oporniki szeregowe 100R moga więc ulec zmianie choć dużo pewnie się nie pomyliłem. Być może w razie kłopotów z odbiciami będziesz musiał podpiąć oscyloskop i dobrać rezystancje driverów.

Udostępnij ten post


Link to post
Share on other sites

Wrysowałem na schemat nieużywane bramki tylko pytanie czy tak jak jest sterowanie bramek również ma być wpięte do masy na stałe?

Komunikacje przez UART chce zrobić za pomocą programatora SFAR Multitool który również działa jako przejściówka USB-RS232. Przesyłam zdjęcie z wyprowadzenia programatora oraz zmieniłem UART na złącze do programatora. Teraz pytanie czy TX i RX również podpiąć do rezystora 22k i do masy?

Rezystory do DO dodałem ponownie.

Udostępnij ten post


Link to post
Share on other sites

Czyli będziesz przepinał wtyczki? To nie jest dobry pomysł. Po pierwsze nie będzie Ci się ciągle chciało wyłączać i włączać zasilania - pod napięciem jest to dość niebezpieczne zarówno dla programatora jak i układu, a po drugie sama czynność jest dość upierdliwa. Wyobraź sobie: zmieniasz jakiś szczegół w programie, kompilujesz, odpalasz programator, ładujesz kod, wyłączasz zasilanie, mordujesz się z wtyczkami, włączasz zasilanie, patrzysz na ekran terminala szeregowego, coś jest jeszcze nie tak, próbujesz wniknąć co nie działa, wyłączasz zasilanie, znowu wtyczki, włączasz, w międzyczasie grzebiesz w kodzie, masz teraz zasilanie włączone czy wyłączone, gdzie jest wpięta wtyczka? itd.. Myślę, że gdzieś koło dziesiątego razu będziesz miał dość, kupisz drugi programator i użyjesz go jako stałą przejściówkę na UART/USB. Możesz też wrysować prosty interfejs TTL/RS232 między procesor a złącze i korzystać z portu COM komputera albo.. zrobić od razu interfejs USB. To naprawdę nic trudnego.

Jeśli chciałbyś podciągać linie, to tylko RXD (bo to wejście) i tylko do +5V (bo stanem "spoczynkowym" linii UARTa jest stan wysoki). Wyjściu TXD nie musisz pomagać ale jeśli zdecydujesz się zostawić je na złączu jak teraz, daj im obu chociaż po szeregowym 100R. Nie zabezpieczy to przed 2kV ESD ale przed głupim zwarciem do masy lub do plusa - już tak.

Puste bramki podłączyłeś dobrze ale oporniki ściągające do masy wyjścia DO powinny być dużo większe, np. 22k. Przeceż dałeś bramki jako bufory odciążające układ enkodera od sterowania kablem a teraz zapodajesz mu 100 omów na wyjście. To nielogiczne.

Udostępnij ten post


Link to post
Share on other sites

Dwa wejścia zostają tak jak narysowałem, bo mam gdzieś jeszcze programator pod atmege więc nie będzie problemu z przepinaniem wtyczek. Rezystory podciągające zmieniłem na 22k. Dołączam ostateczną wersje schematu.

Dziękuje za wszelkie uwagi i poświęcony czas.

Udostępnij ten post


Link to post
Share on other sites

Przepraszam, ale jeszcze wypatrzyłem brak zasilania linii AVCC procesora. Teoretycznie powinna dostawać +5V przez jakiś malutki dławiczek 10uH albo chociaż opornik z 10R ale ty nie używasz ani przetwornika ani komparatora w procesorze więc część analogowa może być moim zdaniem zasilana wprost z +5V.

Sprawdź koniecznie w katalogu, czy niepodłączone wejścia PROG enkoderów zostają samoczynnie w stanie nieaktywym.

Gdzieś tam brakuje kropek na połączeniach ale z tym to już sobie poradzisz.

Opornik przy LED pokazującej obecność +12V jest stanowczo za mały. Dla jakiego prądu diody go liczyłeś?

Jak dla mnie reszta jest do przyjęcia 🙂

BTW: Jak procesor będzie się dowiadywał o bezwzględnym położeniu silników/przekładni? Bez wyłączników krańcowych będzie trudno ustaliś jakiś stan początkowy. Włączasz i.. co ma zrobić program? W lewo czy w prawo? Przecież nie wie, gdzie "stoi" mechanika. Czy może ją zniszczyć?

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

×