- Основы операционного усилителя
- Усилитель с программируемым усилением работает
- Необходимые компоненты
- Схематическая диаграмма
- Код Arduino для PGA
- Расчеты для усилителя с программируемым усилением
- Тестирование схемы усилителя с программируемым усилением
- Плюсы и минусы усилителя с программируемым усилением
- Дальнейшее улучшение
В измерительной промышленности очень важным функциональным блоком является усилитель с программируемым усилением (PGA). Если вы энтузиаст электроники или студент колледжа, вы, вероятно, видели, как мультиметр или осциллограф очень ценно измеряют очень малые напряжения, потому что схема имеет встроенный PGA вместе с мощным АЦП, который помогает в точном процессе измерения.
В настоящее время готовый усилитель PGA предлагает неинвертирующий усилитель на базе операционного усилителя с программируемым пользователем коэффициентом усиления. Этот тип устройства имеет очень высокий входной импеданс, широкую полосу пропускания и выбираемый источник входного напряжения, встроенный в ИС. Но все эти функции имеют свою цену, и для меня не стоит ставить такой дорогостоящий чип для общего приложения.
Поэтому, чтобы преодолеть эти ситуации, я придумал схему, состоящую из операционного усилителя, MOSFET и Arduino, с помощью которой я смог программно изменить коэффициент усиления операционного усилителя. Итак, в этом уроке я собираюсь показать вам, как создать свой собственный усилитель с программируемым усилением с операционным усилителем LM358 и МОП-транзисторами, и я буду обсуждать некоторые плюсы и минусы схемы наряду с тестированием.
Основы операционного усилителя
Чтобы понять, как работает эта схема, очень важно знать, как работает операционный усилитель. Узнайте больше об операционном усилителе, следуя этой схеме тестера операционного усилителя.
На рисунке выше вы видите операционный усилитель. Основная задача усилителя - усилить входной сигнал, кроме усиления, операционный усилитель также может выполнять различные операции, такие как суммирование, дифференцирование, интегрирование и т. Д. Подробнее о суммирующем усилителе и дифференциальном усилителе можно узнать здесь.
Операционный усилитель имеет всего три клеммы. Клемма со знаком (+) называется неинвертирующим входом, а клемма со знаком (-) называется инвертирующим входом. Помимо этих двух выводов, третий вывод является выводом.
Операционный усилитель следует только двум правилам
- Никакой ток не течет по входам операционного усилителя и не выходит из них.
- Операционный усилитель пытается поддерживать на входах одинаковые уровни напряжения.
Итак, прояснив эти два правила, мы можем проанализировать приведенные ниже схемы. Кроме того, узнайте больше об операционном усилителе, просмотрев различные схемы на основе операционного усилителя.
Усилитель с программируемым усилением работает
Рисунок выше дает вам общее представление о схеме моего усилителя Crud PGA. В этой схеме операционный усилитель сконфигурирован как неинвертирующий усилитель, и, как мы все знаем, с помощью неинвертирующей схемы, мы можем изменить коэффициент усиления операционного усилителя, изменив резистор обратной связи или входной резистор, как вы можете видеть из схемы выше, мне просто нужно переключать полевые МОП-транзисторы по одному, чтобы изменить коэффициент усиления операционного усилителя.
В разделе тестирования я просто переключал полевые МОП-транзисторы по одному и сравнивал измеренные значения с практическими значениями, и вы можете увидеть результаты в разделе «Тестирование схемы» ниже.
Необходимые компоненты
- Ардуино Нано - 1
- LM358 IC - 1
- Регулятор LM7805 - 1
- BC548 Типовой транзистор NPN - 2
- BS170 Универсальный N-канальный MOSFET - 2
- Резистор 200К - 1 шт.
- Резистор 50К - 2 шт.
- Резистор 24К - 2 шт.
- Резистор 6,8 кОм - 1 шт.
- Резистор 1 кОм - 4 шт.
- Резистор 4,7 кОм - 1 шт.
- 220R, 1% резистор - 1
- Тактильный переключатель Generic - 1
- Янтарный светодиод 3мм - 2
- Хлебная доска универсальная - 1
- Универсальные перемычки - 10
- Электропитание ± 12В - 1
Схематическая диаграмма
Для демонстрации усилителя с программируемым усилением схема построена на макетной плате без пайки с помощью схемы; Чтобы уменьшить внутреннюю паразитную индуктивность и емкость макета, все компоненты размещены как можно ближе.
А если вам интересно, почему в моей макетной плате есть пучок проводов? Позвольте мне сказать вам, что это необходимо для хорошего заземления, так как внутренние заземляющие соединения в макете очень плохие.
Здесь операционный усилитель в схеме настроен как неинвертирующий усилитель, а входное напряжение от регулятора напряжения 7805 составляет 4,99 В.
Измеренное значение резистора R6 составляет 6,75 кОм, а R7 - 220,8R. Эти два резистора образуют делитель напряжения, который используется для генерации входного испытательного напряжения для операционного усилителя. Резисторы R8 и R9 используются для ограничения входного тока базы транзистора T3 и T4. Эти резисторы R10 и R11, используются для ограничения скорости переключения МОП - транзисторов Т1 и Т2, в противном случае, это может вызвать колебания в контуре.
В этом блоге я хочу показать вам причину использования MOSFET, а не BJT, отсюда и схему схемы.
Код Arduino для PGA
Здесь Arduino Nano используется для управления базой транзистора и затвором полевых МОП-транзисторов, а мультиметр используется для отображения уровней напряжения, потому что встроенный АЦП Arduino очень плохо справляется с измерением низких значений. уровни напряжения.
Полный код Arduino для этого проекта приведен ниже. Поскольку это очень простой код Arduino, нам не нужно включать какие-либо библиотеки. Но нам нужно определить некоторые константы и входные контакты, как показано в коде.
Недействительные установки () является основным функциональным блок, где чтение и операция записи для всех входов и выходов выполняются в соответствии с требования.
#define BS170_WITH_50K_PIN 9 #define BS170_WITH_24K_PIN 8 #define BC548_WITH_24K_PIN 7 #define BC548_WITH_50K_PIN 6 #define BUTTON_PIN 5 #define LED_PIN1 2 #define LED_PRESSED 0_IN_C_IN2; int debounce_counter = 0; void setup () {pinMode (BS170_WITH_50K_PIN, OUTPUT); pinMode (BS170_WITH_24K_PIN, ВЫХОД); pinMode (BC548_WITH_24K_PIN, ВЫХОД); pinMode (BC548_WITH_50K_PIN, ВЫХОД); pinMode (LED_PIN1, ВЫХОД); pinMode (LED_PIN2, ВЫХОД); pinMode (BUTTON_PIN, INPUT); } void loop () {bool val = digitalRead (BUTTON_PIN); // считываем входное значение if (val == LOW) {debounce_counter ++; если (debounce_counter> PRESSED_CONFIDENCE_LEVEL) {debounce_counter = 0; button_is_pressed ++; } если (button_is_pressed == 0) {digitalWrite (BS170_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_24K_PIN, LOW);digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, LOW); } если (button_is_pressed == 2) {digitalWrite (BS170_WITH_24K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, HIGH); } если (button_is_pressed == 3) {digitalWrite (BC548_WITH_24K_PIN, HIGH); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, HIGH); digitalWrite (LED_PIN2, HIGH); } если (button_is_pressed == 1) {digitalWrite (BC548_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (LED_PIN1, HIGH);digitalWrite (LED_PIN2, LOW); } если (button_is_pressed> = 4) {button_is_pressed = 0; }}}
Расчеты для усилителя с программируемым усилением
Измеренные значения для схемы усилителя PGA показаны ниже.
Vin = 4,99 В R7 = 220,8 Ом R6 = 6,82 кОм R5 = 199,5 кОм R4 = 50,45 кОм R3 = 23,99 кОм R2 = 23,98 кОм R1 = 50,5 кОм
Запись! Показаны измеренные значения резистора, потому что с измеренными значениями резистора мы можем точно сравнить теоретические значения и практические значения.
Теперь расчет с помощью калькулятора делителя напряжения показан ниже,
Выход делителя напряжения 0,1564В.
Расчет коэффициента усиления неинвертирующего усилителя для 4 резисторов
Vout, когда R1 - выбранный резистор
Vout = (1+ (199,5 / 50,5)) * 0,1564 = 0,77425 В
Vout, когда R2 - выбранный резистор
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755 В
Vout, когда R3 - выбранный резистор
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701 В
Vout, когда R4 - выбранный резистор
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486 В
Я сделал все это, чтобы как можно точнее сравнить теоретические и практические значения.
Сделав все расчеты, можно перейти к разделу тестирования.
Тестирование схемы усилителя с программируемым усилением
На изображении выше показано выходное напряжение, когда MOSFET T1 включен, следовательно, через резистор R1 течет ток .
На изображении выше показано выходное напряжение, когда транзистор T4 включен, следовательно, через резистор R4 течет ток .
На изображении выше показано выходное напряжение, когда MOSFET T2 включен, следовательно, через резистор R2 течет ток .
На изображении выше показано выходное напряжение, когда транзистор T3 включен, следовательно, через резистор R3 течет ток .
Как видно на схеме, T1, T2 - это полевые МОП-транзисторы, а T3, T4 - транзисторы. Поэтому, когда используются полевые МОП-транзисторы, ошибка находится в диапазоне от 1 до 5 мВ, но когда транзисторы используются в качестве переключателей, мы получаем ошибку в диапазоне от 10 до 50 мВ.
С приведенными выше результатами ясно, что МОП-транзистор является подходящим решением для такого рода приложений, а теоретические и практические ошибки могут быть вызваны ошибкой смещения операционного усилителя.
Запись! Обратите внимание, что я добавил два светодиода только для тестирования, и вы не можете найти их на реальной схеме, он показывает двоичный код, чтобы показать, какой контакт активен.
Плюсы и минусы усилителя с программируемым усилением
Поскольку эта схема дешевая, легкая и простая, она может быть реализована во многих различных приложениях.
Здесь MOSFET используется в качестве переключателя для передачи всего тока через резистор на землю, поэтому влияние температуры не определено, и с моими ограниченными инструментами и испытательным оборудованием я не смог показать вам влияние различной температуры на схема.
Цель использования BJT вместе с MOSFET заключается в том, что я хочу показать вам, насколько плохим может быть BJT для такого рода приложений.
Значения резисторов обратной связи и входных резисторов должны находиться в диапазоне кОм, потому что при более низких значениях резистора через полевой МОП-транзистор будет протекать больший ток, поэтому большее напряжение будет падать на полевом МОП-транзисторе, что приведет к непредсказуемым результатам.
Дальнейшее улучшение
Схема может быть дополнительно модифицирована для улучшения ее характеристик, например, мы можем добавить фильтр для подавления высокочастотных шумов.
Поскольку в этом тесте используется операционный усилитель типа мармелад LM358, ошибки смещения операционного усилителя играют основную роль в выходном напряжении. Таким образом, его можно улучшить, используя инструментальный усилитель, а не LM358.
Эта схема сделана только для демонстрационных целей. Если вы думаете об использовании этой схемы в практическом применении, вам придется использовать операционный усилитель типа прерывателя и высокоточный резистор 0,1 Ом для достижения абсолютной стабильности.
Надеюсь, вам понравилась эта статья и вы узнали из нее что-то новое. Если у вас есть сомнения, вы можете задать вопрос в комментариях ниже или воспользоваться нашим форумом для подробного обсуждения.