Vraag


Acties:
  • 0 Henk 'm!

  • vicmortelmans
  • Registratie: Januari 2019
  • Laatst online: 27-10-2020
Hallo,

Mijn Raspberry Pi-project is een livestream-setup. De livestream is geimplementeerd als een systemd-service, dus die loopt continu, zolang de Pi aan staat. De bediening zou heel eenvoudig moeten zijn, zodat iedereen de livestream kan starten en stoppen. De stroom is niet altijd aan: wanneer de ruimte niet gebruikt wordt, is de stroomvoorziening volledig afgesloten. Ik wil niet dat de Pi elke keer opstart wanneer iemand de stroom aanzet. Ook belangrijk: de Pi is opgesteld op een onbereikbare plaats, dus de start/stop-bediening bevindt zich in een apart bedieningsdoosje.

Hier volgt de setup die ik heb getest.

1/ ik gebruik de gpio-shutdown overlay om een shutdown van de Pi te triggere met een drukknop.
2/ ik gebruik de gpio-poweroff overlay om de stroomvoorziening van de Pi af te sluiten met een relais en terug op te starten met een drukknop die parallel met het relais is geschakeld.

Het schema is als volgt:
Afbeeldingslocatie: https://tweakers.net/i/p9czmh6ykVmyH7vK4XBr9eXGiSk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/ZRnuFlk5HClNx8G1lBCUv7vl.png?f=user_large

Dit is het relais dat ik gebruik:
Afbeeldingslocatie: https://tweakers.net/i/0d2BcoNVZ20SHren2jhjZul8_C0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/gS08dqaRuY9M1sasHG5eiabS.png?f=user_large

In /boot/config.txt heb ik het volgende toegevoegd:

code:
1
2
dtoverlay=gpio-poweroff,active_low=1,gpiopin=6
dtoverlay=gpio-shutdown,active_low=0,gpio_pull=down,gpio_pin=21


De gpio-shutdown overlay werkt goed: als ik de knop indruk, sluit de Pi zichzelf af. Merk op dat ik ervoor gekozen heb de invoerlijn op 0V te zetten en voor de vaste lijn 3.3V gebruik, die ik ook gebruik om het relais te voeden.

De gpio-poweroff brengt me in verwarring. Zonder het relais aangesloten, werkt het als verwacht: GPIO6 staat op 3.3V bij opstarten (net als alle pins GPIO1-8) en gaat naar 0V wanneer de shutdown gedaan is. Met het relais aangelsoten, meet ik op GPIO6:

1/ bij opstarten 0.6V (ik verwachtte 3.3V, 0.6V is niet genoeg om het relais te schakelen, dus moet ik de drukknop ingedrukt houden opdat de Pi stroom behoudt)

2/ ~15s na opstarten, gaat GPIO6 naar 3.3V, waarbij het relais schakelt. Ik zou verwachten dat ik daarna de knop kan loslaten, omdat het relais nu stroom doorlaat, maar als ik dat doe slaat het relais na 1s af (hoewel het nog steeds 3.3V op de signaallijn ontvangt) en verliest de Pi stroomtoevoer.

Volgens de specs zou het relais max 50mA mogen trekken, wat naar ik lees OK zou zijn voor de 3.3V-bus van de Pi. Ik ga ervan uit dat de signaallijn ook niet veel trekt. Waar zou het probleem in mijn setup kunnen zitten?

Het diagram toont ook een led op de signaallijn. Het gedrag is hetzelfde als ik die verwijder.

Kan iemand met meer electronicainzicht me verder helpen?

Bestaan er misschien geintegreerde oplossingen die hetzelfde doen?

Bedankt!
Vic

Alle reacties


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 11:21

SA007

Moderator Tweaking
Denk dat die 3.3V die je meet tijdens het opstarten komt van een zwakke pull-up weerstand en dat hij niet actief naar 3.3v gestuurd wordt.
De transistor op je relaisbord trekt 'm dan naar 0.6V maar er gaat niet genoeg stroom lopen om het relais te schakelen.

Wellicht dat je beter een latching relay kan gebruiken (of een flipflop ervoor) die stuur je actief hoog en laag en zal daarom geen last hebben dat je Pi eerst helemaal moet opstarten voordat je gpio's gaan doen wat je wil.

Acties:
  • 0 Henk 'm!

  • vicmortelmans
  • Registratie: Januari 2019
  • Laatst online: 27-10-2020
SA007 schreef op donderdag 9 juli 2020 @ 09:29:
Denk dat die 3.3V die je meet tijdens het opstarten komt van een zwakke pull-up weerstand en dat hij niet actief naar 3.3v gestuurd wordt.
De transistor op je relaisbord trekt 'm dan naar 0.6V maar er gaat niet genoeg stroom lopen om het relais te schakelen.
OK. Dan begrijp ik ook beter wat ik mat wanneer ik GPIO2 nam ipv GPIO6. Daar met ik 1.6V bij opstarten ipv 0.6V. GPIO2 heeft een externe pull-up naar 3.3V, die wellicht iets sterker is dan de interne pull-up van GPIO6.

Wat ik zou nodig hebben is een 3.3V signaal op een GPIO bij opstart, maar dat is dus geen optie, begrijp ik?
Wellicht dat je beter een latching relay kan gebruiken (of een flipflop ervoor) die stuur je actief hoog en laag en zal daarom geen last hebben dat je Pi eerst helemaal moet opstarten voordat je gpio's gaan doen wat je wil.
Dat heb ik overwogen, maar ik ben bang dat de relay blijft aanstaan als de Pi niet correct wordt afgesloten, en dan gaat de Pi elke keer opstarten als iemand de stroom aanzet (en de livestream opstarten) en ---erger nog--- een hard shutdown krijgen als de stroom terug afgaat.

Groeten,
Vic

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 11:21

SA007

Moderator Tweaking
Hmm, dat is wel inderdaad wel een nadeel van een latching relay.

Wellicht een andere aanpak, het relais direct aan de 3.3v van de raspi hangen, met het NC contact van een tweede relais in serie en dan de raspi dan relais 'in' laten schakelen waardoor de netspanning dan wegvalt.

Dan blijft het relais aan tot de raspi zichzelf bewust uitzet, ipv dat hij zichzelf aanhoudt.