Kazalo:

Notranji/zunanji termometer USB (ali "Moja prva naprava USB"): 4 koraki (s slikami)
Notranji/zunanji termometer USB (ali "Moja prva naprava USB"): 4 koraki (s slikami)

Video: Notranji/zunanji termometer USB (ali "Moja prva naprava USB"): 4 koraki (s slikami)

Video: Notranji/zunanji termometer USB (ali
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, November
Anonim
Notranji/zunanji termometer USB (ali "Moja prva naprava USB")
Notranji/zunanji termometer USB (ali "Moja prva naprava USB")

To je preprosta zasnova, ki prikazuje zunanje naprave USB na PIC 18F. Na spletu je veliko primerov 40 -polnih čipov 18F4550, ta zasnova prikazuje manjšo različico 28 -polnega 18F2550. PCB uporablja dele za površinsko montažo, vendar so vse komponente na voljo v različicah z luknjami. Uporabljam dele za površinsko montažo, ker je plošča hitrejša brez vrtanja lukenj. Končni rezultat je majhna zunanja naprava USB, ki meri notranje/zunanje temperature. Računalniku so podatki na voljo prek navideznih serijskih vrat. V tem primeru so uporabljeni temperaturni senzorji, lahko pa se dodajo še drugi analogni senzorji. PS Oglejte si graf podatkov v mojem zapisovalniku v živo tukaj: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = graf

1. korak: Pregled oblikovanja

Pregled oblikovanja
Pregled oblikovanja
Pregled oblikovanja
Pregled oblikovanja
Pregled oblikovanja
Pregled oblikovanja

Potrebne komponente PIC

Ta zunanja naprava USB temelji na 28 -polnem PIC 18F2550. Ta čip ima vse, kar je potrebno za polni vmesnik USB. 0,1uf kondenzator med napajanjem in maso loči PIC od napajanja. 20MHz kristal (uporablja se za ustvarjanje 48MHz notranje ure) in dva 27pf kondenzatorja. 10K upor od napajanja do zatiča MCLR. Med uporom in močjo sem dodal enakovredno diodo 1n4148, tako da 13+volti, ki so med programiranjem nameščeni na MCLR, ne poškodujejo drugih komponent na vezju. Glava ICSP (5 nožic) se uporablja za programiranje in odpravljanje napak v napravi. Potrebne stvari USB Vtičnica USB v ženskem slogu 'B'. Za notranji regulator napetosti USB potrebujete kapacitivnost 220nf-440nf. Brez težav uporabljam dva 0,1uf kondenzatorja (enako kot pri ločevanju). Za prikaz stanja povezave USB se uporablja LED z uporom, ki omejuje tok 330 ohmov. Potrebni senzorji Kot senzor notranje temperature sem uporabil temperaturni senzor mikročipa TC1047A. Fizično je spajkano na ploščo - zaradi tega deluje nekaj stopinj vroče od sobne temperature. Glava se uporablja za priključitev sonde za zunanjo temperaturo (različica TC1047a TO-92). Dodatni 0,1uf kondenzator pomaga ločiti dolg kabel od preostale plošče. Ravni napetosti USB niso dovolj skladne za natančno merjenje in izračun temperature iz analognih senzorjev. Uporablja se zunanja referenčna napetost (MCP1525, 2,5 volta). Referenčna napetost zahteva kondenzator na izhodu 1uf do 10uf. Brez tega kondenzatorja referenčna napetost ne bo delovala.

2. korak: Vdelana programska oprema

Vdelana programska oprema uporablja razred CDC USB za posnemanje serijskih vrat. Naprava se bo v računalniku prikazala kot navidezna vrata com. Vdelana programska oprema je razdeljena na tri dele: 1. Gonilnik USB skrbi za naštevanje naprave v računalniku in posnemanje vrat COM. 2. Servisna rutina izmenično bere vrednosti temperature in jih pretvarja v berljivo obliko. Izvajanje obeh teh operacij hkrati je povzročilo, da je naprava USB izgubila povezavo z računalnikom (časovno omejevanje). Pretvorba vrednosti plavajoče vejice v niz v servisnem ciklu po pretvorbi je odpravila težavo s povezljivostjo.* 3. Nazadnje glavna rutina prejme bajte, poslane iz računalnika, in vrne zahtevane meritve. Več ukrepov je ločenih z vejico, vrstice so zaključene z ničelnim znakom (šestnajstiško 0x00) Predstavitvena vdelana programska oprema sprejema naslednje ukaze: Vrednost šestnajstnika Vrne 0x00 Notranja temperatura (vgrajeno tipalo) 0x01 Zunanja temperatura (zunanja glava) 0x02 Obe temperaturi (vejica ločeno) Temperatura se izračuna na podlagi 2,5 -voltne reference in odmika in naklona Microchip TC1047A. Drugi temperaturni senzorji imajo lahko različne lastnosti. Podatkovni list TC1047A je na voljo tukaj: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdf Vdelana programska oprema je napisana v MPLAB z demonstracijskim prevajalnikom PIC C18. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Dejansko vdelano programsko opremo USB zagotavlja Microchip. Izvirno okolje je na voljo tukaj: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = sl021631 Če želite urediti vdelano programsko opremo: izvlecite celotno imeniško strukturo vira v svoj korenski imenik (c: / MCHPFSUSB). Nato lahko datoteko delovnega prostora naložite v MPLAB.*Podprogram float to string je svinjski vir. Če želite odpraviti težavo s povezljivostjo, se na različnih točkah rutine float2string pokliče servisna rutina USB. To bi bilo najbolje odpraviti tako, da ob prekinitvi servisirate zunanjo napravo USB. Uporabil sem kramp, tako da je vdelana programska oprema čim bližje referenčni različici.

3. korak: Preizkusite napravo

Testiranje naprave
Testiranje naprave
Testiranje naprave
Testiranje naprave
Testiranje naprave
Testiranje naprave

Navodila so za Windows, vendar je mogoče napravo priključiti na vse, kar ima gonilnike za emulacijo serijskih vrat CDC.

Napravo programirajte z vdelano programsko opremo. V konfiguraciji programske opreme je treba vse nastavitvene nastavitve pravilno nastaviti. Napravo priključite v vrata USB. Windows ga bo zaznal in vas pozval, da izberete gonilnik. OBVEZNO KLIKNITE »BREZAJ ZA POSODOBNEGA VOZNIKA«. Pomaknite se do lokacije datoteke.inf, ki je vključena v arhiv projekta (driver-win2k_winxp). Windows bo to datoteko uporabil za namestitev naprave. *Opomba o gonilniku CDC - gonilnik za emulacijo serijskih vrat CDC je vključen v sistem Windows. Datoteka.inf (ki jo ponuja Microchip) Windows preprosto pove, naj te gonilnike poveže z napravo. Če želite izvedeti, katera vrata COM je bila dodeljena napravi, naredite naslednje: Pojdite na nadzorno ploščo (start-> nastavitve-> nadzorna plošča) Dvokliknite »sistem« Kliknite zavihek »strojna oprema«. Kliknite 'upravitelj naprav' Kliknite '+' poleg vrat Prikazan je seznam vrat COM v sistemu. Videl sem, da se naprava prikazuje kot COM 3 in 4, vendar se razlikuje glede na sistem. Če ni jasno, katera vrata so nova, poskusite to: Izključite napravo iz vrat USB. Eno od vrat bo izginilo. To so vrata COM COM naprave. Napravo znova priključite, vrata se bodo znova prikazala. Majhno aplikacijo VB (vključen vir) lahko uporabite za testiranje naprave. Vnesite ukaz za pošiljanje, kliknite »Začni«. Odgovor bo prikazan v oknu.

4. korak: Kaj še lahko naredi?

Kaj še lahko naredi?
Kaj še lahko naredi?

Ta predstavitvena plošča je dobro izhodišče za majhno domačo vremensko postajo: dodajte senzor vlažnosti HIH3160 ali zamenjajte analogni temperaturni senzor z visoko natančnim senzorjem temperature in vlažnosti Sensiron HT74. izmerite barometrični tlak. Ali želite te podatke združiti s spletom? Ali ga vključite na svoje spletno mesto, si ga oglejte v Googlu Earth ali prejemate posodobitve v svojem RSS -ju? Oglejte si ta navodila za integracijo te naprave s spletnim zaledjem sindicIT.com:

Priporočena: