INHOUDSOPGAWE:
- Voorrade
- Stap 1: PICBIOS -beskrywing
- Stap 2: PICMETER Beskrywing
- Stap 3: Kringbeskrywing
- Stap 4: Konstruksiegids
- Stap 5: Foto's van toetsing
- Stap 6: Verwysings en skakels
Video: PIC16F877 Multimeter: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
PICMETER Inleiding
Hierdie PICMETER -projek het gegroei tot 'n nuttige en betroubare hulpmiddel vir enige elektronika -entoesias.
- Dit werk op 'n PIC16F877 / 877A mikrobeheerder.
- Dit is 'n PIC -ontwikkelingstelsel
- Dit is 'n multifunksiemeter van 19 funksies (voltmeter, frekwensiemeter, seingenerator, termometer …)
- Dit is 'n komponentkontroleerder (R, L, C, diode …) met tot 5 reekse op elke funksie.
- Dit het 'n 433MHz band -ASK -radio, wat op 'n soort toepassing wag.
- Dit is 'n afstandverkrygingstelsel waar 'n ander rekenaar (rekenaar) data kan versamel via die seriële poort vir grafiese vertoning. (Dit is gebruik as die voorkant van die EKG -projek).
- Dit het 'n aanmeldfunksie (vir data -aanmelding oor ure), die resultate word vanaf EEPROM opgelaai.
- Dit lewer toetsseine om sommige motors aan te dryf.
- Dit is deeglik getoets, sien foto's in stap 5.
- Die sagteware word vrygestel as Open Source
Hierdie instruksie is 'n afgesnyde weergawe van die volledige dokumentasie. Dit beskryf die hardeware en sagteware wat voldoende is vir ander om dit te bou, óf as 'n voltooide projek, óf as 'n ontwikkelingsstelsel om verdere veranderinge aan te bring, of soek net na idees om op ander projekte te gebruik.
Voorrade
Die enigste kritieke chip om te koop is die Microchip PIC16F877A-I/P
- A = die latere hersiening wat verskil van die oorspronklike in definisie van konfigurasie -bisse.
- I = Industriële temperatuurbereik
- P = 40-lood plastiek dubbele in-lyn pakket, 10 MHz, normale VDD limiete.
Ook die Hitachi LM032LN 20 karakter by 2 reëls LCD wat ingeboude HD44780 kontroleerder het.
Die ander onderdele is slegs algemene elektriese komponente, printplaat, LM340, LM311, LM431, transistors vir algemene doeleindes, ens.
Stap 1: PICBIOS -beskrywing
PICBIOS Beskrywing
Hierdie sagteware werk op 'n PIC16F877 -bord en beslaan die onderste 4k programgeheue. Dit bied die sagteware -omgewing vir 'n toepassingsprogram wat die boonste helfte van die programgeheue beslaan. Die idee is soortgelyk aan die PC-BIOS met 'n paar "ontfouting" -opdragte vir programontwikkeling en het 5 komponente:
- Selflaaikieslys
- Opstelprogram
- Command Line Interface (via seriële poort)
- Kern- en toestelbestuurders
- Programmeerkoppelvlak vir toepassings
Stap 2: PICMETER Beskrywing
PICMETER Beskrywing
Inleiding
Soos 'n multimeter (volt, ampère, ohm), het dit baie funksies wat gekies word deur middel van 'n spyskaartstelsel. Maar omdat dit 'n kombinasie van hardeware en sagteware is, is dit baie veelsydig, byvoorbeeld funksies soos aanmelding oor lang periodes en die stuur van reeksdata is beskikbaar.
Die spyskaart is die "hart" waar funksies gekies word deur middel van [links] en [regs] knoppies. Dan word vir elke funksie verskillende reekse gekies met die [inc] en [dec] knoppies. Kondensators word byvoorbeeld gemeet van ongeveer 0.1nF tot 9000uF deur middel van 5 afsonderlike reekse.
2.1 PICMETER sagteware
Dit is georganiseer as 'n toepassingsprogram wat die boonste 4k van programgeheue beslaan en staatmaak op funksies van die PICBIOS vir apparaat -I/O en hantering onderbreek. Dit bestaan uit die spyskaartgedeelte wat as die agtergrondtaak werk en elke 20 ms die knoppies sien. As 'n knoppie ingedruk word om funksie te verander of omvang te verander, word die toepaslike roetine gebel. As geen knoppies ingedruk word nie, word die gemete lesing met ongeveer 0,5 sekonde tussenposes opgedateer. Die spyskaart is basies 'n soektafel.
2.2 Meterfunksie - afdelings
Daar is baie funksies, so hierdie deel is verdeel in afdelings, elk met funksies van soortgelyke aard. Dit is 'n kort lys van die afdelings; sien die volledige dokumentasie om te sien hoe elke afdeling in detail werk. As gevolg van hawe -beperkings, is daar drie variasies van die projek (sien volledige dokumentasie). Funksies met 'n normale lettertipe is algemeen vir alle projekte. ONDERSTREKTE funksies is slegs ingesluit in die PICMETER1 -projek. Funksies in ITALICS is slegs ingesluit in PICMETER2- of PICMETER3 -projekte.
VoltMeter -afdeling - Bronlêer is vmeter.asm
Bevat funksies wat gebaseer is op spanningsmeting met behulp van die ADC.
- ADC -spanning (lees spanning op geselekteerde ingang, AN0 tot AN4)
- AD2 Dual (toon spanning op AN0 en AN1 gelyktydig)
- TMP -termometer -10 tot 80? degC (2N3904 of dubbele LM334 -omvormer)
- LOG - stel die aanmeldinterval in
- OHM - Weerstandsmeting (potensiometermetode) van 0Ω tot 39MΩ in 4 reekse
- DIO-Diode, meet voorspanning (0-2,5V)
- CON - Kontinuïteit (piep wanneer weerstand minder as drempel van 25, 50 of 100 is)
Komponent Meter1 - Bronlêer is meter1.asm
Kondensator-, induktor- en weerstandmeting met behulp van die LM311 -vergelykingskring. Gebaseer op die meting van die tyd van een laaisiklus.
- CAL - kalibrasie - meet 80nf en 10μF vir selftoets en aanpassing
- Cx1 - kapasitormeting van 0.1nF tot 9000μF in 5 reekse
- Lx1 - induktormeting van 1mH tot ?? mH in 2 reekse
- Rx1 - weerstandsmeting van 100Ω tot 99MΩ in 3 omvang
Komponent Meter2 Bronlêer Meter2.asm
Komponentmeting met behulp van alternatiewe LM311 ontspannings ossillator en Colpitts ossillator. Gebaseer op die meting van die tydperk van N siklusse. Dit is effens meer akkuraat as die metode hierbo, aangesien die tyd van N = tot 1000 siklusse gemeet word. Dit is meer 'n hardeware -oplossing en verg meer konstruksie.
- Cx2 - kapasitormeting van 10pF tot 1000 μF in 5 reekse.
- Rx2 - weerstandsmeting van 100 ohm tot 99M in 5 reekse.
- Lx2 - induktormeting van 1mH tot 60mH in 1 reeks.
- osc - induktormeting (Colpitts -metode) van 70μH tot 5000μH? in 2 reekse.
Frekwensie Meter - bronlêer Fmeter.asm
Bevat funksies wat PIC -tellers en -tellers gebruik, en weinig anders;
- FREQ - Frekwensie meter van 0Hz tot 1000kHz in 3 reekse
- XTL - meet die frekwensie van LP -kristalle (nie getoets nie)
- SIG - seinopwekker van 10Hz tot 5KHz in 10 stappe
- SMR - stapmotor - omgekeerde rigting
- SMF- stapmotor- vorentoe rigting.
Kommunikasie - Bronlêer is comms.asm
Funksies om sein oor te dra/te ontvang om seriële en SPI -randapparatuur te toets;
- UTX toets reeks TX & inc en dec bit rate van 0.6 tot 9.6k
- URX toets reeks RX & inc en dec bit rate van 0.6 tot 9.6k
- SPM - toets SPI in die meestermodus
- SPS - toets SPI in slawemodus
FSK Radio Module - Bron lêer is Radio.asm
Funksies met behulp van RM01 en RM02 radio ontvang en stuur modules. Hierdie modules koppel via SPI, wat die meeste Port C -penne gebruik.
- RMB - stel radiomodule BAUD -tarief in
- RMF - stel radiomodule RF -frekwensie in
- RMC - stel die frekwensie van die radiomodule in
- XLC - pas die kristal kapasitansie las aan
- POW - stel die sender se krag in
- RM2 - stuur toetsdata (RM02 -module)
- RM1 - ontvang toetsdata (RM01 -module)
Beheermodule - Bronlêer control.asm
- SV1 - Servo -uitvoer (met behulp van CCP1) van 1ms tot 2ms in stappe van 0.1ms
- SV2 - Servo -uitvoer (met behulp van CCP2) van 1ms tot 2ms in stappe van 0.1ms
- PW1 - PWM -uitset (met behulp van CCP1) van 0 tot 100% in 10% -stappe
- PW2 - PWM -uitset (met behulp van CCP2) van 0 tot 100% in 10% -stappe
Dataverwerwing op afstand - Bronlêer is remote.asm
Afstandmodus (rem) - 'n stel opdragte sodat die meter vanaf 'n rekenaar via 'n seriële koppelvlak bedien kan word. Een opdrag versamel data wat oor 'n tydperk by EEPROM aangemeld is. 'N Ander opdrag lees spannings teen die volle snelheid van die ADC in die geheue buffer, en stuur die buffer dan na 'n rekenaar, waar die resultate grafies vertoon kan word. Dit is effektief 'n ossilloskoop wat werk oor die klankfrekwensiebereik
Tyd - Bronlêer is time.asm
Tim - vertoon net tyd in hh: mm: ss -formaat en laat verandering toe met behulp van 4 knoppies
Stap 3: Kringbeskrywing
Kringbeskrywing
3.1 Basiese Ontwikkelingsraad
Figuur 1 toon 'n basiese ontwikkelingsbord om PICBIOS aan die gang te kry. Dit is baie standaard en eenvoudig, 5V gereguleerde kragbron en ontkoppelingskondenseerders, C1, C2 ….
Die klok is 'n kristal van 4 MHz, sodat TMR1 met 'n tussenpose van 1us afmerk. Die 22pF -kapasitors C6, C7 word deur Microchip aanbeveel, maar dit lyk nie asof dit werklik nodig is nie. Die ICSP-kop (in-kring-seriële programmering) word gebruik om aanvanklik 'n leë PIC met die PICBIOS te programmeer.
Die seriële poort (COM1)- let op TX en RX word omgeruil, d.w.s. COM1- TX is gekoppel aan poort C-RX, en COM1- RX is gekoppel aan poort C-TX (gewoonlik 'n 'nulmodem' genoem). Die seinvlakke wat benodig word vir RS232 moet ook +12V (spasie) en -12V (punt) wees. Die spanningsvlakke van 5V (spasie) en 0V (merk) lyk egter voldoende vir alle rekenaars wat ek gebruik het. Dus word seinvlakke van RX en TX net omgekeer deur lynbestuurder (Q3) en lynontvanger (Q2).
Die LM032LN (2-ry 20-karakter) LCD gebruik die standaard "HD44780 koppelvlak". Die sagteware gebruik 4-bis knibbelmodus en skryf slegs, wat gebruik maak van 6 penne van poort D. Die sagteware kan gekonfigureer word vir nibble low (Port D bits 0-3) of nibble high (Port D bits 4-7) soos hier gebruik.
Die drukknopskakelaars bied vier insette vir kieslys. Gebruik druk om skakelaars te maak, aangesien sagteware die valrand opspoor. Die optrekweerstands (= 25k) is intern in PORT B. Poort RB6 kan nie vir skakelaars gebruik word nie, as gevolg van die 1nF-kap (wat aanbeveel word vir ICSP). Is daar geen behoefte aan 'n reset -skakelaar nie?
knoppie 0
spyskaartopsies links [◄]
knoppie 1
spyskaartopsies regs [►]
knoppie 2
toename bereik/waarde/kies [▲]
knoppie 3
verminder omvang/waarde/kies [▼]
3.2 Analoog insette en komponentkontrole - bord 1
Figuur 2 toon die analoogbane vir PICMETER1. Analoog insette AN0 en AN1 word gebruik vir die meting van algemene spanning. Kies weerstandswaardes vir verswakkers om 5V op insetpenne AN0/AN1 te gee.
Vir 10V insetbereik, m = 1 + R1/R2 = 1 + 10k/10k = 2
Vir 20V insetbereik, m = 1 + (R3 + R22)/R4 = 1 + 30k/10k = 4
AN2 word gebruik vir die meting van temperatuur met behulp van transistor Q1 as 'n "ru" temperatuuromvormer. Temperatuurkoëffisiënt van NPN -transistor by 20 celcuis = -Vbe/(273+20) = -0,626/293 = -2,1 mV/K. (sien temperatuurmeting in analoog afdeling). Die LM431 (U1) bied 'n 2.5V spanningsverwysing op AN3. Uiteindelik word AN4 gebruik vir of toets van komponente in die analoog afdeling.
Vir komponentmeting is die toetskomponent verbind oor RE2 (D_OUT) en AN4 -invoer. Weerstande R14 tot R18 bied vyf verskillende weerstandswaardes wat gebruik word vir weerstandsmeting (potensiometermetode) in die analoog -afdeling. Die weerstande word 'in kring gekoppel' deur poort C/poort E -penne as invoer of uitset in te stel.
Meter1 voer komponentmeting uit deur verskillende kombinasies van bekende/onbekende kapasitor en weerstand te laai. LM311 (U2) word gebruik om CCP1 -onderbrekings te skep wanneer 'n kapasitor na die boonste drumpel (75% VDD) laai en na die laer drumpel (25% VDD) laai. Hierdie drumpelspannings word bepaal deur R8, R9, R11 en potensiometer R10 aanpassing. By die toets van kapasitors bied kapasitor C13 (= 47pF) plus die verdwaalde kapasitansie van die bord 100pF -afwerking. Dit verseker dat, as die toetskomponent verwyder word, die interval tussen CCP1 -onderbrekings meer as 100 us is en die PIC nie oorlaai word nie. Hierdie afwerkingswaarde (100pF) word afgetrek van komponentmeting deur sagteware. D3 (1N4148) bied die ontladingspad by die toets van induktors en beskerm D_OUT, en voorkom dat spanning negatief word.
λΩπμ
Stap 4: Konstruksiegids
Konstruksie gids
'N Goeie ding is dat hierdie projek in fases gebou en getoets word. Beplan jou projek. Vir hierdie instruksies neem ek aan dat u PICMETER1 bou, alhoewel die prosedure dieselfde is vir PICMETER2 en 3.
4.1 Ontwikkelingsraad PCB
U moet die basiese ontwikkelingsbord (figuur 1) bou wat op 'n standaard met 'n grootte van 100 by 160 mm moet pas, en die uitleg so beplan dat dit so netjies moontlik is. Maak u PCB skoon en maak koper skoon, gebruik betroubare komponente en verbindings, waar moontlik getoets. Gebruik 'n 40 -pins -aansluiting vir die PIC. Kontinuïteit kontroleer alle gesoldeerde verbindings. Dit kan nuttig wees om na die boorduitlegfoto's hierbo te kyk.
U het nou 'n leë PIC en u moet PICBIOS in die flash -geheue programmeer. As u reeds 'n programmeermetode het - goed. Indien nie, beveel ek die volgende metode aan wat ek suksesvol gebruik het.
4.2 AN589 programmeerder
Dit is 'n klein koppelvlakkringloop waarmee 'n PIC vanaf 'n rekenaar met die drukker (LPT1) poort kan programmeer. Die ontwerp is oorspronklik gepubliseer deur Microchip in 'n Application Note. (verwysing 3). Kry of maak 'n AN589 -versoenbare programmeerder. Ek het 'n verbeterde AN589 -ontwerp gebruik wat hier beskryf word. Dit is ICSP - wat beteken dat u die PIC in die 40 -pen -aansluiting steek om dit te programmeer. Koppel dan die drukkabel aan die AN539 -invoer en die ICSP -kabel van die AN589 na die ontwikkelbord. My ontwerpersontwerp trek die krag van die ontwikkelingsbord via die ICSP -kabel.
4.3 PICPGM -instellings
U benodig nou 'n paar programmeersagteware om op 'n rekenaar te werk. PICPGM werk saam met verskillende programmeerders, waaronder AN589, en dit word gratis afgelaai. (Sien verwysings).
Kies programmeerder AN589 op LPT1 in die hardeware -kieslys
Toestel = PIC16F877 of 877A of outomaties opspoor.
Kies Hex -lêer: PICBIOS1. HEX
Kies Erase PIC, dan Program PIC, en verifieer PIC. Met 'n bietjie geluk kry u 'n suksesvolle voltooiingsboodskap.
Verwyder ICSP -kabel, Herlaai die PIC, hopelik sien u die PICBIOS -skerm op die LCD, anders kyk na u verbindings. Gaan die opstartkieslys na deur op die linker- en regterknoppies te druk.
4.4 Seriële verbinding (hyperterminaal of stopverf)
Kontroleer nou die seriële verbinding tussen PIC en rekenaar. Koppel die seriële kabel van PC COM1 aan die ontwikkelbord en voer 'n kommunikasieprogram uit, soos die ou Win-XP Hyper-Terminal, of PUTTY.
Konfigureer as volg as u Hyperterminal gebruik. Bel in die hoofkieslys> Ontkoppel. Dan lêer> Eienskappe> Koppel aan oortjie. Kies Com1 en klik dan op Configuration -knoppie. Kies 9600 bps, geen pariteit, 8 bisse, 1 stop. Beheer van hardeware vloei”. Bel dan> Bel om aan te sluit.
As u PuTTY gebruik, verbinding> reeks> Koppel aan COM1 en 9600 bps, geen pariteit, 8 bisse, 1 stop. Kies "RTS/CTS". Dan Sessie> Reeks> Oop
Kies "Command Mode" in die PICBIOS -opstartmenu en druk dan op [inc] of [dec]. Die prompt "PIC16F877>" moet op die skerm verskyn (indien nie, kyk na u seriële koppelvlak). Druk? om 'n lys met opdragte te sien.
4.5 Program PICMETER
Sodra die seriële verbinding werk, is die programmering van flitsgeheue so eenvoudig soos om 'n hex -lêer te stuur. Voer die opdrag "P" in, wat reageer met "Stuur hex -lêer …".
Gebruik die hyperterminale via die oordragkieslys> Stuur tekslêer> PICMETER1. HEX> Maak oop.
Vordering word aangedui deur die ":." soos elke reël hex-kode geprogrammeer word. Laai uiteindelik sukses.
As u PuTTY gebruik, moet u moontlik Notepad gebruik en die hele inhoud van PICMETER1. HEX in PuTTY kopieer/plak.
Om op dieselfde manier te verifieer, voer die opdrag “V” in. In die hyperterminale, vanaf die oordragkieslys> Stuur tekslêer> PICMETER1. HEX> OK.
Waarskuwing = xx … As u 'n 16F877A -chip programmeer, kry u 'n paar waarskuwingsboodskappe. Dit het te doen met die verskille tussen 877 en 877A, wat in 4 woordblokke geprogrammeer word. Ongelukkig pas die skakelaar nie die begin van gedeeltes in lyn met vier woordgrense nie. Die eenvoudige oplossing is om 3 NOP -instruksies aan die begin van elke afdeling te hê, dus ignoreer net die waarskuwings.
Herbegin en in die BIOS -opstartkieslys kies u "Begin program". U behoort PICMETER1 op die LCD te sien.
4.6 Begin PICMETER1
Begin nou met die bou van meer dele van die ontwikkelingsbord (Figuur 2) om die voltmeter-, komponentmetervunksies te laat werk soos benodig.
Meter1 benodig 'n bietjie kalibrasie. Stel op die "Cal" -funksie R10 aan om lesings van ongeveer 80.00, 80.0nF en 10.000uF te gee. Lees dan 'n klein 100pF op Cx1 -funksie. As die lesing uit is, verander die afdekkap C13 of verander die waarde van "trimc" in meter1.asm.
Begin nou PICBIOS Setup en verander 'n paar kalibrasie -instellings in EEPROM. Kalibreer temperatuur deur die 16-bis-offset aan te pas (hoë, lae formaat). Miskien moet u ook die waarde "delayt" verander.
As u voorneme is om die projek te bou soos dit is - baie geluk - u het klaar! Vertel my van u sukses op Instructables.
4.7 MPLAB
Maar as u veranderinge wil aanbring of die projek verder wil ontwikkel, moet u die sagteware met MPLAB herbou. Laai MPLAB af van Microchip. Dit is die 'ou' wat eenvoudig en eenvoudig is om te gebruik. Ek het nie die nuwe labx -ontwikkelingsinstrument probeer wat baie ingewikkelder lyk nie.
Besonderhede oor hoe om 'n nuwe projek te skep en lêers in die volledige dokumentasie by die projek te voeg.
Stap 5: Foto's van toetsing
Foto hierbo van termometer, lees 15 grade
Toetsfrekwensie, lees = 416k
Toets spoel gemerk 440uF, lees 435u
Die toets van 100k weerstand, lees 101k, dit is maklik.
Die toets van 1000pF kapasitor, lesing is 1.021nF
Stap 6: Verwysings en skakels
6.1 PIC16F87XA Gegevensblad, Microchip Inc.
ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
6.2 PIC16F87XA FLASH -geheueprogrammeringspesifikasie, mikroskyfie
ww1.microchip.com/downloads/en/devicedoc/39589b.pdf
6.3 Aansoeknota AN589, Microchip Inc.
ww1.microchip.com/downloads/en/appnotes/00589a.pdf
6.4 PICPGM aflaai
picpgm.picprojects.net/
6.5 MPLab IDE v8.92 gratis aflaai, mikroskyfie
pic-microcontroller.com/mplab-ide-v8-92-free-download/
6.6 Gegewensblaaie vir Hope RFM01-433 en RFM02-433 modules, RF Solutions
www.rfsolutions.co.uk/radio-modules-c10/hope-rf-c238
6.7 LT Spice, analoog toestelle
www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html
6.8 'n Foto-programmeerkring wat gebaseer is op AN589, Best-Microcontroller-Projects
www.best-microcontroller-projects.com/pic-programmer-circuit.html
6.9 Oopbronlêers
oop bron
Aanbeveel:
Herstel van 'n WW2 -era -multimeter in werkende toestand: 3 stappe
Herstel van 'n WW2 -era -multimeter in werkende toestand: 'n Paar jaar gelede het ek hierdie vroeë Simpson Electric -multimeter vir my versameling aangeskaf. Dit kom in 'n swart leer omhulsel wat in 'n uitstekende toestand was, aangesien dit ouderdom was. Die patentdatum van die Amerikaanse patentekantoor vir die meterbeweging is 1936
USB-litiumherlaaibare DT830-multimeter met polyfuse: 5 stappe
USB Lithium herlaaibare DT830 multimeter met Polyfuse: ■ Wat ek van hierdie meter hou Hierdie DT830LN digitale multimeter (DMM) bied ▪ 'n Kompakte grootte ▪ 10A huidige meetbereik ▪ Backlit display ▪ Lae koste Die DT830D model is identies en meer algemeen beskikbaar, maar het nie die skerm met agtergrond nie. ■ Wha
Arduino -aangedrewe multimeter: 8 stappe (met foto's)
Arduino -aangedrewe multimeter: In hierdie projek bou u 'n voltmeter en ohmmeter met behulp van die digitalRead -funksie van 'n Arduino. U sal byna elke millisekonde kan lees, baie meer presies as 'n tipiese multimeter. Uiteindelik kan u toegang tot die data verkry
Hoe om 'n multimeter in Tamil te gebruik - Beginnersgids - Multimeter vir beginners: 8 stappe
Hoe om 'n multimeter in Tamil te gebruik | Beginnersgids | Multimeter vir beginners: Hallo vriende, in hierdie tutoriaal het ek verduidelik hoe u multimeter in allerhande elektroniese stroombane in 7 verskillende stappe kan gebruik, soos Stel terug
16x64 P10 -rol -LED -skerm met behulp van PIC16F877 mikrokontroller: 5 stappe (met foto's)
16x64 P10 -rol -LED -skerm met behulp van PIC16F877 -mikrokontroleerder: In hierdie instruksies word beskryf hoe u 16 x 64 (p10) LED -matriksskerm met PICI6F877A -mikrobeheerder kan koppel. 'N Data word via UART na die mikrobeheerder gestuur wat in die EEPROM gestoor is, en die data sal op die LED -matriksweergawe verskyn. Dit