Например TDA7294

Форум РадиоКот • Просмотр темы - Нелинейность масштабного коэффициента SDADC на МК stm32f373
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб июл 05, 2025 12:27:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Нелинейность масштабного коэффициента SDADC на МК stm32f373
СообщениеДобавлено: Пн июн 03, 2024 09:29:08 
Родился

Зарегистрирован: Пт май 31, 2024 13:13:41
Сообщений: 4
Рейтинг сообщения: 0
Добрый день!
Изучаю сигма дельта АЦП на МК stm32f373.
Настройки: 6МГц,режим single-ended zero reference, continuous mode, vddsd=3.3В, провожу калибровку, инициализацию итд. Для исследования АЦП использую калибратор, напряжение выставляю от 100мВ до 3В(с шагом 100мВ),делаю замеры по 30 сек.
Наблюдается значительная нелинейность масштабного коэффициента(СРЗНАЧ(кодАЦП)/Uкалибратора), особенно в районе нуля вольт(около 2%).
Кто нибудь сталкивался с подобным явлением?
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Вс июн 09, 2024 12:59:33 
Держит паяльник хвостом
Аватар пользователя

Карма: 16
Рейтинг сообщений: 196
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 915
Откуда: от туда
Рейтинг сообщения: 0
Допустимый диапазон входного напряжения соблюдается?
Встроенные операционники не R2R.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 10, 2024 12:03:09 
Родился

Зарегистрирован: Пт май 31, 2024 13:13:41
Сообщений: 4
Рейтинг сообщения: 0
Допустимый диапазон входного напряжения соблюдается?
Встроенные операционники не R2R.

В режиме single-ended zero reference диапазон входных напряжений согласно мануалу от Vrefsd-(у меня 0В)до Vrefsd+/gain(у меня 3.3В, gain=1).
Насчёт операционников - отступил от края диапазона 100мВ снизу и 300мВ сверху диапазона.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Вт июн 11, 2024 19:53:50 
Говорящий с текстолитом

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1500
Рейтинг сообщения: 0
Наблюдается значительная нелинейность масштабного коэффициента(СРЗНАЧ(кодАЦП)/Uкалибратора), особенно в районе нуля вольт(около 2%).
Кто нибудь сталкивался с подобным явлением?
Очень похоже на то, что выставили слишком малое значение времени предвыборки для АЦП. Не соответствующее сопротивлению измеряемой цепи. Вот и не успевает ёмкость заряжаться до нужного напряжения. Для теста попробуйте поставить максимальный sampling time.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Ср июн 12, 2024 16:06:31 
Держит паяльник хвостом
Аватар пользователя

Карма: 16
Рейтинг сообщений: 196
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 915
Откуда: от туда
Рейтинг сообщения: 0
Насчёт операционников - отступил от края диапазона 100мВ снизу и 300мВ сверху диапазона.

И как? Есть результат?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 17, 2024 10:34:11 
Родился

Зарегистрирован: Пт май 31, 2024 13:13:41
Сообщений: 4
Рейтинг сообщения: 0
Насчёт операционников - отступил от края диапазона 100мВ снизу и 300мВ сверху диапазона.

И как? Есть результат?


Пока работаем в линейной области диапазона, жаль конечно терять больше трети точности на ровном месте.

Добавлено after 38 minutes 46 seconds:
Наблюдается значительная нелинейность масштабного коэффициента(СРЗНАЧ(кодАЦП)/Uкалибратора), особенно в районе нуля вольт(около 2%).
Кто нибудь сталкивался с подобным явлением?
Очень похоже на то, что выставили слишком малое значение времени предвыборки для АЦП. Не соответствующее сопротивлению измеряемой цепи. Вот и не успевает ёмкость заряжаться до нужного напряжения. Для теста попробуйте поставить максимальный sampling time.

Сигнал "медленно меняющийся"(на самом деле вообще не меняется в процессе замера), длительность переходного процесса не учитывается. Т.Е. зарядится он до номинального напряжения за условные 100 замеров, а мы начнем снимать показания через условные 1000 замеров. Я попробую замедлить замеры, но пока не могу проверить весь диапазон, уже переделал схему с учётом диапазона от 1В до 3В.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 17, 2024 15:25:30 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пт фев 01, 2013 21:05:30
Сообщений: 343
Рейтинг сообщения: 0
У меня всё хорошо работает, но медленно.
И там нету "многоканальности"/сканирующий режим как у ADC

Код:

 __HAL_RCC_GPIOD_CLK_ENABLE();
 __HAL_RCC_SDADC1_CLK_ENABLE();

 pin.Pin=GPIO_PIN_8;
 pin.Mode=GPIO_MODE_ANALOG;
 pin.Pull=GPIO_NOPULL;
 HAL_GPIO_Init(GPIOD,&pin);

 adc1.Instance=SDADC1;
 adc1.Init.IdleLowPowerMode=SDADC_LOWPOWER_NONE;
 adc1.Init.FastConversionMode=SDADC_FAST_CONV_DISABLE;
 adc1.Init.SlowClockMode=SDADC_SLOW_CLOCK_DISABLE;
 adc1.Init.ReferenceVoltage=SDADC_VREF_EXT;
 if(HAL_SDADC_Init(&adc1)!=HAL_OK)Error_Handler();
 cfg.InputMode=SDADC_INPUT_MODE_SE_OFFSET;
 cfg.Gain=SDADC_GAIN_1_2;
 cfg.CommonMode=SDADC_COMMON_MODE_VSSA;
 cfg.Offset=0;
 if(HAL_SDADC_PrepareChannelConfig(&adc1,SDADC_CONF_INDEX_0,&cfg)!=HAL_OK)Error_Handler();
 if(HAL_SDADC_AssociateChannelConfig(&adc1,SDADC_CHANNEL_8,SDADC_CONF_INDEX_0)!=HAL_OK)Error_Handler();
 if(HAL_SDADC_InjectedConfigChannel(&adc1,SDADC_CHANNEL_8,SDADC_CONTINUOUS_CONV_OFF)!=HAL_OK)Error_Handler();
 if(HAL_SDADC_SelectInjectedTrigger(&adc1,SDADC_SOFTWARE_TRIGGER)!=HAL_OK)Error_Handler();
 //HAL_SDADC_CalibrationStart(&adc1,SDADC_CALIBRATION_SEQ_1);
 //HAL_SDADC_PollForCalibEvent(&adc1,HAL_MAX_DELAY);
 // один раз калибровать каждое устройство


 HAL_NVIC_SetPriority(SDADC1_IRQn,5,5);
 HAL_NVIC_EnableIRQ(SDADC1_IRQn);
 HAL_SDADC_InjectedStart_IT(&adc1);

void HAL_SDADC_InjectedConvCpltCallback(SDADC_HandleTypeDef*hadc){adcA[0]=HAL_SDADC_InjectedGetValue(hadc,(uint32_t*)&Ch);}
void SDADC1_IRQHandler(void){HAL_SDADC_IRQHandler(&adc1);}



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 17, 2024 17:01:40 
Говорящий с текстолитом

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1500
Рейтинг сообщения: 0
Сигнал "медленно меняющийся"(на самом деле вообще не меняется в процессе замера), длительность переходного процесса не учитывается. Т.Е. зарядится он до номинального напряжения за условные 100 замеров, а мы начнем снимать показания через условные 1000 замеров.
И что? Какая разница как он меняется?
Достаточно входному мультиплексору АЦП переключиться на измерение другого канала (с другим уровнем вх.сигнала), как сразу получите ошибку (при неверной длительности предвыборки). Если коммутация каналов происходит периодически - ошибка будет всегда. Величина её будет зависеть от разницы напряжений между каналами. Т.е. - если на одном канале вх.напряжение не меняется, а напряжение своего калибратора - меняете, то как раз и получится нелинейный график величины ошибки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 17, 2024 17:36:18 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23870
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
jcxz писал(а):
Вот и не успевает ёмкость заряжаться до нужного напряжения.

сразу получите ошибку (при неверной длительности предвыборки)

О какой "предвыборке" вы говорите? Разговор идет не о 12-разрядном SAR ADC, а о 16-разрядном SDADC. Там нет никакого УВХ и соответственно емкости.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Пн июн 17, 2024 17:57:39 
Говорящий с текстолитом

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1500
Рейтинг сообщения: 0
jcxz писал(а):
Вот и не успевает ёмкость заряжаться до нужного напряжения.
SDADC. Там нет никакого УВХ и соответственно емкости.
Ну если нет ёмкости, значит проблема в чём-то другом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Вт июн 18, 2024 10:57:35 
Родился

Зарегистрирован: Пт май 31, 2024 13:13:41
Сообщений: 4
Рейтинг сообщения: 0
es131245 писал(а):
У меня всё хорошо работает, но медленно.


Подскажите, а какая частота подаётся на СДАЦП? Насколько медленно он работает? По коду вижу, что slow mode отключён.

Цитата:
Достаточно входному мультиплексору АЦП переключиться...

У меня используется пока один канал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нелинейность масштабного коэффициента SDADC на МК stm32f
СообщениеДобавлено: Вт июн 18, 2024 12:42:04 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пт фев 01, 2013 21:05:30
Сообщений: 343
Рейтинг сообщения: 0
Подскажите, а какая частота подаётся на СДАЦП? Насколько медленно он работает? По коду вижу, что slow mode отключён.
Цитата:
Достаточно входному мультиплексору АЦП переключиться...

У меня используется пока один канал.


Тактирование 6Мгц, а измерение выходило к 20-35мкСек при 1 канале.
20мкСек это ограничения аппаратные (an4207 стр 12).
Что бы не накидывать лишние микроСеки резал HAL, но выхлоп был мал.
В итоге перешел на ADC, шоб не ставить внешнюю АЦП

Внешнее мультиплексирование тоже только предстоит ещё


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y