بازدیدها: 467
با عرض سلام خدمت دوستان
این هم یه پروژه خوب برای یادگیری و کار کردن با مبدل آنالوگ به دیجیتال AVR همچنین طریقه استفاده و راه اندازی و برنامه نویسی سنسور LM35 که امیدوارم به کارتون بیاد.
نکته مهم و اساسی در تنظیمات ADC برای اندازه گیری دقیق دما تنظیم Reference می باشد.
Reference ولتاژ مبنا ای می باشد میکرو نسبت آن ولتاژ آنالوگ را به دیجیتال تبدیل می کند.
Reference = Internal :
با انتخاب این تنظیم ولتاژ مرجع برابر 2.56 ولت می شود که این ولتاژ دقیق در داخل خود میکرو تولید می شود.
در این حالت مقدار خوانده شده توسط دستور:
W = Getadc (0)
در مد Internal محتوای متغییر W باید بر 4 تقسیم شود. W=W/4
Reference = AVCC :
در این مد ولتاژ مبنا از خارج و توسط پایه AVCC انتخاب می شود که اگر این پایه را توسط یک سلف 10 میکرو هانری به VCC وصل کنیم یعنی AVCC=5v آنگاه:
باید محتوای متغییر W بر 2 تقسیم شود. W=W/2
بهترین حالت مد اولی می باشد یعنی Reference = Internal
بنابراین با تغییرات ولتاژ ورودی در محدوده تقریبا 0.1 تا 0.5 تاثیری بر اندازه گیری دقیق دما نخواهد داشت.
ولی در مد AVCC با تغییرات جزئی ولتاژ حتی 0.2 ولت هم حدود 2 درجه در اندازه گیری دما خطا ایجاد می شود.
خوب Config ال سی دی و میکرو و که دیگه بلید (توی قسمت های آموزشی AVR گفته شده)
توضیحی در مورد دستور Select به کمک این دستور شما می توانید یک متغییر را انتخاب کنید و بر اساس محتوای اون متغییر دستوراتی بنویسید و اون کارایی مورد نظر را پیاده کنید. مثلا من در اینجا متغیر Temp را انتخاب کردم و نوشته ام که اگر دما بین 25 تا 32 باشه پیغام STATUS: MEDIUM رو روی ال سی دی نمایش بده و LED L رو هم روشن کن و سایر انتخاب ها که تو برنامه هست.
Select Case Temp
…
End Select
گفتیم که در مد Internal باید W را بر 4 تقسیم کنیم یعنی هرچی که از کانال 0 وارد شد رو بر چهار تقسیم کنیم ولی ما در این برنامه بر 20 تقسیم کردیم که علت این کار هم این هست که ما در موقع خوندن دما یک حلقه FOR تعریف کردیم که این حلقه در هر 20 میلی ثانیه یک بار دما رو می خونه و به متغیر E اضافه می کنه علت این کار اینکه 5 بار دما رو بخونیم و بعد یه میانگین ازش بگیرم که باعث بالا رفتن دقت میشه. 20=5*4
و با کمک دستور Mod باقی مانده این تقسیم رو تا دو رقم اعشار بدست میاریم.
و W = Getadc(0) هم منظور اینکه از کانال 0 مقدار آنالوگ رو بخون که این میکرو 8 کانال مبدل آنالوگ به دیجیتال داره.
امیدوارم که مورد رضایت شما باشه
موفق باشید.
![]() | کد پروژه: MCP-41 | پروژه کنترل دور فن یا موتور توسط سنسور دما | ![]() |
![]() | کد پروژه: MCP-29 | پروژه دماسنج ساده با avr | ![]() |
![]() | کد پروژه: MCP-16 | پروژه ولت متر DC و دماسنج با avr | ![]() |
![]() | کد پروژه: MCP-45 | کنترل و برنامه ریزی دو رله با زمان یا دما | ![]() |