Как стать автором
Обновить

Как легко получить отрицательное напряжение для питания ОУ?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.9K

В электронике многие аналоговые схемы, особенно те, что построены на операционных усилителях (ОУ), требуют двуполярного питания. Например, для корректной работы некоторых ОУ необходимо подавать не только +5 В, но и −5 В относительно общего провода. Однако стандартные источники питания чаще всего обеспечивают только положительное напряжение, что создаёт необходимость в генерации отрицательного напряжения.

Отрицательный источник питания позволяет сместить рабочую точку усилителя в середину диапазона, обеспечивая линейное усиление сигналов переменного тока без искажений. Но как его получить? В статье рассмотрим наиболее простой способ получение отрицательного напряжения.

Понадобилось мне как-то измерять ток на шунте в DC/DC преобразователе. Ток пульсирующий и достигает десятков ампер, по этому дабы избежать потерь на нагрев было решено взять шунт в 1мОм. Пульсации напряжения на таком сопротивлении довольно маленькие, по этому возникла потребность в использовании ОУ для усиления сигнала хотябы в 5-10 раз. По идее можно использовать rail-to-rail операционные усилители, но они либо дороги либо слишком медленны. По этому было решено использовать быстрый ОУ и довольно дешевый ОУ NE5532 (скорость нарастания выходного напряжения 9V/uS). Ниже приведена схема неинвертирующего усилителя с двуполярным питанием. Сигнал с ОУ можно либо подавать на компаратор для защиты по порогу либо на вход АЦП микроконтроллера.

усилитель сигнала с шунта на быстром ОУ NE5532 с двуполярным питанием.
усилитель сигнала с шунта на быстром ОУ NE5532 с двуполярным питанием.

Для получения напряжения -5V было решено использовать схему инвертирующего преобразователя на полевом P канальном транзисторе, по английски inverting buck-boost converter. Принцип работы такой же как и у обычного buck преобразователя: накопление энергии в индуктивности в первой фазе и разряд во второй. Отличие только в схеме соединение индуктивности и диода.

Рассмотрим более подробно физику процесса:

схема инвертора напряжения на P канальном ключе
схема инвертора напряжения на P канальном ключе

1. Фаза накопления энергии (транзистор Q3 открыт)

  • Ток течёт через катушку (L) и ключ (Q3) на землю.

  • Энергия запасается в магнитном поле катушки.

  • Диод (D9 закрыт (анод на земле, катод на VOUT = отрицательное напряжение).

  • Конденсатор (C) разряжается, питая нагрузку.

  • Напряжение в точке А приблизительно равно 5В, в точке В -7.5В

2. Фаза передачи энергии (транзистор Q3 закрыт)

  • При закрытии ключа ток через катушку не исчезает а медленно спадает за счет накопленной энергии магнитного поля.

  • Напряжение на катушке инвертируется (полярность меняется) и точка А как бы провалиется вниз.

  • Диод (D) открывается, и ток течёт через него в сглаживающий конденсатор (C17) и нагрузку (R61).

  • На выходе формируется отрицательное напряжение (VOUT).

Формула расчета выходного напряжения:
Формула расчета выходного напряжения:

Из формулы следует что мы можем получить выходное отрицательное напряжение больше по амплитуде чем входное положительное. Таким образом если мы имеет +5 на входе и нам надо получить на выходе -7.5 то коэффициент заполнения D должен быть равен 0.6. Почему именно -7.5В ? Дело в том что для нормальной работы микросхемы 70L05 входное напряжение должно быть больше выходного минимум на 2 вольта. Однако стоит понимать что точное значение выходного напряжения зависит так же от тока потребления и даже частоты преобразорвателя, по этому его приходится вручную настраивать путем изменения скважности ШИМ.

формула расчета коэфициента заполнения D
формула расчета коэфициента заполнения D

Так как на устройствах чаще всего имеется микроконтроллер, то частоту возьмем именно с него. Ниже приведу код для генерации ШИМ сигнала на таймере для микроконтроллера CH32V003 (максимально дешевый и довольно шустрый кмушек на архитектуре RISC-V, максимально похож на STM32F030). Обратите внимание что выбрал режим PWM2 - инверсный ШИМ. Настройку следует производить с маленького коэффициента ШИМ и потихоньку увеличивать пока напряжение не примет нужную величину. Ниже приведенный код настраивает ножку PC0 как выход TIM2CH3.

#include "debug.h"

void periph_init(void){
	RCC->APB1PCENR |= RCC_APB1Periph_TIM2;  //Включаем тактирование модуля TIM2
	RCC->APB2PCENR |= RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO;

    GPIOC->CFGLR &= 0xFFFFFFF0; //Clear config
    GPIOC->CFGLR |=  0x9;    //PC0 -> TIM2CH3 out 
    
    // Настройка таймера TIM2
    //TIM2CH3->PC0->PWM для -5V  
    TIM2->CTLR1 = 0; // Сброс регистра управления
    TIM2->CTLR1 |= TIM_CounterMode_Up; // Режим счета вверх
    TIM2->PSC = 0; // Предделитель (делитель частоты) = 1 (24 МГц)
    TIM2->ATRLR = 120 - 1; // Автоперезагрузка (ARR) = 120 (200 кГц)
    TIM2->CH3CVR = 35; // Заполнение 35 / 120
    TIM2->CCER |= TIM_CC3E;  //включаем ШИМ для инвертора -5V

    // Настройка канала TIM2CH3 в режиме PWM
    TIM2->CHCTLR2 &= ~(0b111 << 4); // Очистка настроек канала CH3  
    TIM2->CHCTLR2 |= (0b111 << 4); // Режим PWM (Output Compare PWM Mode 2)
    TIM2->CTLR1 |= 1; // Включение таймера TIM2
}   

int main(void)
{       
    periph_init();

    while(1) 
    {
        
    }
}

Так же не стоит забывать что нельзя допускать чтобы на затворе транзистора продолжительное время был низкий уровень напряжения, иначе постоянный ток пойдет пойдет через дроссель на землю и спалит транзистор.

Осцилограмма с затвора полевика
Осцилограмма с затвора полевика
Теги:
Хабы:
Всего голосов 13: ↑13 и ↓0+17
Комментарии30

Публикации

Ближайшие события