Obsah:

Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“): 4 kroky (s obrázkami)
Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“): 4 kroky (s obrázkami)

Video: Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“): 4 kroky (s obrázkami)

Video: Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“): 4 kroky (s obrázkami)
Video: COSTA SMERALDA 🛳 7-Night Mediterranean【4K Unsponsored Ship Tour & Cruise Review】Worth The Money?! 2024, Júl
Anonim
Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“)
Vnútorný/vonkajší teplomer USB (alebo „Moje prvé zariadenie USB“)

Toto je jednoduchý dizajn, ktorý predvádza periférne zariadenie USB na PIC 18F. Existuje veľa príkladov 40 -pinových čipov 18F4550 online. Tento dizajn ukazuje menšiu 28 -pinovú verziu 18F2550. DPS používa diely na povrchovú montáž, ale všetky komponenty sú k dispozícii vo verziách s otvorom. Používam diely na povrchovú montáž, pretože je rýchlejšie vyrábať dosku bez vŕtania otvorov. Konečným výsledkom je malá periféria USB, ktorá meria vnútorné/vonkajšie teploty. Údaje sú k počítaču dostupné prostredníctvom virtuálneho sériového portu. V tomto prípade sú použité teplotné snímače, ale je možné pridať aj ďalšie analógové snímače. PS Pozrite si živý graf údajov z môjho záznamníka tu: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = graf

Krok 1: Prehľad dizajnu

Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu

Požadované komponenty PIC

Táto periféria USB je založená na 28 -pinovom PIC 18F2550. Tento čip má všetko potrebné pre vysokorýchlostné rozhranie USB. Kondenzátor 0,1 ufa medzi energiou a zemou oddeľuje PIC od zdroja napájania. Kryštál 20 MHz (používa sa na generovanie vnútorných hodín 48 MHz) a dva kondenzátory 27 pf. Rezistor 10K od napájania po kolík MCLR. Medzi odpor a výkon som pridal ekvivalentnú diódu 1n4148, aby 13+voltov umiestnených na MCLR počas programovania nepoškodilo ostatné komponenty na doske s plošnými spojmi. Na programovanie a ladenie zariadenia sa používa hlavička ICSP (5 pinov). Požadované položky USB A zásuvka USB typu B, ženská. Na interný regulátor napätia USB je potrebná kapacita 220nf-440nf. Bez problémov používam dva kondenzátory 0,1uf (rovnaké ako používané na oddelenie). Na zobrazenie stavu pripojenia USB sa používa LED dióda s odporom obmedzujúcim prúd 330 ohmov. Požadované veci zo senzora Ako snímač teploty v miestnosti som použil teplotný snímač mikročipu TC1047A. Je fyzicky spájkovaný s doskou - to spôsobuje, že beží o niekoľko stupňov teplejšie ako izbová teplota. Na pripojenie sondy vonkajšej teploty (verzia TO-92 TC1047a) sa používa konektor. Ďalší kondenzátor 0,1 ufa pomáha oddeliť dlhý drôt vedený od zvyšku dosky. Úrovne napätia USB nie sú dostatočne konzistentné na presné meranie a výpočet teploty z analógových senzorov. Používa sa externá referenčná hodnota napätia (MCP1525, 2,5voltu). Referencia napätia vyžaduje kondenzátor na výstupe 1uf až 10uf. Bez tohto kondenzátora nebude referencia napätia fungovať.

Krok 2: Firmvér

Firmvér používa na emuláciu sériového portu triedu USB CDC. Zariadenie sa na počítači zobrazí ako virtuálny port. Firmvér je rozdelený do troch sekcií: 1. Ovládač USB sa postará o vyčíslenie zariadenia v počítači a emuláciu portu COM. 2. Servisná rutina striedavo číta hodnoty teploty a prevádza ich do čitateľného formátu. Vykonanie oboch týchto operácií naraz spôsobilo, že zariadenie USB stratilo spojenie s počítačom (oneskorenie). Konvertovaním hodnôt s pohyblivou rádovou čiarkou na reťazec v servisnom cykle po konverzii sa odstránil problém s pripojením.* 3. Nakoniec hlavná rutina prijíma bajty odoslané z počítača a vracia požadované merania. Viacnásobné miery sú oddelené čiarkou, riadky sú zakončené nulovým znakom (hexadecimálne 0x00) Demonštračný firmvér akceptuje nasledujúce príkazy: Šesťhranná hodnota Návraty0x00 Vnútorná teplota (palubný snímač) 0x01 Vonkajšia teplota (externá hlavička) 0x02 Obe teploty (čiarka oddelene) Teplota sa vypočíta na základe 2,5 -voltovej referencie a posunu a sklonu Microchip TC1047A. Ostatné snímače teploty môžu mať odlišné vlastnosti. Dátový list TC1047A je k dispozícii tu: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdf Firmvér je napísaný v MPLAB s ukážkovým kompilátorom PIC C18. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Skutočný firmvér USB poskytuje spoločnosť Microchip. Pôvodné prostredie je k dispozícii tu: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631 Ak chcete upraviť firmvér: rozbaľte celú adresárovú štruktúru zdroja do koreňového adresára (c: / MCHPFSUSB). Potom môžete načítať súbor pracovného priestoru do MPLAB.*Rutina float to string je prasa zdrojov. Na vyriešenie problému s pripojením sa v rôznych bodoch rutiny float2string volá servisná rutina USB. To je najlepšie opraviť servisom periférie USB počas prerušenia. Použil som hack, aby firmvér zostal čo najbližšie k referenčnej verzii.

Krok 3: Testovanie zariadenia

Testovanie zariadenia
Testovanie zariadenia
Testovanie zariadenia
Testovanie zariadenia
Testovanie zariadenia
Testovanie zariadenia

Pokyny sú pre Windows, ale zariadenie je možné pripojiť k čomukoľvek, čo má ovládače emulácie sériového portu CDC.

Naprogramujte zariadenie pomocou firmvéru. Všetky konfiguračné bity by mali byť vo firmvéri správne nastavené. Pripojte zariadenie k portu USB. Systém Windows to zistí a vyzve vás, aby ste vybrali ovládač. URČITE KLIKNITE „PREHĽADAŤ VLASTNÉHO VODIČA“. Prejdite na umiestnenie súboru.inf, ktorý je súčasťou archívu projektu (driver-win2k_winxp). Systém Windows použije tento súbor na inštaláciu zariadenia. *Poznámka k ovládaču CDC - ovládač emulácie sériového portu CDC je súčasťou systému Windows. Súbor.inf (poskytovaný spoločnosťou Microchip) jednoducho systému Windows povie, aby tieto ovládače pripojil k zariadeniu. Ak chcete zistiť, akému portu COM bolo zariadenie priradené, postupujte takto: Prejdite na ovládací panel (štart-> nastavenia-> ovládací panel) Dvakrát kliknite na položku „systém“Kliknite na kartu „Hardvér“. Kliknite na „správca zariadení“Kliknite na „+“vedľa portov Zobrazí sa zoznam portov COM v systéme. Videl som, že sa zariadenie zobrazuje ako COM 3 a 4, ale bude sa líšiť v závislosti od systému. Ak nie je zrejmé, ktorý port je nový, vyskúšajte toto: Odpojte zariadenie z portu USB. Jeden z portov zmizne. Toto je COM port zariadenia #. Pripojte zariadenie späť, port sa znova objaví. Na testovanie zariadenia je možné použiť malú aplikáciu VB (vrátane zdroja). Zadajte príkaz na odoslanie, kliknite na „Štart“. Odpoveď sa zobrazí v okne.

Krok 4: Čo iné môže urobiť?

Čo iného môže urobiť?
Čo iného môže urobiť?

Táto ukážková doska je dobrým východiskovým bodom pre malú domácu meteorologickú stanicu: Pridajte snímač vlhkosti HIH3160 alebo nahraďte analógový snímač teploty vysoko presným sériovým snímačom teploty a vlhkosti Sensiron HT74. Pridajte snímač tlaku Freescale MPX (a) 4115 do zmerajte barometrický tlak. Chcete tieto údaje publikovať na webe? Chcete ho zahrnúť na svoj vlastný web, zobraziť ho v aplikácii Google Earth alebo získať aktualizácie vo svojom trstine RSS? Pozrite si tento návod na integráciu tohto zariadenia s webovým serverom syndicIT.com:

Odporúča: