Перейти к содержанию

проблема с АЦП в stm32 при симуляции в Proteus


Рекомендуемые сообщения

Здравствуйте, товарищи форумчане!

У меня вот такая проблемка: есть такая схема:

image.png.44a66c942a602b7fd28b8bee50f06f7b.png

По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1).

Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост:

  while (1)
  {
        HAL_ADC_Start_IT(&hadc1);
        HAL_Delay(10);

}

Код колбека прерывания:

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
    if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1
    {
      int adc = HAL_ADC_GetValue(&hadc1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1);
            HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1);
    }
        }

На всякий случай вот настройка АЦП в stm32:

image.png.1299783535650086a3f09c69189fb8a7.png

Вот пример неправильного вычисления:

image.png.179d6bcbbbd0f4590fe34936fb2c1ce6.png

Изменено пользователем Карен Григорян
Ссылка на комментарий
Поделиться на другие сайты

Ну, потомучто это протеус, не стоит ему доверять на все сто. Да и в реальной схеме можете столкнуться с такой проблемой. Перед использованием АЦП его желательно откалибровать перед запуском.

Изменено пользователем Yuriy.pv
Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...