Hoi,
Ik wil stroom te besparen in een circuit waarbij een HC-SR04 ultrasonic sensor aangesloten zit op een Attiny861 uc. Ik probeer dit te bereiken door de sensor helemaal uit te schakelen wanneer deze niet in gebruik is.
Ik heb dit gedaan door een NPN transistor te plaatsen op de low-side van de sensor (tussen GND pin en GND) - zie bijlage voor dit gedeelte van het schema. (Ik gebruik een Nexperia MMBT3904,215).
Zodra ik dit doe, zie ik echter dat er alsnog 2.4mA stroom loopt, terwijl de NPN base low is (ik meet op de +5V pin van de sensor). Nu ben ik er achter gekomen dat er stroom wegloopt via de trigger pin op de sensor. Deze zit aangesloten op de Attiny welke mode output heeft en low staat, dus deze sinked stroom.
Zodra ik de trigger pin los haal, dan zie ik dat er nog maar 0.003uA loopt. Dus de NPN werkt. Ik zie dezelfde lage stroom over de +5V naar de sensor lopen zodra ik de trigger op high zet. Maar dat is geen oplossing.
Kunnen jullie mij iets aanraden hiervoor ? Ik zat te denken om ipv NPN een PNP te doen op de high-side. Maar dat wordt dan misschien weer lastig om high te houden zodra ik de Attiny in sleep mode wil brengen ? (geen idee, moet dat gedeelte nog doen).
Ik zat ook te denken om een diode te plaatsen tussen uc en trigger pin zodat er geen stroom terug kan lopen ? (met aanname dat de hc-sr04 zelf al een pulldown heeft naar zijn gnd ? zo niet kan ik dat zelf doen naar de gnd die ik in en uit kan schakelen) Is dat iets ?
Of zou het in software op te lossen zijn ? ik gebruik AVR-Libc, is het niet mogelijk om bij high wel +5v te geven en bij low te laten floaten ? (ik zie in de datasheet voor de uc dat bij oputput (sectie 10.1.3, pag 57) dat bij mode output niks ingesteld kan worden wat dat betreft (PUD in MCUCR).
(update paar minuten later: ik zie nu dat als ik de pin op DDR input PORT 0 zet, dan is'ie tri-state, dus floating (?) dan zie meet ik ook de lage stroom.. Maar is dat de oplossing dan ? De hele tijd switchen tussen DDR input en output?)
Ik hoop dat iemand me wat verder kan helpen!
Alvast bedankt,
Leon