TT#10 Zasilanie płytek Nucleo z zewnętrznego źródła

Na wczesnym etapie budowania prototypu bardzo często wykorzystujemy płytki rozwojowe z serii Nucleo. Zdarza się, że chcemy je zasilić z zewnętrznego źródła zasilania, aby np. przetestować w docelowym środowisku, gdzie nie mamy dostępnego zasilania przez złącze USB. Czy jest to możliwe i w jaki sposób podłączyć takie zasilanie, aby nie uszkodzić płytki? O tym w dzisiejszym wpisie.

Materiał jest częścią Tips and Tricks – serii artykułów dotyczących ciekawostek o STM32

czyli przydatnych, choć rzadko opisywanych elementów z ekosystemu STM32.

Płytki Nucleo mają dość elastyczny obwód zasilania, który pozwala na zasilanie za pomocą źródeł o stosunkowo szerokim zakresie napięć. Dostępne możliwości zależą od rodzaju płytki, dlatego materiał podzielony będzie na trzy części, gdzie przedstawię kolejno procedurę zasilania dla płytek Nucleo-32, Nucleo-64 oraz Nucleo-144.

Nucleo-32

Płytki z serii Nucleo-32 mogą być zasilane za pomocą jednego z czterech źródeł:

  • Złącze USB
  • Pin +3,3V (złącze CN4) – napięcie 3,3 V
  • Pin +5V (złącze CN4) – napięcie 5 V
  • Pin VIN (złącze CN4) – napięcie od 7 V do 12 V)

Domyślnie po wyjęciu płytki z pudełka Nucleo jest skonfigurowane do pracy z zasilaniem za pomocą USB. Może wtedy pracować w jednym z dwóch trybów: z maksymalnym poborem prądu 100 mA lub 300 mA. Zależy to od konfiguracji zworki SB1 – domyślnie jest ona rozłączona i port USB może dostarczyć do 300 mA.

W przypadku, gdy chcemy zasilić płytkę za pomocą wejścia +3,3V, powinniśmy rozlutować zworki SB9 (odłączenie pinu NRST od ST-Link-a) oraz SB14 (odłączenie stabilizatora napięcia 3,3V). Musimy też pamiętać o tym, że część ST-Linka nie jest wówczas zasilana – nie będzie możliwości programowania i debugowania. Powoduje to komplikacje z pinem NRST mikrokontrolera. Będzie on w stanie nieustalonym, ponieważ to ST-Link sterował stanem tego pinu. Jest to najczęstsza przyczyna problemów niedziałającego programu przy zewnętrznym zasilaniu Nucleo. Co można z tym zrobić? Pin NRST jest wyprowadzony na złączu CN3. Możemy więc za pomocą rezystora podciągającego podać tam 3,3 V.

W przypadku zasilania przez pin +5V nie musimy nic modyfikować na płytce. Wystarczy, że podłączymy do pinu napięcie z zakresu od 4,75 V do 5,25 V. Wówczas programator również nie będzie zasilany, dlatego pin NRST będzie w stanie nieustalonym. Aby mikrokontroler działał prawidłowo, musimy analogicznie za pomocą rezystora podciągającego podać na NRST stan wysoki, czyli 3,3 V. Przy zasilaniu przez pin +5V możemy pobrać do 500 mA.

Jeżeli do zasilania wykorzystamy pin VIN, należy podać na niego napięcie z zakresu od 7 V do 12 V. W takim przypadku możemy obciążyć układ nawet do 800 mA (przy VIN = 7 V). Przy tym sposobie zasilania nie mamy problemu z pinem NRST – programator jest cały czas zasilany, dlatego nie będzie tam występował stan nieustalony. Ponieważ ST-Link cały czas otrzymuje zasilanie, możemy korzystać z funkcji programowania i debugowania. Należy jedynie pamiętać, że musimy zachować odpowiednią kolejność podłączania – najpierw zasilanie zewnętrzne VIN, a dopiero później podłączamy przewód USB.

Nucleo-64

W przypadku płytek z serii Nucleo-64 także mamy do dyspozycji możliwość zasilania płytki przez jedno z czterech wejść:

  • Złącze USB
  • Pin +3,3V (złącze CN6 lub CN7) – napięcie 3,3 V
  • Pin E5V (złącze CN7) – napięcie 5 V
  • Pin VIN (złącze CN6 lub CN7) – napięcie od 7 V do 12 V)

Zasilanie przez złącze USB jest domyślnym sposobem zasilania płytki. Po wyjęciu Nucleo z pudełka możemy od razu podłączyć je do komputera i płytka zostanie poprawnie zasilona. Jeżeli tak nie jest, należy upewnić się, że zworka na złączu JP5 jest w pozycji U5V. Warto także sprawdzić, czy na złączu JP1 zworka jest rozłączona – w takim przypadku płytka może pobierać prąd do 300 mA. W przeciwnym razie (założona zworka na złączu JP1) prąd ograniczony jest do 100 mA.

Jeżeli chcemy zasilić płytkę bezpośrednio napięciem 3,3V, możemy je podłączyć do pinu 4 na złączu CN6 lub pinów 12 i 16 na złączu CN7. Należy wtedy pamiętać o tym, że nie będzie wtedy zasilony programator – nie będzie możliwości programowania i debugowania. Należy także odlutować zworki SB2 (odłączenie stabilizatora napięcia 3,3V) oraz SB12 (odłączenie pinu NRST od ST-Link-a). Zamiast usuwania zworek można też odłamać cześć płytki z ST-Link-iem wzdłuż zaznaczonych nacięć. Ze względu na to, że programator nie jest zasilany, pin NRST będzie w stanie nieustalonym. Aby mikrokontroler działał prawidłowo, musimy za pomocą rezystora podciągającego podać na NRST stan wysoki, czyli 3,3 V.

Zasilanie przez pin E5V wymaga podłączenia zasilania z zakresu od 4,75 V do 5,25 V do pinu 6 na złączu CN7. Możemy pobierać prąd do 500 mA. Dodatkowo należy pamiętać o zworce JP5 – domyślnie jest ona w pozycji U5V, czyli zasilania z USB. Jeżeli chcemy korzystać z wejścia E5V, należy tę zworkę założyć w tej pozycji.

Jeżeli do zasilania wykorzystamy pin VIN, należy podać na niego napięcie z zakresu od 7 V do 12 V do pinu 8 na złączu CN6 lub pinu 24 na złączu CN7. W takim przypadku możemy obciążyć układ nawet do 800 mA (przy VIN = 7 V).

Wykorzystanie zasilania E5V lub VIN nie powoduje odłączenia ST-Linka, dlatego nadal możemy korzystać z programatora. Należy jedynie pamiętać, że musimy zachować odpowiednią kolejność podłączania – najpierw zasilanie zewnętrzne E5V, a dopiero później podłączamy przewód USB.

Nucleo-144

W przypadku płytek z serii Nucleo-144 również mamy do dyspozycji możliwość zasilania płytki przez jedno z czterech wejść:

  • Złącze USB
  • Pin +3,3V (złącze CN8 lub CN11) – napięcie 3,3 V
  • Pin E5V (złącze CN11) – napięcie 5 V
  • Pin VIN (złącze CN8 lub CN11) – napięcie od 7 V do 12 V)

Zasilanie przez złącze USB jest domyślnym sposobem zasilania płytki. Po wyjęciu Nucleo z pudełka możemy od razu podłączyć je do komputera i płytka zostanie poprawnie zasilona. Jeżeli tak nie jest, należy upewnić się, że zworka na złączu JP3 jest w pozycji U5V. Warto także sprawdzić, czy na złączu JP1 zworka jest rozłączona – w takim przypadku płytka może pobierać prąd do 300 mA. W przeciwnym razie (założona zworka na złączu JP1) prąd ograniczony jest do 100 mA.

Jeżeli chcemy zasilić płytkę bezpośrednio napięciem 3,3V, możemy je podłączyć do pinu 7 na złączu CN8 lub pinu 6 na złączu CN11. Należy wtedy pamiętać o tym, że nie będzie wtedy zasilony programator – nie będzie możliwości programowania i debugowania. Należy także odlutować zworki SB3 (odłączenie stabilizatora napięcia 3,3V) oraz SB111 (odłączenie pinu NRST od ST-Link-a). Zamiast usuwania zworek można też odłamać cześć płytki z ST-Link-iem wzdłuż zaznaczonych nacięć. Ze względu na to, że programator nie jest zasilany, pin NRST będzie w stanie nieustalonym. Aby mikrokontroler działał prawidłowo, musimy za pomocą rezystora podciągającego podać na NRST stan wysoki, czyli 3,3 V.

Zasilanie przez pin E5V wymaga podłączenia zasilania z zakresu od 4,75 V do 5,25 V do pinu 6 na złączu CN11. Możemy pobierać prąd do 500 mA. Dodatkowo należy pamiętać o zworce JP3należy ją założyć w pozycji E5V.

Jeżeli do zasilania wykorzystamy pin VIN, należy podać na niego napięcie z zakresu od 7 V do 12 V do pinu 15 na złączu CN8 lub pinu 24 na złączu CN11. W takim przypadku możemy obciążyć układ nawet do 800 mA (przy VIN = 7 V). Na zworce JP3 powinniśmy zewrzeć piny 5 i 6 czyli ustawić w pozycji VIN.

Wykorzystanie zasilania E5V lub VIN nie powoduje odłączenia ST-Linka, dlatego nadal możemy korzystać z programatora. Należy jedynie pamiętać, że musimy zachować odpowiednią kolejność podłączania – najpierw zasilanie zewnętrzne E5V, a dopiero później podłączamy przewód USB.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *