×

Внимание

Форум находится в режиме только для чтения.

как померить температуру встроенным сенсором в stm32f107?

11 года 6 мес. назад #4339 от super_puper
сенсор встроили а пример не привили на него... СТ как обычно..
есть ли у кого примеры? из тех что я нашел в инете показывает правильно один раз из 10 не понятно почему макс время измерения темпер ограниченно в пдфке 14мкс а не миниммальное.
11 года 6 мес. назад - 11 года 6 мес. назад #4344 от Денис Ягов
открываем подробное описание и читаем.

Temperature sensor
The temperature sensor can be used to measure the ambient temperature (T A ) of the device.
The temperature sensor is internally connected to the ADCx_IN16 input channel which is
used to convert the sensor output voltage into a digital value. The recommended sampling
time for the temperature sensor is 17.1 μs.

The TSVREFE bit must be set to enable both internal channels: ADCx_IN16 (temperature
sensor) and ADCx_IN17 (V
REFINT ) conversion.
Т.е. оцифровка ADC1_IN16 - это и есть получение температуры.

Берем пример работы АЦП1 и оцифровываем данный канал.  8)

11 года 6 мес. назад #4348 от k000858
А как правильно выставить нужный сэмплин тайм с использованием STD библиотек?
11 года 6 мес. назад #4349 от Денис Ягов
так же как и обычному каналу:

ADC_RegularChannelConfig(ADC3, ADC_Channel_16, 1, ADC_SampleTime_28Cycles5);

в продолжение предыдущего моего поста..... Бит TSVREFE - разрешающий работу термометра управляется функцией:
void ADC_TempSensorVrefintCmd (ENABLE)

(до кучи посмотрел)
11 года 6 мес. назад #4350 от k000858
в последней версии библиотек такого значения нет
  *            @arg ADC_SampleTime_3Cycles: Sample time equal to 3 cycles
  *            @arg ADC_SampleTime_15Cycles: Sample time equal to 15 cycles
  *            @arg ADC_SampleTime_28Cycles: Sample time equal to 28 cycles
  *            @arg ADC_SampleTime_56Cycles: Sample time equal to 56 cycles	
  *            @arg ADC_SampleTime_84Cycles: Sample time equal to 84 cycles	
  *            @arg ADC_SampleTime_112Cycles: Sample time equal to 112 cycles	
  *            @arg ADC_SampleTime_144Cycles: Sample time equal to 144 cycles	
  *            @arg ADC_SampleTime_480Cycles: Sample time equal to 480 cycles
по самой функции то понятно, интересует какой ADC_SampleTime_**Cycles соответствует рекомендуемым 17.1 мкс
11 года 6 мес. назад #4351 от k000858
т.е. само измерение то у меня работает. не устраивает точность.
скачет с 32 до 37 градусов при 20 градусах окружающей среды.
сам чип нагревается, соответственно показывает не температуру окружающей среды а свою.
Время создания страницы: 0.040 секунд
Работает на Kunena форум