Vraag


  • 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:


Dit is het relais dat ik gebruik:


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


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 19:26

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.

Klok is stuk :(


  • 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

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 19:26

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.

Klok is stuk :(




Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers is samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer onderdeel van DPG Media B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee