Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Uhh. Akkor nem tudom, hogy mi lehet a gond. :S
Nekem nem volt ilyen vagy csak nem vettem észre.
Szia! Érdekelne a szkópod! Hasonlót szeretnék én is csinálni, egy analóg szkópot szeretnék kibővíteni tároló funkcióval.
Lehet, hogy más egységek működésének a zaja "hallatszik" bele a mérésbe. Az ilyenen a program kismértékű átszervezésével lehet talán segíteni, hogy a folyamatok ne teljesen aszinkron történjenek.
Szia!
A mérési hibának az is lehet az oka, hogy más vezérlés (led, optocsatoló, stb.) nagy árama átfolyik azon a vezetéken, ami a hőmérőt és a pic referencia pontját köti össze... Szia
Szia!
Aki nem ismeri az eddigi munkáimat az nem tudja, hogy én már bőven megjártam a hadak útját. Hidd el, tudom hogyan kell huzalozni... AGND, DGND, csillagpont stb... én ezekkel álmodom...
Én kiváncsi lennék rá, hogy kell huzalozni. Ha jól láttam, ez a leírásod még nincs kint az oldaladon
Egyszerű. Az a lényeg, hogy a réznek is számottevő ellenállása van. A kapcsolási rajzon minden összekötés helyére képzelj 1-1 ellenállást. Innentől már érthető szerintem a dolog.
Idézet: „Hidd el, tudom hogyan kell huzalozni...” Lehet. Mégis inkább szívből örülni kellene annak, ha valaki egy kétes helyzetben méltóztatik a legapróbb lehetséges hibákra is felhívni a figyelmet... ellenkező esetben nem biztos, hogy legközelebb is a segítők mellé szegődik a kedv.
Igazad van, csak hogy ez a téma már szóba került párszor ebben a topikban is és minden alkalommal elmondtam ugyan ezt...
Sőt, jelen esetben is leírtam hogy a nyák jól van huzalozva. Idézet: „Sőt, jelen esetben is leírtam hogy a nyák jól van huzalozva.” És ha netán még sem, akkor megmarad a hibád! Azt is nézd át, hogy milyen megszakítás történhet a mintavétel alatt, hátha valami elrángatja onnan a fonalat! Idézet: „Azt is nézd át, hogy milyen megszakítás történhet a mintavétel alatt” Semmilyen, mert a mintavétel is a megszakításban történik.
Azért a csatornaváltás és a konverzió indítása között várhatnál egy kicsit! Így előfordulhat, hogy a bementi kondenzátor még nem töltődik fel rendesen, s a konverzió meg már lekapcsolja a forrásról.
Próbáld ki úgy, hogy beteszel néhány NOP-ot a movwf ADCON0 és a bsf ADCON0, GO_DONE utasítások közé!
Ennek nagyon örülök! C-ben csináltam a programot a kijelző 128x64-es grafikus, fekete fehér LCD (Bővebben: Link).
Kezdetnek szerintem nem rossz. A felbontása is állítható valamennyire potival. Csak az a gond, hogy a kirajzolás sok processzor időbe kerül ezért nem valami nagy. Ha érdekel elküldöm a kódot.
Sziasztok!
Még mindíg bajlódok a bitkép megjelenítéssel. Valami nem akar összejönni. Hogy ne kellejen visszaolvasni: 16F876 és 128x64 kijelző, ks0108-al. Végül is Hp41C által küldött megoldás vezetett a jó megoldáshoz.... a képet már látom , ez egy jó hír, tudom, de a problémám az ott van, hogy 2x8 page van a kijelzőn.... na most ha szépen ctrl-c ctrl-v vel egy más után beillesztem a page kijelző szubrutint, akkor tökéletesen műkodik, közben a kellő chipváltással és page szám növeléssel.... na de igy kilóméteres a lista. Amint beleraknék egy növeldapageértéketaztángotoazelejére utasításpárt, a kijelzőn megjelenik Neo és a Watsovsky B. összes spec efektje.... ilyen problémám már volt, akkor potyo megoldása segített, de most valahogy nem jön össze egyedül.... aztán sajna van még egy kérdésem is, de azt majd később. Kérlek ha van valami ötletetek erre, hogy mit is ronthatok el, osszátok meg velem... Köszi! The_Saint
Sziasztok.
Most ismerkedek a Pices dolgokkal. És találtam egy programot ami nekem böven megfelel. "Flowcode"Nem akarok mega projekteket csinálni. De lenne egy nagy kérdésem. Szeretném a Picet sleepbe rakni és WDT-vel egy álltalam beállitott idö után vagy port állapot változásra felébreszteni. Ehez kellene nekem C-be valami amit a flowcode meghiv. Csak sajna ehez nem igazán értek. Megköszönném ha tudna valaki segiteni.
Szia!
Elnézést, még egyszer nem írom le.... Bár ezt a kérdést is kitárgyaltuk többször itt a topikban, sőt az adatlapon még számítás is van (us nagyságrendű késleltetés kell). A vezetékeknek nem csak ellenállása, hanem induktivitása is van, a vékony hosszúnak nagyobb ... Még azt sem írom le többször, hogy a 230V-os és a leválasztott részek között nyákon 7.5 mm szigetelést kell alkalmazni, a nyákos nyomógomb nem felel meg az életvédelmi előírásoknak... (((Terveztem még a TTL LS korszakban (kb.20-22 éve) 130 IC-t (köztük Z80, I8231, WD2927 stb) egy dupla európa kártyára. A kétrétegű huzalozás (1 mm vastag föld és táp veztékekkel, a hálós kialakítás, rengeteg szűrőkondenzátorral nem volt megfelelő. A CP/M alatt futó (ramba betöltött) programok minduntalan elszálltak, az Eprom- beliek futottak... 4 rétegben kellett elkészíteni - a belső két fólia táp és föld felület volt. Így megbízhatóan működött....))) Szia
Hát, megpróbálok válaszolni a kérdéseidre....remélem sikerrel, de a guruk majdcsak kijavítanak:
1. Sleep beírod a programba, valahova, hogy sleep akkor ott elalszik a PIC. 2. na itt kezdődik a bonyolultság. TMR0-t a WDThez rendeled az OPTION_REG regiszterben (lsd. PIC Datasheet) és onnantól kezdve a WDT ébresztheti a PIC-edet. 4MHz eseten ez kb 1/4 mp-enként meg is történhet, ha nincs jobb dolga a PIC-nek 3. portlábon jelváltozásra ébredés: Engedélyezed a megszakítást (INTCON regiszter), kell a globális, a periféria és nem áárt, ha a PORTB is configurálod 4-7 lábig bemenetként, bár ebbe most nem vagyok biztos. lehet, hogy csak a RB0 tud ébreszteni. most ennyire futotta Üdv The_Saint
Szia!
- Jó kontroller típust kell választani - van olyan, amit a TMR1 (T1 oszcillátorral vagy külső órajellel), és még sok más modulja is fel tud ébreszteni. - Felébresztés időre: A TMR1-et be kell állítani a megfelelő időzítésre, a megszakítását engedélyezni kell (PEIE és TMR1IE). Felébredés a TMR1 átfordulásakor. A wd timerrel is lehet... - PortB bitjeinek megváltozására: Általában az RB7..4, de van olyan kontroller is, ahol más lábak, vagy az egész RB7..0 is rendelkezik Interrupt On Change lehetőséggel. A kívánt bitekre engedélyezni kell. A megszakítást is engedélyezni kell (PEIE, RBIE). Amikor a program a sleep utasításra fut, a végrehajtás leáll (az órajel is). Ha megjön az ébresztés két lehetőség van aszerint, hogy a megszakítás (GIE) engedélyezett volt vagy sem: - Ha engedélyezett volt, akkor a megszakítási rutinra adódik a vezérlés - Ha a GIE tiltva volt, a következő utasítással folytatódik a program. Szia
A sleepelés az megy. Van egy fül ahol c kodot lehet be illeszteni. 16F676 picem van abba van TMR1 viszont B lábak nincsenek csak A meg C. Ezzel a piccel konkrétan hogy kellene?
na most konkrétan ezzel a PIC-el még nem dolgoztam. De biztos van leírásod róla. Ott meglátod, hogy melyik lábak, mire konfigurálhatóak.... Mi a B portról beszéltünk, de szerintem bármelyik láb, amelyiket az INTCON regiszterrel kapcsolatba lehet hozni, azt használhatod.... első blikkre az RA2...
De! nem néztem végig a datasheetet, de az A PORT általában AD converter is. Tehát az ADCON regisztereket is configurálnod kell. Üdv The_Saint
Vigyázni kell, mert van sok olyan interruptforrás, ami sleep-ből _nem_ ébreszt! Ezek azok, amikhez kell az, hogy az utasításvégrehajtás pörögjön, mert annak az egyik fázisában ellenőriz valamit (pl. az előző állapothoz képesti változást). Minden esetben meg kell nézni az adatlapot, hogy mik azok, amik a konkrét PIC-en tudnak ébreszteni.
Szia!
Ezzel kapcsolatban kérdeznék: Idézet: „hogy a 230V-os és a leválasztott részek között nyákon 7.5 mm szigetelést kell alkalmazni” Melyik ez a szabvány amiben ez le van írva? jó tisztában lenni az ilyen dolgokkal. Köszi!
Sziasztok!
van valakinek PIC-hez, bármilyenhez, asm forráskódja a DS18B20 thermo-sensor SearchROM commandhoz? Vagy ha valaki elmagyarázná nekem emberi nyelven, hogy hogy működik, még az is segítene... Előre is köszi! Üdv The_Saint
Az adatlap felületes átfutása alapján ezek "ébresztenek":
- RESET - WDT túlcsordulás - RA2 interrupt bementre adott jel - PORTA interrupt-on-change - Timer1 túlcsordulás (aszinkron módban, saját oszcillátorról vagy külső forrásból) - Analóg komparátor interruptja - Analóg-Digitál átalakító interruptja
Ebben a topikban nézz szét: DS18B20 hőmérő-szenzor (Ha mást nem, valami linket csak találsz benne).
Köszi, már megtettem, de sajnos vagy nem vettem észre, vagy senki nem akart még ilyet csinálni.... a maximmal is felvettem a kapcsolatot, de korrekt választ nem adtak, csak két app.note-ot, ami nekem is megvan, de nem mentem vele semire eddig... nem a kezeléssel van baj, csak ezzel az egy commandal. 2 nyamvadt szenzort kellene rárakjak arra a bizonyos 1-wire-ra, de a S.ROM command nem nagyon jön össze.... na mind1, még küzdök vele
Nem csináltam még ilyet, de emlékszem rá, hogy vagy az adatlapban, vagy valamelyik appnote-ban volt egy elég részletes algoritmus leírva a keresésről.
|
Bejelentkezés
Hirdetés |