Kazalo:
- Zaloge
- 1. korak: Opis PICBIOS -a
- 2. korak: Opis PICMETER
- 3. korak: Opis vezja
- 4. korak: Vodnik za gradnjo
- 5. korak: Fotografije testiranja
- 6. korak: Reference in povezave
Video: PIC16F877 Multimeter: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
PICMETER Uvod
Ta projekt PICMETER je prerasel v uporabno in zanesljivo orodje za vse ljubitelje elektronike.
- Deluje na mikro krmilniku PIC16F877 / 877A.
- To je razvojni sistem PIC
- To je 19-funkcijski večmeter (voltmeter, merilnik frekvence, generator signala, termometer …)
- Gre za preverjanje komponent (R, L, C, dioda …) z do 5 območji za vsako funkcijo.
- Ima 433MHz pas ASK radio, ki čaka na nekakšno aplikacijo.
- Gre za sistem za oddaljeno pridobivanje, kjer lahko drug računalnik (PC) zbira podatke prek serijskih vrat za grafični prikaz. (Uporabljen je bil kot sprednji del projekta EKG).
- Ima enoto za beleženje (za beleženje podatkov po urah), rezultati se naložijo iz EEPROM -a.
- Proizvaja preskusne signale za pogon nekaterih motorjev.
- Temeljito je preizkušen, oglejte si fotografije v 5. koraku.
- Programska oprema je izdana kot odprtokodna
Ta Instructable je skrajšana različica celotne dokumentacije. Opisuje strojno in programsko opremo, ki jo drugi lahko zgradijo kot dokončan projekt ali jo uporabijo kot razvojni sistem za nadaljnje spremembe ali pa samo poiščejo ideje za uporabo pri drugih projektih.
Zaloge
Edini kritični čip za nakup je Microchip PIC16F877A-I/P
- A = kasnejša revizija, ki se od originala razlikuje po definiciji konfiguracijskih bitov.
- I = industrijsko temperaturno območje
- P = 40-vodični plastični dvojni linijski paket, 10 MHz, normalne meje VDD.
Tudi Hitachi LM032LN 20 znakov po 2 vrstici LCD, ki ima vgrajen krmilnik HD44780.
Drugi deli so le splošne električne komponente, tiskana vezja na ploščah, LM340, LM311, LM431, tranzistorji za nizko porabo itd.
1. korak: Opis PICBIOS -a
PICBIOS Opis
Ta programska oprema deluje na plošči PIC16F877 in zavzema spodnjih 4k programskega pomnilnika. Zagotavlja programsko okolje za aplikacijski program, ki zavzema zgornjo polovico programskega pomnilnika. Idejno je podoben PC-BIOS-u z nekaj ukazi za odpravljanje napak za razvoj programa in ima 5 komponent:
- Zagonski meni
- Namestitveni program
- Vmesnik ukazne vrstice (prek serijskih vrat)
- Gonilniki jedra in naprav
- Vmesnik za programiranje aplikacij
2. korak: Opis PICMETER
PICMETER Opis
Uvod
Tako kot multimeter (volti, amperi, ohmi) ima tudi on številne funkcije, ki jih izbere sistem menija. Ker pa je kombinacija strojne in programske opreme, je zelo vsestranska, na primer so na voljo funkcije, kot so daljše beleženje in pošiljanje serijskih podatkov.
Meni je "srce", kjer so funkcije izbrane s tipkama [levo] in [desno]. Nato za vsako funkcijo z gumboma [inc] in [dec] izberemo različne obsege. Na primer, kondenzatorji se merijo od približno 0,1 nF do 9000uF s pomočjo 5 ločenih razponov.
2.1 Programska oprema PICMETER
Ta je organiziran kot aplikacijski program, ki zaseda zgornjih 4k programskega pomnilnika in se opira na funkcije PICBIOS za V/I naprave in upravljanje prekinitev. Sestavljen je iz razdelka menija, ki deluje kot opravilo v ozadju in raziskuje gumbe vsakih 20 ms. Ko pritisnete gumb za spremembo funkcije ali spreminjanje obsega, se pokliče ustrezna rutina. Ko ne pritisnete nobenega gumba, se izmerjeni odmerek posodobi v približno 0,5 -sekundnih intervalih. V bistvu je meni iskalna tabela.
2.2 Funkcija merilnika - odseki
Obstaja veliko funkcij, zato je ta del razdeljen na odseke, od katerih vsak obravnava funkcije podobne narave. To je kratek seznam razdelkov, poglejte v celotno dokumentacijo, da vidite, kako vsak odsek deluje podrobno. Zaradi omejitev vrat obstajajo 3 različice projekta (glej celotno dokumentacijo). Funkcije z običajno pisavo so skupne vsem projektom. Funkcije UNDERLINED so vključene samo v projekt PICMETER1. Funkcije v ITALICS so vključene samo v projekte PICMETER2 ali PICMETER3.
Odsek VoltMeter - Izvorna datoteka je vmeter.asm
Vsebuje funkcije, ki temeljijo na merjenju napetosti z ADC.
- Napetost ADC (bere napetost na izbranem vhodu, AN0 do AN4)
- AD2 Dual (hkrati prikazuje napetost na AN0 in AN1)
- TMP termometer -10 do 80? degC (2N3904 ali dvojni pretvornik LM334)
- LOG - nastavi interval beleženja
- OHM - Merjenje upora (metoda potenciometra) od 0Ω do 39MΩ v 4 območjih
- DIO-Dioda, meri napetost naprej (0-2,5 V)
- CON - Kontinuiteta (pisk, ko je upor manjši od praga 25, 50 ali 100)
Komponenta Meter1 - Izvorna datoteka je meter1.asm
Merjenje kondenzatorja, induktorja in upora s primerjalnim vezjem LM311. Na podlagi merjenja časa enega cikla polnjenja.
- CAL - kalibracija - meri 80nf in 10μF za samopreverjanje in prilagajanje
- Cx1 - merjenje kondenzatorja od 0,1 nF do 9000μF v 5 območjih
- Lx1 - merjenje induktorja od 1mH do ?? mH v 2 razponih
- Rx1 - merjenje upora od 100Ω do 99MΩ v 3 območjih
Merilnik komponent2 Izvorna datoteka Meter2.asm
Merjenje komponent z uporabo alternativnega sprostitvenega oscilatorja LM311 in Colpittsovega oscilatorja. Na podlagi merjenja časovnega obdobja N ciklov. To je nekoliko natančnejše od zgornje metode, saj se meri čas N = do 1000 ciklov. Je bolj strojna rešitev in zahteva več gradnje.
- Cx2 - merjenje kondenzatorja od 10pF do 1000 μF v 5 območjih.
- Rx2 - merjenje upora od 100 ohmov do 99 M v 5 območjih.
- Lx2 - merjenje induktorja od 1mH do 60mH v 1 območju.
- osc - merjenje induktorja (Colpittsova metoda) od 70μH do 5000μH? v 2 razponih.
Merilnik frekvence - izvorna datoteka Fmeter.asm
Vsebuje funkcije, ki uporabljajo števce in merilnike časa PIC, in malo drugega;
- FREQ - Frekvenčni števec od 0Hz do 1000kHz v 3 območjih
- XTL - meri frekvenco kristalov LP (ni preizkušeno)
- SIG - generator signalov od 10Hz do 5KHz v 10 korakih
- SMR - koračni motor - obratna smer
- SMF- koračni motor- smer naprej.
Komunikacije - izvorna datoteka je comms.asm
Funkcije za prenos/sprejem signala za testiranje serijskih in SPI zunanjih naprav;
- UTX testni serijski TX & inc in zmanjšanje bitne hitrosti od 0,6 do 9,6 k
- URX testni serijski RX & inc in zmanjšanje bitne hitrosti od 0,6 do 9,6 k
- SPM - preskusi SPI v glavnem načinu
- SPS - preskusi SPI v podrejenem načinu
Radijski modul FSK - izvorna datoteka je Radio.asm
Funkcije, ki uporabljajo radijske sprejemne in oddajne module RM01 in RM02. Ti moduli se povezujejo prek SPI, ki uporablja večino zatičev Port C.
- RMB - nastavite stopnjo BAUD radijskega modula
- RMF - nastavite radijski modul RF frekvence
- RMC - nastavi frekvenco ure radijskega modula
- XLC - prilagodi obremenitev kapacitivnosti kristala
- POW - nastavi moč oddajnika
- RM2 - prenesite testne podatke (modul RM02)
- RM1 - prejemanje testnih podatkov (modul RM01)
Nadzorni modul - izvorna datoteka control.asm
- SV1 - Servo izhod (z uporabo CCP1) od 1 ms do 2 ms v korakih po 0,1 ms
- SV2 - Servo izhod (z uporabo CCP2) od 1 ms do 2 ms v korakih po 0,1 ms
- PW1 - izhod PWM (z uporabo CCP1) od 0 do 100% v korakih po 10%
- PW2 - izhod PWM (z uporabo CCP2) od 0 do 100% v korakih po 10%
Oddaljeno pridobivanje podatkov - izvorna datoteka je remote.asm
Oddaljeni način (Rem) - niz ukazov, s katerimi lahko merilnik upravljate iz računalnika prek serijskega vmesnika. En ukaz zbira podatke, shranjene v EEPROM -u, v obdobju ur. Drugi ukaz bere napetosti pri polni hitrosti ADC -ja v pomnilniški pomnilnik, nato pa ga posreduje v računalnik, kjer je rezultate mogoče grafično prikazati. Dejansko je to osciloskop, ki deluje v avdio frekvenčnem območju
Čas - izvorna datoteka je time.asm
Tim - samo prikaže čas v formatu hh: mm: ss in omogoča spreminjanje s 4 gumbi
3. korak: Opis vezja
Opis vezja
3.1 Osnovni razvojni odbor
Slika 1 prikazuje osnovno razvojno ploščo za zagon PICBIOS -a. Je zelo standarden in enostaven, 5V reguliran vir napajanja in ločilni kondenzatorji, C1, C2….
Ura je 4 MHz kristalna, tako da TMR1 teče v intervalih 1us. Kondenzatorje 22pF C6, C7 priporoča Microchip, vendar se zdi, da dejansko niso potrebni. Glava ICSP (serijsko programiranje v vezju) se uporablja za prvo programiranje praznega PIC-a s PICBIOS-om.
Zaporedna vrata (COM1)- opomba TX in RX se zamenjata, to pomeni, da je COM1-TX priključen na vrata C-RX, COM1-RX pa na vrata C-TX (običajno imenovan "ničelni modem"). Ravni signala, potrebne za RS232, morajo biti res +12V (presledek) in -12V (oznaka). Vendar se zdi, da sta napetosti 5V (prostor) in 0V (oznaka) ustrezne za vse računalnike, ki sem jih uporabljal. Tako ravni signala RX in TX le obrneta linijski gonilnik (Q3) in linijski sprejemnik (Q2).
LM032LN (2-vrstni 20-mestni) LCD uporablja standardni »vmesnik HD44780«. Programska oprema uporablja 4-bitni način grizanja in samo pisanje, ki uporablja 6 zatičev vrat D. Programsko opremo je mogoče konfigurirati za nizko grizenje (vrata D bita 0-3) ali visoko za grizljanje (vrata D bita 4-7), kot se uporablja tukaj.
Stikalna stikala nudijo štiri vhode za izbiro menija. Stikala uporabite za potrditev stikala, saj programska oprema zazna padajoči rob. Vlečni upori (= 25k) so notranji na PORT B. Vrata RB6 ni mogoče uporabiti za stikala zaradi pokrova 1nF (kar je priporočljivo za ICSP). Ni potrebe po stikalu za ponastavitev?
gumb0
leve možnosti menija [◄]
gumb1
menijske možnosti desno [►]
gumb 2
obseg prirastka/vrednost/izberite [▲]
gumb 3
območje/vrednost zmanjšanja/izberite [▼]
3.2 Analogni vhodi in preverjanje komponent - plošča 1
Slika 2 prikazuje analogno vezje za PICMETER1. Analogni vhodi AN0 in AN1 se uporabljajo za splošno merjenje napetosti. Izberite vrednosti upora za dušilce, ki bodo dali 5V na vhodnih zatičih AN0/AN1.
Za vhodno območje 10V je m = 1 + R1/R2 = 1 + 10k/10k = 2
Za vhodno območje 20V je m = 1 + (R3 + R22)/R4 = 1 + 30k/10k = 4
AN2 se uporablja za merjenje temperature z uporabo tranzistorja Q1 kot "surovega" temperaturnega pretvornika. Temperaturni koeficient tranzistorja NPN pri 20 celcuis = -Vbe/(273+20) = -0,626/293 = -2,1 mV/K. (glejte merjenje temperature v poglavju Analog). LM431 (U1) zagotavlja referenčno napetost 2,5 V na AN3. Končno se AN4 uporablja za preskušanje komponent v razdelku Analogno.
Za merjenje komponent je preskusna komponenta povezana prek vhoda RE2 (D_OUT) in AN4. Upori R14 do R18 ponujajo pet različnih vrednosti upora, ki se uporabljajo za merjenje upora (metoda potenciometra) v analognem odseku. Upori so "povezani v vezje" tako, da za vhod Port C/Port E nastavite vhod ali izhod.
Meter1 izvaja merjenje komponent s polnjenjem različnih kombinacij znanega/neznanega kondenzatorja in upora. LM311 (U2) se uporablja za ustvarjanje prekinitev CCP1, ko se kondenzator napolni na zgornji prag (75% VDD) in se izprazni na spodnji prag (25% VDD). Te mejne napetosti nastavita R8, R9, R11 in potenciometer R10, ki daje rahlo prilagoditev. Pri preskušanju kondenzatorjev kondenzator C13 (= 47pF) skupaj s potepuško kapacitivnostjo plošče zagotavlja obrezovanje 100pF. To zagotavlja, da ob odstranitvi preskusne komponente interval med prekinitvami CCP1 preseže 100us in ne preobremeni PIC. Ta vrednost obrezovanja (100pF) se od programske opreme odšteje od merjenja komponent. D3 (1N4148) zagotavlja pot praznjenja pri preskušanju induktorjev in ščiti D_OUT ter preprečuje negativno napetost.
λΩπμ
4. korak: Vodnik za gradnjo
Gradbeni vodnik
Dobra stvar je, da je ta projekt zgrajen in preizkušen v fazah. Načrtujte svoj projekt. Za ta navodila predvidevam, da gradite PICMETER1, čeprav je postopek podoben za PICMETER2 in 3.
4.1 Razvojna plošča PCB
Zgraditi morate osnovno razvojno ploščo (slika 1), ki naj se prilega tiskanemu vezju standardne velikosti 100 x 160 mm, načrtovati postavitev, da bo čim bolj urejena. Očistite tiskano vezje in pokosite ves baker, uporabite zanesljive komponente in priključke, kjer je to mogoče. Za PIC uporabite 40 -polno vtičnico. Preverite neprekinjenost vseh spajkanih spojev. Morda bi bilo koristno pogledati zgornje fotografije postavitve moje plošče.
Zdaj imate prazen PIC in morate programirati PICBIOS v pomnilnik flash. Če že imate način programiranja - v redu. V nasprotnem primeru priporočam naslednjo metodo, ki sem jo uspešno uporabil.
4.2 Programer AN589
To je majhno vmesniško vezje, ki PIC -ju omogoča programiranje iz računalnika prek vrat tiskalnika (LPT1). Oblikovanje je prvotno objavil Microchip v opombi za prijavo. (sklic 3). Pridobite ali naredite programer, združljiv z AN589. Uporabil sem izboljšano zasnovo AN589, opisano tukaj. To je ICSP - kar pomeni, da vstavite PIC v 40 -polno vtičnico, da ga programirate. Nato priključite kabel tiskalnika na vhod AN539 in kabel ICSP iz AN589 na razvojno ploščo. Moja zasnova programerja črpa moč iz razvojne plošče prek kabla ICSP.
4.3 Nastavitve PICPGM
Za zagon računalnika potrebujete programsko opremo. PICPGM deluje z različnimi programerji, vključno z AN589, in ga prenesete brezplačno. (Glej reference).
V meniju Strojna oprema izberite Programer AN589 na LPT1
Naprava = PIC16F877 ali 877A ali samodejno zaznavanje.
Izberite šestnajstiško datoteko: PICBIOS1. HEX
Izberite Erase PIC, nato Program PIC, nato Verify PIC. Z nekaj sreče dobite uspešno sporočilo o zaključku.
Odstranite kabel ICSP, Znova zaženite PIC, upam, da boste na LCD -ju videli zaslon PICBIOS, sicer preverite povezave. Preverite zagonski meni s pritiskom na levi in desni gumb.
4.4 Serijska povezava (hiperterminal ali kit)
Zdaj preverite serijsko povezavo med PIC in računalnikom. Priključite serijski kabel iz računalnika COM1 na razvojno ploščo in zaženite komunikacijski program, na primer stari hiper-terminal Win-XP ali PUTTY.
Če uporabljate Hyperterminal, ga konfigurirajte na naslednji način. V glavnem meniju pokličite> Prekini povezavo. Nato Datoteka> Lastnosti> Poveži se z zavihkom. Izberite Com1, nato kliknite gumb Konfiguriraj. Izberite 9600 b / s, brez parnosti, 8 bitov, 1 stop. Nadzor pretoka strojne opreme ". Nato pokličite> Pokliči za povezavo.
Če uporabljate PuTTY, Connection> Serial> Connect to COM1 in 9600 bps, brez parnosti, 8 bitov, 1 stop. Izberite »RTS/CTS«. Nato Sesija> Serijski> Odpri
V zagonskem meniju PICBIOS izberite “Command Mode”, nato pritisnite [inc] ali [dec]. Na zaslonu bi se moralo prikazati sporočilo »PIC16F877>« (če ne preverite serijskega vmesnika). Pritisnite? za ogled seznama ukazov.
4.5 PICMETER programa
Ko serijska povezava deluje, je programiranje bliskovnega pomnilnika tako preprosto, kot pošiljanje šestnajstiške datoteke. Vnesite ukaz "P", ki se odzove z "Pošlji šestnajsto datoteko …".
Z uporabo hiper-terminala v meniju Prenos> Pošlji besedilno datoteko> PICMETER1. HEX> Odpri.
Napredek je označen z »:«. saj je vsaka vrstica šestnajstiške kode programirana. Končno naložite uspeh.
Če uporabljate PuTTY, boste morda morali uporabiti Beležnico in kopirati/prilepiti celotno vsebino PICMETER1. HEX v PuTTY.
Podobno za preverjanje vnesite ukaz "V". V hiper terminalu v meniju Prenos> Pošlji besedilno datoteko> PICMETER1. HEX> OK.
Opozorilo = xx … Če programirate čip 16F877A, boste dobili nekaj opozorilnih sporočil. To je povezano z razlikami med 877 in 877A, ki programirajo v 4 besednih blokih. Žal povezovalnik ne poravna začetka razdelkov na 4 mejah besed. Preprosta rešitev je, da imate na začetku vsakega razdelka 3 navodila NOP, zato prezrite opozorila.
Znova zaženite in v zagonskem meniju BIOS -a izberite »Zaženi aplikacijo«. Na LCD -prikazovalniku bi morali videti PICMETER1.
4.6 Zaženite PICMETER1
Zdaj začnite graditi več odsekov razvojne plošče (slika 2), da bodo voltmeter in merilnik komponent delovale po potrebi.
Merilnik 1 potrebuje nekaj umerjanja. Pri funkciji "Cal" nastavite R10 tako, da bodo odčitki 80,00, 80,0nF in 10 000uF pribl. Nato preberite majhnih 100 pF na funkciji Cx1. Če je odčitek odsoten, spremenite pokrovček za obrezovanje C13 ali spremenite vrednost "trimc" v meter1.asm.
Zdaj zaženite PICBIOS Setup in spremenite nekaj nastavitev umerjanja v EEPROM -u. Umerite temperaturo s prilagajanjem 16-bitnega odmika (visok, nizek format). Morda boste morali spremeniti tudi vrednost "delayt".
Če je vaš namen graditi projekt takšen, kot je - Čestitamo - končali ste! Povej mi o svojem uspehu na Instructables.
4,7 MPLAB
Če pa želite spremeniti ali projekt še naprej razvijati, morate programsko opremo znova zgraditi z uporabo MPLAB. Prenesite MPLAB iz Microchip. To je "stara", ki je enostavna in enostavna za uporabo. Nisem preizkusil novega razvojnega orodja labx, ki je videti veliko bolj zapleteno.
Podrobnosti o tem, kako ustvariti nov projekt, nato pa projektu dodati datoteke v celotni dokumentaciji.
5. korak: Fotografije testiranja
Zgornja fotografija termometra, odčitavanje 15 degC
Frekvenca testiranja, branje = 416k
Preskusni induktor z oznako 440uF, odčitavanje 435u
Preizkusite 100k upor, bere 101k, to je enostavno.
Testiranje 1000pF kondenzatorja, odčitek 1.021nF
6. korak: Reference in povezave
6.1 Podatkovni list PIC16F87XA, Microchip Inc.
ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
6.2 Specifikacija programiranja pomnilnika PIC16F87XA FLASH, mikročip
ww1.microchip.com/downloads/en/devicedoc/39589b.pdf
6.3 Opomba k prijavi AN589, Microchip Inc.
ww1.microchip.com/downloads/en/appnotes/00589a.pdf
6.4 Prenos PICPGM
picpgm.picprojects.net/
6.5 MPLab IDE v8.92 brezplačen prenos, Microchip
pic-microcontroller.com/mplab-ide-v8-92-free-download/
6.6 Tehnični listi za module Hope RFM01-433 in RFM02-433, RF rešitve
www.rfsolutions.co.uk/radio-modules-c10/hope-rf-c238
6.7 LT Spice, analogne naprave
www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html
6.8 Vezje programerja za slike, ki temelji na AN589, Best-Microcontroller-Projects
www.best-microcontroller-projects.com/pic-programmer-circuit.html
6.9 Odprtokodne datoteke
odprtokodno
Priporočena:
USB litijev polnilni multimeter DT830 s polifuzo: 5 korakov
USB-litijev multimeter DT830, ki ga je mogoče ponovno napolniti, s polifuzo: ■ Kaj mi je všeč pri tem merilniku Ta digitalni multimeter DT830LN (DMM) ponuja▪ Kompaktna velikost▪ 10A merilno območje toka Back Zaslon z osvetlitvijo ▲ Nizki stroški Model DT830D je enak in pogosteje na voljo, vendar nima osvetljenega zaslona. ■ Kaj
Arduino poganjalni multimeter: 8 korakov (s slikami)
Arduino poganjalni multimeter: V tem projektu boste z uporabo funkcije digitalRead Arduina zgradili voltmeter in ohmmeter. Skoraj vsako milisekundo boste lahko odčitali, veliko natančneje kot tipični multimeter. Nazadnje, do podatkov lahko dostopate v
Kako uporabljati multimeter v tamilščini - Vodnik za začetnike - Multimeter za začetnike: 8 korakov
Kako uporabljati multimeter v tamilščini | Vodnik za začetnike | Multimeter za začetnike: Pozdravljeni prijatelji, V tej vadnici sem razložil, kako uporabljati multimeter v vseh vrstah elektronskih vezij v 7 različnih korakih, na primer 1) preskus neprekinjenosti za odpravljanje težav pri strojni opremi 2) merjenje enosmernega toka 3) preskušanje diode in LED 4) merjenje Resi
ETextile multimeter pin sonda: 10 korakov (s slikami)
ETextile Multimeter Pin Sonda: Pin Sonda, kot je objavljeno v zbirki eTextile Swatchbook 2017 Pin Sonda je preskusna žica za povezavo med multimetrom in prevodno tkanino ali navojem. Sonda je sestavljena iz zatiča, ki omogoča začasen, a trden stik s tekstilnimi materiali, ne da bi pri tem poškodoval
16x64 P10 pomični LED zaslon z uporabo mikrokontrolerja PIC16F877: 5 korakov (s slikami)
16x64 P10 pomični LED zaslon z uporabo mikrokrmilnika PIC16F877: V tem navodilu je opisano, kako povezati 16 x 64 (p10) LED matrični zaslon z mikrokrmilnikom PICI6F877A. Podatki se pošljejo mikrokrmilniku prek UART, ki je shranjen v EEPROM -u, podatki pa bodo prikazani na LED matričnem zaslonu. To