ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 20
  1. #1
    2014/11/06
    80
    4

    عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    با سلام : دوستان یک دستوری میخوام وقتی مقدار adc_in توی op ریخته میشه ،اگر تغییرات ناچیزی تا یک واحد بصورت لحظه ای (مثلا در 2 ثانیه ) توی adc_in رخ بده، توی op ریخته نشه و همان مقدار قبلی در op بماند، هدف اصلی ام این است: تغییرات لحظه ای ناچیز که زیر 2 ثانیه رخ میده ، توی صفحه نمایش داده نشه. با تشکر

    کد:
    op=adc_in; 
        sa=op/10;  
        sa1=op%10; 
        da=sa/10; 
        da1=sa%10;
  2. #2
    2008/10/24
    528
    140

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    وقت بخیر

    معمولا در این جور مواقع سعی در فیلتر کردن تغییرات دارن ! که دو تای اصلی آن مرتب کردن مقادیر خوانده شده و انتخاب میانه ها و دیگری متوسط گیری هست !! نمیشه بررسی تعییرات کرد چون خروجی مبدل عدد ثابت نیست هر لحظه تابع تغییرات وردی انالوگ هست .
  3. #3
    2014/11/06
    80
    4

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    نقل قول نوشته اصلی توسط taktrashe
    وقت بخیر

    معمولا در این جور مواقع سعی در فیلتر کردن تغییرات دارن ! که دو تای اصلی آن مرتب کردن مقادیر خوانده شده و انتخاب میانه ها و دیگری متوسط گیری هست !! نمیشه بررسی تعییرات کرد چون خروجی مبدل عدد ثابت نیست هر لحظه تابع تغییرات وردی انالوگ هست .
    با سلام و تشکر : قبلش یکی از دوستان راهنمایی کردند و اینجوری میانگین هم گرفته ام ولی در عمل چندان تفاوتی من ندیدم ! ولی یکی از دوستان با برنامه نویسی این مشکل را داشت حلش کرد ، مدارشو دیدم عالی شده بود ولی متاسفانه نگفت چطوری !
    فرض کنید ولت متری به برق شهر متصله و عدد 210 ولت را نشان میده ولی عدد صفر بعضی وقتا میشه 1 بلافاصله دوباره میشه 0 و همینجور مرتب بین صفر و یک متغییره . خصوصا در روز موقعی که جوشکاری ها و مراکز صنعتی کار می کنند ، باعث میشه این ریپل زدن بیشتر بشه. حالا راهی نداره عدد صفر یا همان (sa1=op%10 به تغییرات لحظه ای ولتاژ حساس نباشه ؟
    اگر کسی کدی ، راهی بلده این مشکل را حل کنم ممنون میشم ،واقعا حالمو گرفته و منتظر راهنمایی اساتید و دوستان عزیز هستم. با تشکر
    این فیلم را هم ببینید بد نیست مشکل را کاملا نشون میده که دیجیت سمت راستی بین عدد 8 و 7 مرتب بازی می کنه.حالا منم میخوام این ریپل ها را نداشته باشه .
    http://s6.picofile.com/file/8247207142/20160414109.rar.html
    کد:
    while(1)
    {  
         
       adc_sum = 0;    
       for(i=0; i<=49; i++){
       adc_int[i] = read_adc(0);
       adc_sum = adc_sum + adc_int[i];
       }
       adc_in = adc_sum/50;
  4. #4
    2007/05/16
    764
    42

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    سلام
    تعداد میانگیر گیریتون رو زیاد کنید مثلن 100 بار یا 200 بار، اون رو بریزید داخل یه ارایه،بعد مثلن هر 5 بار که برنامه لوپ میزنه یکبار میانگین گیری کنید واعداد ارایه رو بروز کنید و نمایش بدید. بسته به sample rate میتونید این تعداد رو کم و زیاد کنید.
    از آنجایی که آموزش ماهی گیری برای من بسیار مهم تر هستش، به همین خاطر، در این انجمن، تاجایی که بتونم جواب مطلبی رو مستقیم نمیگم و تلاش میکنم با آدرس دادن و کمی جستجو به جواب برسید. اگر عاشق الکترونیک باشید، دنبال جواب خواهید گشت.
  5. #5
    2007/05/16
    764
    42

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    سلام مجدد
    سوال هاتون رو همینجا مطرح کنید که اگر من نتونستم جواب بدم، دوستان دیگه بتونن.
    من با کدویژن کار نمیکنم ولی ظاهرن خطایی که گرفته مربوط به عدد تنظیم شده در Stack size هستش اون رو تا 450 زیادش کنید و نتیجه رو اعلام کنید.

    در توضیحاتی که دادم کدوم قسمت نامفهوم بود؟
    از آنجایی که آموزش ماهی گیری برای من بسیار مهم تر هستش، به همین خاطر، در این انجمن، تاجایی که بتونم جواب مطلبی رو مستقیم نمیگم و تلاش میکنم با آدرس دادن و کمی جستجو به جواب برسید. اگر عاشق الکترونیک باشید، دنبال جواب خواهید گشت.
  6. #6
    2014/11/06
    80
    4

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    نقل قول نوشته اصلی توسط مرتضي امانی
    سلام مجدد
    سوال هاتون رو همینجا مطرح کنید که اگر من نتونستم جواب بدم، دوستان دیگه بتونن.
    من با کدویژن کار نمیکنم ولی ظاهرن خطایی که گرفته مربوط به عدد تنظیم شده در Stack size هستش اون رو تا 450 زیادش کنید و نتیجه رو اعلام کنید.

    در توضیحاتی که دادم کدوم قسمت نامفهوم بود؟
    با سلام و تشکر:توی میانگین گیری انجوری که شما فرمودین اشتباه میکنم . متاسفانه خودم هر کاری کردم نشد. وقتی تعداد میانگین ها را به 100 تا میرسونم کدویژن ارور تصویر زیر را میده .اخه تازه واردم و نیاز به کمک دارم.
    http://uupload.ir/viewer.php?file=1s9f_j_474.jpg
    در مورد Stack size وقتی توی حلقه for مقدار i از 50 بیشتر بشه اون ارور Stack size را میده. Stack size را هم تا 450 زیاد کردم ولی متاسفانه مشکل با توجه به کد های زیر حل نشد و نوسانات لحظه ای را باز نمایش میده.
    کد:
    /*****************************************************
    This program was produced by the
    CodeWizardAVR V2.05.3 Standard
    Automatic Program Generator
    © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
    Chip type        : ATmega8
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 256
    *****************************************************/
    int adc_in=0,op=0;
    
    unsigned int read_adc(unsigned char adc_input)
      {
      ADMUX = adc_input | (ADC_VREF_TYPE & 0xff);
      delay_us(10);
      ADCSRA|=0x40;
      while ((ADCSRA & 0x10)==0);
      ADCSRA|=0x10;
      return ADCW;
      }
    
    void main(void)
    {     
      int adc_int[50];
      int i=0,adc_max=0;
      int adc_sum=0,adc_mean=0;
      
      ADMUX=ADC_VREF_TYPE & 0xff;
      ADCSRA=0x86;
      DDRC.0=0X00;
      PORTC.0=0X00;
    
    while(1)
    {  
          
       adc_sum = 0;    
       for(i=0; i<50; i++){
       adc_int[i] = read_adc(0);// read adc value at PORTC.0
       adc_sum = adc_sum + adc_int[i];
       }
       adc_mean = adc_sum/50;   
       op=adc_in; 
       sa=op/10;  
       sa1=op%10; 
       da=sa/10; 
       da1=sa%10;
    }
    }
    از دوستان و اساتید محترم خواهشمندم این فیلم کوتاه را تا اخر ببینید چون مشکل مدار را کاملا نشون میده،در ضمن دقت کنید همیشه این مشکل وجود نداره و در روزها و ساعات مشخصی بیشتر این مشکل دیده میشه چون نوسانات برق شهر در روزها بیشتره.هدف من همینه که این نوسانات لحظه ای نمایش داده نشه
    لطفا در اصلاح کد هایی که دوست عزیز اقای مرتضي امانی راهنمایی کردند کمک کنید این مشکل را حل کنم.با
    تشکر
    لینک دانلود فیلم:
    http://s6.picofile.com/file/8247207142/20160414109.rar.html
  7. #7
    2007/05/16
    764
    42

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    توضیح بالا با تفکیک بیشتر، این مراحل رو به ترتیب انجام بدید:
    - یه آرایه 3 تایی تعریف کنید و صدگان، دهگان، یکان ولتاژتون رو داخل ذخیره و هربار که میخواید نمایش بدید، اعداد این آرایه رو بخونید و نمایش بدید.
    -یه دستور اضافه کنید که به جای اینکه در هر بار حلقه برنامه یکبار میانگیر بگیرید و نمایش بدید، مثلن هر 10 بار که حلقه می زنید، یکبار محاسبات رو انجام و نمایش بدید.
    - در آخر تعداد میانگین 40 بار کم است، حداقل تا 100 بار افزایش دهید.
    از آنجایی که آموزش ماهی گیری برای من بسیار مهم تر هستش، به همین خاطر، در این انجمن، تاجایی که بتونم جواب مطلبی رو مستقیم نمیگم و تلاش میکنم با آدرس دادن و کمی جستجو به جواب برسید. اگر عاشق الکترونیک باشید، دنبال جواب خواهید گشت.
  8. #8
    2012/02/16
    332
    14

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    درود
    مدارت رو نگفتی چطور بستی. rms رو حودت حساب می کنی یا از ای سی آماده استفاده کردی؟
    از ورودی dc دیتا می گیری یا از ac؟

    اگه ورودی adc به صورت dc هست می تونی یه فیلتر قرار بدی.
    فاصله زمانی خوندن adc رو هم می تونی زیاد کنی به صورتی که در هر 20 میلی ثانیه 50 تا نمونه بگیره.

    می تونی دیتا های پرت رو هم حذف کنی. به این صورت که بعد ار میانگین گیری دیتاهایی که زیاد با میانگین فاصله دارن حذف کنی و دوباره با دیتاهای باقی مونده میانگین بگیری.
    مـن هیچ ندانم که مرا آن که سرشت
    از اهل بهشت کرد یا دوزخ زشت
    جامی و بتی و بربطی بر لب کشت
    اين هر سه مرا نقد و تو را نسیه بهشت
  9. #9
    2014/11/06
    80
    4

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    نقل قول نوشته اصلی توسط marychi
    درود
    مدارت رو نگفتی چطور بستی. rms رو حودت حساب می کنی یا از ای سی آماده استفاده کردی؟
    از ورودی dc دیتا می گیری یا از ac؟

    اگه ورودی adc به صورت dc هست می تونی یه فیلتر قرار بدی.
    فاصله زمانی خوندن adc رو هم می تونی زیاد کنی به صورتی که در هر 20 میلی ثانیه 50 تا نمونه بگیره.

    می تونی دیتا های پرت رو هم حذف کنی. به این صورت که بعد ار میانگین گیری دیتاهایی که زیاد با میانگین فاصله دارن حذف کنی و دوباره با دیتاهای باقی مونده میانگین بگیری.
    با سلام و تشکر : از تقسیم مقاومتی صفر تا 5 ولت ا ستفاده شده.ورودی adc به صورت dc هست . لطفا میشه فیلتر قرار دادن را بیشتر توضیح بدی ،به اندازه کافی و حساب شده در تقسیم مقاومتی از خازن استفاده شده. شرمنده اگر امکان داره کدهای اخرین پست را یکی عملا پیشنهاداتش را اعمال کنه و اصلاح شده انرا بگذاره تا روی مدار تست کنم چون واقعا من مبتدی هستم و اگر خبره بودم مشکل را تا الان حل کرده بودم.شرمنده تک تک دوستان و اساتید. با تشکر فراوان
  10. #10
    2014/11/06
    80
    4

    پاسخ : عدم نمایش تغییرات لحظه ای (مثلا تا 2 ثانیه )

    نقل قول نوشته اصلی توسط مرتضي امانی
    توضیح بالا با تفکیک بیشتر، این مراحل رو به ترتیب انجام بدید:
    - یه آرایه 3 تایی تعریف کنید و صدگان، دهگان، یکان ولتاژتون رو داخل ذخیره و هربار که میخواید نمایش بدید، اعداد این آرایه رو بخونید و نمایش بدید.
    -یه دستور اضافه کنید که به جای اینکه در هر بار حلقه برنامه یکبار میانگیر بگیرید و نمایش بدید، مثلن هر 10 بار که حلقه می زنید، یکبار محاسبات رو انجام و نمایش بدید.
    در آخر تعداد میانگین 40 بار کم است، حداقل تا 100 بار افزایش دهید.
    با تشکر : فکر کنم بهترین راه همینه . ببینم چکار میکنم.
    با اتمگا8 هر کاری کردم نشد و Stack size را زیاد کردم و مشکل ظاهرا حل شده یعنی تداخل اعداد یکان را به شکلی که توی فیلم بود را نداریم ولی هر لحظه عدد سمت راست(یکان) مرتب تغییر میکنه بصورتیکه که هر بار بصورت واضح یک عدد را نشان میده.هدف کلی منم اینه اگر نوسانات بالای 1 ولت و بالای مثلا 2 ثانیه بود توی صفحه نمایش داده بشه ولی اینجوری باز نوسات را به شکلی مرتب و منظم تر نمایش میده.
    کل مشکل از عدد یکان است و باید دستوری برای اصلاح این عدد یکان نوشته بشه و ازش میانگین بگیریم و نتایج حاصله توی یکان ریخته بشه.باتشکر
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 20

موضوعات مشابه

  1. پاسخ: 7
    آخرين نوشته: 2016/06/09, 09:29
  2. نمایش خودکار تغییرات
    توسط A1377ranjbar در انجمن C , C++ , C#
    پاسخ: 0
    آخرين نوشته: 2015/12/12, 10:40
  3. محاسبه لحظه به لحظه موقعیت یک جسم چطور امکان پذیر است؟
    توسط mahdi1376al در انجمن پردازش سيگنال و هوش محاسباتي
    پاسخ: 3
    آخرين نوشته: 2014/02/14, 00:31
  4. سنسور دمایی با نشان دهی لحظه ای تغییرات
    توسط leylijoon در انجمن سنسورها
    پاسخ: 12
    آخرين نوشته: 2013/08/04, 06:16
  5. برنامه ای برای نمایش لحظه ای عکس
    توسط erfan m در انجمن نرم افزار
    پاسخ: 3
    آخرين نوشته: 2013/05/14, 21:59

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •