YoMan Napisano Wrzesień 25, 2024 Udostępnij Napisano Wrzesień 25, 2024 Mam zbudowany układ radiowy na baterię oparty o Attiny. Z racji, że walczę o każdą µAh to usypiam procka i chciałem uśpić również peryferia czyli moduł radiowy HC12 i sensor wilgotności (sygnał analog). Na początku dałem tranzystor sterowany pinem procka i działało OK ale z racji, że tranzystor obniża napięcie to układ przestawał pracować mniej więcej w połowie baterii, w okolicach 3,6-3,7V. Więc zastąpiłem mosfetem N irlml6244. Sprawdziłem go najpierw na krótko podając VCC na bramkę (z pulldownem 10k do GND)-> testowa dioda się zapalała i gasła. Nieco dziwnie zachowywał się wiatraczek 5v podłączony w miejsce diody ponieważ po odpięciu VCC od bramki i zatrzymaniu się zdarzało mu się drgać czyli jakieś małe prądy tam się pojawiały. Przeniosłem to do Attiny i steruję pinem w stanie wysokim. Dioda również zapala się i gaśnie-> wszystko OK. Cuda się zaczynają po podpięciu peryferiów (nieważne czy radio czy sensor czy oba). Przy wybudzaniu procek się restartuje za każdym razem, podpięcie/wypięcie peryferiów w trakcie pracy powoduje reset lub zwiechę, zwykle uwala też komunikację na serialu (muszę odpinać programator i ponownie podłączać). Na module HC12 w momencie, kiedy mosfet powinien być zamknięty pojawia się napięcie -0,5V czyli jakiś mały prąd w przeciwnym kierunku. Nie wiem co się tam dzieje i dlaczego i nie mogę z tym ruszyć dalej. Pin ustalam standardowym digitalWrite(10,HIGH/LOW), nie ustawiałem pullupu na nim. Z elektroniki jestem na poziomie podstawowym niemniej jeżeli ktoś mógłby wskazać potencjalną przyczynę problemu lub sposób zdiagnozowania byłbym wdzięczny. Po prostu nie wiem w jakim kierunku szukać.
jand Wrzesień 25, 2024 Udostępnij Wrzesień 25, 2024 (edytowany) Odłączanie masy od czujników (przy wysterowanych wejściach) nie jest dobrym rozwiązaniem; trzeba odłączać napięcie Vcc (tranzystorem z kanałem P). Edytowano Wrzesień 25, 2024 przez jand 2
jand Wrzesień 25, 2024 Udostępnij Wrzesień 25, 2024 Tak, sam takie używam. Nie zapomnij o oporniku (kilka kilo) pomiędzy źródłem a bramką. I tak na wszelki wypadek - włączanie tranzystora odbywa się stanem niskim, trzeba zmieniać i program. 1
YoMan Wrzesień 25, 2024 Autor tematu Udostępnij Wrzesień 25, 2024 OK. Czyli reasumując: zmiana mosfeta na P (irlml2244 - ?) Zmiana schematu na odłączanie VCC dodanie opornika S-G Zmiana szkicu na załączanie digitalWrite(10,LOW); a. Opornik pomiędzy S i G będzie działał jak pullup. Czyli na pewno opornik do gnd do usunięcia i pytanie czy potrzebny skoro mogę włączyc pullup programowy (wszystkie piny mam w sofcie podciągnięte, żeby nie tracił energii przez floating pins)? b. Czy opornik do G typu 1k zostawić? Czy nie ma znaczenia? (Poprawiony schemat)
jand Wrzesień 25, 2024 Udostępnij Wrzesień 25, 2024 (edytowany) ad a) Tak, to pull-up, ale lepiej by był to opornik zewnętrzny. Gdyby się okazało, że w stanie wysokim na bramce tranzystor się w pełni nie wyłącza, to trzeba będzie zmniejszyć jego wartość. ad b) Niech zostanie. Edytowano Wrzesień 25, 2024 przez jand
YoMan Wrzesień 26, 2024 Autor tematu Udostępnij Wrzesień 26, 2024 Zanim dotarły do mnie nowe mosfety to grzebałem trochę i ... znalazło się rozwiązanie, które chyba leczy skutek bardziej niż przyczynę ale ... działa. Pomogło wstawienie diody LED na pinie włączającym zasilanie peryferiów. Z jednej strony zabezpiecza przed "powrotnym" prądem, który to (na to wychodzi) był przyczyną resetów i zawieszania się układu a dodatkowo daje informację, kiedy zasilanie jest włączone. 1
Pomocna odpowiedź
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ę »