Sterownik PWM – #12 – Montaż, uruchomienie, konfiguracja procesora, znalezione błędy w HW

Na rozgrzewkę:

We wpisie przedstawię kolejne etapy powstawania projektu sterownika schodowego LED. Zacznę od montażu, następnie pierwsze zasilenie sterownika, dalej konfiguracja procesora STM32G0 w programie STM32CubeIDE, na końcu wspomnę o błędach, które znalazłem podczas uruchamiania. Jeśli chcesz wykonywać swoje projekty DIY i potrzebujesz asortyment, zapraszam do sklepu Mateusza Salamona (sklep.msalamon.pl).

Zakres wpisu:

  • Montaż sterownika
  • Uruchomienie sterownika
  • Konfiguracja procesora STM32G0
  • Znalezione błędy podczas uruchamiania

Montaż sterownika:

Montaż sterownika składał się z następujących punktów:

  1. Oczyszczenie PCB acetonem, w celu odtłuszczenia,
  2. Montaż układu scalonego przetwornicy,
  3. Montaż procesora, poprzez umieszczenie procesora na topniku w żelu. Następnie cynowanie kolejnych pinów. Po przylutowaniu, sprawdzenie poprawności połączeń omomierzem,
  4. Montaż pozostałych układów scalonych umieszczonych na górnej warstwie, postępując tak samo, jak z procesorem,
  5. Montaż pasywnych komponentów SMD, zaczynając od pocynowania jednego pada, następnie położeniu komponentu na pocynowanym padzie i przylutowanie drugiego pada,
  6. Montaż układów scalonych umieszczonych na dolnej warstwie,
  7. Montaż pasywnych komponentów SMD umieszczonych na dolnej warstwie,
  8. Montaż dipswitch,
  9. Montaż kondensatorów elektrolitycznych,
  10. Montaż konektorów wyjściowych, konektorów do PIR, konektora do interfejsu SWD,
  11. Montaż konektora zasilającego.

Uruchomienie sterownika:

Uruchomienie sterownika obejmowało kolejno następujące kroki:

  1. Zasilenie urządzenia z zasilacza z ograniczeniem prądowym, zaczynając od 0A, płynnie zwiększając ograniczenie,
  2. Sprawdzenie napięcia na wyjściu przetwornicy zasilającej procesor oraz układy scalone,
  3. Komunikacja z procesorem poprzez interfejs SWD i program STM Studio,
  4. Konfiguracja procesora,
  5. Wgranie konfiguracji,
  6. Sprawdzenie sygnału z rezonatora pod względem częstotliwości i napięcia.

Konfiguracja procesora STM32G0:

W projekcie zostały użyte wszystkie piny procesora, spełniając następujące funkcje:

  • Wyjścia cyfrowe, na których generowany jest sygnał PWM,
  • Wejścia cyfrowe, odczytujące sygnały z czujników PIR,
  • Wejścia analogowe, odczytujące napięcia z wyjść LED oraz prądy,
  • UART do komunikacji z ESP,
  • Interfejs SWD,
  • Rezonator kwarcowy.
  • Przetwornik analogowo cyfrowy – o konfiguracji ADC pisałem we wpisie,
  • DMA – o konfiguracji DMA pisałem tutaj,
  • Wejścia cyfrowe odczytujące sygnały z PIR, skonfigurowano w następujący sposób. Wejście to reaguje na zbocze narastające, które pojawi się na wejściu, generując przerwanie.
  • Interfejs SWD, można go uruchomić poprzez zaznaczenie opcji Serial Wire.
  • Konfiguracja Timera 3, który wykorzystywany jest do wyzwalania konwersji przetwornika analogowo-cyfrowego oraz w przerwaniu od tego timera wykonywane są główne funkcje programu, generujące m.in. sygnał PWM.
  • Konfiguracja wejść rezonatora kwarcowego:

Znalezione błędy podczas uruchamiania:

Podczas uruchamiania i pisania kodu na procesor znaleziono następujące błędy w schemacie:

  • Złe podpięcie wejść muliplekserów. W projekcie znajdują się cztery multipleksery służące do pomiaru napięcia wyjściowego z każdego wyjścia LED. Wszystkie mulipleksery mają te same linie sterujące, więc ich wejścia powinny być podłączone w takiej samej kolejności, aby w łatwy sposób zrobić diagnostykę wyjść LED.
  • Brak rezystorów szeregowych na wyjściach MUX, które tworzyłyby filtr dolnoprzepustowy wraz z kondensatorami filtrującymi umieszczonymi na liniach analogowych.
  • Brak rezystora w szeregu z diodą Zenera, zabezpieczającą przed zbyt wysokim napięciem z przetwornicy.
  • Zmiana zabezpieczenia przed odwrotną polaryzacją na takie, aby obwód przetwornicy oraz układów scalonych był zasilany za diodą szeregowo wpiętą z zasilaniem. Obecny układ wymaga zabezpieczenia zasilacza sterownika LED np. bezpiecznikiem topikowym. Po podpięciu zasilania z odwrotną polaryzacją przepalony zostaje bezpiecznik w układzie zasilania (jeśli taki jest) lub w zależności od prądu uszkodzeniu może ulec dioda chroniąca D4 w sterowniku LED. Odwrotne podłączenie skutkuje potencjalnym uszkodzeniem zasilacza lub sterownika LED, a tego w kolejnej iteracji projektu nie chciałbym.
  • Brak kondensatora zabezpieczającego przed wyładowaniem elektrostatycznym przy konektorze zasilającym.
  • Zmiana topologii zabezpieczenia przed zwarciem wyjścia LED na takie, aby zabezpieczało przed bezpośrednim połączeniem wyjścia do GND oraz aby nie wymagało wzmacniacza operacyjnego.
  • Dołożenie trybu niskiego poboru prądu poprzez odłączanie zasilania od ESP oraz ewentualne odłączenie zasilania od procesora.
  • Brak zewnętrznych rezystorów pull-down na liniach sygnałowych z czujników PIR, które utrzymywałyby stan niski. W celu rozwiązania tego problemu w obecnej wersji projektu użyłem pull-down umieszczonych wewnątrz procesora.

Podsumowanie:

We wpisie przedstawiłem etapy montażu sterownika, jego uruchomienie, konfigurację procesora oraz znalezione błędy w schemacie.

Autor artykułu
Mateusz Pluta

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.