Fórum témák

» Több friss téma
Fórum » 16F689 - A/D konverter a PIC-ekben
 
Témaindító: Báddzsó, idő: Márc 14, 2006
Témakörök:
Lapozás: OK   1 / 2
(#) Báddzsó hozzászólása Márc 14, 2006 /
 
helósztok, (remélem nem haragszik meg senki, hogy egy új topicot nyitok, de ezért vkinek majd járni fog az 50 pont (remélem))
Az a problémám, hogy nem tudom elindítani a 16f689-es picemet.
Hiába állítgatom a konfigurációs regisztereket, nem megy.
Azt szeretném megtudni hogy milyen regisztereket kell milyenre állítani ahoz, hogy belső osc-ral (4 vagy 8MHz) kimenet nélkül, menjen úgy a pic, hogy a rb5-ön menjen az A/D, és az összes többi láb legyen sima kimenet, a (rb4 és az rb6 kivételével, ezt megoldom én )
köszönőm!
(#) Norberto válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
Idézet:
„Hiába állítgatom a konfigurációs regisztereket”


Először is el kéne mesélned, hogy PONTOSAN milyen regisztereket próbáltál meg állítgatni, és hogyan állítgattad őket?
(#) Báddzsó válasza Norberto hozzászólására (») Márc 14, 2006 /
 
OSCCON: 01100111 volt a configurációs reg (2007-en) 3DDC mással nem foglalkoztem (még)
(#) Báddzsó válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
egyébként elindul a pic, csak azonnal megáll,( tehát a led nem villog csak világít )
(#) Báddzsó válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
megy!, mindennel baj volt amit használtam (programozó, ic-foglalat, én amikor az ujjammal leszorítottam programozás közben a picet és kicsit hozzáértem a lábakhoz... ) kivéve a regisztereket
azért még mindig várom a választ erre:
Idézet:
„rb5-ön menjen az A/D, és az összes többi láb legyen sima kimenet,”
(#) Slope válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
keresd meg az adott pic adatlapját minden benne van, amire szükséged lehet.
(#) Slope válasza Slope hozzászólására (») Márc 14, 2006 /
 
Megkerestem az adatlapot... csatolni nem tudom, mert 4.5MB.
Viszont INNEN letöltheted.

A 101. oldalon találsz példát is.

Sok sikert!
(#) Báddzsó válasza Slope hozzászólására (») Márc 14, 2006 /
 
nahát, azér nem vagyok annyira hülye, hogy adatlap nélkül próbálkozzak. Azér kössz!
(#) Slope válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
Akkor mi a problem?
Le van írva, ki kell próbálni... valszeg nem hazudnak.
Nincsmit!
(#) Báddzsó válasza Slope hozzászólására (») Márc 14, 2006 /
 
annyi minden van egy-egy lábhoz, hogy nekem sok,

meg kapcsoljak ki mindent egy lábon és csak azt kapcsoljam be rajta ami kell? elég hosszadalmas...bonyolult...nekem...
(#) Norberto válasza Báddzsó hozzászólására (») Márc 14, 2006 / 4
 
Először is...

Az 5-ödik lábhoz tartozó bitet át kell kapcsolni (ha szükséges) a TRISB regiszterben, hogy bemenetként használja.

Aztán az ANSEL regiszterben át kell írni az ANS11 jelű bitet 1-re, ezzel azt jelezzük, hogy a B port 5-ös kimenetén A/D átalakítás lesz majd a későbbiekben (illetve oda érkezik az analóg jel).

Aztán még az ADCON nevű regiszterben is kutakodnod kell: A CHS3-CHS0 bitek helyén be kell írnod a következőt: 1011 Ezzel ugyancsak kiválasztod, hogy az RB5-ön legyen A/D átalakítás...

...most kitörlöd a két különálló 8-bites ADRESH és ADRESL nevű regisztert (ide érkezik a digitálissá konvertált jel az A/D-ből)...

...aztán be kell kapcsolnod (1-est beírni) az ADCON regiszterben az ADON bitet, ami bekapcsolja magát az A/D átalakítót.

Aztán az ugyanebben a regiszterben található GO/DONE bitet kell bekapcsolnod, és abban a pillanatban elkezdi venni a mintákat az analóg jelből. Ha ezt a GO/DONE bitet 0-ba állítod, akkor megáll az átalakítás.
(#) Báddzsó válasza Norberto hozzászólására (») Márc 14, 2006 /
 
pontosan ilyen szájbarágósan akartam hallani (olvasni) a dolgokat! köszönöm!
(#) Norberto válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
De azért ehhez hozzátartozik, hogy életemben még nem A/D-ztem PIC-kel, úgyhogy ezek a tippek akár még rosszak is lehetnek Bár nem hinném, de előfordulhat...

(egyébként megsúgom, úgy csináltam, hogy belelapoztam az adatlapba, és az A/D rész első oldalától szép lassan átnéztem a végéig...és meglepő, de a nézegetés közben ilyen hasznos információk is benne voltak, amiket itt fent leírtam...)
(#) Slope válasza Norberto hozzászólására (») Márc 14, 2006 /
 
no fene...
(#) Báddzsó válasza Norberto hozzászólására (») Márc 14, 2006 /
 
jóvan, tudom, hogy hülye vagyok... nekem egyszerűen nem átlátható az adatlap. olyan keszekuszaösszevisszacucc, innenarrahivatkoznakonnmáshova és akkor ugrálok össze vissza a lapokon.:no:
ki kéne nyomtatnom, szerintem jobb lenne nekem, csak hát naon sok lap.

(#) Slope válasza Báddzsó hozzászólására (») Márc 14, 2006 /
 
Ha komolyan foglalkozol ezzel a mikrovezérlővel mindenképp nyomtasd ki (képernyőn több mindenen átszalad az ember, mondván "lényegtelen")... és még a WC-re is vidd magaddal.
Én is így csináltam a F628-al, és nincs olyan hardver benne amit ne teszteltem volna sikeresen. Sokszor több napnyi szenvedés hoz egy aprócska eredményt, de a siker annál nagyobb.
(#) Báddzsó válasza Slope hozzászólására (») Márc 14, 2006 /
 
Idézet:
„Sokszor több napnyi szenvedés hoz egy aprócska eredményt,”
ez így van...:yes:

kinyomtatva mégis más, mint képernyőn szkrollozgatni.
sajna nem egy olcsó mulatság kinyomtani azt a sok lapot.(tinta)
(#) komlosi hozzászólása Nov 15, 2009 /
 
Helló mindenki!
Konkrétan nem ezzel a típussal, hanem PIC16F876, 874, 877 PICkel próbáltam az AD átalakítást. Azonban bármit is csináltam fix analóg bemeneti jel esetén is az alsó 3 bit ingadozik. Így jó esetben is csak 8 bitesnek tekinthető az amúgy 10 bites AD.
Van-e valaki akinek sikerült stabil AD átalakítást csinálni?
Előre is köszi!
Üdv.: Komlosi
(#) Stefan válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Az A/D órajelét próbáld csökkenteni az ide vonatkozó bitekkel valamit van egy ilyen "acquistion time select bits" ezekket is próbáld nagyra állítani. Sztem az segít
üdv
(#) baloghzoli1 válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Szia,16F876 csináltam AD az nem ingadozott de én csak a Parsiccal csináltam, annak tudom csak az asm-t felrakni ha jó?
(#) komlosi válasza Stefan hozzászólására (») Nov 15, 2009 /
 
Az órajellel már mindent próbáltam: saját RC, 4Mhz/32 osztás...

Idézet:
„"acquistion time select bits"”

Ilyet nem találok, az adatlapban. Hol kell ezeket állítani?


baloghzoli:
Tedd föl légy szives, talán látok valamit, hogy én hol rontottam el. De nekem is van Parsic, úgy is jó.


Üdv. Komlosi
(#) baloghzoli1 válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Tessék
(#) komlosi válasza baloghzoli1 hozzászólására (») Nov 15, 2009 /
 
Ha jól látom, akkor te itt egy 8 méréses átlagolást csinálsz és azt jelzed ki?
(#) baloghzoli1 válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Jól látod,ha csak az AD állapotát irod ki akkor billeg de igy nem
(#) Stefan válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Amúgy a fix analód jel az mit jelent? Egyébként ha belegondolunk 0->5 referencia esetén 1 bit 4,88mV (5V/1024)annyi zajt meg bárhonnan összeszedhet.
Ha potival állítottad elő a fix analóg jelet, akkor próbáld kisebb értékűvel. Egy konkrét áramkörömben 100K helyett 10K egyből megoldotta a bizonytalanságot.
(#) komlosi válasza baloghzoli1 hozzászólására (») Nov 15, 2009 /
 
Köszönöm!

Erre én is gondoltam, csak nem akartam belemenni szoftveresen a megvalósításba, azt hittem a beállításokat rontom el.
Nameg időben és tárhelyben is át kell gondolni, mert:
5 csatorna, 8 ismétlés/mérés, 20usec/mérés az:
40 bájt a memóriában és
20x5x8=800us+ amíg megátlagolom.
És mindezt egy 10ms-os ismétlődésű programba.

Tehát érted miért próbáltam megúszni, de mostmár beláttam nem lehet.

Köszi mégegyszer.

Üdv: Komlosi
(#) baloghzoli1 válasza komlosi hozzászólására (») Nov 15, 2009 /
 
De ha lassú a 8 mérés próbáld meg 2-3 méréssel lehet úgy is müködik,én nem kisérleteztem vele annyit mert nekem igy is jó volt
(#) komlosi válasza Stefan hozzászólására (») Nov 15, 2009 /
 
Stefan:

Mivel a kész rendszerben ráfogtam a műveleti erősítőre, ezért 3 diódával 3 feszt csináltam és azt mérem.
A ~5mV nem lenne sok, de 3 bit esetén 7x5mV=35mV, már a szábályzó áramkört rángatja egy kicsit.
Visszaszorozva pedig 35V betáplálásnál: 240mV a mérési hiba.
(#) Stefan válasza komlosi hozzászólására (») Nov 15, 2009 /
 
Megnéztem a 877es adatlapját, úgy tűnik abban nincs ilyen acquistion time beállítási lehetőség.
Már én is hajlok az átlagolós megoldásra. Esetleg még a belső pull-up okkal lehetne variálni, talán beleszól a dologba, de nemhiszem. esetleg egy jól megválasztott kondi a bemenetre? Belül 120pF ossal mér az AD 877eseben az adatlap szerint. Bemeneti impedancia < 10K legyen, de ez a te estedben ugye teljesül.
Egyébként ha szabályzási feladatot nem lát el a PIC akkor szerintem a 0,7% mérési hiba lenyelhető>
(#) komlosi válasza Stefan hozzászólására (») Nov 15, 2009 /
 
Sajnos de szabályoz.
El is kezdtem egy olyan rutin megírását, ami átlagol.
Következő: »»   1 / 2
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