فهرست مطالب:

گیرنده سوئیچ عمومی: 3 مرحله
گیرنده سوئیچ عمومی: 3 مرحله

تصویری: گیرنده سوئیچ عمومی: 3 مرحله

تصویری: گیرنده سوئیچ عمومی: 3 مرحله
تصویری: چند نکته مهم درتعمیر پاور سوئیچینگ 2024, نوامبر
Anonim
گیرنده سوئیچ عمومی
گیرنده سوئیچ عمومی

در این مقاله نحوه ساخت یک دستگاه میکروکنترلر حالت جامد که سوئیچ های فیزیکی را کنترل می کند توضیح داده شده است. با فرض اینکه شما یک برنامه نویس میکروکنترلر دارید ، تهیه آن بسیار ارزان است (حدود 4 دلار). خود مدار پیچیدگی بی اهمیتی دارد.

این پروژه بسیار ساده است و شامل هیچ تکنیک جدید و خیره کننده ای نمی شود. این می تواند به عنوان اولین پروژه میکروکنترلر خوب عمل کند. کد منبع اسمبلی در این مقاله در اختیار شما قرار می گیرد. من واقعاً یک رئیس باحال در محل کار دارم. گاهی اوقات ، ما دوست داریم با هم شوخی های عملی انجام دهیم. متأسفانه برای او ، من یک دانشمند هستم. هدف من در اینجا این است که دستگاه های مختلف در محل کار به طور مرموزی برای مدت کوتاهی روشن شوند. رادیوها ، چاپگرهای پر سر و صدا ، حتی کارتهای تولد آزاردهنده موسیقی که در برخی از وسایل معمولی پنهان شده اند. فراتر از این ، پروژه نمونه ای از نحوه کنترل بارهای سنگین تر با AVR از پین های خروجی است. این موارد بسیار متنوع است ، زیرا پین های خروجی فقط یک ولتاژ کوچک و جریان بسیار محدودی به شما می دهند. این مدار را می توان با یک رله برای کنترل بارهای بسیار سنگین گسترش داد.

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

طراحی و مدار
طراحی و مدار

برای این پروژه ، می توانید تقریباً از هر میکروکنترلر ، تنظیم کننده ولتاژ 5 ولت و ترانزیستور NPN استفاده کنید. من استفاده کردم:

1x ATtiny26L-8PU ($ 2 $) 1x TL780 5v تنظیم کننده ولتاژ (0.7 دلار آمریکا) 1x ترانزیستور N2222 (0.07 دلار آمریکا) 1x باتری 9 ولت ، یا باتری کنترل از راه دور 12 ولت برای صرفه جویی در فضا … و البته STK500 قابل اعتماد من ، اکنون با ZIF سوکت اضافه شد! طراحی اصلی این است: میکروکنترلر از دو حلقه زمان بندی عبور می کند. یک حلقه طولانی برای تعیین زمان روشن شدن دستگاه و یک حلقه کوتاه برای تعیین مدت زمان روشن نگه داشتن دستگاه. هنگامی که زمان ایجاد مشکل فرا می رسد ، میکروکنترلر یک پین 14 منطقی (کمترین مقدار قابل توجه PORTA) ارسال می کند. این باعث ترانزیستور می شود. اگر گیره ها را به سیم های سوئیچ وصل کرده اید ، باعث می شود مقاومت در سراسر سوئیچ به طور ناگهانی از بسیار زیاد به کمتر از 1 اهم کاهش یابد ، که برای اکثر دستگاه ها کافی است که سوئیچ را در نظر بگیرند. به خاطر داشته باشید که ترانزیستورها نیز دیود هستند ، بنابراین اگر کار نمی کند … قطبیت گیره ها احتمالاً اشتباه است ، آنها را عوض کنید! همچنین ، این دستگاه به یک باتری مناسب 9 ولت احتیاج دارد ، به عنوان مثال با پتانسیل بیش از 8 ولت باقی مانده است … به غیر از این که از قدرت زیادی استفاده نمی کند. تعداد زیادی پین استفاده نشده وجود دارد ، بنابراین شما می توانید از آنها برای کنترل سوئیچ های بیشتر برای هرج و مرج بیشتر استفاده کنید ، اما این برای اهداف من کافی بود. گام بعدی ، منبعی است که برای پیشرفت این موضوع نوشتم. طول های پیش فرض برای حالت های "روشن" و "خاموش" به ترتیب تقریباً 10 ثانیه و 13 دقیقه است. نظراتی در مورد نحوه تغییر این مقادیر در کد وجود دارد. در نهایت ، لطفاً استفاده گسترده از عملکرد "nop" (که یک چرخه CPU را بدون انجام هیچ کاری صرف می کند) برای تغییر زمان سنج ها معذور کنید. این بسیار زیبا است زیرا می تواند عملکرد rjmp را خراب کند اگر در مورد تعداد استفاده خود دقت نکنید!

مرحله 2: کد منبع

شروع:

. شامل "tn26def.inc" ؛ فایل تعریف در صورت نیاز به کپی آن را در گوگل جستجو کنید. clr r30 clr r29 clr r28 clr r27 ldi r28، 0b00000000 ldi r27، 0b11111111 ldi r26، 0b00000000 clr r25 out DDRA، r27 out PORTA، r28 TIMER: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop no nop nop nop npi cpi r30، 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop noop nop nop nop nop nop nop nop inc r29 cpi r29 TIM311: 0b1111 نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ نپ inc r25 cpi r25، 0b11111111 ؛ این عدد را کاهش دهید تا زمان "خاموش" کاهش یابد FUNC rjmp TIMER FUNC: nop nop cpi r28 ، 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA، r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA، r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nop nop nop nop nop nop nop no nop nop nop nop nop nop cpi r30، 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop noop nop inc r29 cpi r29، 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25، 0b00000011؛ این عدد را افزایش دهید تا "on" time breq FUNC rjmp TIMER4 افزایش یابد

مرحله 3: توجه نهایی

از آن لذت ببرید ، اما به یاد داشته باشید که ترانزیستور محدودیت هایی از نظر میزان توان پمپاژ در آن دارد. یعنی بدون ولتاژ اصلی! این دستگاه علاوه بر این که خیلی سریع ترانزیستور را بیش از حد بار می کند ، سیگنال های متناوب را به خوبی کنترل نمی کند … مگر اینکه اصلاحات زیر را اعمال کنید * و * یک رله اضافه کنید: اگر نگرانی در مورد قطبیت گیره شما را آزار می دهد ، کافی است در یک ترانزیستور دوم سیم کشی کنید. صفحه پایه به همان منبع اولین ترانزیستور متصل است ، اما با جمع کننده و امیتر در تنظیمات مخالف. به این ترتیب ، مهم نیست که چگونه گیره ها را وصل کنید ، منطقی که از میکروکنترلر خارج می شود ، همیشه کلید را "روشن" می کند. به خاطر داشته باشید که جریان نشتی در این سیستم ممکن است برای فعال کردن برخی از سوئیچ های حساس مانند ماتریس های صفحه کلید کافی باشد ، ممکن است لازم باشد برای این برنامه یک مقاومت به صورت سری اضافه کنید. به یاد داشته باشید که می توانید به جای استفاده از باتری ، از دستگاه هدف زالو ببرید. در نهایت … من دستگاه را درون یک ماشین حساب قدیمی حسابداری نصب کردم ، نوعی که دارای عملکرد چاپ است. من با استفاده از گیره کاغذ ، ماتریس صفحه کلید را معکوس کردم تا مشخص شود کدام پین های IC هنگام اتصال باعث تغذیه کاغذ می شوند و پین های صحیح را به همراه دستگاه وصل کردم. سپس ، سوئیچ را غیرفعال کردم که به شما امکان می دهد عملکرد چاپ را خاموش کنید. من دستگاه را به درستی واژگون می کنم. هر زمان که دستگاه روشن است ، هر 10 دقیقه یکبار کاغذ پر سر و صدا را روشن می کند ، به مدت 10 ثانیه. همچنین با مدار یکی از آن کارت های تولد موسیقی بسیار ناخوشایند کار می کند. محل کار من اکنون عجیب تر است!

توصیه شده: