Агуулгын хүснэгт:

USB дотор/гадна термометр (эсвэл "Миний анхны USB төхөөрөмж"): 4 алхам (зурагтай)
USB дотор/гадна термометр (эсвэл "Миний анхны USB төхөөрөмж"): 4 алхам (зурагтай)

Видео: USB дотор/гадна термометр (эсвэл "Миний анхны USB төхөөрөмж"): 4 алхам (зурагтай)

Видео: USB дотор/гадна термометр (эсвэл
Видео: ВЕСЬ МИР В ЛАДОНИ??? Радиоприёмник RETEKESS TR110 полный обзор 2024, Арваннэгдүгээр
Anonim
USB дотор ба гадна термометр (эсвэл "Миний анхны USB төхөөрөмж")
USB дотор ба гадна термометр (эсвэл "Миний анхны USB төхөөрөмж")

Энэ бол PIC 18Fs дээр USB дагалдах төхөөрөмжийг харуулсан энгийн загвар юм. 18F4550 40 зүү чипний олон тооны жишээнүүд байдаг бөгөөд энэ загвар нь 18F2550 28 зүүтэй жижиг хувилбарыг харуулдаг бөгөөд ПХБ нь гадаргуу дээр холбох эд ангиудыг ашигладаг боловч бүх бүрэлдэхүүн хэсгүүдийг нүхний хэлбэрээр авах боломжтой. Би гадаргууг холбох эд ангиудыг ашигладаг, учир нь цооног өрөмдөхгүйгээр хавтанг хурдан хийдэг. Эцсийн үр дүн нь дотор болон гадаа температурыг хэмждэг жижиг USB дагалдах төхөөрөмж юм. Өгөгдлийг виртуал цуваа портоор дамжуулан компьютерт авах боломжтой. Температур мэдрэгчийг жишээнд ашигладаг боловч бусад аналог мэдрэгчийг нэмж болно. график

Алхам 1: Дизайн тойм

Дизайн тойм
Дизайн тойм
Дизайн тойм
Дизайн тойм
Дизайн тойм
Дизайн тойм

Шаардлагатай PIC бүрэлдэхүүн хэсгүүд

Энэхүү USB төхөөрөмж нь 28 зүү PIC 18F2550 дээр суурилсан болно. Энэхүү чип нь бүрэн хурдтай USB интерфэйс хийхэд шаардлагатай бүх зүйлтэй. Цахилгаан ба газрын хоорондох 0.1uf конденсатор нь PIC -ийг цахилгаан тэжээлээс салгадаг. 20 МГц болор (48 МГц -ийн дотоод цаг гаргахад ашигладаг) ба хоёр 27pf конденсатор. MCLR зүү хүртэл хүчдэлээс 10K эсэргүүцэл. Програмчлалын явцад MCLR дээр байрлуулсан 13+вольт нь хэлхээний самбар дээрх бусад эд ангиудыг гэмтээхгүйн тулд би эсэргүүцэл ба хүч хоёрын хооронд 1n4148 эквивалент диодыг нэмсэн. ICSP толгой (5 зүү) нь төхөөрөмжийг програмчлах, дибаг хийхэд ашигладаг. Шаардлагатай USB зүйл USB эмэгтэй "B" загварын сокет. Дотоод USB хүчдэлийн зохицуулагчийн хувьд 220nf-440nf багтаамжтай байх шаардлагатай. Би 0.1uf конденсаторыг (салгахад ашигладагтай адил) ямар ч асуудалгүйгээр ашигладаг. USB холболтын статусыг харуулахын тулд 330 Ом гүйдлийн хязгаарлах эсэргүүцэлтэй LED ашигладаг. Шаардлагатай мэдрэгчийн зүйлс Би бичил схем TC1047A температур мэдрэгчийг доторх температур мэдрэгч болгон ашигласан. Энэ нь самбар дээр физик байдлаар гагнагдсан байдаг бөгөөд энэ нь өрөөний температураас хэд градусаар илүү халдаг. Толгой нь гаднах температурын датчикийг холбоход хэрэглэгддэг (TC1047a-ийн TO-92 хувилбар). Нэмэлт 0.1uf конденсатор нь хавтангийн бусад хэсгээс урт утсыг салгахад тусалдаг. USB хүчдэлийн түвшин нь аналог мэдрэгчээс температурыг зөв хэмжих, тооцоолоход хангалттай нийцдэггүй. Гадаад хүчдэлийн лавлагаа (MCP1525, 2.5 вольт) ашигладаг. Хүчдэлийн лавлагаа нь 1uf -аас 10uf хүртэлх гаралтын конденсаторыг шаарддаг. Энэ конденсаторгүйгээр хүчдэлийн лавлагаа ажиллахгүй болно.

Алхам 2: Firmware

Програм хангамж нь цуваа портыг дууриахын тулд CDC USB ангийг ашигладаг. Төхөөрөмжийг компьютер дээр виртуал ком порт болгон харуулах болно. Програм хангамжийг гурван хэсэгт хуваадаг: 1. USB драйвер нь төхөөрөмжийг компьютер дээр тоолж, COM портыг дуурайдаг. 2. Үйлчилгээний горим нь температурын утгыг ээлжлэн уншиж, унших боломжтой формат руу хөрвүүлдэг. Эдгээр үйлдлийг хоёуланг нь хийснээр USB төхөөрөмж нь PC -ийн холболтыг алдахад хүргэсэн (цаг хог хийх). Хөрвүүлэлтийн дараа хөвөх цэгийн утгыг үйлчилгээний мөчлөгийн мөр болгон хувиргах нь холболтын асуудлыг арилгасан.* 3. Эцэст нь үндсэн горим нь PC -ээс илгээсэн байтуудыг хүлээн авч, хүссэн хэмжилтийг буцаана. Олон арга хэмжээг таслалаар тусгаарлаж, мөрүүдийг хоосон тэмдэгтээр (6x 0x00) зогсооно. Жагсаалтын програм нь дараах тушаалуудыг хүлээн авдаг: Hex утга Буцаана0x00 Дотоод температур (самбар дээрх мэдрэгч) 0x01 Гадна температур (гадаад толгой) 0x02 Аль аль нь температур (таслал) тусгаарлагдсан) Температурыг 2.5 вольтын лавлагаа болон Microchip TC1047A офсет ба налуу дээр үндэслэн тооцоолно. Бусад температур мэдрэгч өөр өөр шинж чанартай байж болно. TC1047A мэдээллийн хуудсыг эндээс авах боломжтой. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Бодит USB програмыг Microchip хангадаг. Анхны орчныг эндээс авах боломжтой: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631 Програм хангамжийг засварлахын тулд: эх сангийн сангийн бүтцийг эх директор руу нь задлах (c: / MCHPFSUSB). Та дараа нь ажлын талбарын файлыг MPLAB -д ачаалах боломжтой.*Float to string routine нь нөөцийн гахай юм. Холболтын асуудлыг шийдэхийн тулд USB үйлчилгээний горимыг float2string -ийн янз бүрийн цэгүүдэд дууддаг. Үүнийг USB захын төхөөрөмжид тасалдал хийх замаар засах нь дээр. Би хакердсан тул програм хангамж нь лавлах хувилбартай аль болох ойр байх болно.

Алхам 3: Төхөөрөмжийг турших

Төхөөрөмжийг туршиж байна
Төхөөрөмжийг туршиж байна
Төхөөрөмжийг туршиж байна
Төхөөрөмжийг туршиж байна
Төхөөрөмжийг туршиж байна
Төхөөрөмжийг туршиж байна

Заавар нь цонхонд зориулагдсан боловч төхөөрөмжийг CDC цуваа порт эмуляц драйвертай бүх зүйлд холбох боломжтой.

Төхөөрөмжийг програм хангамжаар програмчлах. Бүх тохиргооны битүүдийг firmware дээр зөв тохируулсан байх ёстой. Төхөөрөмжийг USB порт руу залгаарай. Windows үүнийг илрүүлж драйвер сонгохыг танаас хүсэх болно. 'ЗАХИАЛГАТАЙ ЖОЛООЧДЫН ХӨСӨЛ ХӨСӨНД "дарахаа мартуузай. Төслийн архивт багтсан.inf файлын байршил руу очно уу (driver-win2k_winxp). Windows төхөөрөмжийг суулгахын тулд энэ файлыг ашиглах болно. *CDC драйверын тухай тэмдэглэл - CDC цуваа порт эмуляцийн драйверыг Windows -т оруулсан болно.. Inf файл (Microchip -ээс өгсөн) нь Windows -ийг эдгээр драйверуудыг төхөөрөмжид холбохыг ердөө л хэлдэг. Төхөөрөмжид ямар COM порт хуваарилагдсан болохыг олж мэдэхийн тулд дараахь зүйлийг хийнэ үү: Хяналтын самбар руу очно уу (эхлэх-> Тохиргоо-> Хяналтын самбар) "Систем" дээр хоёр дарна уу "Тоног төхөөрөмж" таб дээр дарна уу. "Төхөөрөмжийн менежер" дээр дарна уу Портуудын хажууд байгаа "+" дээр дарна уу Систем дээрх COM портуудын жагсаалтыг харуулав. Би уг төхөөрөмжийг COM 3, 4 хэлбэрээр харуулсан боловч системээс хамаарч өөр өөр байх болно. Хэрэв аль порт нь шинэ байгаа нь тодорхойгүй байгаа бол үүнийг туршиж үзээрэй: төхөөрөмжийг USB портоос салга. Нэг боомт алга болно. Энэ бол төхөөрөмжийн COM порт #юм. Төхөөрөмжийг дахин залгаарай, порт дахин гарч ирнэ. Жижиг VB програмыг (эх сурвалжийг оруулаад) төхөөрөмжийг туршихад ашиглаж болно. Илгээх командыг оруулаад "Эхлүүлэх" дээр дарна уу. Хариултыг цонхонд харуулах болно.

Алхам 4: Өөр юу хийж чадах вэ?

Өөр юу хийж чадах вэ?
Өөр юу хийж чадах вэ?

Энэхүү үзүүлэн самбар нь гэрийн цаг уурын жижиг станцын сайн эхлэлийн цэг юм: HIH3160 чийгшлийн мэдрэгч эсвэл аналог температур мэдрэгчийг Sensiron HT74 серийн температур ба чийгшлийн өндөр нарийвчлалтайгаар солино. Барометрийн даралтыг хэмжих. Энэ өгөгдлийг сүлжээнд нэгтгэхийг хүсч байна уу? Үүнийг өөрийн вэбсайтад оруулах уу, google дэлхий дээр үзэх үү эсвэл RSS зэгс дээрээ шинэчлэлт авах уу? Энэ төхөөрөмжийг syndicIT.com вэб арын хэсэгт нэгтгэх зааварчилгааг үзнэ үү:

Зөвлөмж болгож буй: