Skocz do zawartości

Weryfikacja schematu STM32F030F4P6 - Moja pierwsza płytka!


Pomocna odpowiedź

Napisano (edytowany)

Hejka wszystkim!

Chciałbym prosić o pomoc przy sprawdzeniu mojego pierwszego samodzielnie zaprojektowanego schematu elektronicznego. Do tej pory korzystałem głównie z gotowych płytek deweloperskich, ale w końcu postanowiłem zmierzyć się z zaprojektowaniem czegoś od podstaw. Zależy mi na tym, żeby wszystko było w porządku, zanim przejdę do etapu projektowania PCB i składania, aby uniknąć niepotrzebnych błędów.

Projekt jest stosunkowo prosty, oparty na mikrokontrolerze STM32F030F4P6. Główne założenia to:

  1. Odczyt potencjometrów: Płytka posiada 4 złącza analogowe (oznaczone jako PA0, PA1, PA2, PA3 na schemacie), do których będą podłączone 4 potencjometry. Będą one służyć do odczytu wartości analogowych za pomocą przetwornika ADC mikrokontrolera.

  2. Transmisja danych po MAX485: Po naciśnięciu przycisku (oznaczonego jako "Button2", podłączonego do PA4), wartości odczytane z potencjometrów mają zostać wysłane poprzez układ MAX485 (do komunikacji RS-485) do innego modułu. Złącze MAX485 jest podłączone do pinów USART1_RX i USART1_TX mikrokontrolera.

  3. Sterowanie przekaźnikiem i sygnalizacja LED: Równocześnie z naciśnięciem przycisku, ma zostać włączony moduł przekaźnika (złącze Relay, podłączone do PA5), a dioda LED (oznaczona jako "STATUS") ma zacząć migać, sygnalizując aktywność.

  4. Zasilanie: Płytka będzie zasilana napięciem 5V, które następnie będzie stabilizowane do 3.3V za pomocą regulatora LM1117MP-3.3 dla mikrokontrolera i pozostałych komponentów. Tutaj zastanawiam się czy nie lepiej jest użyć AMS1117-3.3 ze względu na jego powszechność 

  5. Programowanie: Do programowania mikrokontrolera przewidziane jest złącze SWD.

Bardzo proszę o sprawdzenie schematu pod kątem poprawności połączeń, ewentualnych brakujących elementów (np. rezystorów podciągających/ściągających, kondensatorów filtrujących), błędów w podłączeniu peryferiów (ADC, USART, GPIO) oraz ogólnej logiki.

Czy są jakieś elementy, które powinienem dodać lub zmienić, aby zapewnić stabilną pracę, ułatwić debugowanie lub poprawić niezawodność? Każda wskazówka będzie na wagę złota!

Dziękuję z góry za wszelką pomoc i uwagi!

Pozdrawiam,


image.thumb.png.d0a65703de57d8126a9cba74caa010e0.png

Edytowano przez startrek1p2p
Doprecyzowanie informacji
(edytowany)
31 minut temu, _LM_ napisał:

Popraw połączenia przy stabilizatorze 5/3.3V

Faktycznie przeoczyłem i mega głupi błąd 😅
 

26 minut temu, H1M4W4R1 napisał:

Brak podanej pojemności kondensatora, więc nie wiem czy kondensatory są dobrze dobrane

z tego co widzę wartości są podane.
 

26 minut temu, H1M4W4R1 napisał:

Gdzie rezystor 120R dla pary różnicowej RS485?

Jest on w module, jest lepiej mimo to go dodać ? 

Edytowano przez startrek1p2p
literówka
(edytowany)
15 minut temu, startrek1p2p napisał:

z tego co widzę wartości są podane.

Tfu... chodziło o pojemność kwarcu xD

15 minut temu, startrek1p2p napisał:

Jest on w module

Rezystor musi być po obu stronach pary różnicowej (na krańcach magistrali).

Edytowano przez H1M4W4R1
  • Lubię! 1

oto poprawiony schemat
image.thumb.png.b9ee41c7479e9db1193b91feded752f4.png
 

1 godzinę temu, H1M4W4R1 napisał:

Tfu... chodziło o pojemność kwarcu xD

Rezystor musi być po obu stronach pary różnicowej (na krańcach magistrali).

Dodałem miedzy piny MAX485 A - B rezystor 120R, znalazłem i dopisałem pojemność kwarcu, w tym przypadku 16pF.

 

25 minut temu, _LM_ napisał:

Ja bym jeszcze połączył de/re aby nie odcinać sobie możliwości transmisji dwukierunkowej

Podłączyłem RE z MAX485 do STM'a. Akurat był jeden niewykorzystany pin.


No i oczywiście poprawiłem swój największy błąd o polaryzacji 😛 

czy teraz jest jeszcze coś do poprawy ? czy zabierać sie za robienie PCB ? 🙂 

17 minut temu, startrek1p2p napisał:

czy teraz jest jeszcze coś do poprawy ?

Zastanów się jeszcze trochę nad stabilizatorem... Tak dość mocno, szczególnie przy VIN i VOUT oraz ich napięciach...

Kondensatory powinny być OK, osobiście raczej bym dał 22pF, ale to kwestia preferencji.

Do debouncingu polecam ten schemat, R1 = ~10*R2, w przypadku NRST R1 jest wbudowane w mikrokontroler, R2 = 1K powinien być OK 😉 

image.thumb.png.802963bd4027c55bbbdd82ababbf2293.png

  • Lubię! 1
(edytowany)

DE/RE połącz razem i takie coś podłącz na jeden wolny GPIO, wiesz po co są te piny? Poza tym poprawiony stabilizator nadal ma błędy, podajesz 3.3V a wychodzi 5V?. Te potencjometry na wejściach analogowych.. Jaki rząd wartości? Co się stanie kiedy ich tam nie będzie, pływające wejścia to kłopoty 😉

Edytowano przez _LM_
  • Lubię! 1
(edytowany)
1 godzinę temu, _LM_ napisał:

DE/RE połącz razem i takie coś podłącz na jeden wolny GPIO, wiesz po co są te piny? Poza tym poprawiony stabilizator nadal ma błędy, podajesz 3.3V a wychodzi 5V?. Te potencjometry na wejściach analogowych.. Jaki rząd wartości? Co się stanie kiedy ich tam nie będzie, pływające wejścia to kłopoty 😉

DE - Data Enable - jeżeli w stanie wysokim - możliwe nadawanie na magistrale RS485, jeżeli w stanie niskim - nadawanie zablokowane
RE - Read Enable - jeżeli w stanie niskim to odbiór z magistrali RS485 możliwy.

One są połączone negacją wiec jeżeli jeden jest wysoki to drugi ma stan niski. Stwierdziłem, że jeden pin bedzie do sterowania, a drugi do "upewnienia sie" czy moduł został przełączony. przynajmniej tak sobie wymyśliłem. 

Odnośnie do potencjomentrów, faktycznie jeżeli jeden będzie zepsuty to zacznie sie zabawa 😛 wstępnie mają być liniowe 10K, dodam dla pewnośći rezystor 1M miedzy pin   a GND
 

1 godzinę temu, H1M4W4R1 napisał:

Zastanów się jeszcze trochę nad stabilizatorem... Tak dość mocno, szczególnie przy VIN i VOUT oraz ich napięciach...

załączyłem złe zdjęcie 😅 

image.thumb.png.77b6b57cb57559e337eb86ae87747c99.png

Edytowano przez startrek1p2p
Przed chwilą, startrek1p2p napisał:

chyba, że coś źle zrobiłem 

Inaczej nie zwrócił bym uwagi na to. Przyjrzyj się 😉

  • Lubię! 1

faktycznie poprawiłem i teraz wygląda (według mnie 😛 ) dobrze 
image.png.0bb6867a7d75b42fe2a8f61ad6c00467.png

o ile dobrze zrozumiałem wtedy kondensator mógł wzbudzać niepotrzebnie kilka razy stan czyli wręcz odwrotność którą ja chciałem 😉 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...