Мазмуну:

USB Ички/Тышкы Термометр (же, 'Менин Биринчи USB Түзмөгүм'): 4 Кадам (Сүрөттөр менен)
USB Ички/Тышкы Термометр (же, 'Менин Биринчи USB Түзмөгүм'): 4 Кадам (Сүрөттөр менен)

Video: USB Ички/Тышкы Термометр (же, 'Менин Биринчи USB Түзмөгүм'): 4 Кадам (Сүрөттөр менен)

Video: USB Ички/Тышкы Термометр (же, 'Менин Биринчи USB Түзмөгүм'): 4 Кадам (Сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
USB Ички/Тышкы Термометр (же, "Менин биринчи USB түзмөгүм")
USB Ички/Тышкы Термометр (же, "Менин биринчи USB түзмөгүм")

Бул PIC 18Fsдеги USB перифериясын көрсөтүүчү жөнөкөй дизайн. 18F4550 40 пин чиптеринин көптөгөн мисалдары бар, бул дизайн кичирээк 18F2550 28 пиндүү версиясын көрсөтөт. ПХБ үстүнкү бөлүктөрдү колдонот, бирок бардык компоненттер тешик версиялары аркылуу жеткиликтүү. Мен үстүнкү тетиктерди колдоном, анткени тешик бурбай туруп тактай жасоо тезирээк. Жыйынтык - бул кичинекей USB перифериялык түзүлүшү, ал ички/тышкы температураны өлчөйт. Маалыматтар компьютерге виртуалдык сериялык порт аркылуу жеткиликтүү. Мисалда температура сенсорлору колдонулат, бирок башка аналогдук сенсорлорду кошсо болот. PSS Менин каттоочумдун маалыматтарынын жандуу графигин бул жерден караңыз: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = граф

1 -кадам: Дизайнды карап чыгуу

Дизайнды карап чыгуу
Дизайнды карап чыгуу
Дизайнды карап чыгуу
Дизайнды карап чыгуу
Дизайнды карап чыгуу
Дизайнды карап чыгуу

Керектүү PIC компоненттери

Бул USB перифериялык түзүлүшү 28 пин PIC 18F2550ге негизделген. Бул чипте толук ылдамдыктагы USB интерфейси үчүн керектүү нерселердин баары бар. Күч менен жердин ортосундагы 0.1uf конденсатор PICти электр менен камсыздоону ажыратат. 20 МГц кристалл (48 МГц ички саатты өндүрүү үчүн колдонулат) жана эки 27pf конденсатор. MCLR пинге чейин бийликтен 10K каршылыгы. Мен 1n4148 эквиваленттүү диодду резистор менен бийликтин ортосунда коштум, андыктан программалоо учурунда MCLRге коюлган 13+вольт электр тактасындагы башка компоненттерге зыян келтирбейт. ICSP аталышы (5 пин) түзмөктү программалоо жана мүчүлүштүктөрдү оңдоо үчүн колдонулат. Керектүү USB нерселери USB ургаачы "В" стилиндеги розетка. Сыйымдуулугу 220nf-440nf ички USB чыңалуу жөнгө салуу үчүн талап кылынат. Мен эки 0.1uf конденсаторун (ажыратуу үчүн колдонулгандай) көйгөйсүз колдоном. USB туташуу статусун көрсөтүү үчүн 330ohm учурдагы чектөөчү каршылыгы бар LED колдонулат. Керектүү сенсордук нерселер Мен микрочип TC1047A температура сенсорун ички температура сенсору катары колдондум. Ал физикалык түрдө тактага ширетилет - бул анын бөлмө температурасынан бир нече градуска ысыгыраак иштешине алып келет. Баштык сырткы температура зондун туташтыруу үчүн колдонулат (TC1047a TO-92 версиясы). Кошумча 0.1uf конденсатор тактанын калган бөлүгүнөн узун зымды ажыратууга жардам берет. USB чыңалуу деңгээли аналогдук сенсорлордон температураны так өлчөө жана эсептөө үчүн жетиштүү деңгээлде шайкеш келбейт. Тышкы чыңалуу шилтемеси (MCP1525, 2.5volt) колдонулат. Чыңалууга шилтеме 1уфтан 10уфка чейин конденсатор керек. Бул конденсатор болбосо чыңалуу маалымдамасы иштебейт.

2 -кадам: Камтылган программа

Камтылган программа CDC USB классын сериялык портту тууроо үчүн колдонот. Түзмөк компьютерде виртуалдык ком порт катары көрсөтүлөт. Программалык камсыздоо үч бөлүмгө бөлүнөт: 1. USB драйвери түзмөктү компьютерге санап, COM портун эмуляциялоону колго алат. 2. Тейлөө тартиби температуранын маанилерин кезектешип окуп, аларды окула турган форматка айландырат. Бул эки операцияны тең жасоо USB түзмөгүнүн PC менен болгон байланышын жоготууга алып келди (убакыттын өтүшү менен). Конверсиядан кийин өзгөрмөлүү чекиттин маанисин кызмат циклиндеги сапка айландыруу байланыш көйгөйүн чечти. Бир нече чаралар үтүр менен ажыратылган, сызыктар нөл белгиси менен токтотулат (hex 0x00) Демонстрациялык программа төмөнкү буйруктарды кабыл алат: Hex мааниси 0x00 Ички температура (борттогу сенсор) 0x01 Сырткы температура (тышкы баш) 0x02 Эки температура (үтүр) бөлүнгөн) Температура 2,5 вольт маалымдаманын жана Microchip TC1047A ордун жана эңкейишинин негизинде эсептелет. Башка температура сенсорлору ар кандай мүнөздөмөлөргө ээ болушу мүмкүн. TC1047A маалымат таблицасы бул жерде жеткиликтүү: https://www.microchip.com/downloads/en/DeviceDoc/21498c.pdf 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 ичиндеги жумушчу мейкиндик файлын жүктөй аласыз.*String to string routine is a resource hog. Байланыш көйгөйүн чечүү үчүн, USB кызматынын тартиби float2string тартибинин ар кайсы жерлеринде чакырылат. Муну USB перифериялык жабдууну үзгүлтүккө учуратуу менен оңдоо керек. Мен программаны мүмкүн болушунча шилтеме версиясына жакыныраак кармаш үчүн хакты колдондум.

3 -кадам: Түзмөктү сыноо

Түзмөктү сыноо
Түзмөктү сыноо
Түзмөктү сыноо
Түзмөктү сыноо
Түзмөктү сыноо
Түзмөктү сыноо

Нускамалар терезелер үчүн, бирок түзмөк CDC сериялык порт эмуляция драйверлери бар нерсеге туташтырылышы мүмкүн.

Программаны түзмөккө орнотуңуз. Бардык конфигурация биттери камтылган программада туура орнотулушу керек. Түзмөктү 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 Earthтан көрүңүз же RSS камышыңыздан жаңыртууларды алыңызбы? Бул түзмөктү syndicIT.com веб backend менен интеграциялоо боюнча көрсөтмөнү караңыз:

Сунушталууда: