Sida 1 av 1

spänningsbortfallskoppling

Postat: 2 november 2022, 16:22:22
av persika
Till mikrokontroller, (PIC eller Arduino för mig), behövs det ofta en signal om att matningsspänningen håller på att försvinna.
När signalen kommer är det dags att spara undan viktiga värden, till eeprom.

Jag har ibland löst det med en spänningdelare från spänningen (12V) före spänningsregulatorn, den delade spänningen (~2,5V) leds in på en analog ingång.
I programmet läses den analoga ingången av med ~ 50ms intervall, när värdet är under ett visst värde sparas de viktiga värdena.

Ett annat sätt jag gjort, spänningsdelare enligt ovan och sen en op som känner av nivån och sen skickar in signal på interrupt-ingång.
Interruptrutinen spara sen de viktiga värdena.
Se bild: (utklippt från tråden om Ellogger: viewtopic.php?t=105978 )

Hur brukar ni göra ? Tips ?

Re: spänningsbortfallskoppling

Postat: 4 november 2022, 18:12:48
av nifelheim
Gjorde det för länge sedan med en Z80 :)
Räknade perioderna på nätfrekvensen.

Hade 12 AC från nättrafon, spänningsdelade och likriktade med en diod.
Körde in det på en 74ls14 (schmittrigger) och fick en puls var 20'e ms.
hade satt upp en en timer (Z80CTC) som räknade upp till typ 30ms,
pulsen nollställde timern vid varje period på nätspänningen, så timern gick aldrig ut.
Om den inte nollställdes gjorde den interrupt när det gått 30 ms och sparade allt viktigt.

Med lite kondingar i nätdelen var det gott om tid :-)

Re: spänningsbortfallskoppling

Postat: 4 november 2022, 18:35:00
av ojz0r
Kolla om du har tillgång till BOD (brown out detection).
Om det värden i den aktuella mcun du vill spara dvs.

Re: spänningsbortfallskoppling

Postat: 4 november 2022, 20:24:35
av persika
>Kolla om du har tillgång till BOD (brown out detection).

Funderar på att använda PIC16F1829. Kollade i databladet där finns brown-out-reset, vad jag sett går den till den vanliga reseten, så inget speciell interrupt för brown-out.
Men det är bra att höra nya synpunkter, annars är det lätt att köra fast i eget tänkande.

I PIC16F1829 finns komparator, den kan ge interrupt, när spänningsnivå passerats, även hysteres kan ställas in.
Som nivå att jämföra med kan den inbyggda spänningreferensen (ex: 2.048V) ställas in.

Så då behövs bara en spänningdelare från +12V, ev. en kondensator också för filtrering.

Re: spänningsbortfallskoppling

Postat: 4 november 2022, 20:28:33
av persika
nifelheim skrev: 4 november 2022, 18:12:48 Gjorde det för länge sedan med en Z80 :)
Räknade perioderna på nätfrekvensen.

Hade 12 AC från nättrafon, spänningsdelade och likriktade med en diod.
Körde in det på en 74ls14 (schmittrigger) och fick en puls var 20'e ms.
hade satt upp en en timer (Z80CTC) som räknade upp till typ 30ms,
pulsen nollställde timern vid varje period på nätspänningen, så timern gick aldrig ut.
Om den inte nollställdes gjorde den interrupt när det gått 30 ms och sparade allt viktigt.

Med lite kondingar i nätdelen var det gott om tid :-)
Intressant att direkt känna av AC'n!
Fast ibland bygger jag med att man ansluter en färdig DC-spänningsadapter (väggvårta), så då har man ingen AC direkt ansluten.

Re: spänningsbortfallskoppling

Postat: 4 november 2022, 20:37:00
av MadModder
Jag har ordnat det bara en gång för länge sen.
Använde mig av en tillräckligt stor konding för att driva det hela "en stund".
Matade DC via en diod och hade då en avkänning innan dioden.
När spänningen försvann före dioden vara det dags. :D

Re: spänningsbortfallskoppling

Postat: 6 november 2022, 10:52:33
av 4kTRB
Testade den här varianten från ett datablad LM431. I databladets schema fanns ingen R9 med ( 0 ohm) vilket blir mindre bra

Formeln är ungefär Vref(1+R1/R2) = nivåerna där det ska ges signal. Under 6V och över 33V i exemplet.

R6, R7 och C1 ger signal för snabba transienter misstänker jag. Har inte testat.

VM_LT_Sch_Trace.jpg