فهرست مطالب:

دماسنج USB داخلی/خارجی (یا ، "اولین دستگاه USB من"): 4 مرحله (همراه با تصاویر)
دماسنج USB داخلی/خارجی (یا ، "اولین دستگاه USB من"): 4 مرحله (همراه با تصاویر)

تصویری: دماسنج USB داخلی/خارجی (یا ، "اولین دستگاه USB من"): 4 مرحله (همراه با تصاویر)

تصویری: دماسنج USB داخلی/خارجی (یا ،
تصویری: نه کاری که نمیدونستی گوشیت انجام میده | 9 کاربرد مخفی گوشی 2024, نوامبر
Anonim
دماسنج USB داخلی یا خارجی (یا "اولین دستگاه USB من")
دماسنج USB داخلی یا خارجی (یا "اولین دستگاه USB من")

این یک طراحی ساده است که دستگاه جانبی USB را در PIC 18F نشان می دهد. چندین نمونه برای تراشه های 18 پین 40 پین 40 به صورت آنلاین وجود دارد ، این طرح نسخه کوچکتر 18F2550 28 پین را نشان می دهد. PCB از قطعات نصب روی سطح استفاده می کند ، اما همه اجزا در نسخه های سوراخ در دسترس هستند. من از قطعات روی سطح استفاده می کنم زیرا ساختن تخته بدون سوراخ سریعتر است. نتیجه نهایی یک دستگاه جانبی USB کوچک است که دمای داخل و خارج را اندازه گیری می کند. داده ها از طریق یک پورت سریال مجازی در دسترس کامپیوتر قرار می گیرند. در مثال از سنسورهای دما استفاده می شود ، اما می توان سنسورهای آنالوگ دیگری نیز به آن اضافه کرد. نمودار

مرحله 1: مرور کلی طراحی

نمای کلی طراحی
نمای کلی طراحی
نمای کلی طراحی
نمای کلی طراحی
نمای کلی طراحی
نمای کلی طراحی

اجزای مورد نیاز PIC

این دستگاه جانبی USB بر اساس PIC 18F2550 28 پین است. این تراشه دارای همه چیز مورد نیاز برای رابط USB کامل است. یک خازن 0.1uf بین قدرت و زمین PIC را از منبع تغذیه جدا می کند. کریستال 20 مگاهرتز (برای تولید ساعت داخلی 48 مگاهرتز) و دو خازن 27pf. یک مقاومت 10K از قدرت تا پین MCLR. من یک دیود معادل 1n4148 بین مقاومت و توان اضافه کردم تا ولتاژ 13++روی MCLR در حین برنامه نویسی به دیگر اجزای برد مدار آسیب نرساند. هدر ICSP (5 پین) برای برنامه ریزی و اشکال زدایی دستگاه استفاده می شود. وسایل USB مورد نیاز یک سوکت USB "B" به سبک زن. برای تنظیم کننده ولتاژ داخلی USB 220nf-440nf ظرفیت مورد نیاز است. من از دو خازن 0.1uf (همانطور که برای جداسازی استفاده می شود) بدون مشکل استفاده می کنم. یک LED با مقاومت محدود کننده جریان 330 اهم برای نمایش وضعیت اتصال USB استفاده می شود. وسایل مورد نیاز من از حسگر دمای میکروچیپ TC1047A به عنوان سنسور دمای داخلی استفاده کردم. از نظر فیزیکی به تخته لحیم می شود - این باعث می شود که آن را چند درجه گرمتر از دمای اتاق گرم کند. برای اتصال پروب دمای بیرون (TO-92 نسخه TC1047a) از هدر استفاده می شود. یک خازن 0.1uf اضافی به جدا شدن یک سیم بلند از بقیه برد کمک می کند. سطوح ولتاژ USB برای اندازه گیری و محاسبه دقیق دما از سنسورهای آنالوگ به اندازه کافی سازگار نیست. از مرجع ولتاژ خارجی (MCP1525 ، 2.5 ولت) استفاده می شود. مرجع ولتاژ به خازنی در خروجی 1uf تا 10uf نیاز دارد. بدون این خازن مرجع ولتاژ کار نمی کند.

مرحله 2: سیستم عامل

سیستم عامل از کلاس USB CDC برای شبیه سازی پورت سریال استفاده می کند. دستگاه به عنوان یک پورت کام مجازی در رایانه شخصی نشان داده می شود. سیستم عامل به سه بخش تقسیم می شود: 1. درایور USB از شمارش دستگاه بر روی رایانه و شبیه سازی یک درگاه COM مراقبت می کند. 2. یک روال سرویس به طور متناوب مقادیر دما را می خواند و آنها را به فرمت قابل خواندن تبدیل می کند. انجام هر دو این عملیات به طور همزمان باعث قطع اتصال دستگاه USB به کامپیوتر (دراز کشیدن زمان) شد. تبدیل مقادیر نقطه شناور به یک رشته در چرخه خدمات پس از تبدیل مشکل اتصال را برطرف کرد. اندازه گیری های متعدد با کاما از هم جدا می شوند ، خطوط با یک کاراکتر تهی خاتمه می یابد (hex 0x00) سیستم عامل نمایشی دستورات زیر را می پذیرد: مقدار Hex باز می گردد 0x00 دمای داخل ساختمان (سنسور روی صفحه) 0x01 دمای فضای باز (سرصفحه خارجی) 0x02 هر دو دما (کاما) جدا شده) دما بر اساس منبع 2.5 ولت و جابجایی و شیب Microchip TC1047A محاسبه می شود. سایر سنسورهای دما ممکن است ویژگی های متفاوتی داشته باشند. برگه اطلاعات TC1047A در اینجا قابل دسترسی است: https://www.microchip.com/stellent/idcplg؟IdcService=SS_GET_PAGE&nodeId=1406&dDocName=fa010014&part=SW006011 سیستم عامل USB واقعی توسط Microchip ارائه شده است. محیط اصلی در اینجا قابل دسترسی است: به سپس می توانید فایل فضای کاری را در MPLAB بارگذاری کنید. برای رفع مشکل اتصال ، روال سرویس USB در نقاط مختلف روال float2string فراخوانی می شود. بهترین کار این است که سرویس جانبی USB را در یک وقفه تعمیر کنید. من از هک استفاده کردم تا سیستم عامل تا حد امکان به نسخه مرجع نزدیک شود.

مرحله 3: آزمایش دستگاه

آزمایش دستگاه
آزمایش دستگاه
آزمایش دستگاه
آزمایش دستگاه
آزمایش دستگاه
آزمایش دستگاه

دستورالعمل ها برای ویندوز است ، اما دستگاه را می توان به هر چیزی که دارای درایورهای شبیه سازی پورت سریال CDC باشد متصل کرد.

دستگاه را با سیستم عامل برنامه ریزی کنید. تمام بیت های پیکربندی باید به طور صحیح در سیستم عامل تنظیم شوند. دستگاه را به پورت USB وصل کنید. ویندوز آن را تشخیص داده و از شما می خواهد درایور را انتخاب کنید. مطمئن باشید "برای راننده سفارشی" را کلیک کنید. به محل فایل.inf موجود در بایگانی پروژه (driver-win2k_winxp) بروید. ویندوز از این فایل برای نصب دستگاه استفاده می کند. *نکته ای در مورد درایور CDC - درایور شبیه سازی پورت سریال CDC با Windows همراه است. فایل.inf (ارائه شده توسط Microchip) به سادگی به ویندوز می گوید که این درایورها را به دستگاه متصل کند. برای اینکه بدانید دستگاه به کدام درگاه COM اختصاص داده شده است موارد زیر را انجام دهید: به کنترل پنل بروید (شروع-> تنظیمات-> کنترل پنل) روی «سیستم» دوبار کلیک کنید ، روی برگه «سخت افزار» کلیک کنید. روی "مدیر دستگاه" کلیک کنید "+" را در کنار پورت ها لیست پورت های COM روی سیستم نشان داده می شود. من دستگاه را به عنوان COM 3 و 4 نشان داده ام ، اما بر اساس سیستم متفاوت است. اگر مشخص نیست کدام پورت جدید است ، این را امتحان کنید: دستگاه را از پورت USB جدا کنید. یکی از درگاه ها ناپدید می شود. این پورت COM دستگاه #است. دستگاه را دوباره وصل کنید ، پورت دوباره ظاهر می شود. از برنامه کوچک VB (منبع موجود) می توان برای آزمایش دستگاه استفاده کرد. دستور ارسال را وارد کنید ، روی "شروع" کلیک کنید. پاسخ در پنجره نشان داده می شود.

مرحله 4: چه کار دیگری می تواند انجام دهد؟

دیگر چه کاری می تواند انجام دهد؟
دیگر چه کاری می تواند انجام دهد؟

این تخته نمایشی نقطه شروع خوبی برای یک ایستگاه آب و هوای کوچک خانگی است: یک سنسور رطوبت HIH3160 اضافه کنید یا سنسور دمای آنالوگ را با سنسور دما و رطوبت سری Sensiron HT74 با دقت بالا جایگزین کنید. یک سنسور فشار Freescale MPX (a) 4115 را به فشار فشارسنج را اندازه گیری کنید. آیا می خواهید این داده ها را به وب منتقل کنید؟ آن را در وب سایت خود قرار دهید ، آن را در google earth مشاهده کنید یا در RSS نی خود به روزرسانی کنید؟ در مورد ادغام این دستگاه با پشتیبان وب syndicIT.com این دستورالعمل را ببینید:

توصیه شده: