Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   972 / 1207
(#) don_peter válasza pajti2 hozzászólására (») Aug 25, 2017 /
 
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)
(#) bugyi680 válasza Elektro.on hozzászólására (») Aug 25, 2017 /
 
Köszönöm!Működik villog a led,de én mit rontok el,
(#) bugyi680 válasza cross51 hozzászólására (») Aug 25, 2017 /
 
Nem,azt hol tudom?Valószínűleg ez lesz a hiba.
(#) don_peter válasza Hp41C hozzászólására (») Aug 25, 2017 /
 
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.
(#) usane válasza don_peter hozzászólására (») Aug 25, 2017 /
 
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 .
(#) sonajkniz válasza don_peter hozzászólására (») Aug 25, 2017 /
 
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.
(#) don_peter válasza usane hozzászólására (») Aug 25, 2017 /
 
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..
(#) don_peter válasza sonajkniz hozzászólására (») Aug 25, 2017 /
 
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?
(#) sonajkniz válasza don_peter hozzászólására (») Aug 25, 2017 /
 
Csak ébreszti.

ilyen egyszerűen megoldható:
  1. ALSZIK
  2.     CLRWDT
  3.     SLEEP
  4.     NOP
  5.     NOP
  6.     SLEEP
  7.     NOP
  8.     NOP
  9.     SLEEP
  10.     NOP
  11.     NOP
  12.     SLEEP               ;Max watchdog esetén kb 15 perc
  13.     NOP
  14.     NOP
  15.     SLEEP
  16.     NOP
  17.     NOP
  18.     SLEEP
  19.     NOP
  20.     NOP
  21.     SLEEP
  22.     NOP
  23.     ;Végrehajtandó feladat, majd a végén : GOTO ALSZIK
(#) don_peter válasza sonajkniz hozzászólására (») Aug 25, 2017 /
 
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.
(#) cross51 válasza bugyi680 hozzászólására (») Aug 25, 2017 / 1
 
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.
(#) bugyi680 válasza cross51 hozzászólására (») Aug 25, 2017 /
 
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
(#) _BiG_ válasza bugyi680 hozzászólására (») Aug 25, 2017 /
 
Próbáld meg a PORTD helyett a LATD-t használni. Mivel a kimenet latch-elt.
(#) bugyi680 válasza _BiG_ hozzászólására (») Aug 25, 2017 /
 
A LATD-t aláhúzza az MPLAB és megjelenik a sor elején a kis körte és a felkiáltójel.
(#) pajti2 válasza don_peter hozzászólására (») Aug 25, 2017 /
 
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 Minden egyes másodpercben is felébresztheted a timerrel, még akkor is bakfity lesz az átlagfogyasztás emelkedése. A pic hardverei fognak sokat enni, amiket nem kapcsolsz le, nem a mag. Inkább egy xlp-s pic-et válassz, és írd meg a programot asm-ben, 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. Külső adatokat olvasni ugyanis nem kerget a tatár, és az nrf-et is elég csak egyszer felprogramozni, hogy mit csináljon, utána már nem kell külön magyarázni neki semmit sem.

Ugye foglalkoztál már az akkujaid önlemerülésének a kérdésével is?
(#) don_peter válasza pajti2 hozzászólására (») Aug 25, 2017 /
 
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)
(#) Hp41C válasza _BiG_ hozzászólására (») Aug 25, 2017 /
 
PIC16F standard családnak nincs LATx regisztere, csak a 16F1xx -ekben van.
(#) _BiG_ válasza Hp41C hozzászólására (») Aug 25, 2017 /
 
Okés, én az adatlapot néztem és ott szerepel a latch, mint áramköri elem.
(#) sonajkniz válasza pajti2 hozzászólására (») Aug 25, 2017 /
 
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.
(#) don_peter hozzászólása Aug 25, 2017 /
 
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?
(#) Bakman válasza don_peter hozzászólására (») Aug 25, 2017 /
 
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.
(#) Bakman válasza _BiG_ hozzászólására (») Aug 25, 2017 /
 
A latch áramköri elem és a LATx regiszter két külön dolog.
(#) don_peter válasza Bakman hozzászólására (») Aug 25, 2017 /
 
Csak a SCL, SDA vonalakon van felhúzó ellenállás, egy-egy 4.7K-os.
Nincs több felhúzó rajta..
(#) Udvari Zsombor hozzászólása Aug 26, 2017 /
 
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 (ami a LED-jeinek villanása szerint aktiválódik), úgyhogy még azért kell segítség! (A programot is mellékelem, ha kéritek...)
A hozzászólás módosítva: Aug 26, 2017
(#) Bakman válasza Udvari Zsombor hozzászólására (») Aug 26, 2017 /
 
Úgy tűni, hogy a program működik, várja a kontroller a karaktereket.
(#) Udvari Zsombor válasza Bakman hozzászólására (») Aug 26, 2017 /
 
Viszont a billentyűzetet hiába nyomkodom, nincs reakció!
(#) Udvari Zsombor válasza Bakman hozzászólására (») Aug 26, 2017 /
 
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.)

kód.zip
    
(#) Udvari Zsombor hozzászólása Aug 26, 2017 /
 
SimulIDE 0.0.4. áramkör-szimulátort ismeri valaki? Hogyan tudok billentyűzetet szimulálni PIC projekthez?
(#) nagym6 válasza Udvari Zsombor hozzászólására (») Aug 26, 2017 /
 
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
(#) Udvari Zsombor válasza nagym6 hozzászólására (») 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!
Következő: »»   972 / 1207
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem