Sisukord:
Video: USB sise-/välistermomeeter (või „Minu esimene USB -seade”): 4 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
See on lihtne disain, mis näitab PIC 18F -de USB -välisseadet. Internetis on palju näiteid 18F4550 40 -pin kiipide kohta, see disain näitab väiksemat 18F2550 28 -pin versiooni. PCB kasutab pinnale paigaldatavaid osi, kuid kõik komponendid on saadaval läbi aukude versioonide. Ma kasutan pinnale paigaldatavaid osi, sest tahvlit saab kiiremini teha ilma auke puurimata. Lõpptulemuseks on väike USB -välisseade, mis mõõdab sise- ja välistemperatuuri. Andmed on arvutile kättesaadavad virtuaalse jadapordi kaudu. Näites kasutatakse temperatuuriandureid, kuid saab lisada ka teisi analoogandureid. PSVaadake minu logija andmete reaalajas graafikut siit: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = graafik
Samm: disaini ülevaade
Nõutavad PIC -komponendid
See USB -välisseade põhineb 28 -kontaktilisel PIC 18F2550. Sellel kiibil on kõik, mis on vajalik täiskiirusega USB -liidese jaoks. 0.1uf kondensaator toite ja maa vahel lahutab PIC toiteallikast. 20MHz kristall (kasutatakse 48MHz sisemise kella genereerimiseks) ja kaks 27pf kondensaatorit. 10K takisti toiteallikast MCLR -i tihvtini. Lisasin takisti ja toite vahele 1n4148 ekvivalentse dioodi, nii et programmeerimise ajal MCLR -ile pandud 13+volti ei kahjustaks teisi trükkplaadi komponente. Seadme programmeerimiseks ja silumiseks kasutatakse ICSP päist (5 kontakti). Vajalik USB -kraam A USB -tüüpi B -pesa. Sisemise USB pingeregulaatori jaoks on vaja mahtuvust 220nf-440nf. Kasutan ilma probleemideta kahte 0.1uf kondensaatorit (sama, mida lahtiühendamisel). USB -ühenduse oleku kuvamiseks kasutatakse 330 oomi voolu piirava takistiga LED -i. Vajalik anduri värk Kasutasin sisetemperatuuri andurina mikrokiibi TC1047A temperatuuriandurit. See on plaadile füüsiliselt joodetud - see paneb selle töötama toatemperatuurist mõne kraadi võrra kuumemana. Välistemperatuuri anduri (TC1047a versioon TO-92) ühendamiseks kasutatakse päist. Täiendav 0.1uf kondensaator aitab lahti ühendada pika juhtme ülejäänud plaadist. USB pingetase ei ole piisavalt ühtlane, et analooganduritest temperatuuri täpselt mõõta ja arvutada. Kasutatakse välist pingeallikat (MCP1525, 2,5 volti). Pinge viide nõuab kondensaatorit väljundis 1uf kuni 10uf. Ilma selle kondensaatorita pingeviide ei tööta.
Samm: püsivara
Püsivara kasutab jadapordi jäljendamiseks CDC USB -klassi. Seade kuvatakse arvutis virtuaalse com -pordina. Püsivara on jagatud kolmeks osaks: 1. USB -draiver hoolitseb seadme loendamise eest arvutis ja COM -pordi jäljendamise. 2. Teenindusrutiin loeb vaheldumisi temperatuuriväärtusi ja teisendab need loetavasse vormingusse. Mõlema toimingu tegemine korraga põhjustas USB -seadme ühenduse katkemise arvutiga (ajahäire). Ujukoma väärtuste teisendamine konversioonile järgnevas teenindustsüklis stringiks kõrvaldas ühenduvusprobleemi.* 3. Lõpuks võtab põhirutiin vastu arvutist saadetud baite ja tagastab nõutud mõõtmised. Mitu mõõdet eraldatakse komaga, read lõpetatakse nullmärgiga (kuuskant 0x00) Demonstratsiooniprogramm aktsepteerib järgmisi käske: Hex väärtus Tagastab 0x00 Sisetemperatuur (pardasensor) 0x01 Välistemperatuur (väline päis) 0x02 Mõlemad temperatuurid (koma Temperatuur arvutatakse 2,5 -voldise baasväärtuse ning mikrokiibi TC1047A nihe ja kalle alusel. Teistel temperatuurianduritel võivad olla erinevad omadused. TC1047A andmeleht on saadaval siin: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdfPüsivara on kirjutatud MPLAB -is koos demonstratsioon PIC C18 kompilaatoriga. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011Tegeliku USB püsivara pakub Microchip. Algne keskkond on saadaval siin: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631Püsivara redigeerimiseks: tõmmake allika kogu kataloogistruktuur oma juurkataloogi (c: / MCHPFSUSB). Seejärel saate laadida tööruumi faili MPLAB -i. Ühendusprobleemi lahendamiseks kutsutakse USB -teenuse rutiin float2string rutiini erinevates punktides. Selle parandaks kõige paremini USB -välisseadme hooldus katkestuse korral. Kasutasin häkkimist nii, et püsivara jäi võrdlusversioonile võimalikult lähedale.
Samm: seadme testimine
Juhised on mõeldud akendele, kuid seadme saab ühendada kõigega, millel on CDC jadapordi emuleerimise draiverid.
Programmeerige seade püsivara abil. Kõik konfiguratsioonibitid tuleb püsivaras õigesti seadistada. Ühendage seade USB -porti. Windows tuvastab selle ja palub teil draiveri valida. KINDLASTI KLÕPSA „TELLI JUHTI LEHE”. Liikuge projekti arhiiviga kaasatud.inf-faili asukohta (driver-win2k_winxp). Windows kasutab seda faili seadme installimiseks. *Märkus CDC draiveri kohta - CDC jadapordi emuleerimise draiver on Windowsiga kaasas.. Inf -fail (pakub Microchip) lihtsalt käsib Windowsil need draiverid seadmega ühendada. Seadmele määratud COM-pordi väljaselgitamiseks tehke järgmist. Minge juhtpaneelile (start-> seadistused-> juhtpaneel) Topeltklõpsake nuppu „süsteem” Klõpsake vahekaarti „riistvara”. Klõpsake „seadmehaldur” Klõpsake pordide kõrval olevat „+”. Kuvatakse süsteemi COM -portide loend. Olen näinud, et seade kuvatakse COM 3 ja 4 kujul, kuid see sõltub süsteemist. Kui pole selge, milline port on uus, proovige seda: Ühendage seade USB -pordist lahti. Üks sadamatest kaob. See on seadme COM -port #. Ühendage seade uuesti, port kuvatakse uuesti. Seadme testimiseks saab kasutada väikest VB -rakendust (allikas kaasas). Sisestage saatmiseks käsk, klõpsake nuppu Start. Vastus kuvatakse aknas.
Samm: mida see veel saab teha?
See näidislaud on hea lähtepunkt väikesele kodusele ilmajaamale: lisage HIH3160 niiskusandur või asendage analoog temperatuuriandur Sensiron HT74 ülitäpse jada- ja niiskusanduriga. Lisage Freescale MPX (a) 4115 rõhuandur mõõta õhurõhku. Kas soovite neid andmeid veebis levitada? Kas lisada see oma veebisaidile, vaadata seda Google Earthis või saada värskendusi oma RSS -pilliroost? Vaadake seda juhendit selle seadme integreerimisel syndicIT.com veebitaustaga:
Soovitan:
Minu esimene süntees: 29 sammu (piltidega)
Minu esimene süntesaator: Lapse süntesaator tekkis, kui ma istusin küürus süntesaatorijuhtmete sassis. Mu sõber Oliver tuli kohale, hindas olukorda ja ütles: "Teate, et teil on õnnestunud teha maailma kõige keerulisem laste mänguasi." Kuigi minu esialgne r
Minu esimene Java -rakendus: 6 sammu
Minu esimene Java -rakendus: kas soovite jätkuvalt oma Java -rakendust luua, kuid viivitate selle millegipärast edasi? Kas sa kuuled ennast ütlemas: "Homme lõpuks teen seda"? Aga seda homme ei tule kunagi. Niisiis, peate alustama kohe. Nüüd on aeg hankida oma han
Minu esimene sulgede tiib: analoog-digitaalmuundur: 5 sammu
Minu esimene sulgede tiib: analoog-digitaalmuundur: Tere, mu kaastegijad! Tänane juhend on midagi tõeliselt erilist. See seade on MINU ESIMENE SULEVÕRG - järgides Adafruit'i vormi. See on ka minu ESIMENE PINNALE PAIGALDATUD PCB! Minu kõige silmatorkavam selle kilbi kasutamine on seadmes, mida ma hullutasin
Lahe USB-draivi muutmine (minu esimene juhendatav): 4 sammu
Lahe USB-draivi modifikatsioon (minu esimene juhendatav): see on lahe modifikatsioon, kasutades kaardipakki, natuke vahtu ja loomulikult USB-draivi. Kuigi see on natuke mahukas, arvavad teie eakaaslased, et see on päris lahe
Minu klaviatuur Minu käed: 8 sammu (piltidega)
Minu klaviatuur Minu käed: kasutasin uhiuut Epilogi laserlõikurit, mille Instructables hiljuti jõudis laseriga oma käte kujutise sülearvuti klaviatuurile söövitada … jäädavalt. Nüüd kaotab see garantii DIY stiilis! Olen laseriga söövitanud rohkem sülearvuteid kui enamik, sest ma aitan