Obsah:
- Zásoby
- Krok 1: Popis PICBIOS
- Krok 2: Popis PICMETERU
- Krok 3: Popis obvodu
- Krok 4: Průvodce stavbou
- Krok 5: Fotky z testování
- Krok 6: Reference a odkazy
Video: Multimetr PIC16F877: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
PICMETER Úvod
Tento projekt PICMETER se stal užitečným a spolehlivým nástrojem pro každého elektronického nadšence.
- Běží na mikrořadiči PIC16F877 / 877A.
- Jedná se o vývojový systém PIC
- Jedná se o 19funkční multimetr (voltmetr, měřič frekvence, generátor signálu, teploměr …)
- Jedná se o kontrolu komponent (R, L, C, dioda …) s až 5 rozsahy pro každou funkci.
- Má 433MHz pásmo ASK rádio, které čeká na nějaký druh aplikace.
- Jedná se o vzdálený sběrný systém, kde jiný počítač (PC) může sbírat data přes sériový port pro grafické zobrazení. (Byl použit jako přední část projektu EKG).
- Má možnost protokolování (pro protokolování dat přes hodiny), výsledky se nahrávají z EEPROM.
- Vytváří testovací signály pro pohon některých motorů.
- Je důkladně testován, viz fotografie v kroku 5.
- Software je vydán jako Open Source
This Instructable is a cut down version of the Full Documentation. Popisuje hardware a software dostatečný pro ostatní, aby jej mohli postavit buď jako dokončený projekt, nebo jej použít jako vývojový systém k provedení dalších změn, nebo jen procházet nápady pro použití na jiných projektech.
Zásoby
Jediným kritickým čipem, který lze koupit, je Microchip PIC16F877A-I/P
- A = pozdější revize, která se liší od původní v definici konfiguračních bitů.
- I = rozsah průmyslové teploty
- P = 40vodičový plastový duální řadový balíček, 10 MHz, normální limity VDD.
Také Hitachi LM032LN 20 znaků na 2 řádkovém LCD, který má vestavěný ovladač HD44780.
Ostatní části jsou pouze generické elektrické součástky, deskové desky s plošnými spoji, LM340, LM311, LM431, nízkonapěťové tranzistory pro obecné účely atd.
Krok 1: Popis PICBIOS
PICBIOS Popis
Tento software běží na desce PIC16F877 a zabírá spodní 4k programové paměti. Poskytuje softwarové prostředí pro aplikační program zabírající horní polovinu programové paměti. Je nápadem podobný PC-BIOS s několika příkazy pro „ladění“pro vývoj programu a má 5 komponent:
- Nabídka zavádění
- Instalační program
- Rozhraní příkazového řádku (přes sériový port)
- Ovladače jádra a zařízení
- Rozhraní pro programování aplikací
Krok 2: Popis PICMETERU
PICMETER Popis
Úvod
Jako multimetr (volty, zesilovače, ohmy) má mnoho funkcí, které se volí pomocí systému nabídek. Díky kombinaci hardwaru a softwaru je však velmi univerzální, například jsou k dispozici funkce, jako je dlouhodobé protokolování a odesílání sériových dat.
Nabídka je „srdcem“, kde jsou funkce vybírány pomocí tlačítek [vlevo] a [vpravo]. Poté jsou pro každou funkci pomocí tlačítek [inc] a [dec] vybrány různé rozsahy. Například kondenzátory se měří od přibližně 0,1 nF do 9 000 uF pomocí 5 samostatných rozsahů.
2.1 Software PICMETER
Toto je organizováno jako aplikační program, který zabírá horních 4 kB programové paměti a spoléhá na funkce PICBIOS pro I/O zařízení a zpracování přerušení. Skládá se z části nabídky, která běží jako úkol na pozadí a každých 20 ms vybírá tlačítka. Po stisknutí tlačítka pro změnu funkce nebo změny rozsahu se vyvolá příslušná rutina. Pokud není stisknuto žádné tlačítko, měřené hodnoty se aktualizují přibližně v 0,5sekundových intervalech. Nabídka je v podstatě vyhledávací tabulka.
2.2 Funkce měřiče - sekce
Existuje mnoho funkcí, takže tato část je rozdělena do sekcí, z nichž každá se zabývá funkcemi podobné povahy. Toto je stručný seznam sekcí. Podrobnou dokumentaci jednotlivých sekcí najdete v úplné dokumentaci. Z důvodu omezení portu existují 3 varianty projektu (viz úplná dokumentace). Funkce v normálním písmu jsou společné pro všechny projekty. Funkce PODČÍRANÉ jsou zahrnuty pouze v projektu PICMETER1. Funkce v ITALICS jsou zahrnuty pouze v projektech PICMETER2 nebo PICMETER3.
VoltMeter Section - Zdrojový soubor je vmeter.asm
Obsahuje funkce, které jsou založeny na měření napětí pomocí ADC.
- Napětí ADC (čte napětí na vybraném vstupu, AN0 až AN4)
- AD2 Dual (zobrazuje napětí na AN0 a AN1 současně)
- TMP teploměr -10 až 80? degC (převodník 2N3904 nebo duální LM334)
- LOG - nastavuje interval protokolování
- OHM - Měření odporu (metoda potenciometru) od 0Ω do 39MΩ ve 4 rozsazích
- DIO-dioda, měří dopředné napětí (0-2,5V)
- CON - Kontinuita (pípne, když je odpor menší než prah 25, 50 nebo 100)
Component Meter1 - Zdrojový soubor je meter1.asm
Měření kondenzátoru, induktoru a odporu pomocí obvodu komparátoru LM311. Na základě měření času jednoho nabíjecího cyklu.
- CAL - kalibrace - měří pevně 80nf a 10μF pro vlastní test a nastavení
- Cx1 - měření kondenzátoru od 0,1nF do 9000μF v 5 rozsazích
- Lx1 - měření induktoru od 1 mH do ?? mH ve 2 rozsazích
- Rx1 - měření odporu od 100Ω do 99MΩ ve 3 rozsahech
Komponentní měřič2 Zdrojový soubor Meter2.asm
Měření komponent pomocí alternativního relaxačního oscilátoru LM311 a oscilátoru Colpitts. Na základě měření časového období N cyklů. To je o něco přesnější než výše uvedená metoda, protože se měří čas N = až 1000 cyklů. Jedná se spíše o hardwarové řešení a vyžaduje větší konstrukci.
- Cx2 - měření kondenzátoru od 10 pF do 1000 μF v 5 rozsazích.
- Rx2 - měření odporu od 100 ohmů do 99M v 5 rozsazích.
- Lx2 - měření induktoru od 1 mH do 60 mH v 1 rozsahu.
- osc - měření induktoru (Colpittsova metoda) od 70μH do 5000μH? ve 2 rozsazích.
Frekvenční měřič - zdrojový soubor Fmeter.asm
Obsahuje funkce, které používají čítače a časovače PIC a nic jiného;
- FREQ - měřič frekvence od 0Hz do 1000kHz ve 3 rozsazích
- XTL - měří frekvenci LP krystalů (netestováno)
- SIG - generátor signálu od 10Hz do 5KHz v 10 krocích
- SMR - krokový motor - zpětný směr
- SMF- krokový motor- směr vpřed.
Komunikace - Zdrojový soubor je comms.asm
Funkce pro přenos/příjem signálu pro testování sériových a SPI periferií;
- UTX testuje sériovou TX & inc a dec bit rate od 0,6 do 9,6k
- URX testuje sériovou RX & inc a dec bit rate od 0,6 do 9,6k
- SPM - testuje SPI v hlavním režimu
- SPS - testuje SPI v podřízeném režimu
Rádiový modul FSK - zdrojový soubor je Radio.asm
Funkce využívající rádiové přijímací a vysílací moduly RM01 a RM02. Rozhraní těchto modulů je přes SPI, který využívá většinu pinů Port C.
- RMB - nastavení rychlosti BAUD rádiového modulu
- RMF - nastavení rádiové frekvence rádiového modulu
- RMC - nastavuje frekvenci hodin rádiového modulu
- XLC - upravuje zatížení krystalovou kapacitou
- POW - nastavuje výkon vysílače
- RM2 - přenos testovacích dat (modul RM02)
- RM1 - příjem testovacích dat (modul RM01)
Řídicí modul - zdrojový soubor control.asm
- SV1 - Servo výstup (pomocí CCP1) od 1 ms do 2 ms v krocích 0,1 ms
- SV2 - Servo výstup (pomocí CCP2) od 1 ms do 2 ms v krocích 0,1 ms
- PW1 - PWM výstup (pomocí CCP1) od 0 do 100% v 10% krocích
- PW2 - PWM výstup (pomocí CCP2) od 0 do 100% v 10% krocích
Vzdálené získávání dat - zdrojový soubor je remote.asm
Vzdálený režim (Rem) - sada příkazů, takže měřič lze ovládat z počítače přes sériové rozhraní. Jeden příkaz shromažďuje data zaznamenaná v EEPROM po dobu několika hodin. Další příkaz načte napětí plnou rychlostí ADC do vyrovnávací paměti a poté přenese vyrovnávací paměť do počítače, kde lze výsledky graficky zobrazit. Účinně se jedná o osciloskop pracující v audio frekvenčním rozsahu
Čas - zdrojový soubor je time.asm
Tim - zobrazuje pouze čas ve formátu hh: mm: ss a umožňuje změnu pomocí 4 tlačítek
Krok 3: Popis obvodu
Popis obvodu
3.1 Základní vývojová rada
Obrázek 1 ukazuje základní vývojovou desku pro spuštění PICBIOS. Jedná se o velmi standardní a přímočarý, 5V regulovaný zdroj energie a oddělovací kondenzátory, C1, C2….
Hodiny jsou krystalické 4 MHz, takže TMR1 tiká v intervalech 1us. Kondenzátory 22pF C6, C7 jsou doporučovány společností Microchip, ale nezdají se být ve skutečnosti nutné. Záhlaví ICSP (programování v obvodu-sériové) slouží k prvotnímu naprogramování prázdného PIC s PICBIOS.
Sériový port (COM1)- poznámka TX a RX jsou přepnuty, tj. COM1-TX je připojen k portu C-RX a COM1-RX je připojen k portu C-TX (běžně se označuje jako „nulový modem“). Také úrovně signálu požadované pro RS232 by skutečně měly být +12V (mezera) a -12V (značka). Úrovně napětí 5 V (mezera) a 0 V (značka) se však zdají být dostatečné pro všechny počítače, které jsem použil. Úrovně signálu RX a TX jsou tedy invertovány linkovým ovladačem (Q3) a linkovým přijímačem (Q2).
LCD LM032LN (2řadý, 20 znaků) používá standardní „rozhraní HD44780“. Software používá 4bitový režim nibble a pouze zápis, který používá 6 pinů portu D. Software lze konfigurovat pro nibble low (port D bits 0-3) or nibble high (Port D bits 4-7) as used here.
Tlačítkové přepínače poskytují čtyři vstupy pro výběr z nabídky. Pomocí tlačítek proveďte přepínání, protože software detekuje sestupnou hranu. Pull-up rezistory (= 25k) jsou interní pro PORT B. Port RB6 nelze použít pro přepínače, protože 1nF cap (což je doporučeno pro ICSP). Není třeba resetovací přepínač?
tlačítko0
možnosti nabídky vlevo [◄]
tlačítko 1
možnosti nabídky vpravo [►]
tlačítko 2
rozsah přírůstku/hodnota/vyberte [▲]
tlačítko 3
snížit rozsah/hodnotu/vybrat [▼]
3.2 Analogové vstupy a komponentní kontrola - deska 1
Obrázek 2 ukazuje analogové obvody pro PICMETER1. Analogové vstupy AN0 a AN1 se používají pro obecné měření napětí. Vyberte hodnoty odporu pro atenuátory tak, aby na vstupních pinech AN0/AN1 bylo 5V.
Pro 10V vstupní rozsah m = 1 + R1/R2 = 1 + 10k/10k = 2
Pro vstupní rozsah 20 V m = 1 + (R3 + R22)/R4 = 1 + 30k/10k = 4
AN2 se používá k měření teploty pomocí tranzistoru Q1 jako „surového“převodníku teploty. Teplotní koeficient NPN tranzistoru při 20 celcuis = -Vbe/(273+20) = -0,626/293 = -2,1 mV/K. (viz měření teploty v sekci Analog). LM431 (U1) poskytuje referenční napětí 2,5 V na AN3. Nakonec se používá AN4 nebo testování komponent v sekci Analogové.
Pro měření komponent je testovací komponent připojen přes vstup RE2 (D_OUT) a AN4. Rezistory R14 až R18 poskytují pět různých hodnot odporu použitých pro měření odporu (metoda potenciometru) v analogové sekci. Rezistory jsou „zapojeny do obvodu“nastavením pinů Port C/Port E jako Vstup nebo Výstup.
Meter1 provádí měření komponent nabíjením různých kombinací známého/neznámého kondenzátoru a odporu. LM311 (U2) se používá k vytváření přerušení CCP1, když se kondenzátor nabije na horní práh (75% VDD) a vybije se na spodní práh (25% VDD) Tato prahová napětí jsou nastavena pomocí R8, R9, R11 a potenciometru R10, který poskytuje mírné nastavení. Při testování kondenzátorů poskytuje kondenzátor C13 (= 47 pF) plus rozptylová kapacita desky úpravu 100 pF. Tím je zajištěno, že když je testovací komponent odstraněn, interval mezi přerušeními CCP1 překročí 100us a nepřetíží PIC. Tato hodnota oříznutí (100 pF) se odečte od měření součásti softwarem. D3 (1N4148) zajišťuje vybíjecí dráhu při testování induktorů a chrání D_OUT, čímž brání zápornému napětí.
λΩπμ
Krok 4: Průvodce stavbou
Průvodce stavbou
Dobrá věc je, že tento projekt je postaven a testován po etapách. Naplánujte si projekt. U těchto pokynů předpokládám, že stavíte PICMETER1, ačkoli postup je podobný pro PICMETER2 a 3.
4.1 Deska plošných spojů vývojové desky
Musíte postavit základní vývojovou desku (obrázek 1), která by se měla vejít na desku standardní velikosti 100 x 160 mm, naplánovat rozvržení tak, aby byla co nejvíce uklizená. Vyčistěte desku plošných spojů a pocínujte veškerou měď, používejte spolehlivé součásti a konektory, kde je to možné, vyzkoušené. Pro PIC použijte 40kolíkovou zásuvku. Zkontrolujte spojitost všech pájených spojů. Může být užitečné podívat se na fotografie mého rozložení desky výše.
Nyní máte prázdný PIC a potřebujete naprogramovat PICBIOS do flash paměti. Pokud již máte programovací metodu - v pořádku. Pokud ne, doporučuji následující metodu, kterou jsem úspěšně použil.
4.2 Programátor AN589
Toto je malý obvod rozhraní, který umožňuje programování PIC z počítače pomocí portu tiskárny (LPT1). Design byl původně publikován společností Microchip v poznámce k aplikaci. (odkaz 3). Získejte nebo si vyrobte programátor kompatibilní s AN589. Použil jsem zde popsaný vylepšený design AN589. Toto je ICSP - to znamená, že vložíte PIC do 40pinové zásuvky, abyste ho naprogramovali. Poté připojte kabel tiskárny ke vstupu AN539 a kabel ICSP od AN589 k vývojové desce. Můj návrh programátoru čerpá energii z vývojové desky pomocí kabelu ICSP.
4.3 Nastavení PICPGM
Ke spuštění na PC nyní potřebujete nějaký programovací software. PICPGM pracuje s různými programátory včetně AN589 a je stažen zdarma. (Viz reference).
V nabídce Hardware vyberte Programátor AN589 na LPT1
Zařízení = PIC16F877 nebo 877A nebo automatické zjišťování.
Vyberte hexadecimální soubor: PICBIOS1. HEX
Vyberte Vymazat PIC, poté Program PIC a poté Ověřit PIC. Při troše štěstí dostanete zprávu o úspěšném dokončení.
Odpojte kabel ICSP, Restartujte PIC, doufejme, že uvidíte displej PICBIOS na LCD, jinak zkontrolujte připojení. Zkontrolujte nabídku spouštění stisknutím levého a pravého tlačítka.
4.4 Sériové připojení (hyperterminál nebo tmel)
Nyní zkontrolujte sériové připojení mezi PIC a PC. Připojte sériový kabel z PC COM1 k vývojové desce a spusťte komunikační program, jako je starý Win-XP Hyper-Terminal nebo PUTTY.
Pokud používáte Hyperterminal, nakonfigurujte následovně. V hlavní nabídce volejte> Odpojit. Pak Soubor> Vlastnosti> Připojit na kartu. Vyberte Com1, poté klikněte na tlačítko Konfigurovat. Vyberte 9600 bps, bez parity, 8 bitů, 1 stop. Hardwarová kontrola toku “. Pak se spojte Voláním> Volat.
Pokud používáte PuTTY, Connection> Serial> Connect to COM1 a 9600 bps, no parity, 8 bits, 1 stop. Vyberte „RTS/CTS“. Poté Session> Serial> Open
V nabídce Boot PICBIOS vyberte „Command Mode“a poté stiskněte [inc] nebo [dec]. Na obrazovce by se měla objevit výzva „PIC16F877>“(pokud ne, zkontrolujte sériové rozhraní). Lis ? zobrazit seznam příkazů.
4.5 Program PICMETER
Jakmile sériové připojení funguje, programování paměti flash je stejně jednoduché jako odeslání hexadecimálního souboru. Zadejte příkaz „P“, který odpoví „Odeslat hex soubor …“.
Pomocí hyper-terminálu z nabídky Přenos> Odeslat textový soubor> PICMETER1. HEX> Otevřít.
Pokrok je indikován znakem „:.“jak je naprogramován každý řádek hex kódu. Nakonec načtěte úspěch.
Pokud používáte PuTTY, možná budete muset použít Poznámkový blok a zkopírovat/vložit celý obsah PICMETER1. HEX do PuTTY.
Podobně pro ověření zadejte příkaz „V“. V hyper-terminálu z nabídky Přenos> Odeslat textový soubor> PICMETER1. HEX> OK.
Varování = xx… Pokud naprogramujete čip 16F877A, zobrazí se několik varovných zpráv. To souvisí s rozdíly mezi 877 a 877A, které programují ve 4 slovních blocích. Linker bohužel nevyrovná začátek sekcí na hranici 4 slov. Jednoduchým řešením je mít 3 instrukce NOP na začátku každé sekce, takže varování ignorujte.
Restartujte a v nabídce spouštění systému BIOS vyberte „Spustit aplikaci“. Na displeji LCD byste měli vidět PICMETER1.
4.6 Spusťte PICMETER1
Nyní začněte stavět další části vývojové desky (obrázek 2), aby funkce voltmetru a komponentního měřiče fungovala podle potřeby.
Měřič 1 potřebuje určitou kalibraci. U funkce „Cal“upravte R10 tak, aby hodnoty činily přibližně 80,00, 80,0nF a 10 000uF. Pak přečtěte malý 100 pF na funkci Cx1. Pokud je hodnota mimo, změňte buď ozdobný kryt C13, nebo změňte hodnotu „trimc“v meter1.asm.
Nyní spusťte PICBIOS Setup a změňte několik nastavení kalibrace v EEPROM. Kalibrujte teplotu úpravou 16bitového offsetu (vysoký, nízký formát). Možná budete muset také změnit hodnotu „zpoždění“.
Pokud máte v úmyslu postavit projekt tak, jak je - Gratulujeme - jste hotovi! Řekněte mi o svém úspěchu na Instructables.
4,7 MPLAB
Pokud však chcete provést změny nebo projekt dále rozvíjet, musíte software znovu vytvořit pomocí MPLAB. Stáhněte si MPLAB z Microchip. Toto je ten „starý“, který se snadno a snadno používá. Nezkoušel jsem nový vývojový nástroj labx, který vypadá mnohem složitěji.
Podrobnosti o tom, jak vytvořit nový projekt a poté přidat soubory do projektu v úplné dokumentaci.
Krok 5: Fotky z testování
Foto nahoře na teploměru, čtení 15 stupňů Celsia
Frekvence testování, čtení = 416k
Testovací induktor s označením 440uF, čte 435u
Testování odporu 100k, čtení 101k, to je snadné.
Testování kondenzátoru 1000 pF, čtení je 1,021nF
Krok 6: Reference a odkazy
6.1 Datový list PIC16F87XA, Microchip Inc.
ww1.microchip.com/downloads/cs/devicedoc/39582b.pdf
6.2 Specifikace programování paměti PIC16F87XA FLASH, mikročip
ww1.microchip.com/downloads/en/devicedoc/39589b.pdf
6.3 Aplikační poznámka AN589, Microchip Inc.
ww1.microchip.com/downloads/en/appnotes/00589a.pdf
6.4 Stažení PICPGM
picpgm.picprojects.net/
6,5 MPLab IDE v8.92 ke stažení zdarma, mikročip
pic-microcontroller.com/mplab-ide-v8-92-free-download/
6.6 Datové listy pro moduly Hope RFM01-433 a RFM02-433, RF Solutions
www.rfsolutions.co.uk/radio-modules-c10/hope-rf-c238
6.7 LT Spice, analogová zařízení
www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html
6.8 Obvod programátoru na základě projektu AN589, Best-Microcontroller-Projects
www.best-microcontroller-projects.com/pic-programmer-circuit.html
6.9 Open Source Files
open_source
Doporučuje:
USB lithiový dobíjecí multimetr DT830 s polyfuse: 5 kroků
USB lithiový dobíjecí multimetr DT830 s polyfuse: ■ Co se mi na tomto měřiči líbí Tento digitální multimetr DT830LN (DMM) nabízí • Kompaktní velikost ÷ 10A aktuální měřicí rozsah • Podsvícený displej • Nízké náklady Model DT830D je identický a běžněji dostupný, ale nemá podsvícený displej. ■ Co
Multimetr napájený Arduino: 8 kroků (s obrázky)
Arduino Powered Multimeter: V tomto projektu budete stavět voltmetr a ohmmetr pomocí funkce digitalRead Arduina. Budete moci získat čtení téměř každou milisekundu, mnohem přesnější než typický multimetr. Nakonec k datům lze přistupovat
Jak používat multimetr v tamilštině - Průvodce pro začátečníky - Multimetr pro začátečníky: 8 kroků
Jak používat multimetr v tamilštině | Průvodce pro začátečníky | Multimetr pro začátečníky: Dobrý den, přátelé, v tomto tutoriálu jsem vysvětlil, jak používat multimetr ve všech typech elektronických obvodů v 7 různých krocích, jako například 1) test kontinuity hardwaru pro řešení problémů 2) měření DC proudu 3) testování diody a LED 4) měření Resi
Jak používat multimetr Základy: 8 kroků
Základy používání multimetru: Multimetr nebo multitester, také známý jako VOM (volt-ohm-milliammeter), je elektronický měřicí přístroj, který kombinuje několik funkcí měření v jedné jednotce. Typický multimetr může měřit napětí, proud a odpor. Analogový více
Multimetr Arduino a tester součástí: 4 kroky
Tester multimetrů a komponent Arduino: Dobrý den, toto je moje vícefunkční zařízení Arduino. Lze jej použít k testování senzorů, které jsou připojeny k analogovým pinům, k měření odporu, k měření úbytku napětí diody. Dokáže měřit okolní teplotu, má zabudovanou kontinuitu