Sadržaj:
- Korak 1: Pregled dizajna
- Korak 2: Firmware
- Korak 3: Testiranje uređaja
- Korak 4: Što još može učiniti?
Video: USB unutarnji/vanjski termometar (ili "Moj prvi USB uređaj"): 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ovo je jednostavan dizajn koji demonstrira USB periferiju na PIC 18F. Na internetu postoji gomila primjera za čipove od 40 pinova 18F4550, ovaj dizajn prikazuje manju verziju od 18 pinova 18F2550. PCB koristi dijelove za površinsko montiranje, ali sve su komponente dostupne u verzijama s otvorima. Koristim dijelove za površinsko montiranje jer je brže napraviti ploču bez bušenja rupa. Krajnji rezultat je mala USB periferija koja mjeri unutarnju/vanjsku temperaturu. Podaci su dostupni računalu putem virtualnog serijskog porta. U primjeru se koriste temperaturni senzori, ali se mogu dodati i drugi analogni senzori. PSVidi grafikon podataka uživo iz mog zapisnika ovdje: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = graf
Korak 1: Pregled dizajna
Potrebne PIC komponente
Ovaj periferni USB uređaj temelji se na 28 -polnom PIC 18F2550. Ovaj čip ima sve potrebno za USB sučelje pune brzine. Kondenzator od 0,1 uf između napajanja i mase odvaja PIC od napajanja. Kristal od 20 MHz (koristi se za generiranje unutarnjeg takta od 48 MHz) i dva kondenzatora od 27 pf. 10K otpornik od napajanja do MCLR pina. Dodao sam 1n4148 ekvivalentnu diodu između otpornika i napajanja tako da 13+volti postavljeni na MCLR tijekom programiranja ne oštete druge komponente na ploči. Za programiranje i ispravljanje pogrešaka na uređaju koristi se ICSP zaglavlje (5 pinova). Potrebne USB stvari USB ženska utičnica u stilu „B“. Za unutarnji USB regulator napona potrebno je 220nf-440nf kapacitivnosti. Koristim dva 0,1uf kondenzatora (isto kao i za odvajanje) bez problema. LED s otpornikom za ograničavanje struje od 330 ohma koristi se za prikaz statusa USB veze. Potrebne stavke senzora Koristio sam senzor temperature mikročipa TC1047A kao osjetnik unutarnje temperature. Fizički je lemljen na ploču - zbog toga radi nekoliko stupnjeva toplije od sobne temperature. Zaglavlje se koristi za povezivanje sonde za vanjsku temperaturu (TO-92 verzija TC1047a). Dodatni 0,1uf kondenzator pomaže odvojiti dugačku žicu od ostatka ploče. Razine USB napona nisu dovoljno konzistentne za točno mjerenje i izračunavanje temperature iz analognih senzora. Koristi se referenca vanjskog napona (MCP1525, 2,5 volti). Referenca napona zahtijeva kondenzator na izlazu od 1uf do 10uf. Bez ovog kondenzatora referentni napon neće raditi.
Korak 2: Firmware
Firmver koristi CDC USB klasu za emulaciju serijskog porta. Uređaj će se prikazati kao virtualni com port na računalu. Firmver je podijeljen u tri odjeljka: 1. USB upravljački program brine se o nabrajanju uređaja na računalu i emulaciji COM priključka. 2. Servisna rutina naizmjence čita vrijednosti temperature i pretvara ih u čitljiv format. Izvođenje obje ove radnje odjednom uzrokovalo je da USB uređaj prekine vezu s računalom (vremensko ograničenje). Pretvaranjem vrijednosti s pomičnim zarezom u niz u servisnom ciklusu nakon pretvorbe riješen je problem povezivanja.* 3. Konačno, glavna rutina prima bajtove poslane s računala i vraća tražena mjerenja. Više mjera odvojeno je zarezom, retci su završeni null znakom (hex 0x00) Demonstracioni firmver prihvaća sljedeće naredbe: Hex vrijednost Vraća0x00 Unutrašnja temperatura (senzor na ploči) 0x01 Vanjska temperatura (vanjsko zaglavlje) 0x02 Obje temperature (zarez odvojeno) Temperatura se izračunava na temelju 2,5 voltne reference i pomaka i nagiba Microchip TC1047A. Ostali temperaturni senzori mogu imati različite karakteristike. Tehnički list TC1047A dostupan je ovdje: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdfFirmware je napisan u MPLAB -u s demonstracijskim PIC C18 kompajlerom. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011Stvarni firmver za USB pruža Microchip. Izvorno okruženje dostupno je ovdje: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = hr021631 Za uređivanje firmvera: izdvojite cijelu strukturu direktorija izvora u vaš korijenski direktorij (c: / MCHPFSUSB). Zatim možete učitati datoteku radnog prostora u MPLAB.*Rutina float to string je svinja. Da biste zaobišli problem povezivanja, rutina USB usluge poziva se na različitim točkama rutine float2string. To bi se najbolje riješilo servisiranjem USB periferije na prekidu. Koristio sam hack kako bi firmware ostao što bliže referentnoj verziji.
Korak 3: Testiranje uređaja
Upute su za Windows, ali uređaj se može spojiti na sve što ima upravljačke programe za emulaciju serijskog porta CDC -a.
Programirajte uređaj pomoću firmvera. Svi konfiguracijski bitovi trebaju biti ispravno postavljeni u firmveru. Priključite uređaj u USB priključak. Windows će to otkriti i od vas tražiti da odaberete upravljački program. OBVEZNO KLIKNITE ‘PREGLEDAJTE ZA PRILAGOĐENOG VOZAČA’. Dođite do lokacije.inf datoteke uključene u arhivu projekta (driver-win2k_winxp). Windows će koristiti ovu datoteku za instaliranje uređaja. *Napomena o CDC upravljačkom programu - pogonski program za emulaciju serijskog porta CDC uključen je u sustav Windows. Datoteka.inf (koju pruža Microchip) jednostavno govori sustavu Windows da poveže te upravljačke programe s uređajem. Da biste saznali koji COM port je uređaju dodijeljen, učinite sljedeće: Idite na upravljačku ploču (start-> postavke-> upravljačka ploča) Dvaput kliknite "sustav" Kliknite karticu "hardver". Kliknite ‘upravitelj uređaja’ Pritisnite ‘+’ pored portova Prikazan je popis COM portova u sustavu. Vidio sam da se uređaj prikazuje kao COM 3 i 4, ali će se razlikovati ovisno o sustavu. Ako nije očito koji je novi port, pokušajte sljedeće: Isključite uređaj iz USB priključka. Jedan od portova će nestati. Ovo je COM port uređaja #. Ponovo uključite uređaj, port će se ponovno pojaviti. Mala VB aplikacija (izvor uključen) može se koristiti za testiranje uređaja. Unesite naredbu za slanje, kliknite "Start". Odgovor će biti prikazan u prozoru.
Korak 4: Što još može učiniti?
Ova demonstracijska ploča dobro je polazište za malu kućnu meteorološku stanicu: Dodajte HIH3160 osjetnik vlage ili zamijenite analogni temperaturni osjetnik senzibilnom serijskom osjetnicom temperature i vlažnosti Sensiron HT74. Dodajte Freescale MPX (a) 4115 osjetnik tlaka u izmjeriti barometarski tlak. Želite li ove podatke prenijeti na web? Želite li ga uključiti u svoju web stranicu, pregledati na Google Earthu ili primati ažuriranja u svoj RSS trska? Pogledajte ove upute za integraciju ovog uređaja sa web -stranicom syndicIT.com:
Preporučeni:
Moj prvi sintetizator: 29 koraka (sa slikama)
Moj prvi sintetizator: dječji sintetizator nastao je dok sam sjedio pogrbljen nad zamršenim neredom žica sintisajzera. Došao je moj prijatelj Oliver, procijenio situaciju i rekao: "Znate da ste uspjeli napraviti najsloženiju dječju igračku na svijetu." Dok je moj početni r
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: 8 koraka (sa slikama)
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: Mjerenje tjelesne temperature beskontaktnim / beskontaktnim poput termo pištolja. Napravio sam ovaj projekt jer je Thermo Gun sada jako skup, pa moram pronaći alternativu za izradu DIY -a. A svrha je napraviti s niskobudžetnom verzijom.SuppliesMLX90614Ardu
Moj IoT uređaj - prvi relej: 5 koraka
Moj IoT uređaj - prvi relej: U ovom uputstvu ćemo kontrolirati relej iz Blynka. Uključivanje i isključivanje iz aplikacije.UPOZORI !!!! Molimo vas da znate što radite ako namjeravate spojiti relej na električnu mrežu !!! PAŽNJA
Moj prvi IoT uređaj: 14 koraka
Moj prvi IoT uređaj: U ovom Instructableu ćemo naučiti kako instalirati Arduino IDE za moj prvi IoT uređaj kako bismo na kraju na njemu mogli pokrenuti arduino kôd i upravljati njime s vašeg mobilnog telefona
Kako koristiti unutarnji čitač memorijskih kartica PS3 kao USB uređaj na računalu: 6 koraka
Kako koristiti unutarnji čitač memorijskih kartica PS3 kao USB uređaj na vašem računalu: Prije svega, ovo je moj prvi Instructable (yippie!), Siguran sam da će biti još mnogo toga. Dakle, imao sam pokvaren PS3 i htio iskoristite neke radne komponente. Prvo što sam učinio je izvući podatkovni list za čip pretvarača na PS3 kartici