NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3822 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 19 از 19

موضوع: ADC میکروی STM32f103 می تونه مقدار منفی بخونه؟

  1. #1
    عضو جدید
    تاریخ عضویت
    Mar 2009
    نوشته ها
    10
    تشکر
    4
    تشکر شده 0 بار در 0 پست

    پیش فرض ADC میکروی STM32f103 می تونه مقدار منفی بخونه؟

    ADC میکروی STM32f103 می تونه مقدار منفی بخونه؟(ورودی ADC چند تا چنده)

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

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

    پیش فرض

    من توی دیتا شیت اینو دیدم...دیگه نمیدونم منظور دقیقش چیه؟!!!
    یعنی اگه ولتاژ رفرنس منفی باشه ولتاژ ورودی میتونه منفی باشه ولی بزرگتر از رفرنس باشه !!!؟

    adc input range: Vref- ≤ vin ≤ vref+
    اساتید هم نظراتشون رو اعمال کنند...
    *** اللّهم عجّل لولیک الفرج ***

  4. #3
    کاربر فعال
    تاریخ عضویت
    Apr 2011
    نوشته ها
    108
    تشکر
    34
    تشکر شده 70 بار در 34 پست

    پیش فرض

    دوست من تا اونجایی که من میدونم مستقیم که اصلا نمیشه به چند دلیل
    1-اول اگر از آی سی با کمتر از 100 پایه استفاده میکنید که Vref- و vref+ ندارید که بتونید بهش بدید!
    2- طبق رفنس وحشتناک ناراحت st این دو پایه vref+حد اقل +2.4 و vref- حد اقل 0 یا گراند رو میگیره یعنی منفی بی منفی!
    اما می تونید برای سیگنالتون یه افست ایجاد کنید یا اون رو از آپ امپ رد کنید(سینگل سوپلای ) و یه ویرچوال گراند ایجاد کنید و گراند سیستم سگنالتون رو ویرچوال گراند آپ امپنتون قارار بدید میشه یه کاریش کرد البته اگر از فیلتر های پسیو برای فیلتر و تقویت مجدد استفاده می کنید داستان یکم دردسر میشه احتمالا چوم خازن فیلتر دیسی افست شما رو حذف می کنه و اون وست حال خرو بیارو ... .
    امید وارم اشتباه نگفته باشم از اساتید گر اشتباهی کردم لطفا پیام خصوصی و عمومی بدن که بنده اصلاح کنم باعث سردرگمی خلق خدا نشم

  5. تشکرها از این نوشته :


  6. #4
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    نقل قول نوشته اصلی توسط greatal نمایش پست ها
    دوست من تا اونجایی که من میدونم مستقیم که اصلا نمیشه به چند دلیل
    1-اول اگر از آی سی با کمتر از 100 پایه استفاده میکنید که vref- و vref+ ندارید که بتونید بهش بدید!
    2- طبق رفنس وحشتناک ناراحت st این دو پایه vref+حد اقل +2.4 و vref- حد اقل 0 یا گراند رو میگیره یعنی منفی بی منفی!
    اما می تونید برای سیگنالتون یه افست ایجاد کنید یا اون رو از آپ امپ رد کنید(سینگل سوپلای ) و یه ویرچوال گراند ایجاد کنید و گراند سیستم سگنالتون رو ویرچوال گراند آپ امپنتون قارار بدید میشه یه کاریش کرد البته اگر از فیلتر های پسیو برای فیلتر و تقویت مجدد استفاده می کنید داستان یکم دردسر میشه احتمالا چوم خازن فیلتر دیسی افست شما رو حذف می کنه و اون وست حال خرو بیارو ... .
    امید وارم اشتباه نگفته باشم از اساتید گر اشتباهی کردم لطفا پیام خصوصی و عمومی بدن که بنده اصلاح کنم باعث سردرگمی خلق خدا نشم
    مرسی دوست عزیز
    درست میگن ایشون.
    نمیشه.
    راه هاشم که فرمودن به صورت کلی...
    همون آفست ساده ترین راهه.

  7. #5
    کاربر فعال
    تاریخ عضویت
    Apr 2011
    نوشته ها
    108
    تشکر
    34
    تشکر شده 70 بار در 34 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sjafarim نمایش پست ها
    مرسی دوست عزیز
    درست میگن ایشون.
    نمیشه.
    راه هاشم که فرمودن به صورت کلی...
    همون آفست ساده ترین راهه.
    که البته خودش به اندازه کافی پیچیده هست (اگر بخای چند مرحله تقویتش کنی) و تا حدی هم غیر قابل پیشبینی و قیر قابل اتمینان حد اقل برا آماتور هایی مثل من(که تجربه ای برای مدار درفرکانس بالا ندارم ) آقا خلاصه اگر راه داره برو از یه ADC اکسترنال استفاده کن خیرشو ببینی

  8. #6
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    در اين مواقع ميگم:

    صورت مسئله اصلي رو بگو .. اصل قضيه چيه كه فكر ميكني منفي بايدبخوني

  9. #7
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    سلام دوستان . برای اینکه بتونم از 2 تا از کانالای ADC1 به صورت مجزا استفاده کنم ، چه دستوری هست که مقدار این 2 تا کانال ( کانال 0 و 1 adc ) رو درون 2 تا متغیر بریزه ؟؟؟
    ممنون از لطفتون

  10. #8
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    اینکه دستور برای گرفتن مقدار از یک کاناله :
    [PHP] a = ADC_GetConversionValue(ADC1);[/PHP]

    اینم دستور پیکره بندی به صورت 2 کاناله !!!

    [PHP] ADC_InitStructure.ADC_NbrOfChannel =2;
    ADC_Init(ADC1, &ADC_InitStructure);
    ADC_RegularChannelConfig(ADC1, ADC_Channel_0 |ADC_Channel_1, 1, ADC_SampleTime_13Cycles5);[/PHP]

    ممنون می شم راهنمایی کنید

  11. #9
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    نقل قول نوشته اصلی توسط spring110.sh نمایش پست ها
    اینکه دستور برای گرفتن مقدار از یک کاناله :
    [PHP] a = ADC_GetConversionValue(ADC1);[/PHP]

    اینم دستور پیکره بندی به صورت 2 کاناله !!!

    [PHP] ADC_InitStructure.ADC_NbrOfChannel =2;
    ADC_Init(ADC1, &ADC_InitStructure);
    ADC_RegularChannelConfig(ADC1, ADC_Channel_0 |ADC_Channel_1, 1, ADC_SampleTime_13Cycles5);[/PHP]

    ممنون می شم راهنمایی کنید
    خب از راهنمایی سرشار اساتید ممنونم ، من تو فروم سایت st خوندم که برای استفاده از 2 کانال به بعد باید DMA رو استفاده کنیم.
    دستورات پیکره بندی dma و adc رو دارم ، اما یه قسمتاییش رو نمی دونم چیه ....

  12. #10
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    سلام
    نگاه کن دوست عزیز
    نحوه کار اینجوریه :
    1- کلاک adc , dma رو فعال میکنی.
    2- پایه های رو به صورت ورودی پیکربندی میکنی.
    3- یک کانال adcرو برای کنترل adc انتخاب میکنید.
    4- dma پیکربندی، کانال adc به ان نسبت داده شده و فعال می شود.
    5- کانال adc پیکربندی شده، اینجا 2 تا ورودی adc رو برای کانال تعریف می کنی که کدوماست و ترتیبشون چیه.
    6- کانالو فعال میکنی.
    ازنجی به بعد باید از طریق وقفه dma یا همینجوری بی حساب کتاب مقدار adc رو از dma هر موقع خواستی بخونی.
    هر جای کدی که داری مشکل داری مشخص کن دقیق توضیح بدم.

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


  14. #11
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sjafarim نمایش پست ها
    سلام
    نگاه کن دوست عزیز
    نحوه کار اینجوریه :
    1- کلاک adc , dma رو فعال میکنی.
    2- پایه های رو به صورت ورودی پیکربندی میکنی.
    3- یک کانال adcرو برای کنترل adc انتخاب میکنید.
    4- dma پیکربندی، کانال adc به ان نسبت داده شده و فعال می شود.
    5- کانال adc پیکربندی شده، اینجا 2 تا ورودی adc رو برای کانال تعریف می کنی که کدوماست و ترتیبشون چیه.
    6- کانالو فعال میکنی.
    ازنجی به بعد باید از طریق وقفه dma یا همینجوری بی حساب کتاب مقدار adc رو از dma هر موقع خواستی بخونی.
    هر جای کدی که داری مشکل داری مشخص کن دقیق توضیح بدم.

    این کد منه :
    [PHP]#include "stm32f10x.h"
    #include <stdio.h>
    #include "stm32f10x_ADC.h"
    #include "stm32f10x_gpio.h"
    #include "stm32f10x_usart.h"
    #include "stm32f10x_rcc.h"
    #include "stm32f10x_tim.h"
    #include "stm32f10x_rtc.h"
    #include "stm32f10x_dma.h"
    #include "misc.h"
    #include <delay.h>
    #include <stdio.h>

    //***************** initstructure 's AND Value parametr's****************
    GPIO_InitTypeDef GPIO_InitStructure;
    ADC_InitTypeDef ADC_InitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    USART_InitTypeDef USART_InitStruct;
    GPIO_InitTypeDef GPIO_InitStruct;
    NVIC_InitTypeDef NVIC_InitStructure;
    DMA_InitTypeDef DMA_InitStructure;
    int a=0,b=0,c=0,d=0,e=0;
    int u1,u2,u3,u4,u5,u6,alarm;
    int cooler , hitter ;
    uint16_t ADCConvertedValue[2]; //Array that is used to store the calculated DMA values for ADC1
    uint16_t temp1 , light;


    //****************config port 's (GPIO) ***************************************
    int main(void){

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//GPIOA
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//GPIOB
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //ADC
    RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE); //USART
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //DMA

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; // outpin
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStruct);

    //**** ADC pin's config
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //ADC
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AIN;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 ;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING; //input pin
    GPIO_Init(GPIOB, &GPIO_InitStruct);


    // usart pin's config*******

    GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    //****************config ADC's ******************************************
    ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
    ADC_InitStructure.ADC_ScanConvMode = DISABLE;
    ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
    ADC_InitStructure.ADC_NbrOfChannel =2;
    ADC_Init(ADC1, &ADC_InitStructure);
    ADC_RegularChannelConfig(ADC1, ADC_Channel_0 |ADC_Channel_1, 1, ADC_SampleTime_13Cycles5);

    //*********config DMA **********************
    DMA_DeInit(DMA1_Channel1); //Set DMA registers to default values
    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR;
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t) & ADCConvertedValue; //Variable to which ADC values will be stored
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
    DMA_InitStructure.DMA_BufferSize = 2; //Buffer size (2 because we using two channels)
    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
    DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
    DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
    DMA_InitStructure.DMA_Priority = DMA_Priority_High;
    DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

    DMA_Init(DMA1_Channel1, &DMA_InitStructure); //Initialise the DMA
    DMA_Cmd(DMA1_Channel1, ENABLE);

    //*********start ADC_DMA************/
    ADC_Cmd(ADC1, ENABLE);
    ADC_DMACmd(ADC1, ENABLE);
    ADC_ResetCalibration(ADC1);
    while(ADC_GetResetCalibrationStatus(ADC1));
    ADC_StartCalibration(ADC1);
    while(ADC_GetCalibrationStatus(ADC1));
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);


    //***************config USART ***********************************************
    برای شلوغ نشدن برنامه حذف شد

    //***************config timer *********************************************
    برای شلوغ نشدن برنامه حذف شد


    //***************config NVIC *********************************
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriori ty = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);



    }
    void bms1(void){
    .
    .
    .
    (statement's)
    //*************** GPIO control ********************************************
    .
    .
    .
    .

    while(1){


    //*************** ADC control ***********************************************

    temp1=ADCConvertedValue[0];
    light=ADCConvertedValue[1];
    }
    [/PHP]

    متشکرم

  15. #12
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    مشکلم تو همون قسمتیه که باید مقدار adc رو بخونیم و بریزیم تو 2 یا چند تا متغیر !
    تو این روشی که من انجام دادم که کپی روشیه که تو سایت های st و ... دیدم ، خیلی واضح نیست نحوه کار . البته حدس می زنم مثلا مقادیر کانال 1 و 2 رو به ترتیب تو آرایه 1 و 2 قرار می ده . نمی دونم درسته یا نه !

  16. #13
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    پروژه زیر رو که 4 کانال adc رو همزمان میخونه و رو lcd n96 نشون میده برات آماده کردم، یه سری کامنت هم به صورت توضیحی توش برات گذاشتم، بخون باز اگر مشکلی داشتی مطرح کن.
    اصول کلی کار اینه که وقتی از dma استفاده می کنی، دیگه شما دستور خواندن از adc رو نمیدی،dma خودش میره از adc میخونه و میریزه تو متغیری که براش تعیین کردی، بعد شما فقط کافیه اون متغییرو هرجا خواستی استفاده کنی، تو این پروژه از وقفه dma برای فهمیدن زمان دقیق هر آپدیت مقدار استفاده نشده تا راحتت تر باشه و تو یه حلقه بینهایت فقط مقادیر هی خونده میشن و نمایش داده میشن.
    موفق باشید:
    http://sjafarim.persiangig.com/other...2.rar/download

  17. کاربران : 4 تشکر کرده اند از شما sjafarim برای ارسال این پست سودمند:


  18. #14
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    آقا ممنون . کارت خیلی درسته . بازم مزاحم می شم

  19. #15
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sjafarim نمایش پست ها
    پروژه زیر رو که 4 کانال adc رو همزمان میخونه و رو lcd n96 نشون میده برات آماده کردم، یه سری کامنت هم به صورت توضیحی توش برات گذاشتم، بخون باز اگر مشکلی داشتی مطرح کن.
    اصول کلی کار اینه که وقتی از dma استفاده می کنی، دیگه شما دستور خواندن از adc رو نمیدی،dma خودش میره از adc میخونه و میریزه تو متغیری که براش تعیین کردی، بعد شما فقط کافیه اون متغییرو هرجا خواستی استفاده کنی، تو این پروژه از وقفه dma برای فهمیدن زمان دقیق هر آپدیت مقدار استفاده نشده تا راحتت تر باشه و تو یه حلقه بینهایت فقط مقادیر هی خونده میشن و نمایش داده میشن.
    موفق باشید:
    Download 4 chanal adc with DMA STM32.rar

    آقای جعفری فقط یک سوال ، این آرایه 4 بعدی که تعریف کردید ، موقعی که dma می خواد مقدار هر کانال رو درونش قرار بده به چه شکل کار می کنه ؟ به عبارتی یعنی برای مثال به ترتیب کانال 0 روی متغیر0 ، کانال 1 روی متغیر1 و ... ؟؟؟ منم هر جا خواستم استفاده کنم از مقدار هر کانال مقدار اون متغیر رو استفاده کنم ؟
    ممنون

  20. #16
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    دقیقا به همون ترتیبی که با دستور ADC_RegularChannelConfig کانال هارو به adc1 متصل کردی تو آرایه قرار میگیره که ما اینجا 0رو به 1، 1 رو به 2 و... متصل کردیم. (اون یک و دو صرفا ترتیب قرارگیری مقادیر در کانال adc1 هست)
    پس مقدار کانال 0 تو متغیر
    کد:
    ADC_ConvertedValue[0]
    قرار داره و میتیونی هرجا خواستی ازین متغییر استفاده کنی که آخرین مقدار تحویلی از adc توش قرار داده شده توسط dma.
    ویرایش توسط sjafarim : 09-09-2013 در ساعت 21:13

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


  22. #17
    کاربر علاقه مند spring110.sh آواتار ها
    تاریخ عضویت
    May 2011
    نام
    مازیار شاهسون پور
    نوشته ها
    80
    تشکر
    40
    تشکر شده 15 بار در 12 پست

    پیش فرض

    خیلی ممنون مهندس . سایه عالی مستدام !

  23. #18
    کاربر فعال
    تاریخ عضویت
    Apr 2011
    نوشته ها
    108
    تشکر
    34
    تشکر شده 70 بار در 34 پست

    پیش فرض

    سلام چندی پیش من خدمت دوست عزیز مون گفتم نمی شه مقدار منفی رو با ADC میکرو ST خوند که کاملا" هم درسته اما راه حلی هست که می تونه این مشکل رو نسبتا حل کنه اون هم به این صورته که شما سیگنال رو به دوتا آپ امپ می دید یکی به ورودی عادی یکی هم به ورودی معکوس کننده از آپ امپ معمولی یخ خروجی تریگر شامیتی میگیدید و مدید به یه پین اگر مثبت بود آپ امپ پایه مثبت و اگر منفی بود پایه معکوس کننده رو می خونید برای این کار هم می تونید از دوتا پایه ADC میکرو استفاده کنید یا همون خروجی تریگر اشمیت رو به یه سویچ سرعت بالی آنالوگ بدید که معمولا" نسبتا گرون هستند تازه حدود 10ns هم زمانه سویچشونه دوستان اگر خواستن از این روش استفاده کنند توجهه داشته باشند باید از آپ های چاپر استفاده کنند یا آپ امپ زیرو دیفت سرعت بالا که این هم به نوبه خودش در مورد سیگنال های DC و فرکانس کمتر از 150Hz باعث نویز بالایی در خروجی آپ امپ میشه که قابل حل نیست حد اقل من که نتونستم!امید وارم به کار دوستان بیاد

  24. تشکرها از این نوشته :


  25. #19
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام
    هر واحد adc در میکرو که قابلیت bipolar داشته باشه میتونه ولتاژ منفی رو بخونه

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

  1. تولید منوی Configuration Wizard
    توسط Greatal در انجمن stm32
    پاسخ: 12
    آخرين نوشته: 22-10-2015, 14:42
  2. ساخت مدار تولید نوئیز روی برق شهر
    توسط jonbakhsh در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 0
    آخرين نوشته: 07-01-2014, 14:55
  3. پاسخ: 1
    آخرين نوشته: 11-05-2013, 00:12
  4. پاسخ: 2
    آخرين نوشته: 26-02-2013, 15:46

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

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