سنسور اندازه گیری سطح آب
نمایشگر اندازه سطح آب
در این پروژه میخواهیم سطح آب موجود در یک تانکر را با استفاده از نمایشگرهای LED نمایش دهیم. برای این منظور سه طراحی مختلف را در نظر میگیریم. طراحی به کمک ترانزیستور، طراحی به کمک IC درایور LED، و طراحی به کمک میکروکنترلر AVR.
طراحی نشانگر سطح آب به کمک ترانزیستور
در این طراحی که ۵ سطح از مقدار آب را نشان می دهد از ۵ سوئیچ ترانزیستوری استفاده میکنیم. همانطور که در شکل مشاهده می شود ولتاژ dc ورودی مدار ما در پایین ترین سطح آب است. با رسیدن سطح آب به هریک از الکترودها ترانزیستور مربوطه فعال شده و LED مربوط به این ترانزیستور روشن میشود. به این ترتیب مشخص میشود که آب در کدام یک از این ۵ سطح قرار دارد.
درب و الکترود ۵ ولتی که در پایین ترین سطح آب قرار دارد ولتاژی را در آب القا میکند. هر یکی از الکترودهای دیگر که به بیس ترانزیستور متصل است در اثر تماس با آبی که این ولتاژ ۵ ولتی به آن اعمال شده جریان کمی به بیس آن وارد میشود و این جریان ناچیز باعث روشن شدن ترانزیستور و در نتیجه روشن شدن LED مربوطه می شود.به دلیل اینکه ترانزیستور BJT با جریان تحریک می شود مقاومت بیس پایین گذاشتیم که کوچکترین ولتاژ اعمال شده به بیس نیز بتواند ترانزیستور را روشن کند.. بنابراین دلیل گذاشتن مقاومت نسبتاً کم در بیس مشخص میشود. یک مدار عملیاتی از طراحی فوق در زیر آورده شده است.
طراحی نشانگر سطح آب به کمک ULN2003
در طراحی که به کمک ترانزیستور انجام دادیم تعداد المان های استفاده شده زیاد بود. می توان برای طراحی یک مدار کم حجم در با المانهای کمتر از IC ULN2003 استفاده کرد. این IC یک درایور عمومی برای LED ها و موتور ها می باشد. که می توان با استفاده از آن جریان لازم برای روشن شدن LED ها و موتورها را تامین نمود. در واقع این IC میتواند از یک جریان پایین و یا یک میکروکنترلر و یا مدارات دیگر فرمان گرفته و جریان مناسبی را برای بار خود که می تواند LED یا موتور باشد تامین کند. برای مثال می توان مدار زیر را پیشنهاد داد. همانطور که مشاهده می شود به محض اینکه صفحه آب به پایین ترین سطح خود برسد یک بازر فعال شده و و هشدار می دهد. میتوان به جای این بازر از یک رله استفاده کرد و مثلاً یک شیر آبی را قطع کرد یا وصل کرد. مشابه همین مدار را میتوان برای طراحی قبلی نیز به کار برد، بدین صورت که ترانزیستوری که در آخرین مرحله روشن میشود به جای آنکه یک LED را روشن کند بوبین یک رله را فعال کند و یا یک بازر را به صدا درآورد. شماتیک طراحی ذکر شده در زیر آورده شده است.
طراحی نشانگر سطح آب به کمک میکروکنترلر AVR
اگر بخواهیم این نشان دهنده ما قابلیت های متعددی داشته باشد و کمی پیشرفته تر شود مثلاً بخواهیم سطح آب را روی یک LCD نمایش دهیم و یا رله های متعددی را با توجه به سطح آب آب روشن کنیم و یا اینکه مثلاً بخواهیم در هر سطحی که آب قرار دارد عمل ویژهای انجام دهیم مثلاً شیر خاصی را باز کرده یا ببندیم و از این دست امکانات، مجبوریم یک میکروکنترلر به پروژه اضافه کنیم. در این حالت LED ها برداشته شده و فرمان مستقیما به میکروکنترلر وارد می شود. می توان از طراحی اول ترانزیستوری و یا از طراحی دوم که به کمک ULN2003 انجام گرفت برای این منظور استفاده کرد. برای توضیحات بیشتر مدار زیر را ببینید.
همانطور که مشاهده میشود قسمت اول مدار دقیقا مشابه با دو طراحی قبلی می باشد. چیزی که عوض شده نشان دهنده های LED است که به جای آن فرمان مستقیم به میکروکنترلر وارد شده است. با توجه به مقداری که روی پورت میکروکنترلر خوانده می شود می توان سطح آب را تشخیص داد. کدی که برای این منظور استفاده شده تا مقدار آب خوانده شود به صورت زیر است.
همانطور که مشاهده می شود در مدار زیر مقدار خوانده شده در سطح آب روی ال سی دی نمایش داده میشود. میتوان همانطور که دیده می شود می توان به کمک رله ای که گذاشته شده است ادواتی مثل شیر برقی و .. را کنترل کرد.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.