پوزش و دعوت از دوستان

با سلام وآرزوی سلامتی و سربلندی برای دوستان عزیز.

در این صفحه خواستم ضمن عرض پوزش از خوانندگان به دلیل توقف در درج مطالب جدید ، از شما دوستان اهل علم خواهش کنم در صورتی که مطلب جدید و قابل توجهی در حیطه موضوع این وبلاگ دارید ، ارسال کنید تا با نام خودتان درج شود.

متشکرم.

مدیر وبلاگ : محمد امین مصلایی

نویسنده : محمد امین مصلایی در ساعت ٦:٢٤ ‎ب.ظ روز پنجشنبه ۳ امرداد ،۱۳۸٧
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



آی سی ساعت زمان واقعی( RTC)

باعرض سلام خدمت بازدیدکنندگان گرامی وپوزش به دلیل وقفه طولانی در به روزکردن وبلاگ.
مقاله این صفحه،همانگونه که درعنوان آن ذکرشده،به معرفی یک آی سی کوچک و کم مصرف اما بسیار پرکاربرد می پردازد.
قبلا با دوستان زیادی اعم ازدانشجویان و مهندسان برخورد داشته ام که درپروژه خود به منبع ساعت و تقویم نیازداشته اند.درنگاه اول برای کسی که به سیستمهای میکروکنترلری تسلط دارد، ساخت ساعت دیجیتالی کار دشواری نیست.اماآنجایی که پردازنده سیستم بخواهدبه این مساله به عنوان یک قابلیت جانبی نگاه کندنه به عنوان هدف نهایی سیستم،این امرآزاردهنده می شودوپروسس زیادی از پردازنده می گیرد. همچنین این سیستم نیازمندآن است که پردازنده تمام وقت کارکندوهیچگاه تغذیه آن قطع نشود.
برای حل این مشکل برخی شرکتهای تولیدکننده قطعات الکترونیکی اقدام به ساخت چیپهایی نمودند که دربسته بندیهای کوچک امکانات کامل یک تقویم وساعت واقعی رادارند.
ازجمله این شرکتها، شرکت Dallas Semiconductors می باشد که آی سی DS1307 راکه یک چیپ کوچک 8 پین می باشد،تولیدنموده است.DS1307 که از خانواده چیپهای Real Time Clock یاهمان  RTC می باشد، امکان تنظیم و خواندن ثانیه،دقیقه،ساعت،روز،ماه،سال وروزهفته رابه کاربر می دهد.ارتباط این چیپ باپردازنده باپروتکل سریال I2C و فقط ازطریق دوسیم انجام می شود.همچنین امکان استفاده ازباتری پشتیبان(Backup Battery) نیز برای آن درنظرگرفته شده است تادرزمان قطع تغذیه،آی سی به کارخودادامه دهد. جزئیات بیشتردرمورد این آی سی با لینکی که درپایان مقاله گذاشته شده است،قابل دانلود می باشد.
برای کسانی که بامیکروکنترلرAVR و نرم افزار CodeVisionAVR کار می کنند،ارتباط با این چیپ بسیارساده شده است.چراکه کتابخانه کاملی رادراین زمینه دراختیاربرنامه نویس قرارمی دهد.

Download : DS1307-Datasheet
نویسنده : محمد امین مصلایی در ساعت ٤:٥۸ ‎ب.ظ روز سه‌شنبه ۱٥ اسفند ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



با مولد PWM مبدل D/A بسازید

در کلکسیون امکانات میکروکنترلرهای جدید مثل AVRوPIC،مبدل A/D آنها بیش از همه خودنمایی می کند.چرا که امکان ارتباط دنیای دیجیتال پردازنده را با دنیای آنالوگ بیرون فراهم آورده است.اما هنوز یک کاستی وجوددارد و آن این است که این ارتباط یکطرفه است.همانطور که می دانید مبدل A/Dوسیله تبدیل سیگنال آنالوگ به دیجیتال است.چنانچه بخواهید عکس این عمل را انجام دهید،یعنی اعداد دیجیتال میکروکنترلر خودرابه مقادیرآنالوگ تبدیل کنید،احتیاج به مبدل D/A دارید که متاسفانه در این دو خانواده (AVRوPIC) موجودنیست.برای حل این مشکل در صدد برآمدم تا این مقاله را برای ارائه راه حلی جهت حل این مشکل بنویسم.همانطور که ازعنوان مقاله پیداست،این عمل با استفاده از مولد PWM داخلی میکروکنترلر امکانپذیراست.به این صورت،بسته به انتظار شما از مبدل D/A،از اتصال یک D/A خارجی بی نیاز می شوید.

همانطور که می دانید،موج PWM،موج مدوله شده ایست که پهنای پالس Carrier آن متناسب با دامنه ورودی تغییر می کند،بدون آنکه فرکانس آن تغییر کند.به دیاگرام زیر توجه نمایید.

با توجه به شکل،انرژی موج متناسب با سیگنال اطلاعات تغییرمی کند.بنابراین چنانچه بتوان این موج مدوله شده را دمدوله کرد،می توان سیگنال اطلاعات را بازیافت نمود.در میکروکنترلرهای دارای PWM تمامی تولید این موج درون چیپ میکروکنترلر انجام می شود که موضوع بحث ما نیست.هدف این مقاله دمدوله کردن این موج ودرنتیجه بازیافت سیگنال اطلاعات از موج PWM است.آیا این عمل همان تبدیل داده دیجیتال به مقدار آنالوگ نیست؟!چگونه؟!

مثلا شما می توانید یک عدد 10 بیتی را به مقدار معادل PWM تبدیل کنید(این کاربه راحتی در میکروکنترلر انجام می شود.).حال برای بازیافت این مقداربه مداراتی نیازدارید که این کاررا انجام دهند.این کار به وسیله فیلترهای پایین گذر مراتب بالا امکانپذیراست.فرض کنید بخواهید یک موج PWM با فرکانس Carrier برابر 16KHzراکه حامل اطلاعات با حداکثر فرکانس 500Hz است،دمدوله کنید.یک فیلتر مرتبه 2 یا 3 (که به راحتی با op-amp ساخته می شود) با فرکانس قطع پایین مثلا 1KHzاین کار را انجام می دهد. هر چه مرتبه فیلتر بالاتر باشد،موج بازیافت شده به واقعیت نزدیکترخواهد بود.

البته دراین روش نکات و محدودیتهایی وجوددارد.آیا می دانید؟!

شما می توانید برای درک بهترموضوع وطراحی دقیقترفیلتر،ازنرم افزار OrCAD یا SPICE یا Protel استفاده نمایید . چگونه موج PWM را شبیه سازی می کنید؟!

نویسنده : محمد امین مصلایی در ساعت ٧:٥٦ ‎ب.ظ روز سه‌شنبه ۱۱ مهر ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



درباره کارت صوتی (Sound Card)

امروزه کارت صدا یکی از اجزای جدایی ناپذیر کامپیوترهای شخصی است.وظیفه کارت صدا به زبان ساده،تبدیل سیگنال آنالوگ صوتی به دیجیتال و بلعکس است.اکثر این کارتها می توانند با دقت 8و16بیتی،مونوواستریو،تا فرکانس نمونه گیری 44.1ksps (Kilo Sample Per Second) صدا را ضبط و پخش کنند .

فرکانسهای نمونه گیری متداول برای کارتهای صدا 11025،22050و44100 نمونه در ثانیه است . ازاین ابزار می توان به عنوان مبدل آنالوگ به دیجیتال ودیجیتال به آنالوگ با دقت بالا استفاده نمود . اما یک محدودیت بزرگ وجود دارد و آن این است که سیگنال ورودی و خروجی کارت صدا باید در محدوده فرکانسهای صوتی باشد . بنابراین سیگنال DC را نمی توان خواند یا تولید کرد.

شما می توانید از خروجی Speaker وورودی Microphone کارت صوتی به عنوان خروجی وورودی آنالوگ استفاده کنید.اما یک نکته باقی می ماند . چطور تحت ویندوز ازقابلیتهای کارت صدا استفاده کنیم؟

استفاده از توابع API ویندوز راه حل تمام خواسته های برنامه نویسان حرفه ای است.اما این کار وقت برنامه نویس را هر چندحرفه ای باشد،می گیرد.راه حل دیگر استفاده از اجزای COM مانند DLL ها و اکتیوایکس(ActiveX) ها که توسط افراد و شرکتهای نرم افزاری ارائه می شود،می باشد.اما مساله ای که باز محدودیت ایجاد می کند این است که شرکتهای مذکور محصولاتشان را مجانی در اختیار شما قرار نمی دهند و این مساله به خصوص برای ما ایرانیها که قدرت خرید محصولات نرم افزاری خارجی را نداریم ، معضل بزرگی است.به همین دلیل به این فکر افتادم که DLLای برای این منظور بسازم و در اختیار هموطنان عزیز علاقه مند قرار دهم . این DLL با نابترین زبان برنامه نویسی ،C++،نوشته شده است و در زبانهای دیگر تحت ویندوز نیز قابل استفاده است.از کاربران این DLL خواهشمندم آن را در هر زبانی که استفاده می کنند ، چک کنند و اشکالات احتمالی آن را به من اطلاع دهند.فایل WaveIO.dll را به همراه هدر فایل WaveIO.h که حاوی الگوی توابع درون آن است و همچنین راهنمای آن را در زیر دانلود کنید ولذت ببرید.

Download : WaveIO.zip

نویسنده : محمد امین مصلایی در ساعت ۱۱:۳٤ ‎ق.ظ روز چهارشنبه ۳۱ خرداد ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



ساختن موسيقی با ميکروکنترلر

قبل از شروع این بحث بهتر است آشنایي مختصري با تئوري موسیقي پیدا کنید.اجزاي یک ملودي نتها هستند.هر نت در واقع يک فرکانس یا يک باند فرکانسي است.مثلا طبق استاندارد جهاني نت لا ازپايينترین اکتاو (Octave)، با فرکانس 440HZ نواخته می شود.در شکل زير کلیدهاي یک پیانو رسم شده است.

همانطور که مشاهده می شود،نتها در اکتاوها متوالیا تکرار می شوند.اما فرق یک نت در یک اکتاوتا اکتاودیگر چیست؟تفاوت دربمی وزیری صداست.درواقــــع صدای نتهـــــای واقع در اکتــاوهای بالاتر، زیرترمی شود.

فرکانس نتهای موسیقی را می توان طبق رابطه زیر به دست آورد.

fx=fbase * 2 ^(n/12)

در رابطه بالا fbase فرکانس یک نت معلوم است.مثلا نت لا که قبلا گفته شد وn فاصله کلید مجهول از کلید معلوم رو به بالاست.مثلا فرکانس نت سی از همان اکتاو،طبق زیر به دست می آید.

fsi=440*2^(2/12)=494HZ

حال شما می توانید با تولید فرکانسهای متناظر نتها به وسیله یک میکروکنترلر،موسیقی دلخواه خود را اجرا کنید.در واقع میکروکنترلر شما باید برای هر نت یک موج مربعی با فرکانس آن نت و مدت زمان کشش آن نت روی یک پین خود تولید کند.ساختن موج مربعی با میکروکنترلر کار ساده ایست.همچنین می توانید فرکانس یا پرید نتها یا عددی متناسب با آنها را به عنوان اعدادی ثابت در یک آرایه ذخیره کنید تا متناسب با هر نت آنها را از جدول استخراج کنید.

برای شروع کار می توانيد مثال زير را دانلود کنيد.

Download : AVR-Music.zip

با تشکر از مهندس امير احمدی به خاطر آپلود کردن اين فايل.

نویسنده : محمد امین مصلایی در ساعت ٧:٤٥ ‎ب.ظ روز دوشنبه ۸ خرداد ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



آشنایی با استانداردهای RS485 , RS422 ,RS232

شاید بیشترخوانندگان این مطلب با RS232 آشناباشند.در این استانداردداده سریال UART ازسطوح منطقی صفرو یک به ترتیب به سطوح ولتاژ +3~ +12 ولت و-3~ -12  ولت تبدیل می شوند.درشکل زیر شمای کلی ارتباط و نیز یک فریم RS232 رسم شده است.

همانگونه که درشکل مشاهده می شود،پس از بیت آغاز(Start bit)،هشت بیت داده به همراه بیتهای اختیاری [8] وبیت توازن[P]  ارسال می شوند وبه این صورت یک فریم داده کامل می شود.

عمل تبدیل صفرویک(مثلا 0V و5V) به ولتاژهای +12V و-12V تا حدودزیادی اثرنویزهای محیطی را کاهش می دهد.اما برای مسافتهای طولانی، Baud Rate بالا و محیطهای با اثر القاء نویزبالا،زیاد قابل اطمینان نیست.چراکه:

1-در مسافتهای طولانی اثرنویزهای محیطی بیشتر می شود.

2-در فرکانسهای بالا،تشعشع خط فرستنده،روی گیرنده اثر می گذارد.

برای حل مشکلات فوق،استاندارد RS422 پیشنهاد می شود.به این شکل که برای خروجی TXD دستگاه،یک فرستنده تفاضلی و برای ورودی RXD دستگاه، یک گیرنده تفاضلی قرار داده می شود.

طبق شکل،برای ارتباط ازنوع RS422 به 5 خط نیازاست.فرستنده تفاضلی روی خط A ، سیگنال TXD وروی خط B ، معکوس سیگنال فوق را تولید می کند.گیرنده نیز تفاضل این دو سیگنال رابه RXD دستگاه تحویل می دهد.به این صورت نویزهای محیط که به صورت مشترک روی دو سیم A و B  قرار می گیرند،درورودی گیرنده تفاضلی حذف می شوند.اما سیگنال اصلی که با دامنه معکوس روی دو سیم ارسال می شود،با صحت کامل در گیرنده دریافت می شود.همچنین به این شکل اثر تشعشع خط فرستنده روی گیرنده از بین می رود.

ارتباط RS422(مانند RS232) ازنوع کاملا دو طرفه(Full duplex) است.به این معنی که خط ارسال و دریافت برای دستگاه جدا ازهم بوده،بنابراین درآن واحد دستگاه می تواند هم فرستنده باشد وهم گیرنده. اما در RS485 این ارتباط نیمه دوطرفه(Half duplex) می باشد. به این معنی که دستگاه درآن واحد یا فرستنده است یا گیرنده. چرا که خط ارسال ودریافت یکی است.بنابراین در این سیستم،ارتباط بایدبه صورت Master و Slave انجام شود.

ارتباط به گونه ایست که Slave ها نمی توانند سرخودداده ای را ارسال کنند.بلکه Master درزمانبندیهای خاصی آدرس Slave هاراپشت سرهم می فرستدوبا آنهاارتباط برقرارمی کند.البته نرم افزار این سیستمها بسته به نیاز پروژه و سلیقه طراح قابل طراحی است.

نکته قابل تامل دراستاندارد RS485 این است که درحالت عادی خروجی Slave ها باید tri-state باشدتاروی خط ودرنتیجه روی عملکرد Master اثر نگذارندوفقط وقتی که قرار است داده ای ارسال کنند،به خط متصل شوند.

به همین شکل ورودی Master فقط بایدوقتی فعال شودکه قراراست داده ای ازSlave مربوط بگیرد.چرا که در غیراین صورت،داده های ارسالی خود Master ، توسط Master دریافت می شوند.البته درباره آنچه گفته شد،شاید راهکارهای دیگری بسته به نیاز پروژه وجود داشته باشد.

 

نویسنده : محمد امین مصلایی در ساعت ۱۱:٢٠ ‎ب.ظ روز پنجشنبه ۱٤ اردیبهشت ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



برنامه نویسی چند سر نخی(Multi Thread Programming)

چنانچه با این مبحث برنامه نویسی تحت ویندوز آشنایی نداشته باشید احتمالا قبلا با مشکلاتی در این زمینه روبرو شده اید.اکثر برنامه ها ونرم افزارهای تحت ویندوز اعمال خود را در سرنخ(Thread)های جدا انجام می دهند.در واقع هرThreadمحل انجام قسمتی از برنامه است که با برنامه اصلی تلاقی ندارد.به این معنی که برنامه اصلی قسمتی از وظایف خود را به یک Threadواگذار می کندتا خودش به اجرای وظایف دیگری بپردازد.به این ترتیب هم برنامه اصلی و هم Threadهای آن همزمان به اجرای برنامه خود ادامه می دهند.این قابلیت به برنامه شما اجازه می دهد که درآن واحدبه انجام چندین وظیفه بپردازد.

فرض کنید بخواهیم فرمی طراحی کنیم که دارای دو دکمهButton1وButton2باشد.قرار بر این است که با کلیک کردن بر روی دکمهButton1،پس از 10ثانیه کپشن(Caption)دکمهButton1بهOK تغییر کند.همچنین با کلیک کردن روی دکمهButton2،کپشن این دکمه نیز"OK"شود.تا اینجا مشکلی وجود ندارد.کارهای خواسته شده را می توان در رویداد کلیک دکمه ها نوشت.برای ایجاد تاخیر هم می توان از تابع Sleepکه از توابع API ویندوزدر کتابخانه kernel32.dll است استفاده کرد.اما مشکل آنجا پیش می آید که بخواهیم در طول 10 ثانیه تاخیرمربوط بهButton1دکمهButton2را کلیک کنیم.این عمل با راه حل قبل امکانپذیر نیست.چرا که در طول این 10ثانیه،برنامه مشغول اجرای رویدادکلیکButton1است.بنابراین به کلیکButton2پاسخ نمی دهد.برای حل این مشکل می توان کد برنامه مربوط بهButton1رادریکThreadاجرا کرد تاازبرنامه اصلی پروسس نگیرد.

اکثر زبانهای برنامه نویسی تحت ویندوزامکان ایجادThreadرا دراختیاربرنامه نویس قرارمی دهند.من خودم چون با C++ Builderکار می کنم،برای برنامه نویسان دلفی وC++ Builderعرض کنم که می توانند برای ایجادThreadدر برنامه از طریق File|New|Thread Objectاقدام کنند.توضیحات تکمیلی را نیز می توانند ازHelpنرم افزار بگیرند.

نویسنده : محمد امین مصلایی در ساعت ٢:۱٢ ‎ق.ظ روز شنبه ۱٩ فروردین ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



ارتباط دهی MMC وAVR

آیا تا کنون درگیر پروژه ای شده اید که به حافظه غیرفرارخیلی بالا(چند ده یا صد مگا بایت)احتیاج داشته باشید!؟ اگر این طورباشد،حتما در ابتدا ناامید شده اید.چون این چنین حافظه ای به صورت چیپ وجود ندارد.اما برای من خیلی وقتها یک محدودیت بزرگ،باعث یک جهش بزرگ شده است.همین محدودیت باعث شدکه کارتهای مالتی مدیا(MMC) را شکار کنم.گرچه حتی خود شرکتهای سازنده این کارتها هم اطلاعات فنی آنها را به راحتی در اختیار دیگران قرارنمی دهند.اما چیزی به دست آوردم که ارزش زحمتش را داشت.

بگذریم! شما میتوانید یک MMC را با ظرفیت 128مگا بایت به قیمت حدود 10000تومان بخرید.چیزی که گفتم برای یک مهندس برق و سخت افزار خیلی وسوسه کننده است.با این حجم حافظه شما می توانید با فرکانس نمونه گیری 20کیلو نمونه در ثانیه(20ksps) و با یک A/DوD/A هشت بیتی حداقل یک ساعت و چهل و پنج دقیقه صدا ضبط کنید!و اما این کارتها مزایایی دارند که روز به روز بر کاربردشان افزوده می شود.

1-اندزه کوچکی دارند.

2-حجم حافظه بالایی دارند.

3-سرعت بالایی دارند(با ارتباط دهی SPI تا 20 مگا بیت در ثانیه)

4-سیم کشی کمی لازم دارند.

5-قیمت خیلی کمی دارند.

6-همه جا یافت می شوند.در شهرستان ما(لارستان) ، شاید برای پیدا کردن یک میکروکنترلر8051دچار مشکل شوید.ولی MMCفقط در دکه های نوشابه فروشی یافت نمی شود.

در کنار همه مزایای ذکر شده اکثر آنها فقط یک عیب دارند که به صورت سکتوری برنامه زیری می شوند.یعنی برای خواندن و نوشتن یک بایت باید کل سکتور در بر گیرنده آن بایت را خواند یا نوشت(البته مشکل بزرگی نسیت.).

در شکل زیر پینهای MMCرسم شده است.

MMCها به دو روش برنامه ریزی می شوند:MMCوSPI

کسانی که با میکروکنترلرهای جدید مثل AVR کار می کنندباید خیلی خوشحال باشند.چون می توانند به روش SPI با سرعت 8Mbps با MMC کار کنند.البته اولش کمی سخت است.

شما می توانید کارت خود را طبق شکل زیر به AVR وصل کنید.

تغذیه MMC ها می تواند بین 2.9 تا 3.6 ولت باشد.اگر بخواهید Datasheet کامل یک MMC را داشته باشید،در سایت www.alldatasheet.com کارت HB288032MM1 را جستجو کنید.این کارت 32مگابایتی است.

من خودم برای ارتباط دهی MMCبا AVR یک کتابخانه نوشته ام وبه کتابخانه های CodeVision خود اضافه کرده ام.کسانی که این کتابخانه را بخواهند،می توانند به Emailمن درخواست بفرستند تا با هزینه ای مناسب برای آنها فرستاده شود.البته با این تعهد اخلاقی که به فکر تکثیر آن مخصوصا در اینترنت نباشند.

datasheet اين کتابخانه را در زير دانلود کنيد .

Download : MMC_Lib_Help.pdf

amin.mosalaei@gmail.com

نویسنده : محمد امین مصلایی در ساعت ۱۱:٥٦ ‎ب.ظ روز پنجشنبه ۳ فروردین ،۱۳۸٥
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



رابط USB

هرچه زمان جلوتر می رود بر کاربردو محبوبیت پـــــورت USBافزوده می شود.با این روند بعید نیست که دیگر روی مادربوردهای جدید اثری از پورت پرینترو کام دیده نشود(البته با کمی اغراق).اما ارتباط دهی پورت USBبه سادگی دیگر پورتها نیست.چرا که پروتکل آن بسیار پیــچیده است و همچنین به دلیل سرعت بالا،حتی بسیاری از میکروکنترلرهای سریع نیز قادر به برقراری ارتباط کامل با آن نیستند.به همین دلیل برای ارتباط با این پورت چیپهای جانبی تولـــید می شوند تا اینکه این پروتکل را به پروتکلـــــهای ساده تر(مثل RS232,Parallel) تبدیل کنند.یکی از شرکتــــــهای فعال در این زمینه FTDIمی باشد که دو محــــصول معروف آن یعنی FT232BM وFT245BMدر بازار ایران یافـــــــت می شود.اولی مبدل سریال(RS232) و دومــی مبدل موازی است.همچنین شرکت فایل DLLآن را نیز برای برنامه نـــــویسی ارتباط دهی آن در اختیار شما قرار می دهد.من خودم با مبدل سریال آن کار کرده ام و با سرعـــــت بالا(2Mbps) جواب گرفته ام.اوایل قیـــــــمت این چیپ گران بود(15000تومان).چون فکر می کنم جزو اولین کـــــاربرهای آن بودم.اما اکنون با بیشتر شدن کاربرداین چیپ قیمت آن تا 8000تومان هم رسیده است.

نویسنده : محمد امین مصلایی در ساعت ۸:٠٤ ‎ب.ظ روز دوشنبه ٢٩ اسفند ،۱۳۸٤
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس



ارتباط از راه دور به وسیله اشعه مادون قرمز

در این مبحث نگاهی به فرستنده و گیرنده های مادون قرمز می اندازیم.در شکل زیر یک پیکربندی ساده فرستنده و گیرنده مادون قرمز رسم شده است.

در شکل بالا مقاومت R در فرستنده برای تنظیم جریان LEDفرستنده قرار داده شده است.برای فرستنده جریان مناسب 20-40 میلی آمپر است.در گیرنده،همانگونه که مشاهده می شود،LEDگیرنده به صورت معکوس بایاس می شود.در واقع LEDگیرنده به صورت یک مقاومت متغیر در برابر اشعه مادون قرمز عمل می کند.به این شکل که با دریافت اشعه مادون قرمزمقاومت آن به شدت افت پیدا می کندوولتاژپایه منفی مقایسه گررا کاهش می دهدتا اینکه خروجی آن یک(Vcc) شود.پس مقدارR1باید طوری باشد که بسته به نوع گیرنده،در شرایط بدون اشعه،ولتاژپایه معکوسگر مقایسه کننده بالاتر از ولتاژپایه غیر معکوسگر آن،و در حضور اشعه،عکس این حالت برقرارباشد.پتانسیومتر VR1 هم به منظور تعیین ولتاژ مرجع قرار داده شده است.

 

مدار فوق فقط برای فاصله های کوتاه(حد اکثر 1 متر) خوب جواب می دهد.چرا!؟

به این دلیل که LEDگیرنده به شدت تحت تاثیر نور محیط قرار می گیرد ودر واقع نویز محیط روی آن اثر می کندوباعث می شود که مثلا در روز و شب عملکرد متفاوتی از خود نشان دهد یا اینکه با روشن وخاموش کردن یک لامپ پاسخ آن تغییر کند.برای حل این مشکل یک راه حل پیشنهاد داده می شود و آن این است که برای گیرنده یک فیلتر میان گذر با کیفیت بالا قرار داده شود که فقط یک فرکانس خاص را عبور دهدو در مقابل فرستنده نیز طوری طراحی شود که فرکانس مناسب گیرنده را توکید کندو ار طریق LEDفرستنده ارسال کند.به این ترتیب بسیاری از نویزهای محیط که با فرکانسهای متفاوت انتشار می یابند،بی اثر می شوند.

تمام آنچه در بالا گفته شد،در سنسورهای گیرنده نظامی وتلویزیونی انجام شده است.در شکل زیر پیکر بندی این سنسورهارسم شده است.

عملکرد نوع نظامی ونوع تلویزیونی سنسورها بسیار شبیه است.تنها تفاوت در فرکانس میانی فیلتر آنهاست(برای نوع نظامی 37.9 KHz و برای نوع تلویزیونی حدود 25KHz).همچنین نوع نظامی فیلتر داخلی دقیقتری دارد.پس خطای فرکانسی فرستنده باید بسیار کم باشد.در هر دو نوع در حالت عادی خروجی یک(Vcc) است و با رسیدن اشعه مادون قرمز با فرکانس مناسب،خروجی صفر می شود.

 

 

نویسنده : محمد امین مصلایی در ساعت ٥:٤٩ ‎ب.ظ روز یکشنبه ٢۸ اسفند ،۱۳۸٤
Comments نظرات ديگران      لینک دائم      افزودن به دلیشس