Sadržaj:
- Supplies
- Korak 1: Opis PICBIOS -a
- Korak 2: Opis PICMETER -a
- Korak 3: Opis kola
- Korak 4: Vodič za izgradnju
- Korak 5: Fotografije testiranja
- Korak 6: Reference i veze
Video: PIC16F877 Multimetar: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
PICMETER Uvod
Ovaj PICMETER projekt prerastao je u koristan i pouzdan alat za sve ljubitelje elektronike.
- Radi na mikrokontroleru PIC16F877 / 877A.
- To je razvojni sistem PIC -a
- To je 19-funkcijski višemetar (voltmetar, mjerač frekvencije, generator signala, termometar …)
- To je provjera komponenti (R, L, C, dioda …) s do 5 raspona na svakoj funkciji.
- Ima 433MHz opseg ASK radio, koji čeka neku vrstu aplikacije.
- To je sistem daljinske akvizicije, gdje drugi računar (PC) može prikupljati podatke putem serijskog porta za grafički prikaz. (Korišten je kao prednji dio EKG projekta).
- Ima zapisnik (za bilježenje podataka satima), rezultati se učitavaju sa EEPROM -a.
- Proizvodi testne signale za pogon nekih motora.
- Temeljito je testirano, pogledajte fotografije u koraku 5.
- Softver je objavljen kao Open Source
Ovaj Instructable je skraćena verzija potpune dokumentacije. Opisuje hardver i softver dovoljan da ga drugi izgrade ili kao dovršen projekt, ili ga koriste kao razvojni sistem za daljnje promjene, ili samo traže ideje za korištenje na drugim projektima.
Supplies
Jedini kritični čip za kupovinu je Microchip PIC16F877A-I/P
- A = kasnija revizija koja se razlikuje od originala u definiciji konfiguracijskih bitova.
- I = Raspon industrijske temperature
- P = 40-Lead Plastični dvostruki linijski paket, 10 MHz, normalna ograničenja VDD-a.
Takođe Hitachi LM032LN 20 karaktera po 2 reda LCD koji ima ugrađen HD44780 kontroler.
Ostali dijelovi su samo generičke električne komponente, PCB ploče, LM340, LM311, LM431, tranzistori male snage opće namjene itd.
Korak 1: Opis PICBIOS -a
PICBIOS Opis
Ovaj softver radi na ploči PIC16F877 i zauzima donjih 4k programske memorije. Pruža softversko okruženje za aplikacijski program koji zauzima gornju polovinu programske memorije. Idejno je sličan PC-BIOS-u sa nekoliko naredbi za otklanjanje grešaka za razvoj programa i ima 5 komponenti:
- Boot Menu
- Program za postavljanje
- Interfejs komandne linije (preko serijskog porta)
- Upravljački programi jezgre i uređaja
- Sučelje za programiranje aplikacija
Korak 2: Opis PICMETER -a
PICMETER Opis
Uvod
Kao i multimetar (volti, pojačala, ohmi) i on ima mnoge funkcije koje se biraju pomoću sistema menija. No, kombinacija hardvera i softvera čini ga vrlo svestranim, na primjer dostupne su značajke kao što su dugopisivanje i slanje serijskih podataka.
Meni je „srce“gdje se funkcije biraju pomoću tipki [lijevo] i [desno]. Zatim se za svaku funkciju tipkama [inc] i [dec] odabiru različiti rasponi. Na primjer, kondenzatori se mjere od oko 0,1nF do 9000uF pomoću 5 zasebnih raspona.
2.1 PICMETER softver
Ovo je organizirano kao aplikacijski program koji zauzima gornjih 4k programske memorije i oslanja se na funkcije PICBIOS -a za U/I uređaja i rukovanje prekidima. Sastoji se od odjeljka izbornika koji radi kao pozadinski zadatak i ispituje dugmad svakih 20 ms. Kada se pritisne tipka za promjenu funkcije ili promjenu raspona, poziva se odgovarajuća rutina. Kada se ne pritisne nijedno dugme, mjerenje se ažurira u intervalima od oko 0,5 sekundi. U osnovi, meni je tabela za pretraživanje.
2.2 Funkcija mjerača - odjeljci
Postoji mnogo funkcija pa je ovaj dio podijeljen u odjeljke, od kojih se svaki bavi funkcijama slične prirode. Ovo je kratka lista odjeljaka, pogledajte kompletnu dokumentaciju da vidite kako svaki odjeljak radi detaljno. Zbog ograničenja porta, postoje 3 varijacije projekta (pogledajte kompletnu dokumentaciju). Funkcije normalnog fonta zajedničke su svim projektima. Funkcije UNDERLINED uključene su samo u projekt PICMETER1. Funkcije u ITALICS -u uključene su samo u projekte PICMETER2 ili PICMETER3.
VoltMeter odjeljak - Izvorna datoteka je vmeter.asm
Sadrži funkcije koje se temelje na mjerenju napona pomoću ADC -a.
- ADC napon (očitava napon na odabranom ulazu, AN0 do AN4)
- AD2 Dual (prikazuje napon na AN0 i AN1 istovremeno)
- TMP termometar -10 do 80? degC (2N3904 ili dvostruki pretvarač LM334)
- LOG - postavlja interval evidentiranja
- OHM - Mjerenje otpora (metoda potenciometra) od 0Ω do 39MΩ u 4 raspona
- DIO-Dioda, mjeri napon naprijed (0-2,5 V)
- CON - Kontinuitet (zvučni signal kada je otpor manji od praga od 25, 50 ili 100)
Komponenta Meter1 - Izvorna datoteka je meter1.asm
Mjerenje kondenzatora, induktora i otpornika pomoću uporednog kola LM311. Na osnovu merenja vremena jednog ciklusa punjenja.
- CAL - kalibracija - mjeri fiksne 80nf i 10μF za samotestiranje i podešavanje
- Cx1 - mjerenje kondenzatora od 0,1nF do 9000μF u 5 raspona
- Lx1 - mjerenje induktora od 1mH do ?? mH u 2 raspona
- Rx1 - mjerenje otpornika od 100Ω do 99MΩ u 3 raspona
Komponenta Meter2 Izvorna datoteka Meter2.asm
Mjerenje komponenti pomoću alternativnih LM311 relaksacionih oscilatora i Colpittovog oscilatora. Na osnovu merenja vremenskog perioda od N ciklusa. Ovo je nešto preciznije od gore navedene metode jer se mjeri vrijeme N = do 1000 ciklusa. To je više hardversko rješenje i zahtijeva više izgradnje.
- Cx2 - mjerenje kondenzatora od 10pF do 1000 μF u 5 raspona.
- Rx2 - mjerenje otpornika od 100 ohma do 99 M u 5 raspona.
- Lx2 - mjerenje induktora od 1mH do 60mH u 1 rasponu.
- osc - mjerenje induktora (Colpittsova metoda) od 70μH do 5000μH? u 2 raspona.
Mjerač frekvencije - izvorna datoteka Fmeter.asm
Sadrži funkcije koje koriste PIC brojače i tajmere, i još malo toga;
- FREQ - Mjerač frekvencije od 0Hz do 1000kHz u 3 raspona
- XTL - mjeri frekvenciju LP kristala (nije testirano)
- SIG - generator signala od 10Hz do 5KHz u 10 koraka
- SMR - koračni motor - obrnuti smjer
- SMF- koračni motor- smjer prema naprijed.
Komunikacije - Izvorna datoteka je comms.asm
Funkcije za prijenos/prijem signala za testiranje serijske i SPI periferije;
- UTX test serijski TX & inc i brzina prijenosa bita od 0,6 do 9,6k
- URX test serijski RX & inc i brzina prijenosa bita od 0,6 do 9,6k
- SPM - testira SPI u master načinu rada
- SPS - testira SPI u slave načinu rada
Radio modul FSK - Izvorna datoteka je Radio.asm
Funkcije koje koriste radio prijemnike i prijemnike RM01 i RM02. Ovi moduli se povezuju putem SPI -a, koji koristi većinu priključaka porta C.
- RMB - postavite BAUD brzinu radio modula
- RMF - podesite radio frekvenciju radio modula
- RMC - postavlja frekvenciju takta radio modula
- XLC - podešava kapacitet kristala
- POW - postavlja snagu predajnika
- RM2 - prenosi testne podatke (modul RM02)
- RM1 - prima testne podatke (modul RM01)
Kontrolni modul - Izvorna datoteka control.asm
- SV1 - Servo izlaz (pomoću CCP1) od 1 ms do 2 ms u koracima od 0,1 ms
- SV2 - Servo izlaz (koristeći CCP2) od 1 ms do 2 ms u koracima od 0,1 ms
- PW1 - PWM izlaz (pomoću CCP1) od 0 do 100% u koracima od 10%
- PW2 - PWM izlaz (pomoću CCP2) od 0 do 100% u koracima od 10%
Daljinsko prikupljanje podataka - Izvorna datoteka je remote.asm
Daljinski način rada (Rem) - skup naredbi tako da se mjeračem može upravljati s računara putem serijskog sučelja. Jedna naredba prikuplja podatke evidentirane u EEPROM -u tokom perioda od nekoliko sati. Druga naredba čita napone pri punoj brzini ADC -a u memoriju, zatim prenosi bafer na PC, gdje se rezultati mogu grafički prikazati. U stvari, ovo je osciloskop, koji radi u audio frekvencijskom rasponu
Vrijeme - Izvorna datoteka je time.asm
Tim - samo prikazuje vrijeme u formatu hh: mm: ss i dopušta promjenu pomoću 4 gumba
Korak 3: Opis kola
Opis kola
3.1 Osnovni odbor za razvoj
Slika 1 prikazuje osnovnu razvojnu ploču za pokretanje PICBIOS -a. Vrlo je standardan i jednostavan, 5V regulirani izvor napajanja i kondenzatori za razdvajanje, C1, C2….
Sat je kristalno 4 MHz, tako da TMR1 otkucava u intervalima od 1us. Microchip preporučuje kondenzatore 22pF C6, C7, ali čini se da to zapravo nije potrebno. ICSP zaglavlje (serijsko programiranje u krugu) koristi se za početno programiranje praznog PIC-a sa PICBIOS-om.
Serijski port (COM1)- napomena TX i RX se mijenjaju, tj. COM1-TX je spojen na port C-RX, a COM1-RX je priključen na port C-TX (obično se naziva "nulti modem"). Takođe, nivoi signala potrebni za RS232 zaista bi trebali biti +12V (razmak) i -12V (oznaka). Međutim, nivoi napona od 5V (prostor) i 0V (oznaka) izgledaju adekvatno za sve računare koje sam koristio. Dakle, nivoi signala RX i TX su samo obrnuti upravljačkim programom linije (Q3) i linijskim prijemnikom (Q2).
LM032LN (2 reda 20 znakova) LCD koristi standardni “HD44780 interfejs”. Softver koristi 4-bitni način grickanja i samo pisanje, koji koristi 6 pinova porta D. Softver se može konfigurirati za nisko grickanje (port D bitovi 0-3) ili visoko za grickanje (port D bitovi 4-7) kao što se ovdje koristi.
Prekidači na tasterima pružaju četiri ulaza za izbor menija. Koristite gumbe za uključivanje i isključivanje jer softver otkriva padnu ivicu. Povučni otpornici (= 25k) su interni na PORT B. Port RB6 se ne može koristiti za sklopke, zbog 1nF kapice (koja se preporučuje za ICSP). Nema potrebe za prekidačem za resetiranje?
button0
opcije menija lijevo [◄]
button1
opcije menija desno [►]
button2
raspon povećanja/vrijednost/odaberite [▲]
button3
raspon smanjenja/vrijednost/odaberite [▼]
3.2 Analogni ulazi i provjera komponenti - ploča 1
Slika 2 prikazuje analogno kolo za PICMETER1. Analogni ulazi AN0 i AN1 koriste se za mjerenje napona opće namjene. Odaberite vrijednosti otpornika za prigušivače koji će dati 5V na ulaznim pinovima AN0/AN1.
Za ulazni raspon od 10 V, m = 1 + R1/R2 = 1 + 10k/10k = 2
Za ulazni raspon od 20 V, m = 1 + (R3 + R22)/R4 = 1 + 30k/10k = 4
AN2 se koristi za mjerenje temperature pomoću tranzistora Q1 kao „sirovi“pretvarač temperature. Temperaturni koeficijent NPN tranzistora pri 20 celcuis = -Vbe/(273+20) = -0,626/293 = -2,1 mV/K. (pogledajte mjerenje temperature u odjeljku Analogno). LM431 (U1) daje naponsku referencu od 2,5 V na AN3. Konačno, AN4 se koristi za testiranje komponenti u odjeljku Analogno.
Za mjerenje komponente, testna komponenta je spojena preko ulaza RE2 (D_OUT) i AN4. Otpornici R14 do R18 pružaju pet različitih vrijednosti otpora koji se koriste za mjerenje otpora (metoda potenciometra) u analognom odjeljku. Otpornici su "spojeni u krug" postavljanjem pinova porta C/porta E kao ulaz ili izlaz.
Meter1 vrši mjerenje komponenti punjenjem različitih kombinacija poznatih/nepoznatih kondenzatora i otpornika. LM311 (U2) se koristi za stvaranje CCP1 prekida kada se kondenzator napuni do gornjeg praga (75% VDD) i prazni do donjeg praga (25% VDD). Ovi pragovi su postavljeni pomoću R8, R9, R11 i potenciometra R10 koji daje male podešavanje. Prilikom testiranja kondenzatora, kondenzator C13 (= 47pF) plus zalutali kapacitet ploče osiguravaju trim 100pF. Ovo osigurava da, kada se testna komponenta ukloni, interval između prekida CCP1 prelazi 100us i ne preopterećuje PIC. Ova vrijednost trima (100pF) se oduzima od mjerenja komponenti pomoću softvera. D3 (1N4148) osigurava put pražnjenja pri ispitivanju prigušnica i štiti D_OUT sprječavajući da napon postane negativan.
λΩπμ
Korak 4: Vodič za izgradnju
Građevinski vodič
Dobra stvar je što se ovaj projekt gradi i testira u fazama. Planirajte svoj projekat. Za ove upute pretpostavljam da pravite PICMETER1, iako je postupak sličan za PICMETER2 i 3.
4.1 Razvojna ploča PCB
Morate izgraditi osnovnu razvojnu ploču (slika 1) koja bi trebala stati na PCB standardne veličine 100 x 160 mm, planirati raspored kako bi bio što uredniji. Očistite PCB i pokosite sav bakar, upotrijebite pouzdane komponente i konektore, testirano gdje je to moguće. Za PIC upotrijebite 40 -polnu utičnicu. Provjerite kontinuitet svih lemljenih spojeva. Možda bi bilo od pomoći pogledati gore navedene fotografije izgleda moje ploče.
Sada imate prazan PIC i morate programirati PICBIOS u flash memoriju. Ako već imate način programiranja - u redu. Ako ne, preporučujem sljedeću metodu koju sam uspješno koristio.
4.2 AN589 Programer
Ovo je mali krug interfejsa koji omogućava da se PIC programira sa računara pomoću porta za štampač (LPT1). Dizajn je prvobitno objavio Microchip u napomeni o prijavi. (referenca 3). Nabavite ili napravite programer kompatibilan sa AN589. Koristio sam poboljšani dizajn AN589 koji je ovdje opisan. Ovo je ICSP - što znači da umetnete PIC u 40 -polnu utičnicu da biste ga programirali. Zatim spojite kabel pisača na ulaz AN539 i ICSP kabel iz AN589 na razvojnu ploču. Moj dizajn programera napaja se iz razvojne ploče putem ICSP kabela.
4.3 PICPGM postavke
Sada vam je potreban neki softver za programiranje za rad na računaru. PICPGM radi s raznim programerima, uključujući AN589, i besplatno se preuzima. (Vidi Reference).
Iz izbornika Hardver, odaberite Programmer AN589, na LPT1
Uređaj = PIC16F877 ili 877A ili automatsko otkrivanje.
Odaberite šesterokutnu datoteku: PICBIOS1. HEX
Odaberite Erase PIC, zatim Program PIC, zatim Verify PIC. Uz malo sreće, dobit ćete poruku uspješnog dovršetka.
Uklonite ICSP kabel, Ponovo pokrenite PIC, nadamo se da ćete vidjeti PICBIOS ekran na LCD -u, inače provjerite svoje veze. Provjerite izbornik za pokretanje pritiskom na lijevo i desno dugme.
4.4 Serijska veza (hiperterminalna ili kit)
Sada provjerite serijsku vezu između PIC -a i računara. Spojite serijski kabel s računara COM1 na razvojnu ploču i pokrenite komunikacijski program, poput starog Win-XP Hyper-Terminala ili PUTTY.
Ako koristite Hyperterminal, konfigurirajte na sljedeći način. U glavnom meniju pozovite> Prekini vezu. Zatim Datoteka> Svojstva> Poveži se na karticu. Odaberite Com1, a zatim kliknite gumb Konfiguriraj. Odaberite 9600 b / s, bez pariteta, 8 bita, 1 zaustavljanje. Kontrola protoka hardvera”. Zatim Pozovite> Pozovi za povezivanje.
Ako koristite PuTTY, Connection> Serial> Connect to COM1 i 9600 bps, bez pariteta, 8 bita, 1 zaustavljanje. Odaberite “RTS/CTS”. Zatim Sesija> Serijski> Otvori
Na izborniku PICBIOS Boot, odaberite “Command Mode”, zatim pritisnite [inc] ili [dec]. Na ekranu bi se trebala pojaviti poruka „PIC16F877>“(ako ne provjerite serijsko sučelje). Štampa? da vidite listu komandi.
4.5 PICMETAR programa
Nakon što serijska veza funkcionira, programiranje flash memorije je jednostavno kao slanje hex datoteke. Unesite naredbu “P” koja odgovara sa “Pošalji heksadecimalnu datoteku …”.
Pomoću hiper-terminala iz izbornika Prijenos> Pošalji tekstualnu datoteku> PICMETER1. HEX> Otvori.
Napredak je označen znakom „:“. jer je svaki red heksadecimalnog koda programiran. Napokon učitajte uspjeh.
Ako koristite PuTTY, možda ćete morati koristiti Notepad i kopirati/zalijepiti cijeli sadržaj PICMETER1. HEX u PuTTY.
Slično za provjeru, unesite naredbu “V”. U hiper terminalu iz izbornika Prijenos> Pošalji tekstualnu datoteku> PICMETER1. HEX> OK.
Upozorenje = xx … Ako programirate čip 16F877A, dobit ćete neke poruke upozorenja. To se odnosi na razlike između 877 i 877A, koji programiraju u blokovima od 4 riječi. Nažalost, povezivač ne poravnava početak odjeljaka na granicama od 4 riječi. Jednostavno rješenje je imati 3 NOP upute na početku svakog odjeljka, pa zanemarite upozorenja.
Ponovo pokrenite i na izborniku za pokretanje BIOS -a odaberite "Pokreni aplikaciju". Trebali biste vidjeti PICMETER1 na LCD -u.
4.6 Pokrenite PICMETER1
Sada počnite graditi više odjeljaka razvojne ploče (slika 2) kako bi voltmetar, komponente mjerača radile po potrebi.
Mjeraču1 treba kalibracija. Na funkciji "Cal", podesite R10 tako da daje očitanja od 80,00, 80,0nF i 10 000uF pribl. Zatim pročitajte malih 100pF na Cx1 funkciji. Ako je očitanje van, promijenite zaštitnu kapicu C13 ili promijenite vrijednost „trimc“u meter1.asm.
Sada pokrenite PICBIOS Setup i promijenite nekoliko postavki kalibracije u EEPROM -u. Kalibrirajte temperaturu podešavanjem 16-bitnog pomaka (visoki, niski format). Možda ćete također morati promijeniti vrijednost "delayt".
Ako vam je namjera izgraditi projekt onakvim kakav je - Čestitamo - završili ste! Recite mi o svom uspjehu na Instructables.
4.7 MPLAB
Ali ako želite izmijeniti ili dodatno razviti projekt, morate ponovo izgraditi softver koristeći MPLAB. Preuzmite MPLAB s Microchipa. Ovo je „stari“koji je jednostavan i jasan za upotrebu. Nisam isprobao novi razvojni alat za labx koji izgleda daleko složenije.
Pojedinosti o tome kako stvoriti novi projekt, a zatim dodati datoteke projektu u Punoj dokumentaciji.
Korak 5: Fotografije testiranja
Gornja fotografija termometra sa očitanjem od 15 ° C
Učestalost testiranja, očitavanje = 416k
Ispitni induktor označen sa 440uF, očitava 435u
Testiranje otpornika od 100 k, čitanje 101 k, to je jednostavno.
Testiranje 1000pF kondenzatora, očitanje 1.021nF
Korak 6: Reference i veze
6.1 PIC16F87XA Tehnički list, Microchip Inc.
ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
6.2 PIC16F87XA FLASH memorijsko programiranje, Microchip
ww1.microchip.com/downloads/en/devicedoc/39589b.pdf
6.3 Napomena o prijavi AN589, Microchip Inc.
ww1.microchip.com/downloads/en/appnotes/00589a.pdf
6.4 Preuzimanje PICPGM -a
picpgm.picprojects.net/
6.5 MPLab IDE v8.92 besplatno preuzimanje, Microchip
pic-microcontroller.com/mplab-ide-v8-92-free-download/
6.6 Tehnički listovi za module Hope RFM01-433 i RFM02-433, RF rješenja
www.rfsolutions.co.uk/radio-modules-c10/hope-rf-c238
6.7 LT Spice, analogni uređaji
www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html
6.8 Sklop programatora slike zasnovanog na AN589, Best-Microcontroller-Projects
www.best-microcontroller-projects.com/pic-programmer-circuit.html
6.9 Datoteke otvorenog koda
open_source
Preporučuje se:
USB litijumski multimetar DT830 sa ponovnim punjenjem sa polifuzom: 5 koraka
USB litijumski multimetar DT830 s ponovnim punjenjem s polifuzom: ■ Ono što mi se sviđa kod ovog mjerača Ovaj digitalni multimetar DT830LN (DMM) nudi▪ Kompaktnu veličinu▪ 10A mjerni raspon struje s pozadinskim osvjetljenjem ▪ Niska cijena Model DT830D je identičan i uobičajeniji, ali dostupan nema ekran sa pozadinskim osvetljenjem. ■ Šta
Arduino napajani multimetar: 8 koraka (sa slikama)
Arduino napajani multimetar: U ovom ćete projektu izgraditi voltmetar i ohmmetar pomoću funkcije digitalRead na Arduinu. Moći ćete očitati gotovo svaku milisekundu, mnogo preciznije od tipičnog multimetra. Konačno, podacima se može pristupiti putem
Kako koristiti multimetar na tamilskom jeziku. Vodič za početnike - Multimetar za početnike: 8 koraka
Kako koristiti multimetar na tamilskom jeziku. Vodič za početnike | Multimetar za početnike: Pozdrav prijatelji, U ovom vodiču objasnio sam kako koristiti multimetar u svim vrstama elektroničkih kola u 7 različitih koraka, kao što su 1) test kontinuiteta za otklanjanje problema u hardveru 2) Mjerenje istosmjerne struje 3) Testiranje diode i LED diode 4) Mjerenje Resi
Kako dodati punjivu bateriju u multimetar [HAcked] !!: 9 koraka
Kako dodati punjivu bateriju u multimetar [hakirano] !!: Multimetar je vrlo dobar alat ako ste ljubitelj elektronike ili profesionalac, ali mijenjati bateriju je vrlo dosadan zadatak, a ponekad i ako ga ostavite uključenog dugo (samo ste previše popili i zaboravili isključiti met
Arduino multimetar i ispitivač komponenti: 4 koraka
Arduino multimetar i ispitivač komponenti: Zdravo, ovo je minski neispravan Arduino uređaj. Može se koristiti za testiranje senzora spojenih na analogne pinove, za mjerenje otpora, za mjerenje pada napona diode. Može mjeriti temperaturu okoline, ima ugrađen kontinuitet t