Tápfesz lekapcsolása esetén adatmentés

Rag

Tápfesz lekapcsolása esetén adatmentés

Hozzászólás Szerző: Rag »

Máshol láttam olyat, hogy a táp rá volt kötve egy lábra. A tápon volt egy soros dióda majd a kondi.
A táp kikapcsoláskor esett a fesz a lábon és erre a kikapcsolódás előtt egy-két fontos adatot elmentésre került. A dóda nem engedte, hogy más fogyasztó lemerítse a kondit és néhány ms elég volt az adattárolásra.

Atmel-nél ez lehetséges vagy pontosabban Mega16-nál?

vagy létezik valami "adatelmentés"??

Üdv
Rag
Robert-

Hozzászólás Szerző: Robert- »

Hat letezik.
HW alapon kell megoldani. Egy AD labra a tapfeszt mero ellenallasoszto, es ha leesik egy szint ala egy kapcsolotranyoval a kritikus reszkeket kilovod (LCD hatter stb, es a maradek feszbol adatmentesz.
Rag

Hozzászólás Szerző: Rag »

Az Atmel-ek ismerik az alvó funkciót is. Kérdésem, hogy ott ugye nem vesztik el a változók az értéküket?
Vagy ha igen, akkor azt le kell előtte tárolni az EEPROM-ba?

Üdv
Rag
Robert-

Hozzászólás Szerző: Robert- »

Nem. Az orajellel jatszanak es a chipben stat. RAM van.
A kijoves az alvo modbol eseten modtol fuggoen esetleg a portok inicializalasat vonhatja maga utan. Alvo modba menes elott minden port bemenet legyen! Kimeneten ha pl. LED eg, akkor nem is er semmit mert a LED tovabb vilagit:).
Felhuzoellenallasokat kikapcsolni, es egyeb finomsagokkal is lehet operalni. Alt. a proci a legkisebb tetel.
Rag

Hozzászólás Szerző: Rag »

Robert- írta:Hat letezik.
HW alapon kell megoldani. Egy AD labra a tapfeszt mero ellenallasoszto, es ha leesik egy szint ala egy kapcsolotranyoval a kritikus reszkeket kilovod (LCD hatter stb, es a maradek feszbol adatmentesz.
Róbert!

Hát ez nem megy, egyszerűen nem akarja a cuccos...

Szerinted, ha csak a egy lábat felkötök a tápra és utána a programba nézem a láb állapotát. Olyan majdnem mintha egy nyomógomb lenne. Van táp - nincs táp.

Üdv
Rag

Ja a többi dolog már működik a relék kattognak (mind a 10), az infra-vezérlés működik, az LCD is informatív :lol:
Robert-

Hozzászólás Szerző: Robert- »

Ez is jarhato ut, de ekkor idonkent ra kell nezni a labra, hogy milyen allapotban van. Fesz.osztoval kell megoldani.
A L szint 0,8V-t jelet! (1.5 alatt legyen)

Mert tapfesz: nem a szab. utani, hanem a stabilizator elotti tapot merd!
En a labfigyelest ekkor vagy a foprogrami ciklusba, vagy a timer rutinba rakd.
A panelen legyen nagykapacitasu kondi, es amint a lab alacsonyra valt, akkor a releket kikapcsolni, LCD hatteret kikapcsolni!
Rag

Hozzászólás Szerző: Rag »

Róbert!

Ugye így mindig fix memóriacímet használok?
$eeprom
Eprombemenet:
Data 11%
Epromvolume:
Data 10%
$data

...

If Pina.7 = 0 Then
Gosub Leall
End If
...

Leall:
Writeeeprom Bemenet , Eprombemenet
Writeeeprom Volume , Epromvolume
Do
Loop
Return

Üdv
Rag
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nem. Ez nem jó.

Ha nagy kondid van, akkor a relék kikapcsolni, LCD háttérvilágítás lekapcsol.
Csak utána írogass az EEPROM-ba.
Valamint ami hiba:
EEPROM 0. címét NE használd! Táplehaláskor hibás lehet (nagyon valószínű hogy megsérül). Az adatlap ír is erről!


Ahogy haszálod, én így sose használom a EEPROMot. A címet fixen adom meg. Meg itt hiányzik a Restore utasítás, ami a címet állítja be.
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

Re: Tápfesz lekapcsolása esetén adatmentés

Hozzászólás Szerző: SirLeslie »

Rag írta:Máshol láttam olyat, hogy a táp rá volt kötve egy lábra. A tápon volt egy soros dióda majd a kondi.
...
Látom már ki is tárgyaltátok.
Ilyen diódás-kondis megoldások itt és itt láthatóak.
Adc méréssel is lehet természetesen, de talán kódban spórolósabb ha csak logikai L-H-t kell figyelni ...természetesen be lettek nevezve a versenyre :lol:
Rag

Hozzászólás Szerző: Rag »

Pedig ezt a 'metodikát' a súgóból néztem ki.

Ja látom már a Data -val csak két értelmetlen sort írtam, mert ilyen adatot nem használok. Töröltem is. Azt hittem ezzel lehet a memóriacímet megadni.

Restore, na ezt is megnéztem, de nem teljesen értem, hogyan kell ezzel direktbe címezni.
Akkor gondolom nem a readeeprommal kell kezelnem csak síma read-del


Róbert!

Leírod nekem, hogy hogyan kell egy adatmezőt fix címmel létrehozni majd odaírni és kiolvasni az eepromból?

Üdv
Rag
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

a, legegyszerűbb:
Beírás:

Kód: Egész kijelölése

 writeeprom mit, hova
Olvasas:

Kód: Egész kijelölése

readeeprom mit, honnan


b. Bonyolultabb:

Samples alól az eeprom.bas file

Kód: Egész kijelölése

....
'You can also dimension variables that must be stored into EEPROM
Dim Eb As Eram Byte At 13 , Ei As Eram Integer At 14 , El As Eram Long At 16 , Es As Eram String * 10 At 20
'We use the AT to indicate the address because we are using both modes in this example
'Normally you dont need this
......
b2, Bonyolultabban a samples alól a eeprom2.bas filebol:

Kód: Egész kijelölése

....
$eeprom
'the generated EEP file is a binary file.

'specify a label
Label1:
Data 1 , 2 , 3 , 4 , 5
Label2:
Data 10 , 20 , 30 , 40 , 50

'Switch back to normal data lines in case they are used
$data

'All the code above does not generate real object code
'It only creates a file with the EEP extension

'Use the new label option
Readeeprom B , Label1
Print B                                                     'prints 1
'Succesive reads will read the next value
'But the first time the label must be specified so the start is known
Readeeprom B
Print B                                                     'prints 2

Readeeprom B , Label2
Print B                                                     'prints 10
Readeeprom B
Print B                                                     'prints 20

'And it works for writing too :
'but since the programming can interfere we add a stop here
Input "Ready?" , Yes
B = 100
Writeeeprom B , Label1
B = 101
Writeeeprom B

'read it back
Readeeprom B , Label1
Print B                                                     'prints 1
'Succesive reads will read the next value
'But the first time the label must be specified so the start is known
Readeeprom B
Print B                                                     'prints 2
End

Amire vigyázz: az eeprom10.000x írható!
Ha DIM as eeram-ként definiálod, az írással szorítkozz a minimumra. Pl. a prg elején ne íogassad be újra és újra...
Rag

Hozzászólás Szerző: Rag »

Eeprom
Dim Eprombemenet As Eram Byte At 13, Epromvolume As Eram Byte At 14

Akkor így megpróbálom a dekralálást.

Egyszer olvasok ki programinduláskor, és egyszer írok ki leálláskor. Így évekig el leszek a 10000 ciklussal.

Üdv
Rag
Rag

Hozzászólás Szerző: Rag »

Az előző hozzászólásban lévő javítással működik a memóriába írás. szerintem..
De az kikapcsolás figyelés egyszerűen nem megy..
:cry: :cry: :cry:

Üdv
Rag
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Csak azon a labon ejtsd a fesz, hogy eszreveszi-e.
Ha nem, akkor a prg nem jo. Ha igen, akkor a feszultseg esik gyorsan és az IC nem kepes a maradek feszultsegbol gazdalkodva vegigfutni.

Ja biztositekbiteknel a BOD legyen kikapcsolva!
Rag

Hozzászólás Szerző: Rag »

Ezt feladtam...

De egy ötlettel 2 perc alatt lerendeztem ezt a kérdést :lol:

A távírányítón lévő rengeteg gomból egyet kiválasztottam (0-át) és ez megnyomásakor letárolom a pillanatnyi értékeket. Az újraindításkor azzal indul.
Az eredeti igényem így is megvalósult.

Üdv
Rag
Válasz küldése