Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam,
napotkałem pewien problem podczas tworzenia sporej konstrukcji. Chciałbym sterować dwoma silnikami z wkrętarek elektrycznych za pomocą tego mostka. Łączny pobór prądu przez mostek przy włączonych na maxa dwóch silnikach wynosi około 8A (4A na kanał). Mostkiem tym steruję przy pomocy arduino pro mini z przejściówką ttl opartą na CH341T. Problem polega na tym, że przy około 60% mocy przejściówka się resetuje (arduino jest dalej zasilane, program się nie restartuje) i trace łączność z robotem z komputera. Jest to duży problem, ponieważ konstrukcja waży koło 15kg i w takim przypadku jedyna możliwość zatrzymania jej to dogonienie jej i odłączenie zasilania. Kable zasilające silniki mają mniej niż 10cm długości oraz nie krzyżują się z kablami sterującymi, lecz to dalej nie pomaga. Ma ktoś jakiś pomysł co do zabezpieczenia przejściówki przed indukującym się prądem (zakładam, że w tym tkwi problem)?

Dodać filtrowanie zasilania i zastosować transoptory na portach układu sterującego mostkiem np. HCPL2631 - do PWM`a ważne aby był on szybki

Przejściówka jest zasilana osobno z innego źródła zasilania (usb). Wydaje mi się, że to nie problem z jej zasilaniem, ponieważ arduino zasilane z niej się nie restartuje, tylko działa dalej. Spróbuję z tym filtrowaniem jeszcze

Jeżeli rzeczywiście jest tak, że sam zestaw Arduino plus mostki zachowuje się poprawnie, tzn autonomiczny program rozpędzający do 100% i hamujący silniki działa bezbłędnie, to problem leży w połączeniu masy lub sygnałów z komputerem. Tutaj dużo czulsze jest USB niż UART, więc pewnie po tamtej stronie coś się dzieje.

Masz trzy wyjścia:

1. Zastosować izolację optyczną po stronie USB, np. coś takiego:

https://www.olimex.com/Products/USB-Modules/USB-ISO/

Zrobić samemu coś takiego jest trudno, ale raz kupione posłuży długo. Wadą jest to, że "na drugą stronę" przesyła tylko 350mA prądu zamiast typowych 500mA. Do przejściówki na UART wystarczy jednak z powodzeniem.

2. Zrobić/kupić optoizolację na sygnałach UART. To dość proste a zasilanie strony przejściówki można wziąć z niej samej, czyli z USB.

3. Powalczyć z filtrami na wszystkich trzech drutach (masa, TXD, RXD) łączących Arduino z przejściówką na USB. Możesz zacząć od wstawienia rezystorów 100R szeregowo z sygnałami RXD i TXD tuż przy płytce Arduino. Tutaj to już raczej zgadywanie - nie ma uniwersalnych metod. Pokaż jak to masz połączone, może jakieś zdjęcia?

Tak, arduino nie doznaje żadnych awarii, w trybie autonomicznym (taj jak napisałeś) jak i w sterowaniu z komputera arduino działa bez problemu (diody sygnalizujące prace silników świecą się odpowiednio po utracie połączenia). Również wydaje mi się, że problemem jest tutaj usb, a nie uart, ponieważ słychać w komputerze dźwięk odłączanego urządzenia.

Pierwsza opcja jest dość kosztowna jak na razie. Czy nie można zrobić takiej izolacji na odpowiednich transoptorach?

I jeszcze zdjęcie. Wszystko podłączone najprościej jak się da, bez żadnych dodatków.

Nie, izolacji na USB nie da się zrobić żadnymi chałupniczymi metodami. Stało się to możliwe dopiero niedawno, dzięki pojawieniu się na rynku specjalizowanych układów dedykowanych do tego celu. Masz dwie dwukierunkowe linie różnicowe, które muszą spełniać precyzyjne standardy USB - i nie masz szans by zrobić to "ręcznie".

Sugeruję wstawienie optoizolacji między Arduino a przejściówkę. To jest proste, tanie i.. powinno pomóc. Za jednym zamachem odłączysz masę komputera od masy Arduino i systemu zasilania silników oraz przetniesz drogę ew. zakłóceń płynących po przewodach UARTa. Przejściówka będzie wtedy widziała "czysty" interfejs UART w postaci diodki LED w jedną stronę i fototranzystora w drugą - powinna być zadowolona.

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ę »
×
×
  • Utwórz nowe...