Как точно измерить/узнать опорное напряжение АЦП на STM32L052K6T6?

В настоящее время я работаю над STM32L052K6T6.

Я хотел бы знать, есть ли подходящий способ точно измерить напряжение, используемое АЦП.

Я прочитал документацию, что это напряжение было на adc_channel17, но я понятия не имею, как его получить.

Я также читал, что существует калибровочная переменная с именем VREFINT_CAL, но опять же я не видел процесса ее правильного использования.

Я знаю, что это напряжение для меня около 1,8 В. Но мне нужно знать его до 1.80000, по крайней мере, чтобы рассчитать точные значения моего датчика.

Чтобы запрограммировать свой MUC, я использую Atollic, я сделал базовую конфигурацию контактов, используя STM32CubeMX.


person Isymap_prog    schedule 07.06.2019    source источник
comment
Вы хотели разместить сообщение на Электротехника? Это вообще не похоже на программирование.   -  person Filburt    schedule 07.06.2019
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что он должен быть опубликован на Электротехника   -  person Filburt    schedule 07.06.2019
comment
Я программирую свой MCU с помощью Atollic, и я думаю, что есть способ получить это напряжение числовым способом. Мне просто нужна помощь, чтобы найти как.   -  person Isymap_prog    schedule 07.06.2019
comment
@Isymap_prog: Какие драйверы/библиотеки вы используете (например, HAL, LL, CMSIS)? Вы используете STM32CubeMX для генерации кода?   -  person David Collins    schedule 07.06.2019
comment
Я использую библиотеку HAL и использовал STM32CubeMX для базовой настройки GPIO. У меня также была идея использовать STM32CubeMX, чтобы поместить PB0 в качестве контакта VREF_OUT, но, похоже, он не создает никакого напряжения.   -  person Isymap_prog    schedule 07.06.2019


Ответы (2)


Внутреннее опорное напряжение не используется АЦП. Он используется только для измерения фактического напряжения Vref. Напряжение Vref в зависимости от версии микросхемы может быть Vref+ или Vdda.

Как измерить фактический Vref?

Вам нужно измерить Vrefint (около 1,2 В), а затем, используя простую математику, рассчитать Vref.

Vrefint = Vref * (RAW_ADC/4096)

Итак, Vref = Vrefint * 4096/RAW_ADC.

или если вы хотите использовать VREFINT_CAL: Vref = 3 В * VREFINT_CAL / RAD_ADC

person 0___________    schedule 07.06.2019
comment
Спасибо за ваш ответ, меня действительно интересует не это, а напряжение, используемое АЦП для выполнения его измерений и получения его значений. Используя VREFINT_CAL, я нашел Vref = 1,757 В. ( VREFINT_CAL=1667, RAD_ADC=2846) Что близко к 1,8 В, но недостаточно близко. Поэтому я не уверен, что это правильный способ узнать напряжение, используемое АЦП. - person Isymap_prog; 07.06.2019

Перед измерением хорошего значения канала VREF_INT. необходимо выполнить калибровку.

HAL_ADCEx_Calibration_Start(&hadc, ADC_SINGLE_ENDED);
person yoann    schedule 07.02.2020