جمعه, فروردین 10, 1403
More

    پروژه ولت متر DC با میکرو AVR

    در این پست از سایت امیک, پروژه ساخت یک ولت متر DC با استفاده از ADC در میکرو AVR را یاد می گیرید. در این پروژه از میکرو کنترلر ATmega16 و lcd کاراکتری 2*16 و یک پتانسیومتر برای ایجاد ولتاژ متغیر استفاده شده است. همانطور که در شبیه سازی در انتهایی مطلب مشاهده می کنید این ولت متر ولتاژ 0 تا 25 ولت را اندازه گیری می کند که رنج اندازه گیری مناسبی می باشد البته می توان ولتاژهای بیشتر از 25 ولت را هم با این ولت متر اندازه گیری کرد ولی باید از مقاومت های با توان بالا استفاده کنید که بخاطر داغ شدن زیاد اسیب نبینند. در ادامه شماتیک این پروژه قرار داده شده است :

    همانطور که گفته شد ولتاژی که قرار است اندازه گیری شود توسط پتانسیومتر ایجاد می شود که ما از منبع ولتاژ 25 ولت استفاده کرده ایم, بنابراین محدود تغییرات ولتاژ پتانسیومتر از 0 تا 25 ولت است. ما نمی توانیم ولتاژ بیشتر از 5 ولت را به میکروکنترلر avr بدیم, پس لازم است که این ولتاژ متغیر 0 تا 25 را به بازه 0 تا 5 تبدیل کنیم . ما این کار را توسط دو مقاومت R1 و R2 انجام میدهیم, این مقاومت ها یک تقسیم ولتاژ ساده ایجاد می کنند و ولتاژ را برای جلوگیری از اسیب دیدن میکرو در محدوده 0 تا 5 تبدیل می کنند. ما در برنامه نویسی این ولتاژ تقسیم شده را برای نمایش روی LCD دوباره به بازه 0 تا 25 تبدیل می کنیم . 

    توجه کنید که مقاومت های R1 و R2 باید تلرانس (ضریب خطا) کمی داشته باشند تا ولت متر شما دقیق باشد. برای اندازه گیری ولتاژهای بیشتر از 25 ولت حتما از مقاومت های با توان بالا استفاده کنید و این ولت متر حداکثر تا ولتاژ 50 ولت را می تواند اندازه گیری کند, بیشتر از 50 ولت باعث اسیب به قطعات این پروژه خواهد شد .

    برای تنظیم کنتراست LCD می توانید پین 3 ان را به یک پتانسیومتر متصل کنید یا اینکه پین 3 را به منفی وصل کنید (من همیشه به منفی وصل می کنم و مشکلی نداره!)

    از اونجایی که از ADC میکرو استفاده کرده ایم حتما پین های 30 و 32 رو به 5 ولت (VCC) متصل کنید

     

     برنامه کدویژن :

    اگر با راه اندازی ADC در میکروکنترلر AVR اشنا نیستید حتما این پست را مطالعه کنید 

    توضیحات قسمت های مهم برنامه نوشته شده سوالی داشتید می تونید در قسمت نظرات مطرح کنید

     

    کلیپ شبیه سازی در پروتئوس :

     

     

    دانلود فایل ها

    پسورد فایل زیپ : www.emic.ir

     

     

    نظر یادتون نره…

    عابد رازانی
    عابد رازانیhttps://emic.ir/
    فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای آموزشی و طراحی و انجام پروژه مشغول هستم.

    29 نظرات

      • سلام, با توجه به مقدار مقاومت های تقسیم ولتاژ (R1 و R2) فرمول ساده بالا بدست می اید. همانطور که گفته شده ما توسط این دو مقاومت ولتاژ را کاهش می دهیم و دوباره در برنامه توسط فرمول بالا ولتاژ را به حالت اولیه خود برمی گردانیم.

    1. سلام وقتتون بخیر
      برنامه رو نوشتم پرتئوس را بستم ولی روی ال سی دی فقط نوشته ولتاژ=۲f نشون میده علتش چیه ممنون میشم راهنماییم کنید

    2. سلام وقت بخیر
      اگر ورودی این مدار را رو 2کاناله کنیم یعنیa1 اضافه کنیم
      بجز تغییری که تو حلقه while ایجاد میشه
      کد دیگه ای تغییر میکنه؟
      یا ممکنه مقدار رجیسترا عوض بشه؟
      ic atmega8535
      ممنون میشم راهنمایی کنید.

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

    4. سلام خسته نباشید خدا قوت.
      ببخشید اگر اشتباه نکنم شما از برنامه کد ویژن استفاده کردید
      امکانش هست همین ولتمتر با بسکام برام پیاده سازی کنید ( مربوط به تمرین دانشگاه )
      البته هزینش رو هم می پردازیم

    5. سلام من با فایل هگزی که تو پوشه بود ic رو پروگرام کردم ولی هیچی نمیاد روی صفحه
      برای تست ic ی برنامه دیگه ای زدم و مشکلی نداشت

      • سلام, بررسی کنید که پایه های 30 و 32 میکرو را به VCC متصل کرده باشید. همچنین پایه های تغذیه میکرو (پایه 10 و 11) را به تغذیه متصل کرده باشید. هنگام پروگرام کردن میکرو باید فرکانس ان را روی 8 مگ داخلی تنظیم کنید و حتما فیوز بیت JTAG را هنگام پروگرام کردن غیرفعال کنید.

    6. سلام مهندس وقتتون بخیر
      ممنونم بابت پروژه خوبتون
      عذرخواهی میکنم
      اگه بخوام مقدار ولتاژ رو بیارم روی 7seg
      باید چیکار کنم!؟
      ممنون میشم راهنمایی کنید.

    7. سلام ببخشید من میخوام یک ولتمر دی سی برنامه نویسی کنم که از صفر تا ۲۵۰ ولت رو اندازه گیری کنه چه تغیراتی باید انجام‌ بدم ممنون میشم اگه پاسخ بدید .

    8. سلام یه مشکلی هست تو برنامه ی من که میخوام منبع 0 تا 5 ولت تعریف کنم .به تقسیم به1023 گیر میده و جواب رو همش صفر می زنه

    9. سلام . خیلی کامل و بی نقص . هم شماتیک گذاشتید . هم برنامه رو خط به خط توضیح دادید و…. خیلی عالی . خداقوت

    10. سلام خسته نباشید
      من میخوام زمان تخلیه خازن را با استفاده از کدویژن در میکرو avr بدست بیارم اگه بتونید کمکم کنید ممنون میشم باتشکر

    11. سلام من تو پروتئوس نسخه ۸.۵چجورب برنامه بنویسم یعنی من طبق گفته تصویر بالا ۳خط اول از پایه ۳تا ۶رو نوشتم ولی خودبع خود دستورات بعدی نیامد

    12. سلام اگر بخواهیم از 0تا30 را بسنجد کدام مقاومت ها را باید تغییر بدیم ؟ و اینکه vcc هم باید 30 ولت شود؟

      • سلام, لازم نیست مقاومت ها را تغییر بدید فقط از مقاومت 1 وات به بالا استفاده کنید. نه دوست عزیز تغذیه میکرو و… 5 ولته, 30 ولت ندی همشون رو بسوزونی

    13. سلام خسته نباشید من مدا رو روی برد بورد بستم ولی رو lcd ولتاژ رو صفر نشون میده و هیچ تغییری نمیکنه نمدونم دلیلش چیه میشه کمک کنید با تشکر

    14. سلام
      خسته نباشید

      برای ساخت ولتمتر 220 ولت نیازی به تغییر فرمول محاسبه داخل برنامه نیست ؟ اگر هست چه تغییری باید اعمال بشه
      سپاس گزار میشم راهنمایی بفرمایید

    پاسخ دادن به عابد رازانی لغو پاسخ

    لطفا نظر خود را وارد کنید!
    لطفا نام خود را اینجا وارد کنید

    spot_img