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





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









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





صفحه 1 از 2 12 آخرین
  1. #1
    تاریخ عضویت
    2015/01/22
    129
    7

    مشکل در adc اتمگا8

    سلام دوستان .
    من adc اتمگا 8 راه اندازی کردم و 5 ولت به avcc و aref دادم و agnd به زمین مدار وصل کردم . مشکل اینجاست که وقتی ولتاژ آنالوگ ( حدود 2.5 ولت ) به هر کدوم از پایه های adc میدم ولتاژ پایه میره روی 5.5 ولت و مقدار adc 1023 میده .حتی توی برنامه پایه ولتاژ رفرنس هم عوض کردم ( یک بار روی avcc و یکبار روی aref) ولی خوب نشد . نکته دیگه اینکه در حالت عادی روی پایه های آنالوگ 2.5 ولت هست .
    ممنون میشم راهنمایی کنید
    • تبلیغات
      .

  2. #2
    تاریخ عضویت
    2017/11/05
    Amol
    972
    547

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط rasool1370

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام دوستان .
    من adc اتمگا 8 راه اندازی کردم و 5 ولت به avcc و aref دادم و agnd به زمین مدار وصل کردم . مشکل اینجاست که وقتی ولتاژ آنالوگ ( حدود 2.5 ولت ) به هر کدوم از پایه های adc میدم ولتاژ پایه میره روی 5.5 ولت و مقدار adc 1023 میده .حتی توی برنامه پایه ولتاژ رفرنس هم عوض کردم ( یک بار روی avcc و یکبار روی aref) ولی خوب نشد . نکته دیگه اینکه در حالت عادی روی پایه های آنالوگ 2.5 ولت هست .
    ممنون میشم راهنمایی کنید
    سلام لطفا کد رو قرار بدید






    امیرحسین ضیا
  3. #3
    تاریخ عضویت
    2015/01/22
    129
    7

    پاسخ : مشکل در adc اتمگا8

    سلام ممنون

    قسمت کانفیگ adc
    // ADC initialization
    // ADC Clock frequency: 62.500 kHz
    // ADC Voltage Reference: AVCC pin
    ADMUX=ADC_VREF_TYPE;
    ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
    SFIOR=(0<<ACME);


    قسمت تابع قرائت adc
    // Voltage Reference: AVCC pin
    #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))


    // Read the AD conversion result
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | ADC_VREF_TYPE;
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=(1<<ADSC);
    // Wait for the AD conversion to complete
    while ((ADCSRA & (1<<ADIF))==0);
    ADCSRA|=(1<<ADIF);
    }return ADCW;


    داخل حلقه while
     adc=read_adc(4); 
    sprintf(lcd,"%u",adc);
    lcd_clear();
    lcd_puts(lcd);
    delay_ms(100);
  4. #4
    تاریخ عضویت
    2017/06/13
    1,393
    874

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط rasool1370

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام ممنون

    قسمت کانفیگ adc
    // ADC initialization
    // ADC Clock frequency: 62.500 kHz
    // ADC Voltage Reference: AVCC pin
    ADMUX=ADC_VREF_TYPE;
    ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
    SFIOR=(0<<ACME);


    قسمت تابع قرائت adc
    // Voltage Reference: AVCC pin
    #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))


    // Read the AD conversion result
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | ADC_VREF_TYPE;
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=(1<<ADSC);
    // Wait for the AD conversion to complete
    while ((ADCSRA & (1<<ADIF))==0);
    ADCSRA|=(1<<ADIF);
    }return ADCW;


    داخل حلقه while
     adc=read_adc(4); 
    sprintf(lcd,"%u",adc);
    lcd_clear();
    lcd_puts(lcd);
    delay_ms(100);
    سلام
    فکر نمیکنم مشکل شما نرم افزاری باشه. این سیگنالی که میگید مال چیه و از کجا میاد؟
  5. #5
    تاریخ عضویت
    2014/11/19
    Kerman
    115
    74

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط rasool1370

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام ممنون

    قسمت کانفیگ adc
    // ADC initialization
    // ADC Clock frequency: 62.500 kHz
    // ADC Voltage Reference: AVCC pin
    ADMUX=ADC_VREF_TYPE;
    ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
    SFIOR=(0<<ACME);


    قسمت تابع قرائت adc
    // Voltage Reference: AVCC pin
    #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))


    // Read the AD conversion result
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | ADC_VREF_TYPE;
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=(1<<ADSC);
    // Wait for the AD conversion to complete
    while ((ADCSRA & (1<<ADIF))==0);
    ADCSRA|=(1<<ADIF);
    }return ADCW;


    داخل حلقه while
     adc=read_adc(4); 
    sprintf(lcd,"%u",adc);
    lcd_clear();
    lcd_puts(lcd);
    delay_ms(100);

    درود

    میکرو ولتاژ آنالوگ اعمالی به پایه های ADC رو که بین 0 تا 5 باید باشه رو به عددی بین 0 تا 1023 تبدیل میکنه.
    شما برای اینکه دوباره به حالات 0 تا 5 برگردونید باید مقدار adc که داخل کدتون تعریف کردین رو ابتدا در 5 ضرب کنید سپس تقسیم به 1023 بکنید و سپس اون رو روی lcd نمایش بدین.
  6. #6
    تاریخ عضویت
    2015/01/22
    129
    7

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    فکر نمیکنم مشکل شما نرم افزاری باشه. این سیگنالی که میگید مال چیه و از کجا میاد؟
    سلام ممنون
    سیگنال ورودی با OP07 تقویت میکنم و میدم به میکرو . علت استفاده از دیود در خروجی OP07 اینه که ممکنه سیگنال ورودی منفی بشه و دیود اجازه نده که ولتاژ منفی به ADC بره.

    وقتی خروجی اپامپ از میکرو جدا میکنم و با ولت متر اندازه گیری میکنم حدود 2.5 ولته ولی وقتی وصل میکنم به میکرو میره روی 5.7 ولت .

    [IMG]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/IMG]
  7. #7
    تاریخ عضویت
    2017/06/13
    1,393
    874

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط rasool1370

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام ممنون
    سیگنال ورودی با OP07 تقویت میکنم و میدم به میکرو . علت استفاده از دیود در خروجی OP07 اینه که ممکنه سیگنال ورودی منفی بشه و دیود اجازه نده که ولتاژ منفی به ADC بره.

    وقتی خروجی اپامپ از میکرو جدا میکنم و با ولت متر اندازه گیری میکنم حدود 2.5 ولته ولی وقتی وصل میکنم به میکرو میره روی 5.7 ولت .

    [IMG]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/IMG]
    خوب این 5.7 ولت مطمئنا از سمت میکروکنترلر نمیتونه باشه! پس این تقویت کننده یه مشکلی داره. منم الآن ذهنم یاری نمیکنه که راهنمایی کنم.
  8. #8
    تاریخ عضویت
    2015/01/22
    129
    7

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خوب این 5.7 ولت مطمئنا از سمت میکروکنترلر نمیتونه باشه! پس این تقویت کننده یه مشکلی داره. منم الآن ذهنم یاری نمیکنه که راهنمایی کنم.
    درسته به نکته خوبی اشاره کردید اصلا حواسم به این نبود که تغذیه میکرو 5 و نمیتونه 5.7 ایجاد کنه .
    الان من خروجی ها دوباره اندازه گیری کردم و روی مقاومت 1 کیلو بعد از دیو 3.8 ولت افت میکنه یعنی پین میکرو 3.8 میلی جریان میکشه این طبیعه؟؟؟؟
  9. #9
    تاریخ عضویت
    2017/06/13
    1,393
    874

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط rasool1370

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    درسته به نکته خوبی اشاره کردید اصلا حواسم به این نبود که تغذیه میکرو 5 و نمیتونه 5.7 ایجاد کنه .
    الان من خروجی ها دوباره اندازه گیری کردم و روی مقاومت 1 کیلو بعد از دیو 3.8 ولت افت میکنه یعنی پین میکرو 3.8 میلی جریان میکشه این طبیعه؟؟؟؟
    اگر هم جریان بکشه یک لحظه هستش. داخل ADC یک خازن قرار گرفته که توی یک لحظه با نمونه سیگنال شارژ میشه و بعد از اون دیگه جریانی نمیکشه.
  10. #10
    تاریخ عضویت
    2015/01/22
    129
    7

    پاسخ : مشکل در adc اتمگا8

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اگر هم جریان بکشه یک لحظه هستش. داخل ADC یک خازن قرار گرفته که توی یک لحظه با نمونه سیگنال شارژ میشه و بعد از اون دیگه جریانی نمیکشه.
    من الان عیب متوجه شدم . این مدار برای درایو کردن pt100 هست من یک جریان 2.5 میلی آمپر دارم و یک ولتاژ 0.227- که جریان به pt100 وارد میشه و یک سر دیگه pt100 به 0.227- هست .
    الان مشکل اینه که با وصل میکرو به مدار ولتاژ 0.227- افزایش پیدا میکنه و با خروج میکرو از مدار مشکل حل میشه .
    ممنون میشم راهنمایی کنید.

    [IMG]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/IMG]
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 16

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

  1. کمک برای راه اندازی میکروکنترلر اتمگا8
    توسط payampirayesh در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2020/01/12, 12:45
  2. ساخت اردوینو با اتمگا8
    توسط asdsf در انجمن خانواده Arduino
    پاسخ: 0
    آخرين نوشته: 2017/09/02, 13:24
  3. مشکل - مشکل - مشکل ( حروف نا مفهوم برروی LCD)
    توسط ssaeid2000 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 11
    آخرين نوشته: 2008/10/07, 16:00

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

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

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

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