Wpis z mikrobloga

Hej dzisiaj kolejne pytanie - zacząłem przenosić projekt z płytki prototypowej na uniwersalną płytkę drukowaną i co chwile pojawiają się jakieś problemy. Ale do rzeczy - mam sensor - kontraktron. W momencie kiedy przyłoży się do niego tą drugą część, obwód się zamyka i powinien się zmienić stan na gpio.

Zmienia się i owszem problem w tym, że wygląda jakby tam był straszny bałagan, zmiana stanu na sensorze wykrywana jest jakby wydarzyła się kilka razy - debouncing - znam problem, w kodzie jest to uwzględnione, poza tym dlatego też zastosowałem filtrowanie na GPIO, które widać na schemacie.
PB1 - jest to GPIO Rpi, które jest zasilane osobym zasilaczem. Dodatkowo do płytki dołączone jest 12V, które za pomocą przetwornicy zbijane jest do 3.3V. Masy są wspólne.

Co ciekawsze - jeżeli do czujnika zamiast 3.3V idącego z przetwonicy, podpenę 3.3V idące z RPI, problem znika, nagle mam dokładnie jedno przerwanie (tak jak to działało na płytce prototypowej, tam nie miałem żadnych problemów, ale 3.3V na czujniki szło z RPI, nie z przetwornicy).

Czy ktoś ma pomysł co tutaj może być nie tak? Wygląda jakby przy podawaniu 3.3V z przetwornicy na GPIO, przy zmiane stanu na sensorze (zamknięcie obwodu) pojawiały się straszne szumy. Przy podawaniu 3.3V bezpośrednio z RPI problem znika.

#elektronika
Pobierz bielu000 - Hej dzisiaj kolejne pytanie - zacząłem przenosić projekt z płytki prototyp...
źródło: comment_1624860117JMKb1B9F2C4A2H7O3e6Ix5.jpg
  • 15
@bielu000: Eh póki co nie ma co się spieszyć z podpowiedziami bo i tak nie sprawdzę. Przez przypadek zwarłem, któryś PIN Rpi do 12V, dioda z płytki zgasła i już nie wstaje, grzeje się w okolicach zasilania więc pewnie uwaliłem.

Aczkolwiek sam problem, który opisałem wyżej jest dość dziwny.
Co ciekawsze - jeżeli do czujnika zamiast 3.3V idącego z przetwonicy, podpenę 3.3V idące z RPI, problem znika,


@bielu000: więc tu szukaj przyczyny. Albo twoje zasilanie z przetwornicy sieje jak głupie (brak kondensatorów filtrujących) albo masy jednak nie są połączone.
Po drugie - na grzyba w ogóle robisz to podciąganie rezystorem, w dodatku do innego zasilania, niż jest zasilany procek? Przecież pullupa się robi programowo, wystarczy i będzie pozbawiony tego typu
@Jarek_P: Jak według Ciebie miałby wyglądać schemat podłaczenia tego sensora? Rozwiązanie wziałem to od Kardasia gdzie twierdził, że według niego to "najlepszy" sposób na filtrowanie digital input-u.
@bielu000: jeśli kontaktron jest blisko RPi, na niezbyt długim przewodzie, to po prostu go podłącz między port a masę, włącz programowo na porcie INPUT_PULLUP i na wszelki wypadek równolegle z kontaktronem możesz co najwyżej ten kondensator 100nF zostawić.
Jeśli kontaktron jest daleko, np. na kilkunastu metrach przewodu, jeszcze idącego gdzieś w wiązkach z innymi instalacjami, to w tym momencie obowiązkowo jeszcze zabezpieczenia przed przepięciami (schemat) albo wręcz optoizolacja.
Pobierz JarekP - @bielu000: jeśli kontaktron jest blisko RPi, na niezbyt długim przewodzie, t...
źródło: comment_1624864630gqqG4vejXKz87eG8GWz1rB.jpg
@Jarek_P: Czy ja dobrze rozumiem, że w takim razie miałbym wywalić całkowicie połączenie przez rezystor 10k? W takim razie o co temu Kardasiowi chodziło, bo w takim razie całkowicie niepotrzebne wrzuciłem na płytkę przetownice - ona była tylko do tych kontaktronów.... Odległość to max 1,5m.
@Jarek_P: Jak tylko znajdę to Ci podrzucę, bo ten filmik to miał jakąś taką dziwną nazwę nie związaną z tematem, ale w filmiku właśnie wszedł na temat drgań styków. Poszukam i wrzucę.

A co do schematu - bo generalnie chyba nie do końca Cię rozumiem - w sensie nie do końca wiem co do czego mam podpiać, co najciekawsze to jest ostatnia część schematu, która wydawała mi się, że będzie najprostsza
@Jarek_P: Tak teraz jasne, w poprzednim poście zrozumiałem, że ten 10K ma zostac, co się kłóciło z wywaleniem tej linii 3.3V, teraz jasne. Niestety Raspbbery spalone, ale do czasu aż przyjdzie następne to przetestuje to na STM.
@Jarek_P: Jeszcze jedno czy odległość pomiędzy sensorem a GPIO ma znaczenie? Tj. załóżmy, że zamiast PB1 na obrazku, PB1 jest w odległości 20cm. Czy tranzystor oraz rezystor powinien być jak najbliżej pinu?
@bielu000: przy takich odległościach nie ma to żadnego znaczenia. Przy większych, rzędu kilku metrów kondensator i rezystor daj blisko pinu, a przed nimi diody tak, jak na obrazku wyżej (dla jednego portu będą to dwie diody, tam na schemacie są dwa porty uwzględnione). A jeśli to mają być naprawdę długie linie idące wraz z innymi instalacjami, dodałbym separację na transoptorach.
@Jarek_P: Mam jeszcze jedno pytanie, bo kończę układ i dla pewności dodałbym jeszcze te diody.
Na płytce jest tylko linia 12V, po której płynie prąd z natężeniem nawet 1,5A. Czy mogę tą diodę (1N4004 max 1A) idącą od sensora podpiąc bezpiecznie do tej linii?

Parametr odnosi się do maksymalnego prądu przewodzenia, a nie ma opcji aby od strony sensora taki prąd mógł płynąć, zastanawiam się czy jednak prąd płynący przez linię
Pobierz bielu000 - @Jarek_P: Mam jeszcze jedno pytanie, bo kończę układ i dla pewności dodałb...
źródło: comment_1627318028ZkzY4XedksNTe4tmJNsU1G.jpg
@bielu000: ta dioda ma zabezpieczać procesor przed przepięciami, ona normalnie nic nie robi, żaden prąd przez nią nie płynie. Idea jest taka, że jak w linii pojawi się przepięcie ponad napięcie zasilania procesora, to ono zostanie przepuszczone przez diodę, a port procesora nigdy nie dostanie strzała wyższego, niż Vcc.
Gdy podłączysz te diody pod 12V, to wszystko będzie działać i nic złego się nie będzie działo, ale ochrona będzie gorsza, bo