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).
Sponsorem wpisu jest msalamon.pl
WWW: https://msalamon.pl/
Sklep: https://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:
- Oczyszczenie PCB acetonem, w celu odtłuszczenia,
- Montaż układu scalonego przetwornicy,
- Montaż procesora, poprzez umieszczenie procesora na topniku w żelu. Następnie cynowanie kolejnych pinów. Po przylutowaniu, sprawdzenie poprawności połączeń omomierzem,
- Montaż pozostałych układów scalonych umieszczonych na górnej warstwie, postępując tak samo, jak z procesorem,
- Montaż pasywnych komponentów SMD, zaczynając od pocynowania jednego pada, następnie położeniu komponentu na pocynowanym padzie i przylutowanie drugiego pada,
- Montaż układów scalonych umieszczonych na dolnej warstwie,
- Montaż pasywnych komponentów SMD umieszczonych na dolnej warstwie,
- Montaż dipswitch,
- Montaż kondensatorów elektrolitycznych,
- Montaż konektorów wyjściowych, konektorów do PIR, konektora do interfejsu SWD,
- Montaż konektora zasilającego.
Uruchomienie sterownika:
Uruchomienie sterownika obejmowało kolejno następujące kroki:
- Zasilenie urządzenia z zasilacza z ograniczeniem prądowym, zaczynając od 0A, płynnie zwiększając ograniczenie,
- Sprawdzenie napięcia na wyjściu przetwornicy zasilającej procesor oraz układy scalone,
- Komunikacja z procesorem poprzez interfejs SWD i program STM Studio,
- Konfiguracja procesora,
- Wgranie konfiguracji,
- 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.
- 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.