Përmbajtje:

Termometër USB i brendshëm/i jashtëm (ose, 'Pajisja ime e parë USB'): 4 hapa (me fotografi)
Termometër USB i brendshëm/i jashtëm (ose, 'Pajisja ime e parë USB'): 4 hapa (me fotografi)

Video: Termometër USB i brendshëm/i jashtëm (ose, 'Pajisja ime e parë USB'): 4 hapa (me fotografi)

Video: Termometër USB i brendshëm/i jashtëm (ose, 'Pajisja ime e parë USB'): 4 hapa (me fotografi)
Video: Стиральная машина рвет вещи (диагностика и ремонт) 2024, Nëntor
Anonim
Termometër USB i brendshëm/i jashtëm (ose, "Pajisja ime e parë USB")
Termometër USB i brendshëm/i jashtëm (ose, "Pajisja ime e parë USB")

Ky është një dizajn i thjeshtë që demonstron periferikën USB në PIC 18F. Ekzistojnë një mori shembujsh për patate të skuqura 18F 4050 40 në internet, ky dizajn demonstron versionin më të vogël 18F2550 28 pin. PCB përdor pjesë për montim në sipërfaqe, por të gjithë përbërësit janë të disponueshëm në versionet përmes vrimave. Unë përdor pjesë për montim sipërfaqësor sepse është më e shpejtë të bësh bordin pa shpuar vrima. Rezultati përfundimtar është një periferik i vogël USB që mat temperaturat e brendshme/të jashtme. Të dhënat janë të disponueshme për PC përmes një porte serike virtuale. Sensorët e temperaturës përdoren në shembull, por mund të shtohen sensorë të tjerë analogë. PS Shihni një grafik të drejtpërdrejtë të të dhënave nga regjistruesi im këtu: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = grafik

Hapi 1: Vështrim i përgjithshëm i projektimit

Vështrim i përgjithshëm i projektimit
Vështrim i përgjithshëm i projektimit
Vështrim i përgjithshëm i projektimit
Vështrim i përgjithshëm i projektimit
Vështrim i përgjithshëm i projektimit
Vështrim i përgjithshëm i projektimit

Përbërësit e kërkuar të PIC

Ky periferik USB bazohet në PIC 18F2550 me 28 pin. Ky çip ka gjithçka që nevojitet për një ndërfaqe USB me shpejtësi të plotë. Një kondensator 0.1uf midis fuqisë dhe tokës shkëput PIC nga furnizimi me energji. Një kristal 20MHz (përdoret për të gjeneruar një orë të brendshme 48MHz) dhe dy kondensatorë 27pf. Një rezistencë 10K nga fuqia në kunjin MCLR. Shtova një diodë ekuivalente 1n4148 midis rezistencës dhe fuqisë, në mënyrë që 13+voltët e vendosur në MCLR gjatë programimit të mos dëmtojnë përbërësit e tjerë në tabelën e qarkut. Një kokë ICSP (5 kunja) përdoret për të programuar dhe korrigjuar pajisjen. Pajisjet USB të kërkuara Një prizë USB e stilit ‘B’ të femrës. Kërkohet kapacitet 220nf-440nf për rregullatorin e brendshëm të tensionit USB. Unë përdor dy kondensatorë 0.1uf (të njëjtë siç përdoren për shkëputje) pa problem. Një LED me rezistencë kufizuese aktuale 330ohm përdoret për të shfaqur statusin e lidhjes USB. Gjërat e kërkuara të sensorit Kam përdorur sensorin e temperaturës së mikroçipit TC1047A si sensor i temperaturës së brendshme. Isshtë ngjitur fizikisht në tabelë - kjo e bën atë të funksionojë disa gradë më të nxehtë se temperatura e dhomës. Një kokë përdoret për të lidhur një sondë të temperaturës në natyrë (versioni TO-92 i TC1047a). Një kondensator shtesë 0.1uf ndihmon në shkëputjen e një teli të gjatë të dalë nga pjesa tjetër e bordit. Nivelet e tensionit USB nuk janë mjaft të qëndrueshme për të matur dhe llogaritur me saktësi temperaturën nga sensorët analogë. Përdoret një referencë e tensionit të jashtëm (MCP1525, 2.5volt). Referenca e tensionit kërkon një kondensator në daljen nga 1uf në 10uf. Pa këtë kondensator referenca e tensionit nuk do të funksionojë.

Hapi 2: Firmware

Firmware përdor klasën CDC USB për të imituar një port serial. Pajisja do të shfaqet si një port com virtual në një PC. Firmware është i ndarë në tre pjesë: 1. Shoferi USB kujdeset për regjistrimin e pajisjes në një kompjuter dhe imitimin e një porte COM. 2. Një rutinë shërbimi lexon në mënyrë alternative vlerat e temperaturës dhe i konverton ato në një format të lexueshëm. Kryerja e të dy këtyre operacioneve në të njëjtën kohë bëri që pajisja USB të humbte lidhjen me kompjuterin (ngasja e kohës). Shndërrimi i vlerave të pikës lundruese në një varg në ciklin e shërbimit pas konvertimit pastroi problemin e lidhjes.* 3. Së fundi, një rutinë kryesore merr byte të dërguara nga PC dhe kthen matjet e kërkuara. Masat e shumëfishta ndahen me presje, linjat përfundojnë me një karakter null (gjashtëkëndësh 0x00) Firmueri demonstrues pranon komandat e mëposhtme: Vlera hex Kthen 0x00 Temperatura e brendshme (sensori në bord) 0x01 Temperatura në natyrë (titulli i jashtëm) 0x02 Të dyja temperaturat (presje e ndarë) Temperatura llogaritet bazuar në referencën 2.5 volt dhe kompensimin dhe pjerrësinë e Microchip TC1047A. Sensorë të tjerë të temperaturës mund të kenë karakteristika të ndryshme. Fleta e të dhënave TC1047A është e disponueshme këtu: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdfFirmueri është shkruar në MPLAB me përpiluesin demonstrues PIC C18. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Firmware aktual USB sigurohet nga Microchip. Mjedisi origjinal është i disponueshëm këtu: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631Për të redaktuar firmuerin: nxirrni të gjithë strukturën e drejtorisë së burimit në drejtorinë tuaj rrënjë (c: / MCHPFSUSB) Me Pastaj mund të ngarkoni skedarin e hapësirës së punës në MPLAB.*Rutina e notimit në varg është një burim derri. Për të kapërcyer problemin e lidhjes, rutina e shërbimit USB thirret në pika të ndryshme të rutinës float2string. Kjo do të ishte më mirë të rregullohej duke servisuar periferikën USB në një ndërprerje. Kam përdorur hakimin në mënyrë që firmware të qëndrojë sa më afër versionit të referencës.

Hapi 3: Testimi i pajisjes

Testimi i pajisjes
Testimi i pajisjes
Testimi i pajisjes
Testimi i pajisjes
Testimi i pajisjes
Testimi i pajisjes

Udhëzimet janë për dritaret, por pajisja mund të lidhet me çdo gjë që ka drejtues emulimi të portës serike CDC.

Programoni pajisjen me firmware. Të gjitha pjesët e konfigurimit duhet të vendosen saktë në firmware. Lidheni pajisjen në një port USB. Windows do ta zbulojë atë dhe do t'ju kërkojë të zgjidhni një shofer. JU I SIGURISHM KLIKONI ‘LUFTIM P FORR SHOFERIN E PERSONIT’. Shkoni në vendndodhjen e skedarit.inf të përfshirë me arkivin e projektit (driver-win2k_winxp). Windows do ta përdorë këtë skedar për të instaluar pajisjen. *Një shënim mbi drejtuesin CDC - shoferi i emulimit të portës serike CDC përfshihet me Windows. Skedari.inf (i siguruar nga Microchip) thjesht i thotë Windows -it t'i lidhë këta drejtues me pajisjen. Për të zbuluar se çfarë porti COM i është caktuar pajisjes bëni si më poshtë: Shkoni te paneli i kontrollit (fillimi-> cilësimet-> paneli i kontrollit) Klikoni dy herë ‘sistemi’ Klikoni skedën ‘harduer’. Klikoni 'menaxherin e pajisjes' Klikoni '+' pranë porteve Një listë e porteve COM në sistem shfaqet. Unë e kam parë pajisjen të shfaqet si COM 3 dhe 4, por do të ndryshojë sipas sistemit. Nëse nuk është e qartë se cila port është e re, provoni këtë: Shkëputeni pajisjen nga porta USB. Një nga portet do të zhduket. Ky është porti COM i pajisjes #. Lidheni pajisjen përsëri, porti do të rishfaqet. Aplikacioni i vogël VB (burimi i përfshirë) mund të përdoret për të testuar pajisjen. Vendosni komandën për të dërguar, klikoni 'Start'. Përgjigja do të shfaqet në dritare.

Hapi 4: Çfarë tjetër mund të bëjë?

Çfarë tjetër mund të bëjë?
Çfarë tjetër mund të bëjë?

Ky tabelë demonstrimi është një pikënisje e mirë për një stacion të vogël moti në shtëpi: Shtoni një sensor lagështie HIH3160 ose zëvendësoni sensorin e temperaturës analoge me sensorin e temperaturës dhe lagështisë serike Sensiron HT74 me saktësi të lartë. Shtoni një sensor presioni Freescale MPX (a) 4115 në matni presionin barometrik. Dëshironi t'i sindikatoni këto të dhëna në ueb? Përfshieni atë në faqen tuaj në internet, shikojeni në google earth ose merrni përditësime në kallamin tuaj RSS? Shihni këtë udhëzues për integrimin e kësaj pajisjeje në sfondin e internetit syndicIT.com:

Recommended: