اطلاعیه

Collapse
No announcement yet.

آموزش راه اندازی پتانسیومتر دیجیتال

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش راه اندازی پتانسیومتر دیجیتال

    سلام
    آموزش راه اندازی پوت دیجیتال X9C102, X9C103, X9C104, X9C503 با avr و زیر زربین بردن کاراکردش
    ماژولش اینه
    در مورد ماژولش اون مقاومت و ال ای دی برای نمایش اتصال برق و اون خاز اونطرفیش هم وصله به مثبت منفی تغذیش (نویز گیر)
    هیچ کدوم از سری آی سی هاش با هم هی چ فرقی ندارند . اصلا نیازی به ماژولش هم ندارید و میتونید خود آی سی شو بخرید و راه اندازی کنید
    دیتاشت اینو دانلود کنید x9c103
    خوب بریم ببینم چی هست اصلا
    این بلوک دیاگرامشه

    از این بلوک دیاگرام داخ ای سی چی می فهمیم
    این که ورداشتن 100 تا ترانزیستور را با یک سری مقاومت سری کردن و بیسشونو دادن به یک دیتکتور
    مورد دوم این که ما نمی تونیم هر جور دلمون خواست به سر پتانسومتر ا ولتاژ وصل کنیم باید ولتاژ مثبت به vh وصل شو د و ولتاژ کمتر به پایه ی VL
    مورد سوم این که فقط یک بایت eeprom دارد که موقیت سر وسط پتانسو متر را ذخیره کرده
    و در نهایت فقط سه تا پایه به میکرو وصل می شود که همه هم از دید میکرو خروجی باید باشند
    بدون شاخو برگ اضافه چطور می تونیم سر وسط پتانسومتر ا جا به جا کنیم ؟

    اگه پایه ی cs صفر باشد یعنی چیپ آماده ی فرمانه های ما است و در این حالت کلاک آی سی پایه ی inc خواهد بود
    و پایه ی ud جهت حرکت سر وسط را مشخص خواهد کرد
    وقتی سر وسط پتانسو متر را با دو سطر بالا تنظیم کردیم . پایه ی cs را یک می کنم در لبه ی بالا رونده ی cs موقیعت
    سر وسط توی eeprom ذخیره میشود . این یعنی اگه تغذیه را قطع کنیم و وصل کنیم . دیگر بدون نیاز به کنترلر سر وسط ولم همونجا خواد بود
    بقیه ی حالت های جدول بالا بدرد ما نمی خورد پس بی خیال میشیم
    خوب بریم سراغ برنامه
    کد:
    [COLOR=#D4D4D4][FONT=Consolas][LEFT][COLOR=#6a9955]/*******************************************************[/COLOR]
    [COLOR=#6a9955]    This program was created by the[/COLOR]
    [COLOR=#6a9955]    CodeWizardAVR V3.12 Advanced[/COLOR]
    [COLOR=#6a9955]    Automatic Program Generator[/COLOR]
    [COLOR=#6a9955]    � Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.[/COLOR]
    [COLOR=#6a9955]    http://www.hpinfotech.com[/COLOR]
    
    
    [COLOR=#6a9955]    Project : [/COLOR]
    [COLOR=#6a9955]    Version : [/COLOR]
    [COLOR=#6a9955]    Date    : 1/31/20
    [/COLOR][COLOR=#6A9955]Author  :   [/COLOR]
    [COLOR=#6a9955]    Company : [/COLOR]
    [COLOR=#6a9955]    Comments:   rah andazi pot digital whit micro[/COLOR]
    
    
    [COLOR=#6a9955]    Chip type               : ATmega328[/COLOR]
    [COLOR=#6a9955]    Program type            : Application[/COLOR]
    [COLOR=#6a9955]    AVR Core Clock frequency: 16.000000 MHz[/COLOR]
    [COLOR=#6a9955]    Memory model            : Small[/COLOR]
    [COLOR=#6a9955]    External RAM size       : 0[/COLOR]
    [COLOR=#6a9955]    Data Stack size         : 512[/COLOR]
    [COLOR=#6a9955]*******************************************************/[/COLOR]
    
    
    [COLOR=#c586c0]#include[/COLOR][COLOR=#569cd6] [/COLOR][COLOR=#ce9178]<mega328.h>[/COLOR]
    [COLOR=#c586c0]#include[/COLOR][COLOR=#569cd6] [/COLOR][COLOR=#ce9178]<delay.h>[/COLOR]
    [COLOR=#569cd6]void[/COLOR] [COLOR=#dcdcaa]up[/COLOR]()
    {
      PORTD.[COLOR=#b5cea8]4[/COLOR]=[COLOR=#b5cea8]0[/COLOR];[COLOR=#6a9955]//cs[/COLOR]
      PORTD.[COLOR=#b5cea8]3[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]); [COLOR=#6a9955]//u/d zead kardan yani sar vasat volom ba samt hvolt[/COLOR]
      PORTD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]0[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]);[COLOR=#6a9955]//inc clock ! (pin inc)[/COLOR]
      PORTD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]);
    }
    
    
    [COLOR=#569cd6]void[/COLOR] [COLOR=#dcdcaa]don[/COLOR]()
    {
      PORTD.[COLOR=#b5cea8]4[/COLOR]=[COLOR=#b5cea8]0[/COLOR];[COLOR=#6a9955]//cs[/COLOR]
      PORTD.[COLOR=#b5cea8]3[/COLOR]=[COLOR=#b5cea8]0[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]);[COLOR=#6a9955]//u/d[/COLOR]
      PORTD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]0[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]);[COLOR=#6a9955]//clock! (pin inc)[/COLOR]
      PORTD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]3[/COLOR]);
    }
    [COLOR=#569cd6]void[/COLOR] [COLOR=#dcdcaa]sev[/COLOR]()
    {
        PORTD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#dcdcaa]delay_us[/COLOR]([COLOR=#b5cea8]1[/COLOR]);[COLOR=#6a9955]//inc mast be=1[/COLOR]
        PORTD.[COLOR=#b5cea8]3[/COLOR]=[COLOR=#b5cea8]1[/COLOR];;[COLOR=#dcdcaa]delay_ms[/COLOR]([COLOR=#b5cea8]25[/COLOR]);   [COLOR=#6a9955]// seve position shar vast to EEprom![/COLOR]
    }
    
    
    [COLOR=#569cd6]void[/COLOR] [COLOR=#dcdcaa]main[/COLOR]([COLOR=#569cd6]void[/COLOR])
    {
        [COLOR=#569cd6]char[/COLOR] pp;
        DDRD.[COLOR=#b5cea8]2[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#6a9955]//INC[/COLOR]
        DDRD.[COLOR=#b5cea8]3[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#6a9955]//U/D[/COLOR]
        DDRD.[COLOR=#b5cea8]4[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#6a9955]//CS[/COLOR]
        PORTD.[COLOR=#b5cea8]3[/COLOR]=[COLOR=#b5cea8]1[/COLOR];[COLOR=#6a9955]//load moghit sar vast az to eeprom![/COLOR]
        [COLOR=#c586c0]while[/COLOR]([COLOR=#b5cea8]1[/COLOR])  [COLOR=#6a9955]//sin wave[/COLOR]
        {
            [COLOR=#c586c0]for[/COLOR](pp=[COLOR=#b5cea8]0[/COLOR];pp<[COLOR=#b5cea8]100[/COLOR];pp++)[COLOR=#dcdcaa]up[/COLOR](); [COLOR=#6a9955]//MAX 100 STEP if beshtar volom over folo Nemeshavad! (ba aval bar nemergardd)[/COLOR]
            [COLOR=#c586c0]for[/COLOR](pp=[COLOR=#b5cea8]0[/COLOR];pp<[COLOR=#b5cea8]100[/COLOR];pp++)[COLOR=#dcdcaa]don[/COLOR]();
        }  
    }[/LEFT]
    
    [/FONT][/COLOR]
    برنامه ی بالا رو کپی کنید تو تو یک جایی درست میشه فک کنم - الان بهم ریختس
    تو این برنامه سه تابع داریم بالا - پایین و ذخیره .برای کد ویژین نوشته شده .
    اما کارایی ایم ای سی توی عمل
    فوق العادس
    من توی چنتا پرژه به پوت دیجیتال نیاز داشتم اما چون فکر می کردم پوتش بیشتر از 5 ولت نمی تونیم بدیم بیخیال شدم ولی در این آی سی می تونیم منفی هم داشته باشیم یعنی منبع دوبل
    یه نکته یی که مونه اینه که سرعت عمل کردن این ای سی لیمت دارد جدول زیر ببینید

    با توجه به جدول بالا به این نتیجه می رسیم کیلویو نمی تونیم به این ای سی فرمان بدیم هر فرمان بسته به نوعش یه خورده زمان می برد و بیشترینش برای ذخیره ی موقعیت سر وسط در eeprom
    تو برنامه بالا این چیزا رعایت شده
    .
    دیگه چی مونده ....
    راستی ماکزیمم سرعت حرکت پتانسیو متر هم فرکانس 480 هرتزو دروست می کنه اینم شکل موجش اگه سر اوا پتو به مثبت 5 بزنی و سر اخر پتو به منفی 5 و پوتو با آخرین سرعت بالا پایین کنی این شکل موجو خواهی دید

    البته تو شکل بالا پوته صفر تا 100 هی بازی می کرد اگه بازه ی بازی کردنشو کمتر کنی خوب فرکانسش بیشتر میشه . مثلا اگه بازهی بالا پایین و 50 بگیری فرکانس 1 کیو رو میده
    اینو گفتم چون بعضیا گفتن میشه با اینا سیگنال ژنراتور سینوسی درست کرد
    -----
    اما نکته ی مهمتر که باید باز بشه و خبر خوبی هست اینه که این پوت می تونه فرکانس مربعی بالا 500 کیلو رو بدون خراب کردن کنترل کنه این معرکس . :various_024: و سیگنال سینوسی را تا فرکانس 1 مگا هرتز که تقریبا همه چیزو می تونیم باهاش کنترل کنیم
    دلم نمیاد فوت کوزه گری شو بهتون نگم .... یک مقاومت 10 کیلو از پایه ی cs به vcc وصل کنید
    موفق باشید

    #2
    پاسخ : آموزش راه اندازی پتانسیومتر دیجیتال

    به این POT میشه ولتاژ220 ولت وصل کرد یانه؟

    دیدگاه


      #3
      پاسخ : آموزش راه اندازی پتانسیومتر دیجیتال

      خیلی مفید بود

      دیدگاه

      لطفا صبر کنید...
      X