Mundarija:

USB ichki va tashqi termometr (yoki "Mening birinchi USB qurilmam"): 4 qadam (rasmlar bilan)
USB ichki va tashqi termometr (yoki "Mening birinchi USB qurilmam"): 4 qadam (rasmlar bilan)

Video: USB ichki va tashqi termometr (yoki "Mening birinchi USB qurilmam"): 4 qadam (rasmlar bilan)

Video: USB ichki va tashqi termometr (yoki
Video: Dugonalarim shokda 😂🤯 2024, Noyabr
Anonim
USB ichki va tashqi termometr (yoki "Mening birinchi USB qurilmam")
USB ichki va tashqi termometr (yoki "Mening birinchi USB qurilmam")

Bu PIC 18F -larda USB tashqi qurilmasini ko'rsatadigan oddiy dizayn. 18F4550 40 pinli chiplar uchun bir nechta misollar mavjud, bu dizayn 18F2550 28 pinli kichikroq versiyani namoyish etadi. PCB sirtdan o'rnatish qismlarini ishlatadi, lekin barcha komponentlar teshikli versiyalarda mavjud. Men sirtni o'rnatish qismlarini ishlataman, chunki teshikni burg'ulashsiz taxtani tezroq qilish mumkin. Yakuniy natija - bu ichki/tashqi haroratni o'lchaydigan kichik USB atrof -muhit qurilmasi. Ma'lumotlar kompyuterga virtual ketma -ket port orqali beriladi. Masalan, harorat sensorlaridan foydalaniladi, lekin boshqa analog sensorlar qo'shilishi mumkin. PSS loggerim ma'lumotlarining jonli grafikini bu erda ko'ring: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = grafik

1 -qadam: Dizaynga umumiy nuqtai

Dizaynga umumiy nuqtai
Dizaynga umumiy nuqtai
Dizaynga umumiy nuqtai
Dizaynga umumiy nuqtai
Dizaynga umumiy nuqtai
Dizaynga umumiy nuqtai

Kerakli PIC komponentlari

Bu USB tashqi qurilmasi 28 pinli PIC 18F2550 ga asoslangan. Bu chipda USB interfeysi to'liq ishlashi uchun kerak bo'lgan hamma narsa bor. Quvvat va tuproq orasidagi 0,1uf kondansatör PICni quvvat manbaidan ajratadi. 20 MGts kristalli (48 MGts ichki soat ishlab chiqarish uchun ishlatiladi) va ikkita 27pf kondansatör. Quvvatdan MCLR pinigacha bo'lgan 10K qarshilik. Men qarshilik va quvvat o'rtasida 1n4148 ekvivalent diod qo'shdim, shunda dasturlash paytida MCLR -ga qo'yilgan 13+volt elektron kartadagi boshqa komponentlarga zarar etkazmaydi. ICSP sarlavhasi (5 pinli) qurilmani dasturlash va disk raskadrovka qilish uchun ishlatiladi. Kerakli USB moslamalari "B" uslubidagi USB ayol uyasi. Ichki USB kuchlanish regulyatori uchun 220nf-440nf sig'im talab qilinadi. Men muammosiz ikkita 0.1uf kondansatkichidan foydalanaman (ajratish uchun ishlatilganidek). USB ulanish holatini ko'rsatish uchun 330 ohm oqim cheklovli rezistorli LED ishlatiladi. Sensor uchun zarur bo'lgan narsalar Men mikrochip TC1047A harorat sensori ichki harorat sensori sifatida ishlatardim. U jismonan taxtaga lehimli - bu uning xona haroratidan bir necha daraja issiqroq ishlashiga olib keladi. Sarlavha tashqi harorat o'lchagichini ulash uchun ishlatiladi (TC1047a TO-92 versiyasi). Qo'shimcha 0.1uf kondansatör, taxtaning qolgan qismidan uzun simni ajratishga yordam beradi. USB kuchlanish darajasi analog sensorlardan haroratni to'g'ri o'lchash va hisoblash uchun etarli darajada mos kelmaydi. Tashqi kuchlanish moslamasi (MCP1525, 2,5 volt) ishlatiladi. Kuchlanish moslamasi 1uf dan 10ufgacha bo'lgan kondansatkichni talab qiladi. Bu kondansatör bo'lmasa, kuchlanish mos yozuvlari ishlamaydi.

2 -qadam: dasturiy ta'minot

Dasturiy ta'minot ketma -ket portni taqlid qilish uchun CDC USB sinfidan foydalanadi. Qurilma shaxsiy kompyuterda virtual port sifatida namoyon bo'ladi. Dasturiy ta'minot uchta bo'limga bo'lingan: 1. USB drayveri qurilmani kompyuterda sanash va COM portini taqlid qilish bilan shug'ullanadi. 2. Xizmat ko'rsatish tartibi navbatma -navbat harorat qiymatlarini o'qiydi va ularni o'qiladigan formatga o'tkazadi. Bu ikkala operatsiyani birdaniga bajarish USB qurilmasining kompyuter bilan aloqasini uzishiga olib keldi (vaqt hogging). Konvertatsiyadan so'ng xizmat ko'rsatish davridagi suzuvchi nuqta qiymatlarini konvertatsiya qilish ulanish muammosini hal qildi. Ko'p o'lchovlar vergul bilan ajratilgan, chiziqlar nol belgi bilan tugatilgan (olti burchakli 0x00) Namoyish dasturiy ta'minoti quyidagi buyruqlarni qabul qiladi: olti burchakli Qaytish 0x00 Ichki harorat (bort sensori) 0x01 Tashqi harorat (tashqi sarlavha) 0x02 Ikkala harorat (vergul) ajratilgan) Harorat 2,5 voltli mos yozuvlar va Microchip TC1047A ofset va qiyalik asosida hisoblab chiqiladi. Boshqa harorat sensori har xil xususiyatlarga ega bo'lishi mumkin. TC1047A ma'lumotlar jadvali bu erda mavjud: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdf Dasturiy ta'minot MPLAB -da PIC C18 namoyish kompilyatori bilan yozilgan. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Haqiqiy USB dasturiy ta'minoti Microchip tomonidan ta'minlangan. Dastlabki muhit bu erda mavjud: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631 Proshivka dasturini tahrir qilish uchun: manba katalogining butun tuzilishini ildiz katalogingizga chiqarib oling (c: / MCHPFSUSB). MPLAB -da ish maydoni faylini yuklashingiz mumkin. Ulanish muammosini hal qilish uchun, float2string dasturining turli nuqtalarida USB xizmat ko'rsatish tartibi chaqiriladi. Buni USB periferiyasiga uzilish vaqtida xizmat ko'rsatish orqali hal qilish mumkin. Men dasturni iloji boricha mos yozuvlar versiyasiga yaqinlashishi uchun hackdan foydalandim.

3 -qadam: qurilmani sinovdan o'tkazish

Qurilmani sinovdan o'tkazish
Qurilmani sinovdan o'tkazish
Qurilmani sinovdan o'tkazish
Qurilmani sinovdan o'tkazish
Qurilmani sinovdan o'tkazish
Qurilmani sinovdan o'tkazish

Ko'rsatmalar derazalarga mo'ljallangan, lekin qurilma CDC ketma -ket port emulyatsiyasi drayverlari bo'lgan har qanday narsaga ulanishi mumkin.

Qurilmani dasturiy ta'minot bilan dasturlash. Barcha konfiguratsiya bitlari proshivka dasturida to'g'ri o'rnatilgan bo'lishi kerak. Qurilmani USB portiga ulang. Windows buni aniqlaydi va haydovchini tanlashingizni so'raydi. BOSHQA "MOSHINA HAYOTKORLARNI KO'RISH" tugmasini bosing. Loyiha arxiviga kiritilgan.inf faylining joylashgan joyiga o'ting (driver-win2k_winxp). Windows bu faylni qurilmani o'rnatish uchun ishlatadi. *CDC drayveri haqida eslatma - CDC ketma -ket port emulyatsiyasi drayveri Windows -ga kiritilgan.. Inf fayli (Microchip tomonidan taqdim etilgan) Windows -ga ushbu drayverlarni qurilmaga ulashini aytadi. Qurilmaga qanday MAQOMOTI porti berilganligini bilish uchun quyidagilarni bajaring: Boshqarish paneliga o'ting (ishga tushirish-> Sozlamalar-> Boshqarish paneli) "Tizim" ni ikki marta bosing "Uskuna" yorlig'ini bosing. "Qurilma menejeri" ni bosing Portlar yonidagi "+" ni bosing Tizimdagi COM portlari ro'yxati ko'rsatiladi. Men ko'rdimki, qurilma COM 3 va 4 bo'lib ko'rinadi, lekin u tizimga qarab farq qiladi. Agar qaysi port yangi ekanligi aniq bo'lmasa, buni sinab ko'ring: qurilmani USB portidan uzing. Portlardan biri yo'qoladi. Bu qurilmaning COM porti #. Qurilmani qayta ulang, port yana paydo bo'ladi. Qurilmani sinab ko'rish uchun kichik VB ilovasi (manba kiritilgan) ishlatilishi mumkin. Yuborish buyrug'ini kiriting, "Ishga tushirish" tugmasini bosing. Javob oynada ko'rsatiladi.

4 -qadam: Boshqa nima qila oladi?

Boshqa nima qila oladi?
Boshqa nima qila oladi?

Kichik uy ob -havo stantsiyasi uchun bu ko'rsatuv paneli yaxshi boshlanish nuqtasi: HIH3160 namlik sensori qo'shing yoki analog harorat sensori Sensiron HT74 yuqori aniqlikdagi ketma -ket harorat va namlik sensori bilan almashtiring. Freescale MPX (a) 4115 bosim sensori Barometrik bosimni o'lchash. Ushbu ma'lumotlarni tarmoqqa birlashtirmoqchimisiz? Uni o'z veb -saytingizga qo'shasizmi, uni google Earthda ko'rasizmi yoki RSS qamishingizda yangiliklarni olasizmi? Ushbu qurilmani syndicIT.com veb -orqa qismi bilan birlashtirish bo'yicha ko'rsatmalarni ko'ring:

Tavsiya: