Например TDA7294

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





Текущее время: Вс июн 22, 2025 17:03:31

Часовой пояс: 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
Сообщений: 1487
Рейтинг сообщения: 0
Наблюдается значительная нелинейность масштабного коэффициента(СРЗНАЧ(кодАЦП)/Uкалибратора), особенно в районе нуля вольт(около 2%).
Кто нибудь сталкивался с подобным явлением?
Очень похоже на то, что выставили слишком малое значение времени предвыборки для АЦП. Не соответствующее сопротивлению измеряемой цепи. Вот и не успевает ёмкость заряжаться до нужного напряжения. Для теста попробуйте поставить максимальный sampling time.


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: 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
Сообщений: 1487
Рейтинг сообщения: 0
Сигнал "медленно меняющийся"(на самом деле вообще не меняется в процессе замера), длительность переходного процесса не учитывается. Т.Е. зарядится он до номинального напряжения за условные 100 замеров, а мы начнем снимать показания через условные 1000 замеров.
И что? Какая разница как он меняется?
Достаточно входному мультиплексору АЦП переключиться на измерение другого канала (с другим уровнем вх.сигнала), как сразу получите ошибку (при неверной длительности предвыборки). Если коммутация каналов происходит периодически - ошибка будет всегда. Величина её будет зависеть от разницы напряжений между каналами. Т.е. - если на одном канале вх.напряжение не меняется, а напряжение своего калибратора - меняете, то как раз и получится нелинейный график величины ошибки.


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

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

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

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


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

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1487
Рейтинг сообщения: 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 часа


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

Сейчас этот форум просматривают: tonyk и гости: 20


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

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


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