Seminarska naloga pri predmetu: MIKROPROFESORJI V ELEKTRONIKI

Avtorja: JOŽE DEDIČ & MARKO VRBNJAK, 5. letnik UNI-ELEKTRONIKA

Šolsko leto 2000/2001, naloga zaključena 5.2.2001

To je to, kar lahko naredimo po enem semestru MPE

Po polletnem poslušanju predmeta MPE (mimogrede to je eden izmed redkih za kaj uporabnih predmetov) sva se s kolegom odločila izdelati merilnik kapacitivnosti s pomočjo HC11. Prva ideja je temeljila na enačbi:

Toda kaj hitro sva ugotovila, da ne bo ravno preprosto zagotoviti, konstantnih tokov pri spreminjanju napetosti na kondenzatorju (osnovne vezave tokovnih zrcal niso zagotovile konstantnega toka med polnjenjem kondenzatorja), pa tudi rang tokov je bil problem (1m...100mA). Zato sva se odločila za drug pristop; kondenzator sva polnila preko znanega upora.

Moj fotr je stromar, oj stromar sem jaz on kondije fila babe pa jaz...

 

Po principu superpozicije lahko zapišemo:

           

Sledi končna formula, kjer vidimo, da sploh ni pomembna napetost kondenzatorja pred polnjenjem, le da je pod nivojem ULO:

Tako zasnova je dana, obdelajmo še vezje in software.

Ob tem bi se pleh picke otrpnile

Hardware (=železnina) je razmeroma preprost; uporabila sva OC invertor s pomočjo katerega vklopiva praznjenje ali pa polnjenje kondenzatorja preko posameznega upora. Za detekcijo dveh nivojev skrbi komparator LM393, ki ima rahlo povratno vezavo (da ni oscilacij). Na vezju je še tipka ter LCD display (uporabila sva LM016). DBB file (sch in pcb) v PROTEL99 SP05 formatu je tu: Cap meter.zip (special thankz to the author)

POMEMBNO: za vse morebitne navdušence - EPB (expansion port B) je na LCD data vodilo zaradi hardwarske izvedbe priklučen zrcalno (EPB0 na D7 in podobno)!!!!

Tehnični podatki potrebni za izračune:

S spostovanjem, do vseh fanaticnih prevajalcev

Ne da bi se hvalila, ampak to je res bil kar dober zalogaj dela (več kot 1000 vrstic asemblerja ni kar tako). Največ problemov sva imela pri preračunavanju, saj HC11 ni ravno nek matematik (na nekih mestih sva imela tudi 6 bitne vrednosti + dekadni floating point).

Za določeno območje (R) lahko to enačbo prevedemo na množenje števila v counterju (ki šteje čas) s konstanto. C = N * 7332*10-12 (pri R=100E), C = N * 36659*10-14 (pri R=2k), C = N * 14376*10-15 (pri R=51k) in C = N * 7332*10-17(pri R=10M). Vsi ti rezultati veljajo pri fosc = 4M9152Hz. Vse konstante so predstavljene tako, da jih lahko opišemo s 16 biti, eksponent pa si zapomnimo posebej in ga upoštevamo kasneje pri pretvorbi BIN->BCD->končni izpis. Ker je čas predstavljen s 24 biti (TIC je 16 biten + 1 byte v katerem štejemo TOF-e) je bilo potrebno realizirati 24x16 bitno množenje (40 biten rezultat).

Filez, hints, add ons

Na vsa morebitna vprašanja bova odgovorila:

@ 1024x768

Copyrights can be bought, we accept:

Nakazila preko PE Brunarica

Who's the best, kuuuulega? kuuuulega

jOc

Mare

...če bova le znala