Урок 65
Часть 3
Подключаем операционный усилитель TSZ124IPT
В предыдущей части занятия мы настроили проект для работы с нашим ОУ, начали писать исходный код и изучили расчёты показаний тока и разности потенциалов.
Так как мы пока не будем использовать перемычку, то есть будем работать без коэффициента усиления, то добавим следующий код в функцию обработки результатов АЦП
float ins,i1;
ins=(float)MovingAverage(i_cur[0])*1.219f-2473.0f;
i1=(float)MovingAverageI(i_cur[1])*0.508f;
Как мы видим, у нас используется фильтр скользящего среднего для исключения шумов.
Число 2473 у нас взялось из-за опорного напряжения Vref, которое на схеме отмечено, но нигде я его значение не нашел. Пришлось померять. Только воспользовался я не измеренным напряжением, а величиной показания при перемкнутых входах, его и отнял. Так как смещение зависит также и от делителя.
Ну и, соответственно, выведем наши данные в текстовом виде в USART, раскомментировав и подправив 2 следующие строчки
i1=(float)MovingAverageI(i_cur[1])*0.508f;
sprintf(str1,»Vinst:%06f; I cur:%06frn», ins, i1);
HAL_UART_Transmit(&huart2, (uint8_t*)str1,strlen(str1),0x1000);
Соберём код и прошьём контроллер.
Перемкнём сначала два входа для измерения разности потенциалов, чтобы напряжение на них было одинаковым и запустим терминальную программу
В принципе, неплохо держится ноль, если учесть, что показания у нас в миливольтах.
Теперь попробуем померить разность потенциалов на батарейке, сначала подключив её одной стороной, потом другой
В принципе, тоже неплохо.
Теперь давайте настроим код на работу с перемычкой, используя первый форм-фактор
// ins=(float)MovingAverage(i_cur[0])*1.219f-2473.0f;//без перемычки JP2
ins=(float)MovingAverage(i_cur[0])*0.0128f-25.94f;//с перемычкой JP2
Соберём код и прошьём контроллер, только при испытании теперь вместо батарейки подключим термопару и посмотрим изменение значения напряжения при прикосновении рукой и также при поднесении к горячим предметам. Я подносил к лампе накаливания
Разница очевидна.
Теперь займёмся током
Подключим какой-нибудь телефон и увидим ток зарядки
Вот такая вот точность.
Теперь попробуем всё это показать в программе визуализации, которой мы также пользовались последний раз, когда писали проект для датчика влажности в уроке 55. Программу также можно скачать на странице урока 55.
В следующей части урока мы произведём измерение текущего тока заряда от зарядного устройства, а также посмотрим показания от ОУ в программе визуализации.
Предыдущая часть Программирование МК STM32 Следующая часть
Техническая документация:
Техническая документация на операционный усилитель TSZ124IPT
User Manual к оценочной плате X-NUCLEO-IKA01A1
Программа визуализации (Только для 64-битных Windows)
Отладочную плату можно приобрести здесь Nucleo STM32F401RE
и здесь Nucleo STM32F401RE
Оценочную плату можно приобрести здесь STM32 X-NUCLEO-IKA01A1
Смотреть ВИДЕОУРОК (нажмите на картинку)
Добавить комментарий