Nie zgaduj, nie módl się, nie testuj, po prostu postępuj zgodnie z arkuszem danych i traktuj go jak swojego Boga.
Zgadzam się, że może to być trochę ezoteryczne, kategoria pinów będzie miała zalecane maksymalne prądy (albo źródło & / albo tonące). Prawdopodobnie będą również wartości maksymalne dla całego portu 8/16/32 pinów i / lub maksymalne źródło / ujście dla pinów I / O całego układu. Przeczytaj arkusz danych, wykonaj obliczenia i uzyskaj odpowiedź. Aby jeszcze bardziej skomplikować sprawę, niektóre mikrokontrolery pozwalają zaprogramować maksymalny prąd ujścia / źródła, przy którym będą działać (np. We / wy na MCU TI BeagleBone). Wszystkie wspomniane platformy / mikrokontrolery są różne.
Istnieje niebezpieczeństwo w prostym połączeniu kilku pinów we / wy i wykorzystaniu ich połączonych możliwości pozyskiwania lub tonięcia prądu, a nie jest to przypadek na port ani na chip maksima, o których wspomniałem powyżej; MCU nie mają być urządzeniami bocznikowymi, dlatego nazywa się je mikrokontrolerami. To:
(a) co się dzieje z tymi I / O, gdy chip jest w trybie RESET? Większość będzie miała wejście o wysokiej impedancji, co prawdopodobnie jest w porządku, ale czasami pin będzie miał specjalne przeznaczenie, które może pojawić się podczas resetowania lub bezpośrednio po nim, w takim przypadku, co będzie robił twój obwód w tym czasie, & jak dużo prądu przez ten pin?
(b) technika, za pomocą której ustawiłeś / wyczyściłeś te piny I / O: czy użyłeś tylko pinów z 1 portu, w takim przypadku możesz wpisać bajt / słowo do rejestru I / O i ustawić / wyczyścić wszystkie naraz, więc wszyscy od razu zaczną dyrygować - świetnie. Ale jeśli rozłożysz obciążenie na piny z wielu portów we / wy (np.Port A & Port B), to wymaga wielu zapisów w rejestrze, co dzieje się sekwencyjnie, co oznacza, że pierwszy zapisany pin / port przewodzi jako pierwszy i przenosi sumę prąd, to nie będzie, dopóki następny / ostatni port nie zostanie zapisany, że prąd będzie dzielony mniej więcej równo na wszystkie piny, do których jesteś podłączony. Jeśli robisz to i / o pisząc po jednym pinie na raz (np. "DidtalWrite (Pin, State)" Arduino, to ten pierwszy pin będzie przewodził PEŁNY prąd aż do zapisania kolejnych pinów drugiego &. To wszystko jest ZŁE i prawdopodobnie zabije MCU, jeśli nie natychmiast, to w ciągu oczekiwanego czasu życia.
Rozwiązanie jest proste. Zdobądź tranzystor NPN lub N-ch MOSFET o odpowiedniej specyfikacji, podłącz jego bazę / bramkę do pinu we / wy MCU (i oblicz odpowiedni rezystor szeregowy między nimi), podłącz jego kolektor / dren do tego, co chcesz włączyć / wyłączyć, i podłącz jego emiter / źródło do uziemienia. 1 pin we / wy , 1 tranzystor, nadaje się do wszystkiego, od dziesiątek mA & poza. W SE pojawią się inne pytania, jak to zrobić szczegółowo.