Fórum témák
» Több friss téma |
AM2322, nRF2401 és még egy I2C memória + a PIC18F442 lesz a külső hardveren.
Óra IC nem lesz. Tehát ez egy külső egység lenne. Azt akarom megoldani, hogy ~15 percenként felébredjen ez a külső eszköz és mintavételezne az aktuális adatokból. A külső egység független lesz az órától, de átlagban 15 percenként kellene mintát vételeznie. Egy belső egység kapná meg az adatokat, aki már ellátná időbélyeggel. A külső egység akkuról menne, ezért lenne fontos, hogy minél többet elmenne egy kisebb (még nem tudom mekkora kell és lesz) aksiról. (számít a kicsi, kompakt méret) A 15 perces időközben szeretném minimálisra csökkenteni az áram felvételt ezért altatnám az eszközt. A külső 37.768Hz + Timer1 nem jó mert minden másodpercben okoz megszakítást és ébreszti az áramkört. Más külső IC-t vagy egységet nem használnék, PIC-el kellene megoldanom a dolgot, de lehet altatásban nem lehet. nRF2401 áramfelvétele folyamatos figyelésben sok lenne, de IRQ-jával meg tudnám oldani a PIC altatását, mert ha érkezne adat, akkor nRF2401 ébresztené PIC-et. (ez utóbbi lesz lehet a jó megoldás még a nagyobb áramfelvétellel számolva is) Ezeken felül még meg kell oldjam az aksi töltöttségi figyelést és töltést, termesztésen PIC-ről. Szóval itt tartok most.. (még nem mértem, hogy mekkora jelenleg a fogyasztás)
Köszönöm!Működik villog a led,de én mit rontok el,
Nem,azt hol tudom?Valószínűleg ez lesz a hiba.
Beállítok 32768 / 8 / 61440-et és akkor elvileg 15sec-ekkel jön a megszakítás, ez pedig pontosan 4szer van meg 1 percben, így tudok jól számolni. Még ez lehet járható út, bár kicsit túlzás, de jobb a semminél.
Mi bajod a 6x-i ébresztéssel? Nem fog sokkat többeet megenni mintha egyszer ébresztenéd fel 15 percenként, és valószínűleg nem is a PIC lesz a fő zabagép .
Szia!
Használd ébresztése a Watchdog-ot. Több mint 2 perc a maximuma. Valamivel többet fog ugyan alvás közben fogyasztani, de nem kell bele külön óra.
Egyelőre nem mértem a fogyasztást, ez majd akkor kiderül. Nincs bajom, de ha lehetett volna kicsit kevesebbszer ébreszteném mint szükséges. De lehet jó lesz ez a 15sec-es ébredés. Vagy legrosszabb esetben nem lesz altatás vagy ha lesz akkor meg nRF fogja ébreszteni PIC-et.. Ezt majd az áram mérések döntik el, minden esetre rátervezem a + kristályt a nyákra..
Küldjem el aludni a PIC-et és állítsam be a kutyust? Tétlenséget követően ébreszti vagy is reseteli PIC-et?
Csak ébreszti.
ilyen egyszerűen megoldható:
Igen ezt gondoltam, hogy ha csak max 2 perc a kutyus, akkor el kell küldeni megint aludni PIC-et. 7 alvás ~14-15 perc.
Használható, de árammérést is kell végezzek, melyik megoldás lesz a legjobb. Aksiról fog működni, minden egyes mA számít.
Ott van alul egy gomb "Generate Source Code to Output" az generálni fog egy kis részletet és az copy paste-eld be a source file elejére.
Megvan (gondolom így kellet),de semmit se csinál.Valamit nem hagytam ki a programból?
A hozzászólás módosítva: Aug 25, 2017
Próbáld meg a PORTD helyett a LATD-t használni. Mivel a kimenet latch-elt.
A LATD-t aláhúzza az MPLAB és megjelenik a sor elején a kis körte és a felkiáltójel.
Az i2c memóriád típusát nem tudom, de tuti biztosra veszem, hogy non selected állapotban alszik, és nem eszik valami sokat. Az nrf rádiós modulod adatlapját most néztem, a power down mode supportolt, 0.4 uA-t eszik olyankor. Az akkujaid önlemerülése sokezerszer akkora lesz. Az am2322-nek is van sleep mode-ja, valami 8-10 uA. Egy lekapcsoló stabkocka visszárama 90 uA fölötti. Szerintem kapcsoló tranzisztorokkal sem jársz jobban, mint a támogatott sleep módokkal. Persze ahogy érzed. Ha spórolni akarsz, lehet egy nagyobb pic esetén nem kellene külső i2c memória. Nem lenne sok, de valamennyi fogyasztás mínusz az is.
Az alvást illetően elő kellene venned a számológépet, és kiszámolnod, mennyit fognak enni az eszközeid, amikor éppen üzemben vannak, és kiszámolni abból az átlagfogyasztást teljes időre. Legalább mA körüli érték fog kijönni. Ahhoz képest a pic sleepel ha akár csak egy másodpercig, aztán felkel a millisec tized részére megnézni az időt, és visszaaludni, akkor volt ébren az időnek az 1/10000-ed részében, és fogyasztott a core talán mA-t? Oszd le 10k-val az átlagot megkapni. És azon kínlódsz ![]() Ugye foglalkoztál már az akkujaid önlemerülésének a kérdésével is?
Ennyire mélyen nem merültem bele, de itt az ideje elkezdeni
![]() Majd méregetek fogyasztást, lehet túl gondolom a dolgot, de körbejárom és kiderül mivel tudok értelmesen spórolni.. (tanulásnak jó lesz)
PIC16F standard családnak nincs LATx regisztere, csak a 16F1xx -ekben van.
Okés, én az adatlapot néztem és ott szerepel a latch, mint áramköri elem.
Idézet: „hogy bele tudj férni nagyon kicsike órajelbe is, konkrétan abba a 32 KHz-be főórajel gyanánt. Azzal tudnál tényleg áramot spórolni” Ennek valamelyest ellent mondanék. Közel egy éve építettem meg a ledes karórám prototípusát. Azóta működik egy 2032 gombelemről. Amikor készült én is úgy okoskodtam, hogy alacsonyabb órajel, kisebb fogyasztás. De a mérések mást mutattak. Ugyanis az ébresztési, de nem munka szakaszokban, amikor csak az óra számol, és visszaalszik, igaz ugyan, hogy 16MHz-n nagyobb a fogyasztás, mint 250 KHz-n, de nem 64-szer. Így a nagyon rövid ideig tartó ébrenléti szakaszok jóvoltából az eredő fogyasztás jóval kisebb. Ezért altatás előtt átállítom az órajelet 16MHz-ra, és csak akkor veszem lejjebb, ha működik a megjelenítés.
Uraim, találkozott már valaki olyannal, hogy az I2C és SPI vonal összeakad, ha ugyan azon a vonalon vannak? Elkezdtem utolsó lépésként feltenni a hardverre az nRF2401+ modult és sajna összeakad a rajta logó I2C-t használó eszközökkel. I2C buszon lóg egyszerre egy 24C32 memória, AM2322-es hő és páratartalom mérő és ugyan ezen vonalon lenne az SPI-s nRF2401, de sajna ha fel van kötve, akkor az I2C-s eszközök nem kommunikálnak.
Észre vettem, hogy az SDI láb a kritikus pont, ha azt lehúzom azonnal működik az I2C, de ha fent van, akkor az SPI működik, de az I2C nem. Ötlet?
A modulok (?) külön-külön felhúzóellenállásokkal rendelkeznek? Lehet, hogy a több felhúzás párhuzamosan már túlterheli a vonalat.
A latch áramköri elem és a LATx regiszter két külön dolog.
Csak a SCL, SDA vonalakon van felhúzó ellenállás, egy-egy 4.7K-os.
Nincs több felhúzó rajta..
Visszatértem PIC16F88-hoz amit most újra beraktam a próbapanelba és ilyen vezetékekkel kötöttem be.
Amikor ráadom a tápfeszt, az indulása: 1. felső sor tömör karakterek 2. pár másodpercig üres 3. a képeken látható módon villogó kurzor az első karakteren ![]() ![]() 4. újra üres és már kikapcsolásig így marad Sajnos közben nem reagál a billentyűzetre ![]() A hozzászólás módosítva: Aug 26, 2017
Úgy tűni, hogy a program működik, várja a kontroller a karaktereket.
Viszont a billentyűzetet hiába nyomkodom, nincs reakció!
A probléma az, hogy nem reagál a billentyűzetre! Mi lehet még probléma?
![]() (Fentebb ott van a kapcsolás, ami alapján összeraktam.)
SimulIDE 0.0.4. áramkör-szimulátort ismeri valaki? Hogyan tudok billentyűzetet szimulálni PIC projekthez?
![]()
Billentyűzet 5 V tápfeszt megkapja-e.
Úgy gondolom, hogy mérve 5 V. A hozzászólás módosítva: Aug 26, 2017
Megkapja, mert amikor rárakom a + is a próbapanelre, akkor üzemszerűen villannak a LEDjei, hogy aktiválódik. Mérve pedig pontosan 4.99-5V van!
|
Bejelentkezés
Hirdetés |