MajkelMajk Napisano Marzec 10, 2022 Udostępnij Napisano Marzec 10, 2022 (edytowany) Cześć! Projekt, nad którym pracuję wykazał, że moc Arduino Uno to dla niego odrobina za mało, dlatego kilka dni temu zakupiłem z rodzimego portalu dwie sztuki mikrokontrolera STM32F401CCU6 Black Pill. Jest to mój pierwszy kontakt z kontrolerami innymi niż AVR, więc nie wszystko jest dla mnie jasne. Napotkałem z tymi płytkami problem: ogólnie mówiąc nie działa USB-C. Po podłączeniu kabla urządzenia te nie dostają prądu. Power LED się nie świeci, nie ma napięcia na 5v ani na 3.3v. Jeśli podam zasilanie z zewnątrz na te piny, to obie z tych płytek działają prawidłowo (mogę je programować bez problemu przez konwerter USB<->UART i programy działają). Jednak będę potrzebował działającej komunikacji UART oraz zasilania właśnie przez USB. Testowane na dwóch różnych przewodach USB-C, z dwoma laptopami (MacBook Pro Intel i M1 Pro), również na samym zasilaczu USB-C. Obie płytki zachowują się identycznie. Żadne z tych sprzętów nie sprawia problemów komunikacyjnych z innymi urządzeniami, tylko z tymi dwoma Black Pillami. Czy coś pomijam? Nie widzę w sieci, żeby ktoś miał podobny problem - na filmikach widziałem, że po podłączeniu USB urządzenia po prostu startują. EDIT: Okazuje się, że przewód USB-C<->USB-C nie daje prądu (przynajmniej z MBP), ale znalazłem jeszcze kabel USB-C<->USB-A i z nim zasilanie jest (nawet podłączając do MBP przez adapter). Czy trzeba jakoś z poziomu kontrolera wynegocjować z hostem USB podanie napięcia? Edytowano Marzec 10, 2022 przez MajkelMajk Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Marzec 11, 2022 Udostępnij Marzec 11, 2022 Podłącz się przez STLink.Jeśli nie masz to kup bo będzie niezbędny podczas debuggowania programu.Ale jeśli w projekcie wykorzystasz USB to musisz mieć odpowiednio dobrany kabel.Jeśli się przesiadłeś na STM to zainstaluj STM32cubeide i w nim pisz oraz uruchamiaj programy.Ponadto zainstaluj Studio STM i STMCubeProgrammer.Podczas podłączania się do STLink należy zwrócić uwagę na wybór napięcia bo są dwa 3,3V i 5V!Jeśli chcesz programować przez USB STM32F401 używając Arduino ide to musisz zainstalować programator w tym procesorze.Na tym forum znajdziesz mój artykuł Port USB i bootloader w STM32f1C8T6 a Windows 10 i ARDUINO IDE .Praktyka wskazuje,że programowanie w STM32cubeide jest zdecydowanie wygodniejsze niż w Arduino ide a zatem jeszcze raz zachęcam do stosowania firmowego oprogramowania do pisania programów.Jest wiele kursów wprowadzających do programowania w STM32cube ide.Jeden jest na tym portalu ale też jest inny na youtubie .Wpisując w wyszukiwarkę Piotr Duba wyświetli się cały kurs.Jeśli jednak pozostaniesz przy Arduino ide to wiedz,że kompilując program tworzone są gdzieś w Arduino15 pliki bin i elf projektu dla STM32F401.Trzeba tylko trochę pomęczyć się i znaleźć ścieżkę.Te pliki możesz użyć do zaprogramowania procesora używając STlink i STMCubeProgrammer a następnie by zobaczyć co się dzieje w procesorze użyj Studio STM. Cytuj Link do komentarza Share on other sites More sharing options...
kaworu Marzec 15, 2022 Udostępnij Marzec 15, 2022 Dnia 10.03.2022 o 16:27, MajkelMajk napisał: Okazuje się, że przewód USB-C<->USB-C nie daje prądu (przynajmniej z MBP), ale znalazłem jeszcze kabel USB-C<->USB-A i z nim zasilanie jest (nawet podłączając do MBP przez adapter). Czy trzeba jakoś z poziomu kontrolera wynegocjować z hostem USB podanie napięcia? Ten black pill ma te złącze typu C dla picu, tj. piny zasilania sa w nim podłączone, ale nie zachodzi żadna negocjacja formy zasilania (bo piny CC nie są). A standard dla złącz C wymaga, że póki się czegoś nie wynegocjuje*, zasilanie ma nie być podawane (i znikać po odłączeniu kabla). Żaden F4 zdaje się nie obsługuje negocjacji wymaganej w Type C. A, że porty C w laptopach są "prawdziwe", to tez nie chcą podawać napięcia nieproszone. I dlatego Type A -> Type C działa, bo na A 5V jest obecne zawsze. * jest jeszcze coś takiego jak dead battery detection na wypadek jakby uC nie miał w ogole zasilania Cytuj Link do komentarza Share on other sites More sharing options...
Chumanista Marzec 15, 2022 Udostępnij Marzec 15, 2022 Pewnie zależy od wersji bo to one nie są identyczne ale co najmniej jedna wersja ma CC zwarte razem: https://mobile.twitter.com/mikerankin/status/1431283087657349121 Wystarczy przeciąć, dodać dwa 5.1k pull-down do GND i powinno działać. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Anonim Marzec 15, 2022 Udostępnij Marzec 15, 2022 Mam STM32F401cc taki jak po lewej stronie na zdjęciu 401 płytka. 5V z USBA podawane jest na ten maleńki stabilizator.Patrz na schemat a na wyjściu jest 3,3V i zasila stm32F401cc.Musi być właściwy kabel!Kupując Ten moduł spodziewałem się dostać wersję tę po prawej stronie bo mam odpowiedni kabel.Na szczęście nie korzystam obecnie z USB więc nie mam problemu.Jeśli masz kłopot z kablem możesz to ominąć bo sygnały DM+ i DM- są na pinach PA11 i PA12.Zasilanie na pin +5V oraz GND.Sprawdź sobie.Weź dwie igły,miernik i do roboty. original-schematic-STM32F401CCU6_WeAct_Black_Pill_V1.2.pdf Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!