ر این پروژه سنسور فشار 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
درایو سنسور فشار ST09 با میکروکنترلر AVR