Kysymys:
Käynnistys pienemmällä virralla ei toimi
Adam Haile
2014-03-13 07:17:12 UTC
view on stackexchange narkive permalink

Minulla on mukautettu Arduino ATMega328 -kortti, joka toimii yleensä 5 V @ 8 MHz: llä (käyttäen Arduino Pro 3.3 V 8 MHz: n profiilia ja käynnistyslatainta). Tärkein syy siihen, että käytän tätä asetusta, on se, että voin laittaa levyn nukkumaan, kun päävirta katkaistaan ​​ja siitä alkaa kulua akkua (3 V kolikkokennosta). 5 V: n ja 3 V: n lähteet on diodit OR'-kytketty yhteen ja 5 V: n tulo on sidottu INT0: een. Koodissa, kun se havaitsee, että INT0 on laskenut matalalle, se alustaa lepotilan ja kaikki sammuu, lukuun ottamatta vahtiajastinta, joka pitää 1 Hz: n jakson sisäisen laskennan pitämiseksi ja tarkistaa, että siru tulisi herättää takaisin. Tämä toimii kauniisti kun 5 V: n virta kytketään ensin, sitten akku asetetaan paikalleen, sitten 5 V irrotetaan. Se menee nukkumaan ja kun 5 V tuodaan takaisin, se herää ja huomaan, että se ei ole menettänyt laskentaansa.

Ongelma tulee kuitenkin, kun 3 V käytetään ensin . En rehellisesti ole varma onko se edes käynnistys. Mutta sen on tarkoitus tehdä käynnistys, tarkistaa, onko INT0 (Digital 2) alhainen, ja jos on, mene heti nukkumaan. Katsomalla nykyistä piirustusta näen, että se toimii jopa muutaman mA: n pari sekuntia, sitten laskee noin 0,3 mA: iin (vielä korkeampi kuin sen pitäisi olla lepotilassa). Mutta kun käytän 5 V: n uudelleen, ei mitään . Virtalähde palaa takaisin, mutta se ei reagoi (FTDI-sarja).

Onko jotain puuttuvaa, jota ei voida käynnistää 3 V: lla ... teoriassa sen pitäisi toimia hienosti .

Päivitys: pudotin LEDin D13: een ja kokeilin vilkkuvaa luonnosta. Toimii hyvin, kun käynnistät 3 V: sta tai 5 V: sta. Kuitenkin, kun suoritan laiteohjelmistoni ja käynnistän sen 3 voltista, LED alkaa vilkkua villisti. Minulla ei ole aavistustakaan, mikä aiheuttaa sen, koska en koskaan edes asettanut D13: tä mikään koodissani. Mutta se tekee minusta asian, joka on jotain tekemistä käynnistyslataimen kanssa ...

Mihin BOD on asetettu ja mikä on käynnistyksen nykyinen arvonta?
Sen arvo on 2,7 V. Virranotto 3 V: n jännitteellä on noin 4 mA ensimmäisten sekuntien ajan, sitten putoaa ja LED menee hulluksi.
Oletko kokeillut ilman käynnistyslatainta, ts. Internet-palveluntarjoajan kautta?
Ei, en ole vielä kokeillut sitä. Mikä on outoa, on hienoa, kun vain suoritat vilkkuvan luonnoksen
ISTR, että käynnistyslataimen aiheuttama D13: lla on outo pulssimalli, joka välkkyy normaalisti siellä olevalla LEDillä, mutta koska minulla ei todellakaan ole Arduinoa (** joo sanoin sen **), en ole varma ajastuksesta / kuvio.
Olen tottunut D13: n välkkymiseen, mutta vain kun lataat laiteohjelmiston.
Voitteko lisätä kaavion, joka näyttää "tarkalleen" miten johdot on kytketty, mukaan lukien kaikki anturit tai akun kuormat. Millaista kolikkosolua käytät, onko se litiumioni (ladattava) vai alkalinen?
Jos Blink toimii, se on todennäköisemmin koodisi eikä käynnistyslatain. Sinun on todennäköisesti lähetettävä koodi ja kaavio saadaksesi vastauksen. Lisäksi oletko yrittänyt poistaa BOD: n käytöstä?
Kuinka mittaat virtaa? Onko mahdollista, että mittarin "kuormitusjännite" saattaa pudottaa virran liian alhaiseksi luotettavan käynnistyksen kannalta?
Neljä vastused:
#1
+6
Adam Haile
2014-03-20 23:57:59 UTC
view on stackexchange narkive permalink

Joten ... kävi ilmi, että kaikki oli koodissa. Osoittautui, että aloitin keskeytyksen INT0: lla, kun se oli matala, koodin alussa. Ongelmana oli, että kun se käynnistyi 3 V: n varavoimalla, INT0 oli aina matala, koska INT0 on sidottu 5 V: n linjaan (se tietää kuinka se menee nukkumaan). Koska INT0 oli matala ja keskeytys laukaisi matalalla, se aiheutti jatkuvan keskeytyksen, joka ei koskaan antanut muulle ohjelmalle aikaa suorittaa. Vaihdettiin keskeytyksen käyttöönottoon vasta, kun olen siirtynyt täyteen herätystilaan ja se toimii nyt hyvin.

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

Tarkalleen mitä tapahtuu ja miksi ei voida määrittää annettujen tietojen määrän perusteella. Näen kuitenkin ainakin yhden mahdollisen ongelman, joka selittäisi ainakin osittain kuvatut oireet.

Sanoit, että valitset diodit jännitesyötön valitsemiseksi, ja yksi syöttö on 3 V: n akku. Jos käytät tavallisia diodeja, jotka laskevat ~ 0,6 V, syöttöjännite MCU: lle on vain ~ 2,4 V. Jos käytät Schottky-diodeja, joiden jännitehäviö on välillä 0,15-0,45, syöttöjännite on mahdollisesti vain 2,5 V. BOD-jännite on asetettu 2,7 volttiin, joten MCU ei teoriassa koskaan käynnisty akun kanssa.

Miksi voit käynnistää sen 5 V: lla, pudota 3 V: een ja tuoda sen takaisin ylös - en ole varma. Voisit poistaa BOD: n käytöstä koodissa ... ehkä ... Etkö ole varma miksi se toimii, mutta todennäköisesti ei varmasti toimi.

Asetin diodikytkinpiirin 5v: llä ja 3.3v: llä nähdäksesi miltä se näyttää kuin oskilloskoopillani, kun jännitteet vaihtuvat. Kun jännite 3,3 V vaihtaa 5 V: iin, jännite värähtelee aluksi melko vähän. Tämä voi mahdollisesti aiheuttaa joitain ongelmia, kun MCU yrittää tulla unesta. Korkin asettaminen VCC: n ja GND: n välille tasoitti signaalin erittäin hienosti. Kun vaihdat 5v: stä 3.3v: een, ei todellakaan ollut mitään värähtelyä, vain puhdasta pudotusta.

Näiden tietojen perusteella näyttää siltä, ​​että sinun pitäisi laskea BOD-kynnystä tai sammuttaa BOD ja laittaa irrottaa korkki VCC: n ja GND: n välillä. Sinun tulisi myös varmistaa, että sinulla on alasvetovastus INT0: lla, ja lue MCU-tietolehden kohdat, joissa selitetään erilaiset lepotilat kaikki nukkumisen ja heräämisen näkökohdat - se on melko mukana. Kippis

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

Luulen, että ongelma on käynnistyslataimessasi, mutta ei sillä tavalla kuin ajattelet.

Kun Arduino käynnistyy, käynnistyslatausohjelma saa useita tehtäviä, kuten sarjaportin etsimisen tai ohjelmatietojen lataamisen. salamasta vie paljon enemmän energiaa kuin nukkuva Arduino.

Luulen, että syy miksi Arduino ei käynnisty johtuu siitä, että käynnistyslatain vaatii tarkan kellolähteen, mutta 3v: n käyttäminen siihen sekoittaa kello ja se saattaa kaatua tai odottaa, että vakaa lähde käyttää 3.3v: tä.

Datalehden tarkastelu:

copyright ATMEL

Me nähdä, että virrankulutus herätessäsi (käynnistyslatainta käytettäessä) on todennäköisesti noin 2 mA, kun taas lepovirta on noin 0,8 mikroamppia . Tämä voi varmasti johtaa sähkökatkoon käynnistyksen yhteydessä ilman asianmukaista virtaa.

Kannattaa ehkä kytkeä virta vain 5 V: n virralla, tai ehkä tarvitset suurempaa virtaa ja suurempaa jännitettä sisältävää akkua.

Eikö tämä tarkoita sitä, että Blink ei myöskään toimi? Lisäksi käytän enemmän kuin muutamia Arduinon kolikkosoluista ilman ongelmia. Ne voivat tuottaa paljon virtaa lyhyeksi ajaksi.
#4
-5
DeveloperACE
2014-03-21 21:33:38 UTC
view on stackexchange narkive permalink

Yritä käynnistää arduino uudelleen käynnistämällä Työkalut> Polta käynnistyslatain

Voitteko lisätä lisätietoja siitä, miten tehdä tämä edelleen? Se ei ole kovin tarkka: Mitä voit liittää Arduinoon? Onko riskejä? Kiitos!
irrotan kaiken turvallisuudesta, mutta siitä ei pitäisi olla vaaraa
Näin poltat käynnistyslataimen: http://arduino.stackexchange.com/a/474/37. Vastauksesi ei selitä kaikkea miten se tehdään.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...