Kérdés:
Az RTC tartalékfeszültségének ellenőrzése lemeríti-e a tartalék akkumulátort?
Adam Haile
2013-03-12 18:56:47 UTC
view on stackexchange narkive permalink

Egy ATMega projekten dolgozom, amely időigényes lesz, és megpróbálom megvalósítani, hogy lehetősége legyen a szoftveridő (millisz () alapú), a DS1307 vagy a DS3231 (ChronoDot) RTC-re.

Legfontosabb, hogy azt szeretném csinálni, hogy a ChronoDot fejlécei elérhetőek legyenek forrasztásra, majd valamilyen módon a szoftverben észleljék, hogy a ChronoDot csatlakoztatva van-e, és váltson át annak használatára. Általában elég könnyű ellenőrizni, hogy vagy a DS1307, vagy a DS3231 jelen van, mivel ugyanazt az I2C regisztert használják, de az első ellenőrzés után kissé eltérnek egymástól, és az utóbbinak több funkciója van. Tehát továbbra is szeretném meghatározni, hogy melyik kapcsolódik. Általában azt tervezem, hogy alapértelmezett opcióként közvetlenül a fedélzeten lesz egy hely a DS1307 forrasztásához, és a DS3231 támogatás csak egy komplett ChronoDot-tal lenne csak kettős 4 tűs fejléceken keresztül. A ChronoDot lényegében elférne azon a helyen, ahová a DS1307 normálisan járna (ebben az esetben nem lenne feltöltve). A legfőbb ok, amiért kifejezetten a ChronoDot-ra összpontosítok, az az, hogy népszerű, könnyen beszerezhető és nem igényli az SMD forrasztást a végfelhasználó számára (ez ha egy készlethez tartozik). Szóval, ezen gondolkodom ...

A DS1307 és a DS3231 egyaránt rendelkezik Vbat vonallal a chipen, de valójában semmi sem szükséges hozzá. A ChronoDot-nak azonban van egy tényleges VBat-csapja a kitörő táblán. Talán csak a Vbat-ot tudnám összekapcsolni a ChronoDot fejlécéből, és nem a DS1307-et, és csatlakoztatni az ATMega-m digitális bemeneti tűjéhez. De húzzák-e le ezt a bemeneti csapot egy ellenállás a földre? Ha az EE elméletem helyes, akkor el tudom olvasni azt a csapot, és ha alacsony leszek, nincs kronodota, de ha magasat kapok, akkor van.

Valami ilyesmi:

schematic

szimulálja ezt az áramkört - a CircuitLab használatával létrehozott vázlat

A fő kérdésem itt az, hogy ezzel csak az RTC-n lemerül a tartalék akkumulátor? Normál esetben nem jönne áram a tartalék akkumulátorból, miközben a fő, 5 V-os tápellátás megtörténik, de ha ezt digitális bemenetre kapcsolná, az mindig az akkumulátorból merítene áramot? Vagy van-e olyan mód, amibe el kellene olvasnom a tűt, miután elolvastam, hogy úgy mondjam? Tudom, hogy kimenetre tudnám változtatni, de úgy gondolom, hogy ha kimenetnek és alacsonynak van állítva, akkor alapvetően földelném az akkumulátort.

Mindenesetre az EE tanfolyamaim hosszúak voltak ideje. Az itteni elmélettel kapcsolatos bármilyen segítséget értékelni szeretnénk.

Három válaszokat:
vicatcu
2013-03-12 19:13:52 UTC
view on stackexchange narkive permalink

Minden bizonnyal lemeríti az akkumulátort az ellenálláson keresztül. A felvett áram mennyiségét Ohm törvénye szabályozza: I = V / R. Mondjuk, hogy az akkumulátor feszültsége 3 V (azaz a szokásos időrangú Vbat). 4,7 kOhm ellenállással folyamatosan 3/4700 = 638 mikroampont rajzol. Ha 1 MOhm ellenállást készít, akkor 3/1000000 = 3 mikroampust rajzol. És ha 10 MOhm ellenállást készít, akkor ehelyett 3 / 1e7 = 300 nanoampot rajzol.

Minél nagyobb értékű ellenállást választ, annál kevesebb áramot fog folyamatosan húzni, de annál hosszabb időbe telik, amíg a digitális tű átáll (gondoljon az R * C időállandóra, amelyet az ellenállás és a csapok és nyomok). Amíg az indítás után elég sokáig vár (vagy időnként visszanéz), akkor 10 MOhm ellenállással rendben kell lennie. Elméletileg nagyobb zajt is fel lehetne venni nagyobb értékkel (mivel kezd egyre jobban hasonlítani egy nyitott áramkörre), de azt hiszem, jól lesz. Még azt is fontolóra vehetem, hogy akár 100 MOhm-ot is elérhet.

Egy tipikus CR1632-ben 130 milliamp-órás (mAh) energia van tárolva, és ennek talán a 80% -a hasznos élettartam, ezért hívjuk csak 100-nak. mAh a számítás megkönnyítése érdekében. Az akkumulátor élettartamának durva becslése ekkor milliampóra / milliamper rajz.

  • 4,7 kOhm-os ellenállásával, amely 100 / .638 = 156 óra = 6.5 nap.
  • 1 MOhm ellenállással, amely 100 / 0.003 = 33333 óra = 3.8 év
  • 10 MOhm ellenállással, amely 100 / 0,0003 = 333333 óra = 38 év

Ezek a felső határok, amelyek feltételezik, hogy a rendszer többi része nem vesz áramot. Ezek a rendszer élettartamát jelzik, ha kikapcsolt állapotban van, és az akkumulátor egyszerűen lemerül az ellenálláson keresztül. Sok olyan másodrendű hatás is van, amelyet nem vesznek figyelembe (feszültségromlás, belső akkumulátor szivárgáskémia stb.). Nem valószínű, hogy az ellenállás lesz a legnagyobb problémád, a várható élettartamtól függően.

Duh ... nem hiszem el, hogy figyelmen kívül hagytam azt a tényt, hogy közvetlenül földeltem az akkumulátort.
Úgy gondolom, hogy a megközelítése rendben van, mivel elég nagy ellenállás esetén a szivárgási áram nem befolyásolja jelentősen az akkumulátor élettartamát, frissítek még néhány matematikával.
Upvote: A fő kérdés megválaszolása. Az @AdamHaile egy hasznos technika lehet: a digitális voltmérők egy FET-et használnak, amely az ellenállások jelentéktelen lefolyási egyenértékét mutatja megrendelésekben vagy MOhms-ben.
@AdamHaile egy gyors dolog ... Észrevettem a megjegyzésedet, miszerint a rendszered 5 V-os egy másik megjegyzésben. Vigyázzon, hogy a digitális feszültségbemenet magas küszöbe elég magas-e ahhoz, hogy regisztráljon egy lemerült akkumulátorral (valószínűleg egy CR1632 esetén kb. 2 V-ig) - ellenőrizze a mikrovezérlő adatlapját
Chris Stratton
2013-03-12 20:33:46 UTC
view on stackexchange narkive permalink

Ezeknek az ellenállásokkal kapcsolatos mérési sémáknak nagy része, ha tartósan csatlakozik, elfogadhatatlan áramfelvételt és élettartam-csökkenést okoz az ezeket az eszközöket tápláló kicsi lítium akkumulátorral.

A megoldás tehát az, hogy csak engedje a mérőáramot rövid ideig, ritkán megszakítani az áramot, amikor éppen mérést végez.

Digitális teszt esetén ez ugyanolyan egyszerű lehet, mint egy belső, szoftveresen konfigurálható legördülő lista használata, és csak annak konfigurálása. a tesztet körülvevő rövid ideig lenyomva. Azonban meg kell vizsgálnia a feszültség bekötésének lehetséges szövődményeit, amikor a mérést végző MCU nem működik / alvó üzemmódban van.

Az analóg mérés bonyolultabbá válna, de hasonló ötleteket lehetne alkalmazni . Például egy (az I / O-hoz viszonyított nagy impedancia) feszültségosztó alsó ellenállását csatlakoztathatja egy kimeneti csaphoz, és csak a mérést körülvevő ideig tudja alacsonyan vezetni. Vagy akár kiépíthet egy RC áramkört egy kis alacsony szivárgású kondenzátorral és egyetlen I / O tűvel, amelyet kimenetként alacsonyan vezethet, majd analóg bemenetként konfigurálhatja és bizonyos idő után megmérheti a feszültséget. Ha az eszköz digitális küszöbfeszültsége állandó (vigyázzon a hőmérsékletre!), Akkor akár analóg mérést is végezhet digitális bemenettel, megmérve azt az időt, amelybe a kondenzátor töltődik a küszöbfeszültségig.

Hmmm ... bárcsak meg tudnám csinálni a belső lehúzási dolgot, de sajnos csak belső felhúzó ellenállások vannak. Lehet, hogy megpróbálom túlbonyolítani a dolgokat. Valószínűleg elfogadható lenne egy forrasztópárna, amelyet át kell hidalni az egyik vagy másik mód használatához.
Készíthet egy saját szoftverrel konfigurálható lemezt egy ellenállással egy másik I / O tűre. Vagy használhatja az RC áramkör-ötletet, és ugyanazt a csapot hajtja meg, amelyet aztán bemenetként átkonfigurál.
Valójában a belső lehúzás használata nagyon rossz ötlet. Az I / O csapok általában diódákkal vannak összekötve a Vdd és a GND-vel, hogy megakadályozzák a tű feszültségének eltévedését a tápfeszültségen kívül. Amikor a chip nem működik, a csap alapvetően két párhuzamos diódával kapcsolódik a GND-hez, és bármilyen feszültség alkalmazása a diódák küszöbfeszültségén túl nagyon nagy áramáramot eredményez. Jobb ötlet az lenne, ha egy soros PMOS tranzisztort használnánk, amelynek kapuját a földre egy NMOS tranzisztor vezérli. Ez minimalizálja a szivárgást, ha a mikrovezérlő nincs bekapcsolva.
Scott Goldthwaite
2013-11-02 17:57:25 UTC
view on stackexchange narkive permalink

A DS3231 belső hőmérséklete olvasható. Kiadhat egy parancsot az I2C felett a hőmérséklet leolvasására, ha választ kapott, akkor a DS3231, ha nem, akkor a DS1307.

Szerintem ez semmilyen módon nem válaszolja meg a kérdést.
Szerintem igen. Adam az OP-ban azt akarja megállapítani, hogy egy DS3231 vagy DS1307 van-e csatlakoztatva az áramköréhez. Arra gondolt, hogy megpróbálja ezt megtenni a vbat csapszeggel. Azt javaslom, tegye meg, hogy megnézze, visszaadja-e a készülék a hőmérsékletet. Úgy tűnik számomra, hogy nagyon jól kellene működnie.
Úgy gondolom, hogy ez a kérdéssel foglalkozik: Nem a feltett kérdéssel, hanem az alapjául szolgáló probléma megállapításával. Érdekes. Megkapná a pozitív szavazatomat, ha kicsit pontosítanám, és hozzáadnám a hivatkozásokat.
Lásd a [Maxim adatlap] (http://datasheets.maximintegrated.com/en/ds/DS3231.pdf) 1. ábrát a 11. oldalon. A belső hőmérséklet regisztereit (11 és 12) mutatja.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...