Küsimus:
Käivitamine madalamal võimsusel ei tööta
Adam Haile
2014-03-13 07:17:12 UTC
view on stackexchange narkive permalink

Mul on kohandatud Arduino ATMega328 plaat, mis töötab tavaliselt 5V @ 8MHz (kasutades Arduino Pro 3.3V 8MHz profiili ja alglaadijat). Peamine põhjus, miks ma seda seadistust kasutan, on see, et saaksin tahvli magama panna, kui toiteallikas on lahti ühendatud ja aku hakkab tühjaks saama (3 V mündirakust). 5V ja 3V allikad on dioodiga OR'iga ühendatud ja 5V sisend on seotud INT0-ga. Koodis lähtestab see, et INT0 on madalale langenud, lähtestada unerežiimi ja kõik lülitub välja, välja arvatud valvekoera taimer, mis hoiab sisemise loenduse hoidmiseks 1Hz tsüklit ja kontrollib, et kiip tuleks varundada. See töötab kaunilt kui kõigepealt rakendatakse 5V toide, seejärel sisestatakse aku, siis 5V on lahti ühendatud. See läheb magama ja kui 5 V tagasi tuua, siis see ärkab üles ja ma näen, et see pole loendust kaotanud.

Probleem tuleb aga siis, kui 3 V rakendatakse esimene . Ma pole ausalt öeldes kindel, kas see üldse käib. Kuid see peaks tegema alglaadimise, kontrollima, kas INT0 (Digital 2) on madal, ja kui jah, siis magama minna. Praegust joonist vaadates näen, et see töötab paariks sekundiks kuni mõne mA-ni, seejärel langeb umbes 0,3 mA-ni (ikka kõrgem kui peaks olema unerežiimis). Aga kui ma 5V uuesti kasutan, siis ei midagi . Toiteallikas taastub, kuid see ei reageeri (FTDI jada kaudu).

Kas mul on midagi puudu, mida ei saa 3V peal käivitada ... teoreetiliselt peaks see töötama suurepäraselt .

Uuendus: viskasin D13-le LED-i ja proovisin vilkuvat visandit. Töötab hästi, kui käivitate 3V või 5V. Kuid kui ma oma püsivara käivitan ja käivitan 3 V-lt, hakkab LED lihtsalt metsikult vilkuma. Mul pole aimugi, mis seda põhjustab, sest ma ei seadista D13-d kunagi isegi oma koodis millekski. Kuid see teeb minust asja, et see on midagi pistmist alglaaduriga ...

Milleks on määratud BOD ja milline on käivitusel praegu kasutatav loosimine?
Selle väärtus on 2,7 V. Voolutugevus 3 V juures on esimestel sekunditel umbes 4 mA, seejärel langeb ja LED läheb hulluks.
Kas olete proovinud ilma alglaadimiseta, st Interneti-teenuse pakkuja kaudu?
Ei, ma pole seda veel proovinud. Mis on imelik, on see hea, kui lihtsalt vilkuv visand töötab
ISTR, et alglaadur põhjustab D13-l imeliku pulsimustri, mis vilgutab tavaliselt seal asuvat LED-i, kuid kuna mul pole tegelikult Arduinot (** jah, ma ütlesin seda **), pole ma ajastuses kindel muster.
Olen harjunud D13 värelema, kuid ainult püsivara üleslaadimisel.
Kas saate lisada skeemi, mis näitab täpselt, kuidas teie juhtmestik on ühendatud, sealhulgas kõik andurid või aku koormused. Millist mündirakku te kasutate, kas see on liitiumioon (laetav) või leeliseline?
Kui Blink töötab, on tõenäolisem, et see on teie kood, mitte alglaadur. Tõenäoliselt peate vastuse saamiseks postitama oma koodi ja skeemi. Kas olete proovinud ka BOD-i keelata?
Kuidas te voolu mõõdate? Kas on võimalik, et teie arvesti koormuspinge võib usaldusväärse käivitamise jaoks toite liiga madalaks langeda?
Neli vastused:
#1
+6
Adam Haile
2014-03-20 23:57:59 UTC
view on stackexchange narkive permalink

Nii ... selgus, et toimuv oli kõik koodis. Selgub, et ma algatasin katkestuse INT0-l, kui see oli madal, kohe oma koodi alguses. Probleem oli selles, et kui see käivitus 3 V varutoitel, oli INT0 alati madal, kuna INT0 on seotud 5 V liiniga (see teab, kuidas ta saab magama minna). Kuna INT0 oli madal ja katkestus käivitas madalal, põhjustas see pideva katkestuse, mis ei andnud ülejäänud programmile kunagi käivitamiseks aega. Ümberlülitati selle katkestuse lubamisele alles siis, kui olen täis ärkveloleku režiimis ja see töötab nüüd hästi.

#2
+4
imjosh
2014-03-20 23:03:24 UTC
view on stackexchange narkive permalink

Täpselt, mis toimub ja miks, ei saa pakutava teabe hulga põhjal kindlaks teha. Siiski näen vähemalt ühte võimalikku probleemi, mis vähemalt osaliselt seletaks kirjeldatud sümptomeid.

Ütlesite, et kasutate pingeallika valimiseks dioode ja üks toiteallikas on 3 V aku. Kui kasutate standardseid dioode, mis langevad ~ 0,6 V, on toitepinge MCU-le ainult ~ 2,4 V. Kui kasutate Schottky dioode pingelangusega vahemikus 0,15-0,45, on toitepinge potentsiaalselt nii madal kui 2,5 V. Teie BOD-pinge on seatud 2,7 volti, nii et teoreetiliselt ei käivitu MCU kunagi akuga.

Mis puudutab seda, miks saate seda 5v-ga käivitada, langeda 3v-ni ja tuua see uuesti üles - ma pole kindel. Võimalik, et keelate BOD-i koodis ... võib-olla ... pole kindel, miks see töötab, kuid tõenäoliselt ei tööta see kindlasti.

Seadistasin dioodlüliti 5v ja 3.3v abil, et näha, kuidas see välja näeb nagu minu ostsilloskoobil, kui pinged vahetuvad. Kui 3,3 V pingel lülitatakse kuni 5 V, siis kõigub pinge esialgu üsna palju. See võib potentsiaalselt põhjustada mõningaid probleeme, kui MCU üritab unest välja tulla. VCC ja GND vahele korki panemine silus signaali väga kenasti. 5v-lt 3,3v-le ümberlülitamisel ei olnud võnkumisi, lihtsalt puhas tilk.

Selle teabe põhjal näib, et peaksite laskma BOD-i künnise või lülitama BOD-i ja panema kork lahtiühendamine VCC ja GND vahel. Tõenäoliselt peaksite ka veenduma, et teil on INT0-l allaklapitav takisti, ja lugege MCU andmelehe jaotisi, milles selgitatakse erinevaid unerežiime kõiki une ja ärkveloleku kaalutlusi - see on üsna kaasatud. Terviseks

#3
+2
TheDoctor
2014-03-16 20:18:54 UTC
view on stackexchange narkive permalink

Ma arvan, et probleem on teie alglaadijas, kuid mitte nii, nagu te arvate.

Kui Arduino käivitatakse, saab alglaadur teenida mitut ülesannet, näiteks seeriahosti otsimist või programmi andmete laadimist välklambist võtab palju rohkem energiat kui magav Arduino.

Ma arvan, et põhjus, miks teie Arduino ei käivitu, on see, et alglaadur nõuab täpset kelliallikat, kuid sellele 3v rakendamine ajab segi see kell ja võib-olla jookseb kokku või ootab, kuni stabiilse allika jaoks rakendatakse 3.3v.

Andmelehte vaadates:

copyright ATMEL

me vaata, et praegune joonistus ärkamise ajal (alglaaduri käivitamine) on tõenäoliselt umbes 2mA, samal ajal kui unevool on umbes 0,8 mikroampi . See võib kindlasti põhjustada käivitamisel elektrikatkestuse ilma korraliku vooluta.

Võib-olla peaksite selle sisse lülitama ainult 5v toiteallikaga või vajate võib-olla suuremat voolu ja kõrgema pingega akut.

Kas see ei tähendaks, et ka Blink ei tööta? Lisaks juhin mündirakkudest rohkem kui mõnda Arduino numbrit. Nad suudavad lühikese aja jooksul pakkuda palju voolu.
#4
-5
DeveloperACE
2014-03-21 21:33:38 UTC
view on stackexchange narkive permalink

Proovige oma arduino taaskäivitada, avades Tööriistad> Käivitage alglaadur

Kas saaksite lisateavet selle kohta, kuidas seda edasi teha? See pole eriti konkreetne: mida saate Arduinoga ühendada? Kas on mingeid riske? Aitäh!
ma ühendaksin kõik vooluvõrgust lahti, et see oleks ohutu, kuid ei tohiks olla mingit ohtu
Alglaadija põletamiseks toimige järgmiselt. Http://arduino.stackexchange.com/a/474/37. Teie vastus ei seleta kõike, kuidas seda teha.


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...