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   662 / 1210
(#) Rick06 válasza usane hozzászólására (») Ápr 16, 2015 /
 
Bocsi a félreértésért, az optónál a LED előtt 1,2 K-s ellenállás van.
Külső felhúzó ellenállásra gondoltam a bemeneti lábon az 10K-s.
Az optó csak akkor oszcillál ,ha a 18V-os jelet kapja.
A kollektor a 10K-s ell. ál a PICbementei lábára és a +5V-ra van kötve, az emitter pedig a PIC táp földjére. Bázis szabadon lóg! 16F84A a PIC! A megszakítás a PORTB 4-7 változásfigyelésére van állítva!
A hozzászólás módosítva: Ápr 16, 2015

PIC_4N25.png
    
(#) carp07 hozzászólása Ápr 16, 2015 /
 
Sziasztok!
A segítségeteket szeretném kérni a következőben. Írtam egy programot két pic16f887-es pic-re, proteussal próbáltam szimulálni de valamiért nem működik. A program mikroc-vel íródott. A forráskódott mellékelem, ha igény tarja a proteus fáljt is feldobom.
(#) Bell válasza carp07 hozzászólására (») Ápr 17, 2015 /
 
Első ránézésre a soros port ki- és bemenetét nem jól konfiguráltad.
(#) jdani hozzászólása Ápr 17, 2015 /
 
Hali. Vásárolnék programozót. Programozon PIC-eket, AVR-eket, Epromokat, és különböző IC-ket.
1
2
E között a 2 között hezitálok. Mondjuk árban elég szép különbség van köztük. Az olcsóbb még talán többet is tud programozni. Van valakinek tapasztalata velük?
A hozzászólás módosítva: Ápr 17, 2015
(#) usane válasza Rick06 hozzászólására (») Ápr 17, 2015 /
 
Eddig ok. Kezdjük a hardverral. Tételezzük fel, hogy az opto rendben van(oszcillálni nem szokott).
-Táp: Milyen az a 18V táp? Honnan jön, stabilizált? Ha nincs eléggé pufferelve pulzálhat.
-PIC: PortB4-7 többi lába mit csinál? Mert ezen a PIC-en az interrupt az B4-7 összesre vonatkozik.

Azt irtad nincs szkópod, kezdjük a táppal. Ha a 18V a gond azt próbáld pufferelni. Nem muszáj a 18V-ot, az optó PIC felőli oldalát is próbálhatod pufferelni.
(#) nedudgi válasza jdani hozzászólására (») Ápr 17, 2015 /
 
Egy örök igazság: Ami mindent tud, az nem tud igazán semmit sem.
Mikrokontroller (PIC,AVR) esetén a fejlesztő környezetbe integrált programozó a legjobb.
Ha ritkán, esetleg csak más által fejlesztett programokat használsz, akkor mindegy a kezelhetőség.
(#) jdani hozzászólása Ápr 17, 2015 /
 
PICkit2 van nekem. Nekem leginkább egy Eeprom programozó kell. Autók ECUjában az immobilizerek deaktiválására. Azokban vannak mindenféle spéci IC-k néha.
(#) Hp41C válasza jdani hozzászólására (») Ápr 17, 2015 /
 
Elég TL866 CS -t venni , mert ét lehet konvertálni TL866A -vá. Bővebben: Link
(#) jdani válasza Hp41C hozzászólására (») Ápr 17, 2015 /
 
Kicsit laikus vagyok ebben. Hirtelen ránézve, (tényleg csak hirtelen - 10másodperc) valamit át kell benne égetni PICkittel. Ezzel nem lenne gond. Viszont foglalmam sincs miért kell ezt csinálni, nem ismerem ezt a programozót, mivel másabb. Nekem a lényeg, ha jön egy ECU, és lesz benne egy IC amit fel kell programozni, akkor ne legyen az hogy megveszem az A programozót, és .. a fenébe, a B programozó ezt tudja, de az A nem. Miért nem vettem amazt. És ez így fordítva is. Akkor azt mondod, az olcsóbb TL-t vegyem?
(#) hapci hozzászólása Ápr 17, 2015 /
 
VRCON beállítása után a 10us késleltetés - feltételezem - a feszültségosztó stabilizálásához kell. Elég erre néhány NOP utasítás, vagy timert kell indítani egy PIC16F628 esetén? Esetleg az is megfelel, ha beállítom, és csak jóval később kérdezem le?
(#) don_peter hozzászólása Ápr 18, 2015 /
 
Uraim, mennyire lehet pontos áramot mérni PIC-el?
Csatolok néhány képet, hogy kötöttem be.
Nem vagyok elégedett a méréssel, lehet nem jól számolok valamit, vagy a bekötés sem korrekt?

A feszültségeket, jól számolja, de az áramot nem.
A kódrész pedig így néz ki:
  1. temp2 = ((((float)Read_ADC(ADC_CH3)*50.0)/1023)*250.0)/1023;

Előre is köszi az észrevételeket..
A hozzászólás módosítva: Ápr 18, 2015
(#) icserny válasza don_peter hozzászólására (») Ápr 18, 2015 /
 
Jól látom, hogy 100 kOhmos soros ellenálláson keresztül csatlakozol az ADC bemenetére? Akkor mit vársz?
(#) don_peter válasza icserny hozzászólására (») Ápr 18, 2015 /
 
Mond meg a tutit mester
Hogy csináljam, hogy jó legyen?
(#) ktamas66 válasza don_peter hozzászólására (») Ápr 18, 2015 /
 
Több probléma is van. Úgy látom ebben a PIC-ben nincs referencia, és mivel külsőt sem használsz, gondolom az 5V-os táp az. Ekkor feszültségmérésnél, ha az ellenállásosztó a táp 5V-ját akarja megmérni csak az osztó arányát méri, hiszen ha a táp változik a leosztott feszültség is (márpedig a táp változik, ahogy változik a terhelése). Tehát a PIC így nem tudja megmérni a saját tápfeszét. Az árammérésnél ugyanígy, ha 5V a referencia, az egy bitre jutó áram ~10mA (5/1024/0,47). Alacsony feszültségnél nagy a pontatlansága az AD-nek (amúgy is ugrál 3-4 bitet), és egyéb hibák is kijönnek (pl. ofszet). Ezen több mérés átlagolásával és az AD jó beállításával (TAD, beállási idők) lehet valamit javítani. Itt jön képbe a 100k soros ellenállás, ami nagyon lelassítja az AD kondijának feltöltődését. Tehát ha ilyen kis áramot szeretnél mérni nagyobb ellenállás kell (hogy nagyobb legyen a feszültség), vagy erősítő.
(#) icserny válasza don_peter hozzászólására (») Ápr 18, 2015 /
 
Nézd meg az adatlapban az A/D Acquisition Requirements című szakaszt! PIC18F4550 esetén például (ennek az adatlapja van mos a kezem ügyében) ezt írják: The maximum recommended impedance for analog sources is 2.5 kΩ. Ehhez képest a 100 kOhm nagyon sok. Rövid adatgyűjtési idő esetén így nem képes feltölteni a mintavevő-tartó áramkör kondenzátorát. Hosszú adatgyűjtési idő esetén pedig elviszi az offszetet a csudába az elszivárgás.

Ha muszáj a nagyimpedanciás csatlakozás, akkor tenni kellene oda egy műveleti erősítőt. Vagy használj valamilyen árammérő szenzort. Bővebben: Link
(#) don_peter válasza ktamas66 hozzászólására (») Ápr 18, 2015 /
 
Igen, az 5v-os táp a referencia, 10 mérés átlagát fogom használni, nincs komoly szükség az áram mérésére, de jó lenne látni mi az aktuális helyzet.
Később jól jöhet, ha egy labortápot akarok építeni..

icserny: köszi, ezt nem néztem, ugyan ezt írja a 18F442-re is. (max. 2.5kΩ)
(#) Bell válasza don_peter hozzászólására (») Ápr 18, 2015 /
 
Érdemes lenne a számítást is egyszerűsíteni. A négy művelet helyett talán egy is elég.
(#) don_peter válasza Bell hozzászólására (») Ápr 18, 2015 /
 
És hogyan?
Ha van elképzelésetek, akkor kérnék egy példát is, hogy véleményetek szerint mi lenne a jó és optimális bekötés.

Feltettem a teljes proteus projektet, kérnélek benneteket akinek van proteusa és tud segíteni egy optimális megoldással az segítsen a projekt módosításával.
Továbbá a projekt keretein belül megtaláljátok az LCD drivert, a szűkséges ADC beállításokat és néhány függvényt ami szükséges lehet.
Továbbá van benne egy 12v-os. 5v-os, és egy áram mérő rész is, programmal együtt. (az árammérő rész az nem pontos, és a fesz mérés is lehet hibás bár jól működik)

Ez a projekt nem csak a segítségemet szolgálja, szolgálja azokat is akik LCD vagy az analóg portokat nézegeti kezdőként.
18F442 és 452-es PIC-hez az MCU beállításokat is megtaláljátok.
A hozzászólás módosítva: Ápr 18, 2015
(#) bbalazs_ válasza don_peter hozzászólására (») Ápr 18, 2015 / 1
 
Nem nagy dolog.
Szorzol, osztasz, megint szorzol es megint osztasz KONSTANSOKKAL.
Ergo elvegzed a muveletet kulon es a vegeredmenyevel szamolsz.

Mondjuk (((x*10)/2)*3)/5) az ugyanaz, mint az x*3
(#) ktamas66 válasza don_peter hozzászólására (») Ápr 18, 2015 / 1
 
Nem tudjuk mit szeretnél mérni. Két feszültség értéknél (mint írtam a PIC a saját tápját nem tudja megmérni), mekkora a méréshatár, ugyanez az áramnál (1A, 10A).
A programban nem tudom miért kell lebegőpontos számítás, mikor minden szám egész. A feszültség és áram mérést egy rutinba kellene tenni, lehetőleg egyből egymás után, hogy összetartozó pillanatnyi teljesítményt tudj számolni (bár nem tudom mennyire változhatnak az értékek). 10MHz-hez nagyobb osztást kellene beállítani a Tad-hoz. Az akvizíciós idő inkább néhányszor 10us, mint 1ms (nem kell oda 2,5k csak annyi lehet a maximum, inkább soros 1k-100nF a föld felé, ha egyent mérsz). Két mérés között minimum 2Tad-nak kell eltelni, az 1ms nagyon lelassítja a mérést (most ugye 20ms alatt csinál egy 10-es adagot).
(#) Bell válasza don_peter hozzászólására (») Ápr 18, 2015 / 1
 
Csak a számításhoz:
Ha az egyes méréseket osztod 10-el, nagy mértékben romlik a pontosság. 10 bit helyett csak épphogy 7 bites lesz.
Helyette a mérések eredményét add össze egy unsigned int változóba és a végeredményt oszd el 10-el. Csak az utóbbi legyen a float.
Az egészekkel való számítás lényegesen gyorsabb.
Az x*50/1023*250/1023 számítást - mint bbalázs_ írja - ne a processzorra bízd.
(#) Bell válasza don_peter hozzászólására (») Ápr 18, 2015 /
 
Azt végképp nem értem, hogy miért is kell oda kétszer is az 1023-al való osztás.
Az eredménynek ilyesminek kéne lennie: AD * méréshatár / 1023
(#) ktamas66 válasza Bell hozzászólására (») Ápr 19, 2015 /
 
Mi az, hogy kétszer. Már egyszer sem kell.
(#) don_peter válasza ktamas66 hozzászólására (») Ápr 19, 2015 /
 
50v-os és 10A-es méréshatárra gondoltam.
Készítenétek egy szerintetek jó kapcsolási rajzot, ami megfelelő lenne ezen mérésre? (csak azon részre gondoltam ami a PIC lábára rávezet, 5v--ellenállás--PIC, fogyasztó--ellenállás--PIC)
Nyilván ahogy volt említve is a 12v-os rész az majd a 7805-elötti feszültség az 5v már az utáni feszültség lesz.
A PIC fogyasztását nem akarom mérni, de tudom, hogy a fogyasztás feszültségingadozást fog eredményezni ami a számolás rovására megy, de ez elenyésző lesz mivel folyamatos terhelést kell mérnie nem nagyon lesz ingadozás, csak mérsékelten.
Igazából most ennek nem kell halálpontosnak lennie, de azért jó lenne a lehető legjobbat kihozni belőle.
A játékkonzolom fogyasztását akarom mérni majd vele ami ugyan arról az 5v-ról fog menni amiről a PIC is kapja a szuflát.
A hozzászólás módosítva: Ápr 19, 2015
(#) ktamas66 válasza don_peter hozzászólására (») Ápr 19, 2015 / 1
 
Nem azt mondom, hogy egyszerűen csak pontatlan, hanem semmilyen.
Példa: 5V táp, 1/2 osztóval 2,5V-ra beállítva az AD 512-es értéket fog adni, ezt a programod megszorozza 0,00976-tal (2*5/1024) kijelez 5V-ot. Lekapcsolom a tápot és megy két ceruza elemről: táp és referencia 3V, az osztó leossza 1,5V-ra a kapott AD érték 512 ha ezt szorozza ugyanúgy ,00976-tal ugyanúgy 5V-ot fog kijelezni. Magyarul nem tudja megmérni a saját tápját, mivel nincs mivel összehasonlítania.
Erre a megoldás lehet az, hogy külön stabil 5V-ot kap a PIC és a fogyasztód (persze a PIC tápjának változása így is belejátszik, pl. egy multiplex LED-es kijelzés épp milyen stádiumban van), vagy egy külső/belső referencia (2048mV-os referencia már 3V-nál is stabil).
(#) hapci válasza hapci hozzászólására (») Ápr 19, 2015 /
 
Elnézést kérek mindenkitől, aki akár egy pillantást is vesztegetett problémámra. A baki a 15. sor, ami az adatok szerint "low range", vagyis nem 2,50 V, hanem 1,67 V, ami kívül esik a bemenő jel tartományán...
(#) devergo74 hozzászólása Ápr 20, 2015 /
 
Sziasztok.
Most kezdtem el ismerkedni a Pic-el, letöltöttem egy szimulátort hozzá, valaki tudna hex-kiterjesztésű fájlt, amivel letesztelhetném a programot?
(#) Pali79 válasza devergo74 hozzászólására (») Ápr 20, 2015 /
 
A hozzászólás végén van. Futófény a PORTD-n ha jól emlékszem.

Bővebben: Link

Egyébként ha jót akarsz, felejtsd el a szimulátorokat!
A hozzászólás módosítva: Ápr 20, 2015
(#) Hp41C válasza Pali79 hozzászólására (») Ápr 20, 2015 /
 
Idézet:
„Amire a kolléga gondolt azok a 12,31 lábak, de ennél a PIC-nél nem kell bekötni az összes táplábat, mert a tokon belül össze vannak kötve.”

Minden táplábat be kell kötni, akárhány Vdd és Vss lába is legyen a kontrollernek. Sőt arra is ügyelni kell, hogy a külső összeköttetés alacsony impadanciájú (vastag vezeték) legyen és a chip -en belüli összekötéseken nem folyhat át áram.
(#) devergo74 válasza Pali79 hozzászólására (») Ápr 20, 2015 /
 
Köszi.
Miért felejtsem el a szimulátorokat? Nem jók?
Következő: »»   662 / 1210
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