Სარჩევი:

USB შიდა/გარე თერმომეტრი (ან, 'ჩემი პირველი USB მოწყობილობა'): 4 ნაბიჯი (სურათებით)
USB შიდა/გარე თერმომეტრი (ან, 'ჩემი პირველი USB მოწყობილობა'): 4 ნაბიჯი (სურათებით)

ვიდეო: USB შიდა/გარე თერმომეტრი (ან, 'ჩემი პირველი USB მოწყობილობა'): 4 ნაბიჯი (სურათებით)

ვიდეო: USB შიდა/გარე თერმომეტრი (ან, 'ჩემი პირველი USB მოწყობილობა'): 4 ნაბიჯი (სურათებით)
ვიდეო: ღირს ყველაფრის აღება?? და რა არის კარგი ATS25X1 რადიოს მიმღების დეტალური მიმოხილვა 2024, ივლისი
Anonim
USB შიდა/გარე თერმომეტრი (ან, "ჩემი პირველი USB მოწყობილობა")
USB შიდა/გარე თერმომეტრი (ან, "ჩემი პირველი USB მოწყობილობა")

ეს არის მარტივი დიზაინი, რომელიც აჩვენებს USB პერიფერიულ მოწყობილობას PIC 18F– ზე. არსებობს რამოდენიმე მაგალითი 18F4550 40 პინიანი ჩიპებისთვის, ეს დიზაინი აჩვენებს მცირე ზომის 18F2550 28 პინის ვერსიას. PCB იყენებს ზედაპირზე დამონტაჟებულ ნაწილებს, მაგრამ ყველა კომპონენტი ხელმისაწვდომია ხვრელების ვერსიებში. მე ვიყენებ ზედაპირის სამონტაჟო ნაწილებს, რადგან უფრო სწრაფად ხდება დაფის გაკეთება საბურღი ხვრელების გარეშე. საბოლოო შედეგი არის პატარა USB პერიფერიული მოწყობილობა, რომელიც ზომავს შიდა/გარე ტემპერატურას. მონაცემები ხელმისაწვდომია კომპიუტერისთვის ვირტუალური სერიული პორტის საშუალებით. ტემპერატურის სენსორები გამოიყენება მაგალითში, მაგრამ შესაძლებელია სხვა ანალოგური სენსორების დამატება. PS იხილეთ ჩემი ლოგერის მონაცემების ცოცხალი გრაფიკი აქ: https://www.syndicit.com/stream/ian/nieuwemarkt/indoor_temperature/? Format = გრაფიკი

ნაბიჯი 1: დიზაინის მიმოხილვა

დიზაინის მიმოხილვა
დიზაინის მიმოხილვა
დიზაინის მიმოხილვა
დიზაინის მიმოხილვა
დიზაინის მიმოხილვა
დიზაინის მიმოხილვა

საჭირო PIC კომპონენტები

ეს USB პერიფერიული დაფუძნებულია 28 პინის PIC 18F2550– ზე. ამ ჩიპს აქვს ყველაფერი რაც საჭიროა სრული სიჩქარის USB ინტერფეისისთვის. დენისა და მიწას შორის 0.1uf კონდენსატორი წყვეტს PIC დენის წყაროსგან. 20MHz კრისტალი (გამოიყენება 48MHz შიდა საათის შესაქმნელად) და ორი 27pf კონდენსატორი. 10K რეზისტორი დენიდან MCLR პინამდე. დავამატე 1n4148 ეკვივალენტური დიოდი რეზისტორსა და სიმძლავრეს შორის ისე, რომ პროგრამირების დროს MCLR- ზე მოთავსებული 13+ვოლტი არ დააზიანოს მიკროსქემის დაფაზე არსებული სხვა კომპონენტები. ICSP სათაური (5 პინი) გამოიყენება მოწყობილობის პროგრამირებისა და გამართვისთვის. საჭირო USB პერსონალი USB ქალი 'B' სტილის სოკეტი. შიდა USB ძაბვის რეგულატორისთვის საჭიროა 220nf-440nf ტევადობა. მე ვიყენებ ორ 0.1uf კონდენსატორს (იგივე, რაც გამოსაყენებლად) უპრობლემოდ. USB კავშირის სტატუსის გამოსახატავად გამოიყენება LED 330 ოჰმ დენის შემზღუდველი რეზისტორით. საჭირო სენსორული პერსონალი მე გამოვიყენე მიკროჩიპი TC1047A ტემპერატურის სენსორი, როგორც შიდა ტემპერატურის სენსორი. ის ფიზიკურად არის ჩასმული დაფაზე - ეს იწვევს მას ოთახის ტემპერატურაზე რამდენიმე გრადუსით ცხელ ტემპერატურაზე. სათაური გამოიყენება გარე ტემპერატურის ზონდის დასაკავშირებლად (TC1047a TO-92 ვერსია). დამატებითი 0.1uf კონდენსატორი ხელს უწყობს გრძელი მავთულის გათიშვას დანარჩენი დაფისგან. USB ძაბვის დონე არ არის საკმარისად თანმიმდევრული, რომ ზუსტად გავზომოთ და გამოვთვალოთ ტემპერატურა ანალოგური სენსორებიდან. გამოიყენება გარე ძაბვის ცნობა (MCP1525, 2.5 ვოლტი). ძაბვის მითითება მოითხოვს კონდენსატორს 1uf– დან 10uf– მდე. ამ კონდენსატორის გარეშე ძაბვის მითითება არ იმუშავებს.

ნაბიჯი 2: Firmware

ფირმა იყენებს CDC USB კლასს სერიული პორტის იმიტაციისთვის. მოწყობილობა გამოჩნდება როგორც ვირტუალური კომ პორტი კომპიუტერზე. Firmware დაყოფილია სამ ნაწილად: 1. USB დრაივერი ზრუნავს კომპიუტერზე მოწყობილობის ჩამოთვლაზე და COM პორტის იმიტაციაზე. 2. მომსახურების რეჟიმი მონაცვლეობით კითხულობს ტემპერატურის მნიშვნელობებს და გარდაქმნის მათ წაკითხულ ფორმატში. ორივე ამ ოპერაციის ერთდროულად შესრულებამ გამოიწვია USB მოწყობილობის კომპიუტერთან კავშირის დაკარგვა (დროის გათიშვა). კონვერტაციის შემდგომ მცურავი წერტილების მნიშვნელობების სტრიქონად გადაქცევა მომსახურების ციკლში.* 3. საბოლოოდ, მთავარი რუტინა იღებს კომპიუტერებიდან გამოგზავნილ ბაიტებს და აბრუნებს მოთხოვნილ გაზომვებს. მრავალჯერადი ზომები გამოყოფილია მძიმით, ხაზები მთავრდება null სიმბოლოთი (hex 0x00) სადემონსტრაციო firmware იღებს შემდეგ ბრძანებებს: Hex მნიშვნელობა აბრუნებს 0x00 შიდა ტემპერატურას (ბორტ სენსორი) 0x01 გარე ტემპერატურა (გარე სათაური) 0x02 ორივე ტემპერატურა (მძიმე) გამოყოფილი) ტემპერატურა გამოითვლება 2.5 ვოლტიანი მითითებისა და მიკროჩიპის TC1047A ოფსეტური და ფერდობის საფუძველზე. სხვა ტემპერატურის სენსორებს შეიძლება ჰქონდეთ განსხვავებული მახასიათებლები. TC1047A მონაცემთა ცხრილი ხელმისაწვდომია აქ: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdf ფირმა ჩაწერილია MPLAB– ში სადემონსტრაციო PIC C18 შემდგენელთან ერთად. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 ფაქტობრივი USB firmware მოწოდებულია მიკროჩიპით. ორიგინალური გარემო ხელმისაწვდომია აქ: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631 firmware- ის რედაქტირებისათვის: ამოიღეთ წყაროს მთლიანი დირექტორიის სტრუქტურა თქვენს ძირითად დირექტორიაში (c: / MCHPFSUSB) რა ამის შემდეგ შეგიძლიათ ჩატვირთოთ სამუშაო სივრცის ფაილი MPLAB- ში.*Float to string routine არის რესურსი. დაკავშირების პრობლემის გადასაჭრელად USB სერვისის რუტინას ეწოდება float2string რუტინის სხვადასხვა წერტილში. ეს საუკეთესოდ დაფიქსირდება USB პერიფერიული მოწყობილობის მომსახურებით შეფერხებაზე. მე გამოვიყენე გატეხვა ისე, რომ firmware დარჩა რაც შეიძლება ახლოს საცნობარო ვერსიასთან.

ნაბიჯი 3: მოწყობილობის ტესტირება

მოწყობილობის ტესტირება
მოწყობილობის ტესტირება
მოწყობილობის ტესტირება
მოწყობილობის ტესტირება
მოწყობილობის ტესტირება
მოწყობილობის ტესტირება

ინსტრუქცია მოცემულია Windows– ისთვის, მაგრამ მოწყობილობა შეიძლება დაუკავშირდეს ყველაფერს, რასაც აქვს CDC სერიული პორტის ემულაციის დრაივერები.

პროგრამირება მოწყობილობა firmware. ყველა კონფიგურაციის ბიტი სწორად უნდა იყოს დაყენებული firmware– ში. შეაერთეთ მოწყობილობა USB პორტში. Windows აღმოაჩენს მას და მოგთხოვთ აირჩიოთ დრაივერი. დარწმუნებული იყავით, რომ დააწკაპუნეთ „დაათვალიერეთ საბაჟო მძღოლი“. გადადით პროექტის არქივში შემავალი.inf ფაილის ადგილას (driver-win2k_winxp). Windows გამოიყენებს ამ ფაილს მოწყობილობის ინსტალაციისთვის. *შენიშვნა CDC დრაივერზე - CDC სერიული პორტის ემულაციის დრაივერი მოყვება Windows- ს.. Inf ფაილი (მოწოდებულია მიკროჩიპით) უბრალოდ ეუბნება Windows- ს დააკავშიროს ეს დრაივერები მოწყობილობასთან. იმის გასარკვევად, თუ რომელი COM პორტი აქვს მოწყობილობას მინიჭებული, გააკეთეთ შემდეგი: გადადით მართვის პანელზე (დაწყება-> პარამეტრები-> პანელი) ორჯერ დააწკაპუნეთ „სისტემაზე“, დააწკაპუნეთ „ტექნიკის“ჩანართზე. დააწკაპუნეთ „მოწყობილობის მენეჯერზე“დააწკაპუნეთ „+“პორტების გვერდით ნაჩვენებია სისტემის COM პორტების სია. მე მინახავს, რომ მოწყობილობა გამოჩნდება COM 3 და 4, მაგრამ ის სისტემის მიხედვით იცვლება. თუ არ არის ნათელი რომელი პორტი არის ახალი, სცადეთ ეს: გათიშეთ მოწყობილობა USB პორტიდან. ერთი პორტი გაქრება. ეს არის მოწყობილობის COM პორტი #. შეაერთეთ მოწყობილობა უკან, პორტი კვლავ გამოჩნდება. მცირე VB პროგრამა (წყარო შედის) შეიძლება გამოყენებულ იქნას მოწყობილობის შესამოწმებლად. შეიყვანეთ გაგზავნის ბრძანება, დააჭირეთ "დაწყება". პასუხი ნაჩვენები იქნება ფანჯარაში.

ნაბიჯი 4: სხვა რისი გაკეთება შეუძლია მას?

სხვა რა შეუძლია გააკეთოს?
სხვა რა შეუძლია გააკეთოს?

ეს სადემონსტრაციო დაფა არის კარგი საწყისი წერტილი მცირე სახლის ამინდის სადგურისთვის: დაამატეთ HIH3160 ტენიანობის სენსორი, ან შეცვალეთ ანალოგური ტემპერატურის სენსორი Sensiron HT74 მაღალი სიზუსტის სერიული ტემპერატურისა და ტენიანობის სენსორით. დაამატეთ Freescale MPX (a) 4115 წნევის სენსორი ბარომეტრიული წნევის გაზომვა. გსურთ ამ მონაცემების ინტერნეტში გადაცემა? ჩართეთ იგი თქვენს ვებსაიტზე, ნახეთ ის Google Earth– ში, ან მიიღეთ განახლებები თქვენს RSS ლერწამში? იხილეთ ეს ინსტრუქცია ამ მოწყობილობის ინტეგრაციის შესახებ syndicIT.com ვებ უკანა მხარესთან:

გირჩევთ: