Pi Zero aan/uitschakelen met een Arduino


Of het netjes is om een microcontroller zo plomp uit te zetten daargelaten, met een mosfet kan prima.
Weerstand hoef je jezelf niet zo druk over te maken bij zulke kleine stromen. (die is bij de gemiddelde powerfet < 0.1Ω)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Als je een transistor netjes in verzadiging stuurt, dan is de spanningsval ongeveer 0.2V. De pi doet het prima op een spanning tussen 3.5 en 5V, dus zo heel nauw komt dat niet. Maar de pi geeft de ingangsspanning door naar diverse verbruikers, en DIE kunnen kieskeuriger zijn....

Die 500mA transistoren, zijn m.i. te slap. Bij het aanzetten zal je wat condensatoren op de pi moeten opladen, de hoeveelheid stroom die dat kost is lastig te schatten. Kans dat je boven de 500mA komt is aanwezig.

Ik heb hier P-fetjes liggen: SI2365. Die hebben een RDSON van zo'n 30-40mOhm. Laten we rekenen met 40. Loopt er nu 0.2A, dan krijg je een spanningsval over de mosfet van 8mV. 0.008V. Toch behoorlijk beter dan de transistor met 0.2V.

Die weerstand van de mosfet kan je nog wat varieren. Maar dan moet je wel een beetje je best doen. Van een mosfet geven ze de threshold spanning op. Ga je dicht bij die spanning zitten met de aansturing is de weerstand afhankelijk van de spanning. Maar ga je er ruim boven zitten, dan 1) wordt de weerstand zo weinig dat je er eigenlijk geen rekening mee hoeft te houden. en 2) Verandert ie nog maar weinig met de spanning.

In theorie kan je met een N-fet of NPN transistor de MIN van de pi schakelen. Maar dan komen alle draden van de pi op 5V te zitten als ie uitstaat. Dat kan voor verrassingen zorgen, als je de pi nog ergens anders aan hebt hangen. Worst case, gaat ie bijvoorbeeld zichzelf proberen te voeden via een GPIO poort en blaasje daarmee de CPU op.... Ik zou JOU aanraden om het jezelf makkelijker te maken en een P-fet of eventueel een PNP transistor te nemen om de plus te schakelen.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Ik ben in eenzelfde potje aan het roeren, alleen gaat het mij over een "volle" Raspberry en is er ook nog een scherm(pje) te voeden. Ik heb er trouwens een draadje over gestart, enkele weken geleden.

Mede dank zij de inbreng van dit geweldige forum heb ik totnogtoe:
* 18650 batterij
* wordt geladen uit boordnet via twee Chinese printjes - een LM2577 step-down regelaar die 5V= maakt en een USB-ladertje voor de Li-Ion
* een P-channel MOSFET die de uitgang van de Li-Ion schakelt
* twee step-upregelaars die resp. 5V= maken voor de raspi en 12V= voor het scherm
* een Arduino Nano om de MosFet te sturen, de batterijspanning te meten, een drukknop in te lezen, en met de Raspi te communiceren. De Arduino wordt gevoed uit de eerste 5V=, dus de zaak kan enkel ingeschakeld worden als er boordspanning is. Dat is ook precies de bedoeling in mijn geval. Maar als de boordspanning wegvalt kan de zaak nog wel blijven draaien tot de batterij leeg is.

Dat is nog allemaal erg vaag, ik heb van mijn leven nog geen Nano of andere Arduino van dichtbij gezien dus ik moet nog beginnen met dat te leren.

PS het voorbehoud dat Arco maakt is zeer terecht: ik heb al filesystems gecrasht van de Raspbian door de boel bruutweg plat te gooien. Er schijnen wel alternieve o/s'en te bestaan die daar beter tegen kunnen.

PPSS kun je niet je schakelaar vóór je spanningsregelaar zetten? Dan heb je geen omkijks meer naar de spanning over je schakelaar.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Voorzie zeker een GPIO pin die de raspberry een "sudo shutdown" laat doen. Daarna pas de spanning eraf (na een wachttijd om zeker te zijn dat de pi niet meer naar de SD kaart schrijft).

Akkoord met die GPIO-pin; maar na het activeren van deze "ga jij nu maar lekker slapen" hoeft de voeding alleen maar te wachten tot de Raspi zijn power-led heeft uitgedaan.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Ik heb ook een hoopje RPI's, geen Zero's, in een zelfbouwproject. 48 Stuks. Sorry 49 :-) , er is er 1 die als 'supervisor' dient en die ook de communicatie verzorgd met mijn thuisnetwerk.Dit project dient als 'studieobject', parallel/distributed computing.

Ik heb deze verdeeld in 4 groepen van 12 met ieder een zelfgebouwd 'Stonith' device. Lelijke naam, 'Shoot The Other Node In The Head', het klinkt ook een beetje als 'Stone it', stenig het ding als het niet (meer) luistert.

De supervisor gaat via een 4 poorts usb hub naar 4 Stonith devices waar op ieder bord een Arduino Micro zit (met USB connector). Deze stuurt 12 relais die ieder een RPI sturen. In de voedingslijnen naar de RPI's zitten ook meetweerstanden, kan ik de stroom in't oog houden, en een paar DS18S20 temperatuur sensors.

Ik gebruik als OS een uitgeklede versie van Linux, PICore, er zijn verschillende mini Linux'en te vinden op het net. Hier word het volledige OS in het geheugen geladen en kan je evt. de SD kaart uitschakelen (unmounten). Dus geen probleem met corrupte kaartjes als er wat gebeurd met de voedingsspanning.

SD kaart uitschakelen kan ook met de 'standaard' OS'en zoals Raspbian maar dan moet je wat dir's aanmaken in ram om tijdelijke opslag naar daar te verwijzen in plaats van 'harde schijf' annex SD kaart.

Relais zijn simpel en goedkoop :-)

Groetjes,
eSe

I am an expert of electricity. My father occupied the chair of applied electricity at the state prison.

er bestaat ook zoiets als de sleepy pi maar dan voor één PI

Wow, veel antwoorden op zo'n korte tijd! Bedankt!

Eerst en vooral: de Pi zomaar zonder stroom zetten ben ik niet van plan. Mijn doel is een cluster te bouwen, gecontroleerd door een Arduino Nano. De Arduino start de Pi, de Pi "pingt" de Arduino regelmatig en sluit zichzelf af, waarna de Arduino er de stroom pas af haalt. En dit voor 5 Pi Zeros dus.

Op 16 november 2017 17:45:52 schreef rew:
(...)Maar de pi geeft de ingangsspanning door naar diverse verbruikers, en DIE kunnen kieskeuriger zijn...

Elke Pi heeft maar één "verbruiker", een puls naar de Arduino, dus daar voorzie ik geen problemen. Maar idd wel iets om in het achterhoofd te houden!

Op 16 november 2017 17:45:52 schreef rew:
Die 500mA transistoren, zijn m.i. te slap. Bij het aanzetten zal je wat condensatoren op de pi moeten opladen, de hoeveelheid stroom die dat kost is lastig te schatten. Kans dat je boven de 500mA komt is aanwezig.

Ik dacht gevonden te hebben dat de maximale stroom rond de 200mA lag, en bij boot zo rond de 185mA max. Maar ik ga denk ik toch werken met MOSFETs, lijkt me handiger.

Op 16 november 2017 17:45:52 schreef rew:
Ik heb hier P-fetjes liggen: SI2365. Die hebben een RDSON van zo'n 30-40mOhm. Laten we rekenen met 40. Loopt er nu 0.2A, dan krijg je een spanningsval over de mosfet van 8mV. 0.008V. Toch behoorlijk beter dan de transistor met 0.2V.

Bij Conrad vond ik nergens die SI2365, en de enkele MOSFETs die ik hier heb zijn N-Channels van een Arduino starter pack. Zou deze MOSFET eventueel geschikt zijn? De RDSON is 200mOhm, dus zit ik op 40mV. Da's nog steeds 5x beter dan de transistor...

Verder heb ik nog een vraag ivm P-Channel of N-Channel. Als ik de P-Channel MOSFET aansluit zoals hieronder (waarbij de schakelaar eigenlijk de pin van de Arduino voorstelt), wil dat toch zeggen dat ik de Pi AAN zet als de pin 0V geeft, en UIT als de pin 5V geeft. Dat is wel een probleem, want bij het opstarten van de Arduino zijn de pins 0V, dus zou de Pi opstarten (wat pas mag als er op een knop gedrukt werd)...
http://www.bodicker.be/images/arduino/p-channel.jpg

Bij een N-Channel zit ik dan weer met het probleem dat de Pi-en-draden zoals je zegt op 5V staan als deze af staat, wat ook niet de bedoeling is.

Op 16 november 2017 19:30:34 schreef eSe:
Ik heb ook een hoopje RPI's, geen Zero's, in een zelfbouwproject. 48 Stuks. Sorry 49 :-) , er is er 1 die als 'supervisor' dient en die ook de communicatie verzorgd met mijn thuisnetwerk.Dit project dient als 'studieobject', parallel/distributed computing.

Ah, een collega :) Mijn project(je) is gelijkaardig, alleen is het de bedoeling om naast de hardware ook de software te doen en een platform voor clustersoftware te schrijven... in de verre toekomst.

Op 16 november 2017 19:30:34 schreef eSe:
Ik heb deze verdeeld in 4 groepen van 12 met ieder een zelfgebouwd 'Stonith' device. Lelijke naam, 'Shoot The Other Node In The Head', het klinkt ook een beetje als 'Stone it', stenig het ding als het niet (meer) luistert.

De naam vind ik zo lelijk nog niet, goed gevonden eerder - overigens vind ik die cluster van je er prachtig uit zien!

Misschien dat ik ook best gewoon naar relais grijp... maar ook daar zit ik met een vraag. Onderstaand schema toont hoe ik de relais wou aansturen (gevonden via Google), maar (veel) andere schemas plaatsen nog een extra optocoupler tussen de Arduino en de transistor. Is deze nodig (rekening houdende dat alles vanuit dezelfde supply gevoed zal worden)?
http://www.bodicker.be/images/arduino/arduino-relais.jpg

Zou je me het type van jouw relais even kunnen geven? Op de foto zie ik het niet helemaal duidelijk, ik denk dat het deze zijn van Tianbo, maar ben niet zeker.

Nogmaals bedankt iedereen!!

Marlon

Een mosfet met 200mΩ is nogal beroerd voor hedendaagse begrippen...
Voor een paar dubbeltjes heb je een 'echte'...: http://nl.farnell.com/infineon/irfml8244trpbf/mosfet-n-ch-25...dp/1857298
Blijft wel dat botweg uitzetten nogal lomp is (je rijdt met je auto toch ook niet tegen een boom als je wilt stoppen? :) ). Beter netjes een shutdown doen.

[Bericht gewijzigd door Arco op 16 november 2017 23:20:16 (14%)]

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Op 16 november 2017 23:18:25 schreef Arco:
Een mosfet met 200mΩ is nogal beroerd voor hedendaagse begrippen...
Voor een paar dubbeltjes heb je een 'echte'...: http://nl.farnell.com/infineon/irfml8244trpbf/mosfet-n-ch-25...dp/1857298
Blijft wel dat botweg uitzetten nogal lomp is (je rijdt met je auto toch ook niet tegen een boom als je wilt stoppen? :) ). Beter netjes een shutdown doen.

Bedankt voor de suggestie - wel jammer dat ze er maar 25.778 op voorraad hebben :)

Is er een through-hole tegenhanger voor deze?

Wat die shutdown betreft: die gebeurt ook. De Pi sluit zichzelf af, waardoor de puls (komende van de Pi naar de Arduino) niet meer gestuurd zal worden. Enige tijd later sluit de Arduino de stroom af, maar dan is de Pi al lang mooi afgesloten.

Bedankt!

Marlon

Ik heb een printje die met de genoemde SI2365 de pi voedt. En ik heb dan een "zet me uit over vier seconden" die ik van de pi naar het print je stuur. Dat commando staat dan in het rc.d scriptje van "we gaan uit".

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

De naam vind ik zo lelijk nog niet, goed gevonden eerder - overigens vind ik die cluster van je er prachtig uit zien!

Ik heb de naam niet bedacht, kan je op't net vinden. En je kan ze kopen. Ik heb de mijne zelf gebouwd. Gewoon voor de fun :-)

Dank voor je compliment.

edit: Ook dit nog, in bijlage het type relais dat ik gebruikt heb. In de pdf zijn ze geel/oranje, bij mij zijn het zwarte. 'Standaard' print relais, 5V.

Groetjes,
eSe

[Bericht gewijzigd door eSe op 17 november 2017 00:15:25 (20%)]

I am an expert of electricity. My father occupied the chair of applied electricity at the state prison.

Even wat tussenliggende berichten gelezen.

De pins van de arduino beginnen NIET op nul volt. Ze beginnen als "niet aangesloten". "High impedance" heet dat. Zet je de multimeter er op dan zal het vast 0V aangeven, maar als je tussen de 5V en de pin meet, zal je ook 0V zien, en moeten concluderen dat de pin 5V is!

Een "pullup", een weerstandje tussen de gate en de voeding van de mosfet zal zorgen dat in zo'n geval de mosfet uit blijft.

Als je wilt, ik heb sot23-breakout bordjes en beide mosfets liggen. (P-fet: die SI en N-fet de IRML). Een SOT23 op een breakout bordje solderen is een klusje wat je zal doen inzien dat het helemaal niet zo ontzettend moeilijk is.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Ook dit nog :-) Omdat ik 12 analoge lijnen gebruik voor de stroommeting, 1 lijn voor de 1Wire interface en 2 voor de I2C interface heb ik niet genoeg poorten over om 12 relais te schakelen. Daarom zitten er ook nog 2 schuifregisters, 4094, die dan ieder een ULN2803 sturen. Door de open collector uitgangen van deze laatste loopt de spoelstroom van de relais.

Jij kan ook de ULN direct gebruiken aan de poorten van je Nano om zo je relais te schakelen. 't zijn er maar 5.

Groetjes,
eSe

I am an expert of electricity. My father occupied the chair of applied electricity at the state prison.

Dag iedereen,

De afgelopen dagen heb ik de drie methodes nog eens vergeleken en uitgeprobeerd. Met transistoren kreeg ik het aan de praat, maar de transistoren zelf werden redelijk warm (en ik heb maar niet gewacht tot ze heet werden). Een relais werkte prima, maar op mijn oscilloscoop zag ik behoorlijk wat contactgedender - met een condensator van 0.1µF tot 1µF verbeterde dat aanzienlijk, maar weg was het niet.

Dus kwam ik weer terug uit bij (P-channel) mosfets...

Op 17 november 2017 10:31:26 schreef rew:
Als je wilt, ik heb sot23-breakout bordjes en beide mosfets liggen. (P-fet: die SI en N-fet de IRML). Een SOT23 op een breakout bordje solderen is een klusje wat je zal doen inzien dat het helemaal niet zo ontzettend moeilijk is.

Heel erg bedankt voor het aanbod rew! Maar omdat ik nog wat andere dingen moet bestellen, zou ik ze toch graag zelf bestellen (om in totaal verzendingskosten te vermijden).

Via diverse artikels op internet heb ik de volgende P-channel mosfets zien voorbijkomen icm Arduino, maar ik weet niet welke het beste geschikt zou zijn in dit geval. Het zijn:

Kan je me één van deze aanraden? En als er een duidelijke "winnaar" in zit, waarom net die? Ik weet namelijk nog niet zo goed waar op te letten bij mosfets...

Op 17 november 2017 17:31:50 schreef eSe:
Jij kan ook de ULN direct gebruiken aan de poorten van je Nano om zo je relais te schakelen. 't zijn er maar 5.

Dat zou ik inderdaad kunnen doen - mijn status LEDs worden in elk geval aangestuurd via shiftregisters en een ULN2803. Aangezien ik daarmee genoeg pins over heb om elke Pi individueel aan te sturen, ga ik dat zo houden. Bedankt nog voor de PDFs!

Op 16 november 2017 17:59:58 schreef big_fat_mama:
PPSS kun je niet je schakelaar vóór je spanningsregelaar zetten? Dan heb je geen omkijks meer naar de spanning over je schakelaar.

Vorige keer nog vergeten hierop te antwoorden: als ik de schakelaar vóór de spanningsregelaar zou zetten, heb ik één spanningsregelaar per Pi nodig (aangezien ik ze individueel aan/uit wil kunnen zetten). Dat zou een beetje overkill zijn in dit geval.

Nogmaals bedankt iedereen!

Marlon

Effe snel: Op basis van de "samenvatting van de specs" door conrad (betrouwbaarheid: Laag) is alleen de NDP6020P geschikt.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 24 november 2017 00:11:08 schreef rew:
Effe snel: Op basis van de "samenvatting van de specs" door conrad (betrouwbaarheid: Laag) is alleen de NDP6020P geschikt.

Dankjewel voor de keuze - ik gok vanwege de referentiespanning uit de specs?

Marlon

als je de voedingsspanning opkrikt naar 5.2V, dan kan je met een transistor wel schakelen zodat de rpi nog steeds 5V heeft.
een arduino kan je ook perfect op 5V laten lopen als je de VCC 5V pin gebruikt ipv de Vin pin

die mosfets bestaan zelf als printjes maar ik heb ervoor gekozen om ze zelf te bouwen (meerdere samen op 1 printje)
https://i.ebayimg.com/images/g/tcwAAOSw-0xYY-5r/s-l300.jpg

ik hou van werken ..., ik kan er uren naar kijken

Een zware Nfet in de Ground aansluiting werkt prima.
Je moet dan wel de Ground of min aansluiting van de Pi onderbreken en hier de NFET tussen zetten.
met een 5volt signaal op de Gate zet je de NFET aan.

Guus@Sint-Michielsgestel

Op 24 november 2017 12:09:22 schreef Waters:
Een zware Nfet in de Ground aansluiting werkt prima.
Je moet dan wel de Ground of min aansluiting van de Pi onderbreken en hier de NFET tussen zetten.
met een 5volt signaal op de Gate zet je de NFET aan.

Maar dan ga je problemen krijgen met eventuele IO pinnen die gekoppeld zijn tussen de Pi en de Arduino.. Beter in de plus schakelen en de GND's gekoppeld houden..

Op 24 november 2017 12:28:05 schreef KGE:
Maar dan ga je problemen krijgen met eventuele IO pinnen die gekoppeld zijn tussen de Pi en de Arduino.. Beter in de plus schakelen en de GND's gekoppeld houden..

Daar had rew me al op gewezen - vandaar dat ik ook gekozen heb voor een oplossing met een P-channel mosfet. Stel dat ik zo'n Nfet zou gebruiken dan zou de Pi zelf nog steeds op 5V zitten, ook al staat hij uit. Dat lijkt me niet de bedoeling, zeker aangezien enkele GPIO pinnen gebruikt worden voor verdere communicatie.

Marlon

Het kan natuurlijk wel. Maar je moet dus wel uitkijken. Alle signalen NAAR de pi moeten ofwel tristated ofwel HOOG gemaakt worden.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Zou ik voor een dergelijke toepassing onderstaande P-channel MOSFETs durven gebruiken? 20V en 3,7A is wel ok maar verdere specs zijn niet gegeven; en ze zijn ZO goedkoop dat ik het niet goed durf te betrouwen... 6,08 € voor honderd MosFets, dat kan toch niet in orde zijn?

https://www.aliexpress.com/item/Free-shipping-100PCS-IRLML64...87801.html

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Op 7 december 2017 22:09:46 schreef big_fat_mama:
Zou ik voor een dergelijke toepassing onderstaande P-channel MOSFETs durven gebruiken? 20V en 3,7A is wel ok maar verdere specs zijn niet gegeven; en ze zijn ZO goedkoop dat ik het niet goed durf te betrouwen... 6,08 € voor honderd MosFets, dat kan toch niet in orde zijn?

https://www.aliexpress.com/item/Free-shipping-100PCS-IRLML64...87801.html

Dag big_fat_mama,

Over de specifieke mosfets kan ik zelf niet veel vertellen, maar naar mijn mening zou ik het niet doen (zie straks reden 1).

Zelf bestel ik erg veel uit China (bij Banggood, niet AliExpress), maar bij elke bestelling stel ik mezelf steeds de volgende vragen.

1. Hoe lang moet het mee gaan?
Wat weerstandjes, condensatoren, etc... om circuits te bouwen om bij te leren en te kijken hoe ze werken, daar wil ik geen fortuin in stoppen. Voor een appel en een ei heb je een hele verzameling allerlei spul voor handen, zodat je niet telkens opnieuw moet wachten op een bestelling. Maar als ik een project maak dat ik écht wil (blijven) gebruiken (zoals oa mijn cluster), dan heb ik toch de neiging die dingen lokaal te bestellen.

Ik neem aan dat, als je zelf ook zo'n cluster wilt bouwen, je er toch enige tijd plezier van wil hebben. Dat was ook de reden dat ik liever van de forumleden hier een aanbeveling van MOSFET kreeg, dan zelf te gokken bijvoorbeeld.

2. Hoe veilig moet het zijn?
Voor toestellen op netspanning of materiaal waar veiligheid belangrijk bij is, hou ik het zeker bij lokale winkels en bekende(re) merken. Ook probeer ik op voorhand reviews en teardowns te bekijken zodat je al een goed beeld hebt van wat je in huis haalt. Op zo'n dingen bespaar je best niet, is mijn mening. Niet alles is slecht, maar uit sommige van die teardowns blijkt toch dat er nog genoeg rotzooi te vinden valt.

3. Wat zijn de mogelijke gevolgen?
Als er een LEDje doorbrandt bij een testcircuitje, dan is dat jammer. Als door een slechte MOSFET je Arduino/Pi board in rook op gaat, is je spotgoedkope aankoop plots een dure aangelegenheid geworden.

Anderzijds zou je ze natuurlijk ook gewoon kunnen bestellen, testen, en indien nodig, alsnog "the real deal" bestellen. Heb je nog 99 MOSFETs over voor andere testjes mee te doen!

Enfin, da's mijn 0,02¥ :)

Marlon

Als ze echt zijn, dan kan het best kloppen. Bij een respectabele leverancier kosten ze ongeveer evenveel, maar dan alleen als je er 3000 koopt.

En dat is wat ze in china heel goedkoop doen: Opsplitsen en goedkoop versturen.

Dus... het gevaar is vooral dat iemand in china 0.1 cent onderdelen voor deze fetjes heeft herlabeld. MWah. Als je ze gewoon via aliexpress of Ebay koopt heb je je kopersbescherming en moet je ze maar binnen de tijd die er voor staat testen.

1) Dat ze "kort meegaan" als ze "ongeveer doen wat ze beloven" is onzin. Wel gewoon even 1A (of de helft) er doorheenjagen en de spanningsval meten. Je moet dan de RDSON kunnen uitrekenen. Is dat conform het datasheet zijn ze gewoon goed.

2) De vermogens die betrokken zijn bij dit project zijn klein. Brand krijg je niet zomaar. Als de mosfet kapot gaat, dan blijft de raspberry pi aan en wil niet meer uit. Jammerdan. Het is niet dat dan je heated bed aanblijft o.i.d.

3) Idem, als de mosfet kapotgaat blijft je raspberry aan. Of als ie op een andere manier kapotgaat, dan gaat de raspberry uit. De kans op gevolgschade is minmaal.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/