Tartalomjegyzék:

USB beltéri/kültéri hőmérő (vagy „Az első USB -eszközöm”): 4 lépés (képekkel)
USB beltéri/kültéri hőmérő (vagy „Az első USB -eszközöm”): 4 lépés (képekkel)

Videó: USB beltéri/kültéri hőmérő (vagy „Az első USB -eszközöm”): 4 lépés (képekkel)

Videó: USB beltéri/kültéri hőmérő (vagy „Az első USB -eszközöm”): 4 lépés (képekkel)
Videó: A telekábelszolgáltatók NEM akarják, hogy ismerje ezt a trükköt 2024, November
Anonim
USB beltéri/kültéri hőmérő (vagy "Az első USB -eszköz")
USB beltéri/kültéri hőmérő (vagy "Az első USB -eszköz")

Ez egy egyszerű kialakítás, amely bemutatja a PIC 18Fs USB perifériáját. Van egy csomó példa az 18F4550 40 tűs chipekre az interneten, ez a kialakítás a kisebb 18F2550 28 tűs verziót mutatja be. A NYÁK felületre szerelhető alkatrészeket használ, de minden alkatrész átmenő lyukú változatban kapható. Felületre szerelhető alkatrészeket használok, mert gyorsabban készíthető el a tábla lyukak fúrása nélkül. A végeredmény egy kicsi USB periféria, amely méri a beltéri/kültéri hőmérsékletet. Az adatok virtuális soros porton keresztül érhetők el a számítógéphez. A példában hőmérséklet -érzékelőket használunk, de más analóg érzékelők is hozzáadhatók. PS Lásd a naplózóm adatainak élő grafikonját itt: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = grafikon

1. lépés: Tervezési áttekintés

Tervezési áttekintés
Tervezési áttekintés
Tervezési áttekintés
Tervezési áttekintés
Tervezési áttekintés
Tervezési áttekintés

Szükséges PIC komponensek

Ez az USB periféria a 28 tűs PIC 18F2550 alapú. Ez a chip mindent tartalmaz, ami egy teljes sebességű USB interfészhez szükséges. A táp és a föld közötti 0,1uf kondenzátor leválasztja a PIC -t a tápegységről. 20 MHz -es kristály (48 MHz -es belső óra előállításához) és két 27pf -es kondenzátor. 10K ellenállás az áramtól az MCLR csapig. Hozzáadtam egy 1n4148 egyenértékű diódát az ellenállás és a tápellátás között, hogy a programozás során az MCLR -re helyezett 13+volt ne károsítsa az áramköri lap többi alkatrészét. Az eszköz programozásához és hibakereséséhez ICSP fejlécet (5 tű) használnak. Szükséges USB -eszközök A „B” típusú USB -csatlakozó. A belső USB feszültségszabályozóhoz 220nf-440nf kapacitás szükséges. Két 0.1uf kondenzátort használok (ugyanaz, mint a leválasztáshoz) probléma nélkül. A 330ohmos áramkorlátozó ellenállással ellátott LED az USB -kapcsolat állapotának megjelenítésére szolgál. Szükséges érzékelő cuccok A TC1047A mikrochip hőmérséklet -érzékelőt használtam beltéri hőmérséklet -érzékelőként. Fizikailag a táblához van forrasztva - emiatt néhány fokkal melegebb lesz, mint a szobahőmérséklet. A fejlécet kültéri hőmérséklet-szonda csatlakoztatására használják (a TC1047a TO-92 verziója). Egy további 0,1uf kondenzátor segít leválasztani egy hosszú vezetéket a tábla többi részéről. Az USB feszültségszintek nem elég következetesek ahhoz, hogy pontosan mérjék és kiszámítsák a hőmérsékletet az analóg érzékelőkből. Külső feszültségreferenciát (MCP1525, 2,5 volt) használnak. A feszültségreferencia 1 kondenzátort igényel 1uf -10uf kimeneten. E kondenzátor nélkül a feszültségreferencia nem működik.

2. lépés: Firmware

A firmware a CDC USB osztályt használja a soros port emulálásához. Az eszköz virtuális com portként jelenik meg a számítógépen. A firmware három részre oszlik: 1. Az USB -illesztőprogram gondoskodik az eszköz számítógépen történő felsorolásáról és COM -port emulálásáról. 2. Egy szervizrutin felváltva beolvassa a hőmérsékletértékeket, és olvasható formátumba konvertálja azokat. Ha mindkét műveletet egyszerre hajtja végre, az USB -eszköz megszakította a kapcsolatot a számítógéppel (időzítés). A lebegőpontos értékek karakterlánccá alakítása a konverziót követő szervizciklusban megoldotta a kapcsolódási problémát.* 3. Végül egy fő rutin fogadja a számítógépről küldött bájtokat, és visszaadja a kért méréseket. A több mértéket vessző választja el egymástól, a sorok null karakterrel végződnek (hexa 0x00) A bemutató firmware elfogadja a következő parancsokat: Hexadecimális érték Visszaad 0x00 Beltéri hőmérséklet (fedélzeti érzékelő) 0x01 Kültéri hőmérséklet (külső fejléc) 0x02 Mindkét hőmérséklet (vessző A hőmérséklet a 2,5 voltos referencia és a Microchip TC1047A eltolás és lejtés alapján kerül kiszámításra. Más hőmérséklet -érzékelők eltérő tulajdonságokkal rendelkezhetnek. A TC1047A adatlapja itt érhető el: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdfA firmware MPLAB -ban van írva a bemutató PIC C18 fordítóval. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011A tényleges USB firmware -t a Microchip biztosítja. Az eredeti környezet itt érhető el: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631A firmware szerkesztéséhez: bontsa ki a forrás teljes könyvtárszerkezetét a gyökérkönyvtárába (c: / MCHPFSUSB). Ezután betöltheti a munkaterület -fájlt az MPLAB -ba.*A float to string rutin egy erőforrás -disznó. A csatlakozási probléma kiküszöbölése érdekében az USB szolgáltatási rutint a float2string rutin különböző pontjain hívják meg. Ezt legjobban úgy oldaná meg, ha megszakításon szervizeli az USB -perifériát. A feltörést azért használtam, hogy a firmware a lehető legközelebb maradjon a referencia verzióhoz.

3. lépés: Az eszköz tesztelése

A készülék tesztelése
A készülék tesztelése
A készülék tesztelése
A készülék tesztelése
A készülék tesztelése
A készülék tesztelése

Az utasítások az ablakokra vonatkoznak, de az eszköz csatlakoztatható bármihez, amely rendelkezik CDC soros port emulációs illesztőprogramokkal.

Programozza a készüléket a firmware segítségével. Minden konfigurációs bitet helyesen kell beállítani a firmware -ben. Csatlakoztassa az eszközt egy USB -porthoz. A Windows felismeri, és felszólítja az illesztőprogram kiválasztására. FELTÉTELEBB KATTINTSON A „BROWSE FOR CUSTOM DRIVER” gombra. Keresse meg a projekt archívumában található.inf fájl helyét (driver-win2k_winxp). A Windows ezt a fájlt fogja használni az eszköz telepítéséhez. *Megjegyzés a CDC illesztőprogramról - a CDC soros port emulációs illesztőprogramja a Windows része. A.inf fájl (a Microchip szolgáltatja) egyszerűen azt mondja a Windowsnak, hogy csatlakoztassa ezeket az illesztőprogramokat az eszközhöz. Az eszköz kiosztott COM-portjának kiderítéséhez tegye a következőket: Lépjen a vezérlőpultra (start-> beállítások-> vezérlőpult) Kattintson duplán a „rendszer” -re. Kattintson a „hardver” fülre. Kattintson az „Eszközkezelő” gombra. Kattintson a „+” gombra a portok mellett. Megjelenik a rendszer COM -portjainak listája. Láttam, hogy a készülék COM 3 és 4 néven jelenik meg, de ez rendszerenként változhat. Ha nem egyértelmű, hogy melyik port új, próbálja meg ezt: Húzza ki az eszközt az USB -portból. Az egyik port eltűnik. Ez az eszköz COM -portja #. Csatlakoztassa újra az eszközt, a port újra megjelenik. A kis VB alkalmazás (a forrás mellékelve) használható az eszköz tesztelésére. Írja be a küldeni kívánt parancsot, majd kattintson a „Start” gombra. A válasz megjelenik az ablakban.

4. lépés: Mire képes még?

Mire képes még?
Mire képes még?

Ez a bemutató tábla jó kiindulópont egy kis otthoni időjárás -állomáshoz: Adjon hozzá HIH3160 páratartalom -érzékelőt, vagy cserélje ki az analóg hőmérséklet -érzékelőt a Sensiron HT74 nagy pontosságú soros hőmérséklet- és páratartalom -érzékelőre. Adjon hozzá egy Freescale MPX (a) 4115 nyomásérzékelőt mérni a légköri nyomást. Szeretné ezeket az adatokat szinkronizálni a weben? Felveheti saját webhelyére, megtekintheti a Google Earth -ben, vagy frissítéseket kaphat RSS -nádjában? Tekintse meg ezt az útmutatót az eszköz integrálásához a syndicIT.com webes háttérrendszerhez:

Ajánlott: