توضیحات

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

راه اندازی سنسور فشار ST09

در این پروژه سنسور فشار ST09 با میکروکنترلر AVR و با استفاده از کامپایلر بیسکام راه اندازی شده است.

میکروکنترلر استفاده شده در این پروژه ATmega8 می باشد. و با استفاده از سنسور فشار استفاده شده در این پروژه می توان تا ۱۰ بار را راه اندازی کرد.

 

مشخصات سنسور فشار ST09 از قرار زیر است:

. اندازه گیری فشار تا ۱۰ بار

. جریان خروجی از ۴ میلی آمپر تا ۲۰ میلی آمپر

. تغذیه سنسور از ۹ ولت تا ۳۰ ولت

 

خروجی این سنسور از طریق دو الکترود قابل دسترسی است. خروجی این سنسور در حالت بدون فشار یعنی در صفر بار، ۴ میلی آمپر می باشد. و با افزایش فشار جریان خروجی نیز متناسب با آن تغییر می کند. خروجی این سنسور تحت فشار ۱۰ بار ۲۰ میلی آمپر می باشد. برای راه اندازی این سنسور نیاز به ADC ( مبدل آنالوگ به دیجیتال ) داریم. ولی خروجی این سنسور ولتاژ نیست بلکه خروجی آن جریان می باشد. برای تبدیل جریان به ولتاژ نیاز به یک مقاومت داریم.

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

ولتاژ دوسر این مقاومت متناسب با جریان عبوری تغییر خواهد کرد. پس با اندازه گیری ولتاژ دو سر مقاومت می توان از جریان سنسور مطلع شد.

برای اندازه گیری ولتاژ می توان از ADC داخلی میکروکنترلر استفاده کرد. در این پروژه ما AVCC میکروکنترلر AVR را به عنوان مرجع ADC پیکره بندی میکنیم. ولتاژ این مرجع ۵ ولت می باشد. و این به این معنا است که بیشترین ولتاژی را که می توان اندازه گرفت ۵ ولت است. پس مقدار مقاومت متصل شده به سنسور فشار باید به اندازه ای انتخاب شود که در حالتی که بیشترین جریانی از آن می گذرد ولتاژ دو سر آن از ۵ ولت بیشتر نشود.

مقدار این مقاومت از رابطه زیر بدست می آید:

R=V/I=5V/0.02A=250Ω

 

ولتاژ دو سر مقاومت برای مقاومت ۲۵۰ اهم زمانی که جریان ۲۰mA از آن عبور می کند ۵ ولت خواهد بود. و در حالت بی بار که جریان ۴mA از آن عبور میکند ولتاز ۱ ولت می باشد.

در صورتی که بخواهید از مرجع داخلی میکروکنترلر که مقدار آن ۲٫۵۶ ولت می باشد برای مرجع ADC استفاده کنید مقدار این مقاومت باید ۱۲۸ اهم باشد:

R=2.56V/0.02A=128Ω

شماتیک این پروژه از قرار زیر است:

جهت مشاهدد تصویر در اندازه واقعی بر روی آن کلیک کنید.

 

برنامه این پروژه به زبان بیسیک و با کامپایلر بیسکام تهیه شده است. که آن را به راحتی می توانید برای کامپایلر های دیگر تغییر دهید.

برای نمایش مقدار اندازه گیری از دستور Print استفاده شده است. این دستور از واحد UART میکروکنترلر استفاده می کند و خروجی آن از طریق پایه TX میکروکنترلر قابل دسترسی است.


برنامه این پروژه از قرار زیر است:

$regfile = “M8DEF.DAT”
$crystal = 8000000

$baud = 9600


‘configure ADC
Config Adc = Single , Prescaler = Auto , Reference = Avcc


‘ADC conversion result
Dim C As Long
‘Depth in cm
Dim D As Long
‘Pressure * 10 at 100m
Const X = 98
‘D =((C*5000000)/256-4000000)/(16*X)
Const Z1 = 5000000 / 256
Const Z2 = 16 * X


‘power ADC
Start Adc

Do
. C = Getadc(0)
. D = C * Z1
. D = D 4000000
. D = D / Z2
. Print “Depth: “ ; D ; “cm”
. Wait 1
Loop End

 

جهت دانلود فایل های این پروژه اینجا کلیک کنید. ( ۴۲KB )


این پروژه توسط تیم M32 از منبع زیر ترجمه شده است. جهت کسب اطلاعات تکمیلی به منبع اصلی مراجعه نمایید.

 

منبع:

http://aquaticus.info/pressure_sensor

 

 

فروردین ۱۴ام, ۱۳۹۱ | 11,550 views | دسته: ADC، Bascom AVR، RS232
برچسب ها: ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ،


نظرات دیگران در مورد این مطلب:
پویا :

سلام

خسته نباشید بابت سایت خیلی خوبتون که واقعا اطلاعات جامعی توشه دوم یه سوال داشتم به فرض یه سنسور داریم که خروجیش ۵میلی ولت هست ومیخوام اگه از این حد پایین تراومد یکی ازپایه هارو برام یک کنه تا یه رله رو فعال کنم اگه برنامه شو بخوام به زبان بیسیک بنویسم چطوری میشه فقط ازتون خواهش میکنم برنامشو برام بفرستید حداقل راهنماییم کنیدباور کنید ازحداقل ۱۰نفرپرسیدم ولی کسی جواب درستی بهم نداده یکی میگه من زبان سی کار میکنم یکی میگه من نمیدونم و… اگه ضروری نبود باورکنید مزاحمتون نمیشدم بازم شرمنده منتظر ایمیلتون هستم خیلی ممنون


افزودن نظر: