اطلاعیه

Collapse
No announcement yet.

دلیل استفاده از ولتاژ مرجع خارجی

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

    #16
    پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

    نوشته اصلی توسط shapour نمایش پست ها
    با سلام
    خطا داشتن در مقدار خواندن مقادیر با پایداری یک سیستم دو مقوله جدا از هم است
    در صورت داشتن پایداری(داشتن در صد خطای ثابت ) مسئله مهمی نیست و با نوشتن یک زیر برنامه کوچک میتوان بدون مولتی ترن و ... خطا را درست کرد اگر هم خواستید عرض میکنم ولی مسئله مهم ناپایداری سخت افزار( تاثیر دما و نوسانات ولتاژ و ...) است که در انتخاب قطعات ونوع چینش و طراحی مدارچاپی باید انجام داد و فکر میکنم که ایجاد بحث هم برای این موضوع بود
    استفاده از
    رفرنس خارجی و ریگلاتورهای حداقل اگر نتوانیم فابریک(ساخت کاخانه اصلی دارای برند) بخریم از اوریجینال(ساخته شده تحت لیسانس) باید استفاده بشود بحث شما در مورد اجناس کپی و بدتر از آن فیک می باشد اگر به بعضی از سایت های فروش قطعات (برای جلو گیری از تبلیغات عرض نمی شود) مراجعه کنیم می بینیم که مثلا 7805 به قیمت 1200 تومان هم هست و هم تا 3600 تومان هم قیمت زده
    اگر بخواهیم تولید با کیفیت انجام بدهیم باید قطعات باکیفیت و طراحی صحیح استفاده بکنیم بعدا خیلی از این نوع ایرادات کوچک را با برنامه نیز میتوان حل کرد
    با سلام و تشکر فراوان دوست عزیز:
    با توجه به راهنمایی ها به مشکل اساسی خودم پی بردم .وقتی به فرض 5 تا برد ، که همگی از یک نوع قطعات مونتاژ شده است را عملا تست میکنم می بینم در حد چند واحد( از 1 تا 5 واحد) برد های مونتاژ شده مقداری متفاوت را نمایش میدهند؛به این علت مجبور میشیم از مولتی ترن استفاده کنیم. فرمودین "با نوشتن یک زیر برنامه کوچک میتوان بدون مولتی ترن و ... خطا را درست کرد اگر هم خواستید عرض میکنم". لطفا با یک مثال اگر میشه راهنمایی بفرمایید چگونه این زیر برنامه را بعد از دستور زیر اضافه کنم که این خطا درست بشه .سپاسگزارم
    کد:
    ada_data=read_adc(0);
    temp=ada_data/2;
    جدیدترین ویرایش توسط amiri333; ۱۴:۳۱ ۱۳۹۸/۱۱/۰۶.

    دیدگاه


      #17
      پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

      نوشته اصلی توسط amiri333 نمایش پست ها
      با سلام و تشکر فراوان دوست عزیز:
      با توجه به راهنمایی ها به مشکل اساسی خودم پی بردم .وقتی به فرض 5 تا برد ، که همگی از یک نوع قطعات مونتاژ شده است را عملا تست میکنم می بینم در حد چند واحد( از 1 تا 5 واحد) برد های مونتاژ شده مقداری متفاوت را نمایش میدهند؛به این علت مجبور میشیم از مولتی ترن استفاده کنیم. فرمودین "با نوشتن یک زیر برنامه کوچک میتوان بدون مولتی ترن و ... خطا را درست کرد اگر هم خواستید عرض میکنم". لطفا با یک مثال اگر میشه راهنمایی بفرمایید چگونه این زیر برنامه را بعد از دستور زیر اضافه کنم که این خطا درست بشه .سپاسگزارم
      کد:
      ada_data=read_adc(0);
      temp=ada_data/2;
      چندین راه وجود دارد که سادهترین آن که من بیشتر مواقع استفاده میکنم را عرض میکنم
      مثلا ما می خواهیم ولتاژ حداکثر 10 ولت را بخوانیم بشرط اینکه دهم ها هم برای ما مهم است (پس مقدار واقعی خوانده شده ار ADC باید 100 باشد) و فرض را بر این میگیریم که حداکثر تلرانس قطعات 5 درصد می باشد پس ما اگر صد تا هم دستگاه بسازیم و ولتاژ 10 ولت را بخواهیم بخوانیم بین 95 تا 105 خوانده میشود
      مقادیرتقسیم مقاومتی را طوری انتخاب میکنیم که با اعمال ولتاژ 10 ولت مقدار 110 خوانده شود (با در نظر گرفتن همان تلرانس 5 درصد مقدارخوانده شده بین 100 و 110 خواهد بود ) یک متغیر در ایپرام میکرو تعریف میکنم و نام آن را مثلا V_Telorans میگذاریم مقدار این متغییر را هم درموقع تعریف کردن 255 قرارمیدهیم ما میدانیم که باید موقع اعمال ولتاژ 10 ولت بایستی عدد 100 نمایش داده شود پس هر عددی که بالاتر از 100 بخوانیم تلرانس قطعات است
      کالیبره میکروبصورت اتوماتیک:
      برنامه را طوری مینویسیم که در اولین بار که میکرو را به ولتاژ وصل میکنیم (حالااز کجا بدانیم که میکرو را کی اولین بار است که به ولتاژ وصل کردیم ؟ اگر دقت نمایید مقدار متغیر 255 گذاشتیم و حداکثر تلرانس ما هم 10 است با تست مقدار متغیر) با اعمال ولتاژ 10 ولت عدد 100 را از مقدار خوانده شده کسر میکنیم و در متغیر ذخیره میکنیم ودر دفعات بعدی (مقدار متغیر تغییر کرده) بعد از خواندن مقدار ADC مقدار ذخیره شده در متغیرV_Telorans را ازمقدار خوانده شده کسر میکنیم مقدار واقعی نمایش داده میشود
      به همین راحتی
      جدیدترین ویرایش توسط shapour; ۲۰:۰۵ ۱۳۹۸/۱۱/۰۶.

      دیدگاه


        #18
        پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

        نوشته اصلی توسط shapour نمایش پست ها
        چندین راه وجود دارد که سادهترین آن که من بیشتر مواقع استفاده میکنم را عرض میکنم
        مثلا ما می خواهیم ولتاژ حداکثر 10 ولت را بخوانیم بشرط اینکه دهم ها هم برای ما مهم است (پس مقدار واقعی خوانده شده ار ADC باید 100 باشد) و فرض را بر این میگیریم که حداکثر تلرانس قطعات 5 درصد می باشد پس ما اگر صد تا هم دستگاه بسازیم و ولتاژ 10 ولت را بخواهیم بخوانیم بین 95 تا 105 خوانده میشود
        مقادیرتقسیم مقاومتی را طوری انتخاب میکنیم که با اعمال ولتاژ 10 ولت مقدار 110 خوانده شود (با در نظر گرفتن همان تلرانس 5 درصد مقدارخوانده شده بین 100 و 110 خواهد بود ) یک متغیر در ایپرام میکرو تعریف میکنم و نام آن را مثلا V_Telorans میگذاریم مقدار این متغییر را هم درموقع تعریف کردن 255 قرارمیدهیم ما میدانیم که باید موقع اعمال ولتاژ 10 ولت بایستی عدد 100 نمایش داده شود پس هر عددی که بالاتر از 100 بخوانیم تلرانس قطعات است
        کالیبره میکروبصورت اتوماتیک:
        برنامه را طوری مینویسیم که در اولین بار که میکرو را به ولتاژ وصل میکنیم (حالااز کجا بدانیم که میکرو را کی اولین بار است که به ولتاژ وصل کردیم ؟ اگر دقت نمایید مقدار متغیر 255 گذاشتیم و حداکثر تلرانس ما هم 10 است با تست مقدار متغیر) با اعمال ولتاژ 10 ولت عدد 100 را از مقدار خوانده شده کسر میکنیم و در متغیر ذخیره میکنیم ودر دفعات بعدی (مقدار متغیر تغییر کرده) بعد از خواندن مقدار ADC مقدار ذخیره شده در متغیرV_Telorans را ازمقدار خوانده شده کسر میکنیم مقدار واقعی نمایش داده میشود
        به همین راحتی
        با سلام : لطفا صندوق پیامهاتو چک کن

        دیدگاه


          #19
          پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

          با سلام و عرض خسته نباشید: ایا راه حل دیگری بدون استفاده از ایپرام وجود داره . با تشکر

          جدیدترین ویرایش توسط amiri333; ۰۰:۵۶ ۱۳۹۸/۱۱/۱۱.

          دیدگاه


            #20
            پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

            با سلام
            به خدا فعلا سرم خیلی شلوغ است سعی میکنم هفته بعد حتما مثال کامل با پروتئوس با کدویژن بگذارم خواهش میکنم دیگه پیام خصوصی ارسال نفرمایید
            ممنون

            دیدگاه


              #21
              پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

              نوشته اصلی توسط shapour نمایش پست ها
              با سلام
              به خدا فعلا سرم خیلی شلوغ است سعی میکنم هفته بعد حتما مثال کامل با پروتئوس با کدویژن بگذارم خواهش میکنم دیگه پیام خصوصی ارسال نفرمایید
              ممنون
              ممنونم .باشه چشم .منتظرت هستیم.باسپاس فراوان

              دیدگاه


                #22
                پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

                نوشته اصلی توسط shapour نمایش پست ها
                با سلام
                به خدا فعلا سرم خیلی شلوغ است سعی میکنم هفته بعد حتما مثال کامل با پروتئوس با کدویژن بگذارم خواهش میکنم دیگه پیام خصوصی ارسال نفرمایید
                ممنون
                مهندس وقت کردی ممنون میشیم. منتظریم.باتشکر

                دیدگاه


                  #23
                  پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

                  با سلام
                  ضمن عذر خواهی بعلت عمل نکردن بموقع به قولی که داده بودم نمونه برنامه به همراه شبیه ساز در پروتئوس را تقدیم میکنم امیدوارم مفید باشه


                  فایل کدویژن و شبیه سازی
                  جدیدترین ویرایش توسط shapour; ۱۴:۱۸ ۱۳۹۸/۱۲/۱۰.

                  دیدگاه


                    #24
                    پاسخ : دلیل استفاده از ولتاژ مرجع خارجی


                    ولتاژ مبنا در اینجا عدد 100 برای 10 ولت گذاشتم که شما متوانید تغییر بدهید
                    در اولین مرحله 10ولت مبنا به مدار میدهیم و کلید باز نشانی را در حالت فشرده میگذاریم (در اینجا برای آموزش وتکرار کلید گذاشته شده در تولید لازم نیست و همانطور که قبلا گفتم با مقایسه عدد 255 خود بخود کالیبره میشود) در موقعی که کلید فشرده شده مقدار واقعی خوانده شده در سونسگمنت ها نمایش داده میشود ومیتواند هر عددی بزرگتر از عدد مبنا باشد ولی ترجیحا 10 در صد تلرانس در نظر میگیریم ( مثلا 110)
                    با رها کردن کلید مبنا نمایش داده میشود و بصورت اتو ماتیک از این به بعد کالیبره میشود
                    جدیدترین ویرایش توسط shapour; ۱۴:۳۶ ۱۳۹۸/۱۲/۱۰.

                    دیدگاه


                      #25
                      پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

                      اگر کلیه نوشته های اضافه را پاک کنیم اصل کدها را در پایین می آورم

                      const unsigned int Base_voltage = 100; // تعیین عدد مبنا
                      #define Read_Volt() read_adc(4); // تعیین کانال


                      //--------------------------------------


                      eeprom float EE_V_Telorance = 255.0; // تعریف متغیر در ایپرام
                      unsigned char i;


                      //=========================================================================================


                      //**************************************************************************
                      //
                      //**************************************************************************
                      int Read_Voltage(void)
                      {
                      unsigned int Volt_ADC_DATA = 0; // ADC تعیین متغیر برای مقدار

                      for(i=0 ;i<10 ;i++) // ADC چندین بار خواندن
                      {
                      Volt_ADC_DATA += Read_Volt();
                      delay_ms(3);
                      }

                      Volt_ADC_DATA /= 10;
                      Volt_ADC_DATA = (float)(Volt_ADC_DATA * 2.56)/10.23;
                      delay_ms(10);

                      if(EE_V_Telorance == 255.0) // اگر اولین بار باشد مقدار مبنای تلرانس محاسبه شود
                      {
                      EE_V_Telorance = (float)Volt_ADC_DATA / Base_voltage;
                      delay_ms(10);
                      }
                      else // مقدار واقعی ولتاژ با کسر تلرانس برگشت داده میشود
                      {
                      Volt_ADC_DATA = (float)Volt_ADC_DATA /EE_V_Telorance;
                      return(Volt_ADC_DATA) ;
                      }

                      }




                      وهرکجا که به مقدار احتیاج داشته باشیم فراخوانی میکنیم

                      متغییر = Read_Voltage();
                      جدیدترین ویرایش توسط shapour; ۱۹:۲۹ ۱۳۹۸/۱۲/۱۰.

                      دیدگاه


                        #26
                        پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

                        سلام مهندس خسته نباشید: سپاسگزاریم.دستت طلا
                        شرمنده پرتیوس ورژن بالا ندارم فایل شما را بازش بکنم توی 7.1 ترسیمش کرده ام
                        ic u2 چیه ؟ LM33?
                        باتشکر

                        جدیدترین ویرایش توسط amiri333; ۱۳:۳۴ ۱۳۹۸/۱۲/۱۱.

                        دیدگاه


                          #27
                          پاسخ : دلیل استفاده از ولتاژ مرجع خارجی

                          نوشته اصلی توسط amiri333 نمایش پست ها
                          سلام مهندس خسته نباشید: سپاسگزاریم.دستت طلا
                          شرمنده پرتیوس ورژن بالا ندارم فایل شما را بازش بکنم توی 7.1 ترسیمش کرده ام
                          ic u2 چیه ؟ LM33?
                          باتشکر

                          منبع تغذیه متغیر است که کامل در پوشه گذاشتم

                          دیدگاه

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