Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam.

Jestem początkujący więc z góry proszę o łagodne potraktowanie.

Mam gotowy układ sterownika do z STM32 pracującym w sterowniku do drona Walkera Runner 250 Advance F3 SP Racing. Po zmianie konfiguracji w Betaflight Configurator układ zawiesił się i stracił komunikację z kompem.

Proszę o informację w jaki sposób zresetować układ żeby wgrać firmware jeszcze raz.

Próbowałem zewrzeć styk nRST do masy i na zwartym podłączyć ale nie przyniosło skutków.

Czy macie jakieś pomysły?

Proszę też o informację czy do aktualnego sterownika CP210x... jest konieczne wykonanie jeszcze jakiś operacji żeby chip STM32 stał się widoczny dla programu programującego. Próbowałem DfuSeDemo oraz UsbUpgradeTool.

dzięki

[ Dodano: 06-07-2018, 14:56 ]

dodaje zdjęcie układu:

Jak nie masz możliwości wgrać mu oprogramowania przez USB to możliwe że załatwiłeś bootloader.

Jeśli załatwiłeś bootloader to bez programatora do STM tego nie naprawisz, no i potrzebny byłby jeszcze ten bootloader żeby go wgrać - a tego możesz nigdzie nie znaleźć.

Jak standardowo wygląda zmiana oprogramowania w tej płytce i przy użyciu tego programu?

  • 3 miesiące później...
(edytowany)

Dzięki za odpowiedź. 

Wgrałem nowe oprogramowanie na STM32f303 przez programator ST link v2. Program ruszył i po zachowaniu kontrolera widzę że działa ale komunikacji przez USB dalej nie ma. Sterownik i port widzi poprawnie ale komunikacji zero. Spróbuje podłączyć się na "krótko" do STM-a jakimś kontrolerem USB.  

Jak macie jakieś pomysł jak z nie się skomunikować to piszcie. 

Edytowano przez Treker
Poprawiłem formatowanie.

Po płytce widzę że USB jest bezpośrednio połączone z transceiverem uart<->USB. A skoro Ci go wykrywa to nie tutaj leży problem, a przynajmniej nie nie od strony USB.

Nie wiem jak u Ciebie z umiejętnością lutowania i czy posiadasz jakiegoś "UARTA na USB". Względnie przydałby się miernik z dobrymi igłami.

W tego typu usterkach pierwszym co się sprawdza to czy jest połączenie elektryczne między układami. Tutaj się przyda miernik.

Musisz namierzyć w dokumentacji technicznej transceivera (CP) gdzie on ma wyjście uart i sprawdzić czy jest przejście do pinu procesora. Jeśli nie ma, to szukasz pierwszego elementu do którego owe sygnały dochodzą i najprawdopodobniej to będzie element uszkodzony -> można go wymienić i sprawdzić (jeśli to jakiś układ scalony to trzeba się dowiedzieć jaki to dokładnie układ jest, i zweryfikować czy może tak działać mimo iż jest sprawny).

Jeśli natomiast przejście od układu CP do uC jest, to można się wlutować bezpośrednio w PIN UC konwerterkiem UART<-> USB i sprawdzić czy CP działa prawidłowo, tutaj jednak trzeba się wykazać dobrymi umiejętnościami lutowania. Proste przesyłanie informacji z portu szeregowego i odbiór na innym porcie) rozwieje wątpliwości. Jeśli nie odbieramy tego co wysłaliśmy, to układ CP do wymiany (albo jakiś układ który stoi między CP a uC). Jeśli odbierzemy co wysłaliśmy wtedy są dwie opcje; albo wsad który wgrałeś jest nieprawidłowy albo układ posiada uszkodzonego tego uarta. Jeśli pierwsza opcja to można spróbować wgrać inny wsad (programator masz więc do dzieła). Jeśli druga opcja, to cóż. Albo zmiana oprogramowania by odbierał na innym uarcie i przecinanie ścieżek na PCB i "ciągnięcie druta" w inne miejsce albo wymiana układu.

  • Lubię! 1
  • 4 miesiące później...

Dziękuje za rzeczową odpowiedź. Z lutowaniem u mnie całkiem nieźle.  Mam nowy sterownik więc ten czeka spokojnie na naprawę. Z tego co udało mi się do tej pory ustalić to przy modyfikacjach przez program do konfiguracji CleanFlight coś zmienił program co nie powinien i wówczas straciłem komunikacje. Spróbuje tak jak pisałeś, najpierw prześledzę ścieżkę a potem jak nie pomoże wepnę się bezpośrednio w uC. Dam znać co się udało.  

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...