NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3405 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 21 به 24 از 24

موضوع: مشکل با ADC میکرو stm32f103

  1. #21
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام

    فهمیدم مشکلتون کجاست ...!

    من لایبرری GPIO رو دیدم البته منظور بنده توی هدرفایل GPIO بود که تو پست قبلی شما اشتباهی کپی کردید ... دیگه دستور NOPull نداریم یعنی وقتی شما پین رو تو مد AIN قرار بدید خودش بدون پول آپ و پول دان لحاظ میکنه
    پس پیکربندی GPIO تون درسته

    توی این قسمت هم تابع پیکر بندی مد GPIO هست

    کد:
    
    typedef enum
    { 
      GPIO_Speed_10MHz = 1,
      GPIO_Speed_2MHz, 
      GPIO_Speed_50MHz
    }GPIOSpeed_TypeDef;
    #define IS_GPIO_SPEED(SPEED) (((SPEED) == GPIO_Speed_10MHz) || ((SPEED) == GPIO_Speed_2MHz) || \
                                  ((SPEED) == GPIO_Speed_50MHz))
    
    /** 
      * @brief  Configuration Mode enumeration  
      */
    
    typedef enum
    { GPIO_Mode_AIN = 0x0,
      GPIO_Mode_IN_FLOATING = 0x04,
      GPIO_Mode_IPD = 0x28,
      GPIO_Mode_IPU = 0x48,
      GPIO_Mode_Out_OD = 0x14,
      GPIO_Mode_Out_PP = 0x10,
      GPIO_Mode_AF_OD = 0x1C,
      GPIO_Mode_AF_PP = 0x18
    }GPIOMode_TypeDef;
    
    #define IS_GPIO_MODE(MODE) (((MODE) == GPIO_Mode_AIN) || ((MODE) == GPIO_Mode_IN_FLOATING) || \
                                ((MODE) == GPIO_Mode_IPD) || ((MODE) == GPIO_Mode_IPU) || \
                                ((MODE) == GPIO_Mode_Out_OD) || ((MODE) == GPIO_Mode_Out_PP) || \
                                ((MODE) == GPIO_Mode_AF_OD) || ((MODE) == GPIO_Mode_AF_PP))
    
    /** 
      * @brief  GPIO Init structure definition  
      */
    
    typedef struct
    {
      uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.
                                          This parameter can be any value of @ref GPIO_pins_define */
    
      GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.
                                          This parameter can be a value of @ref GPIOSpeed_TypeDef */
    
      GPIOMode_TypeDef GPIO_Mode;    /*!< Specifies the operating mode for the selected pins.
                                          This parameter can be a value of @ref GPIOMode_TypeDef */
    }GPIO_InitTypeDef;
    موفق باشید ..
    *** اللّهم عجّل لولیک الفرج ***

  2. کاربران : 2 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #22
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نوشته ها
    63
    تشکر
    52
    تشکر شده 3 بار در 3 پست

    پیش فرض

    خب پس چرا lm35 اینطوری میشه ؟

    یکبار دیگه مشکلم رو مطرح میکنم با اجازتون:
    من دارم از سنسور دمای lm 35 استفاده میکنم که با افزایش هر درجه دما ده میلی ولت ولتاژش افزایش پیدا میکنه .
    در حالت عادی وقتی تغذیه این سنسور رو وصل میکنم و ولتاژش رو با اسکوپ اندازه میگیرم کاملا درسته و 200 میلی ولت نشون میده وقتی دستم رو روش قرار میدم ولتاژش بالای 300 میلی ولت هست.
    اما وقتی پایه adc رو وصل میکنم ولتاژ افزایش ناگهانی داره میشه 2000 میلی ولت و وقتی دستم رو روش قرار میدم تغییر محسوسی نداره.
    چیکار کنم که درست بشه ؟ چه راهی به ذهنتون میرسه؟
    (توضیح اینکه برنامه adc رو با پتانسومتر امتحان کردم کاملا درست عمل میکنه)
    ویرایش توسط paradox7 : 01-01-2015 در ساعت 15:36

  5. #23
    کاربر علاقه مند
    تاریخ عضویت
    May 2011
    نام
    احسان باقری
    نوشته ها
    61
    تشکر
    47
    تشکر شده 35 بار در 29 پست

    پیش فرض

    سلام
    پایه خروجی سنسور رو هم با یه مقاومت حدود 4.7 کیلو زمین کنید
    به ازای هر 1 درجه سانتیگراد 10میلی ولت باید افزایش ولتاژ داشته باشیم و تو دمای
    اتاق باید حدود 200-300mv رو نشون بده
    شاید واقعا سنسور آسیب دیده
    با چنتا lm35 دیگه هم تست کن

  6. کاربران : 2 تشکر کرده اند از شما ehsanbagheri برای ارسال این پست سودمند:


  7. #24
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نوشته ها
    63
    تشکر
    52
    تشکر شده 3 بار در 3 پست

    پیش فرض

    عذر خواهی میکنم من اشتباه کردم حرف شما درسته تو دمای معمولی 200 میلی ولت رو نشون میده .(چون تقسیم بر 10 باید بکنیم تا دما رو نشون بده اشتباه عددی شد. واقعا هم اینطور هست با اسکوپ که اندازه گرفتم 200 میلی ولت رو نشون میداد.)
    پایه خروجی رو امتحان میکنم اگه جواب نداد دوباره میخرم .
    ممنون بابت جوابتون.

صفحه 2 از 2 نخستنخست 12

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

  1. [سوال] ارسال داده از طریق شبکه برد stm32f103
    توسط mahtab68 در انجمن stm32
    پاسخ: 3
    آخرين نوشته: 16-11-2014, 22:38
  2. [سوال] برد stm32f103
    توسط mahtab68 در انجمن stm32
    پاسخ: 10
    آخرين نوشته: 27-07-2014, 19:19
  3. اشکال در پروگرم stm32f103
    توسط mrezakhd در انجمن stm32
    پاسخ: 2
    آخرين نوشته: 25-05-2014, 11:26
  4. میکروهای arm stm32f103
    توسط hello در انجمن گفت و گوي آزاد
    پاسخ: 1
    آخرين نوشته: 18-06-2013, 15:58
  5. مشکل باstm32f103
    توسط kazem67sh در انجمن stm32
    پاسخ: 43
    آخرين نوشته: 25-04-2013, 01:56

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

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