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

Прошу помощи с операционным усилителем для предусилителя.


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

Который день бьюсь с изучением операционного усилителя. Кому не лень прошу мне помочь. Я уже писал сюда вопрос с просьбой помочь разобраться с ОУ. Там мне кинули очень хорошую статейку по ОУ, но вопросы она так и не решила, а создала их еще больше. Прошу ответить максимально для тупых так как я судя по всему один из таких. При изучении ОУ я понял, что они бывают как с однополярным питанием так и с двуполярным. Решил собрать предусилитель на однополярном. Но я не понимаю как при однополярном питании мы получаем отрицательную часть сигнала на выходе. Ведь ОУ априори не может выдать напряжение меньше 0 вольт, так как минимальное напряжение питания и есть эти 0 вольт. Как я понял мы поднимаем среднюю точку(точку от который мы вечем отсчет) до половины напряжения питания при помощи делителя напряжения, добавляем к ней входной сигнал и получаем( все еще на входе) копию изначального входного сигнала только уже относительно половины напряжения питания. Для меня это важно. Получается, что сигнал начинает колебаться относительно половины напряжения питания, а не 0. Не 0, а половины питания. Далее ОУ сравнивает его со средней точкой(половина напряжения питания) и выдает выходной сигнал. Если я правильно понял то все просто замечательно, но если это не так то объясните пожалуйста как усилитель с однополярным питанием может выдать усиленную отрицательную часть(относительно 0 вольт) входного сигнала? Прошу подробно и с упоминанием относительно чего. Заранее благодарю.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

4 часа назад, Mr Pon4ik сказал:

выдает выходной сигнал

Относительно заданной Вами средней точки. А в покое на выходе будет "половина питания". Конденсатор решит проблему (и на входе тоже, если входной сигнал подается относительно 0В однополярного ИП).

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

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

38 минут назад, Юрий_Uri сказал:

Конденсатор решит проблему

Если вы про то, что питание нужно отделать от микрофона и выхода конденсатором я знаю (как я понял это нужно для отделения питания, чтобы не сгорел микрофон и вход, но может я не прав). Я не могу понять относительно чего будет напряжение на выходе. Относительно 0 которая является минусом источника питания и ОУ или искусственно созданной средней точки? Просто если 0 то я не могу понять откуда взялось отрицательное напряжение.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

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

2 часа назад, Mr Pon4ik сказал:

бывают как с однополярным питанием так и с двуполярным

Не бывают. С двухполярным были только К140УД1 и К140УД2, в которых имелся вывод средней точки. Почти все современные ОУ - с однополярным питанием. Средняя точка нужна только для СХЕМЫ, построенной на ОУ. А самому ОУ она до лампочки.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Falconist сказал:

Почти все современные ОУ - с однополярным питанием. Средняя точка нужна только для СХЕМЫ

Спасибо конечно, но мне это не очень помогло. Я сижу как дундук, смотрю на схему и не понимаю как заставить сигнал колебаться относительно 0 вольт и зачем там конденсатор.

Ссылка на комментарий
Поделиться на другие сайты

1075801427_.png.8771f7833b0293e8e190c20f8c2089e4.png
@Mr Pon4ik Угу?

С уважением В.

ПС. Забыл: входное и выходное напряжение на "графике" измерялось относительно "земли".

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

@bam-buk я понял как получить на схеме сигнал на выходе относительно средней точки, но когда я пропускаю его через конденсатор, я не получаю изменений. Как я понял проблема в общем проводе, но я не знаю в чем конкретно. Я использую 0 как средний провод, ничего не работает.

 

Ссылка на комментарий
Поделиться на другие сайты

Проблема в том, что инвертирующий вход гальванически связан с нулевой шиной.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, Mr Pon4ik сказал:

я не получаю изменений.

Изменения есть: на выходе ОУ сигнал "выше" нуля на Vs/2 ("выше" - это условно), а на Rloud (на выходе) - верхняя часть сигнала "выше" нуля (т.е. положительна), а нижняя часть - "ниже" нуля (т.е. "отрицательна").

Чем анализируете сигнал, что "не получаете изменений"?

С уважением В.

Ссылка на комментарий
Поделиться на другие сайты

@Falconist @bam-buk Я покумекал еще, собрал вроде как рабочую схему. Проблема и правда была в конденсаторах, но я не до конца понимаю как это работает и почему конденсаторы изменяют сигнал. Например если убрать конденсатор в начале то средняя точна будет бесполезна(она не подымет сигнал). + Если конечный сигнал сравнивать вольтметром с 0 то сигнал будет полностью в плюсе, а если через резистор то все замечательно. Можете объяснить?

изображение.png

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

1 минуту назад, Mr Pon4ik сказал:

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

конденсатор не пропускает постоянное напряжение (понятие "закрытый вход") Поэтому если выход и вход в силу особенностей, имеют различные  постоянные уровни,то их разделяют конденсатором , чтобы не нарушать работу схем.

Изучение ОУ лучше начинать с их внутренней структуры на транзисторах .

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Mr Pon4ik сказал:

я не понимаю

Это не вопрос. Это утверждение. Соболезную.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

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

32 минуты назад, Falconist сказал:

Это не вопрос.

Тогда вопрос. Почему нельзя сместить входной сигнал при помощи средней точки без конденсатора, а если можно то как?

Ссылка на комментарий
Поделиться на другие сайты

50 минут назад, Mr Pon4ik сказал:

что конкретно они делают я не понимаю

Выполняют функцию сдвига уровня постоянного напряжения на столько, на сколько это заложено в схеме, т.е. - заряжаются как аккумуляторы до нужной разности потенциалов (напряжения) (см. "зелёные" вольтметры). (опоздал с этим ответом, т.к. сам "почти понял зачем они нужны")
1380245618__cr.png.6059801bc8e4c7a40e2cf5ac6605ef1f.png
На осциллографе цвета линий соответствуют цветам соединительных проводов на схеме.

16 минут назад, Mr Pon4ik сказал:

Почему нельзя сместить входной сигнал при помощи средней точки без конденсатора

Нельзя потому, что подавляющее большинство источников сигнала "привязаны" одним из своих проводов ("землёй") к общему проводу ("земле") схемы. Если ист.сигнала позволяет себя подключить к "неземляному" проводу (напр., к "средней точке") - то - пожалуйста! никто не запрещает! Для этого ист.сигнала на схеме выше можно подключить между "средней точкой" и входом ОУ (левый конденсатор удалить!) - всё будет работать как и прежде. Но на практике такие "финты" делаются с осторожностью - тому много причин.

С уважением В.

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

Ура, наконец-то я хоть чуть чуть разобрался и буду собирать предусилитель для микрофона. Всем огромное спасибо. @bam-buk Единственный вопрос, что за симулятор вы используете?

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

    • Данная тема к "импульсникам" не относится, поэтому всё "внетемное" удаляю. Не флудим. Для обсуждения других схем создавайте отдельные темы!
    • @READART Из практики. Даже 2в1 ухитряются путаться и мешать друг другу. Что за ад будет происходить с 4в1 я с трудом представлю. Вероятнее всего он будет низведен до банального 2в1 из-за неудобства.
    • нечего там смотреть, достаточно взглянуть на картинку- это похоже болячка этой деки- присоединяюсь к теме- у меня такая же проблема!
    • @donec Спасибо, но нет. Слишком всё как то всё сложно и запутано написано там в этом коде.  Я сейчас тем временем продолжаю разбираться с дисплеем. Выяснил причину артефактов на дисплее, а она кроется в коде, но это ещё нужно понять как исправить. Собственно в чём суть дела вывод по одному символу работает корректно и всё отображается правильно, но как только я пытаюсь вывести строку то на дисплее сразу появляются всяческие артефакты. Так что тут получается нужно каким то образом править код вывода строки. Вот весь код написанный под ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define MAIN_H_ #define LCD_H_ #define LCD_DDR DDRA #define LCD_PORT PORTA #define LCD_PIN PINA #define DATA 0b11110000 #define RS PA2 #define E PA3 #define E1 LCD_PORT|=(1<<E) #define E0 LCD_PORT&=~(1<<E) #define RS1 LCD_PORT|=(1<<RS) #define RS0 LCD_PORT&=~(1<<RS) void lcd_ini(void); void lcd_str(char* str); void lcd_pos(uint8_t line, uint8_t pos); void lcd_num(uint8_t num, uint8_t line, uint8_t pos); uint8_t n=0; void write(uint8_t n) { n<<=4; E1; //линию Е в 1 LCD_PORT&=~DATA; //удалить предыдущую отправку LCD_PORT|=n; //выставить значение на пины управления дата битами asm("nop"); //пропуск такта E0; //линию Е в 0 } void send_byte(uint8_t byte, uint8_t tip) { if (tip) //если тип данные на линии RS 1 { RS1; } else //иначе тип команда и на линии RS 0 { RS0; } write(byte>>4); //передача старшего полубайта write(byte); //передача младшего полубайта } void lcd_ini(void) { LCD_DDR|=DATA | (1<<RS) | (1<<E); _delay_ms(20); RS0; write(3); _delay_ms(5); write(3); _delay_us(150); write(3); _delay_us(50); write(2); _delay_us(50); send_byte(40,0); _delay_us(50); send_byte(12,0); _delay_us(50); send_byte(1,0); _delay_ms(2); send_byte(6,0); _delay_us(50); } void lcd_str(char* str) { uint8_t n=0; while(str[n]) { send_byte(str[n],1); n++; } } void lcd_pos(uint8_t line, uint8_t pos) { uint8_t adress=(line*0x40+pos)|0x80; send_byte(adress,0); _delay_us(50); } void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; char rxb; volatile start=1, flags; ISR(USART_RXC_vect) { char rxb = UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=rxb; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; DDRB = 0b10000000; PORTB = 0b11111111; lcd_ini(); while(1) { if (~PINB & (1<<1)) { send_UART('P'); send_UART('B'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('A',1); lcd_pos(1,0); lcd_str("PORT B1"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("GAMES AND SOFT"); //send_byte(0b01000001,1); //A //send_byte(0x41,1); //A //send_byte('A',1); //A } if (~PINB & (1<<2)) { send_UART('P'); send_UART('B'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('B',1); lcd_pos(1,0); lcd_str("PORT B2"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("TIFASO"); } if (~PINB & (1<<3)) { send_UART('P'); send_UART('B'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('C',1); lcd_pos(1,0); lcd_str("PORT B3"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("HELLO"); //lcd_pos(1,0); //lcd_str("PLAYER BT201"); } if (~PINB & (1<<4)) { send_UART('P'); send_UART('B'); send_UART('4'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('D',1); lcd_pos(1,0); lcd_str("PORT B4"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("FILE MUSIC MP3"); //lcd_pos(1,0); //lcd_str("USB PLAYER VOLL"); } char i = 0; if (rx_buf[i] == 'M'){ i++; if (rx_buf[i] == '1') { LED_1_ON(); LED_2_OFF(); } else if (rx_buf[i] == '2') { LED_1_OFF(); LED_2_ON(); } else if (rx_buf[i] == 'T') { LED_1_ON(); LED_2_ON(); } else if (rx_buf[i] == 'K') { LED_1_OFF(); LED_2_OFF(); } } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('E',1); lcd_pos(1,0); lcd_str("PORT C0"); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('F',1); lcd_pos(1,0); lcd_str("PORT C1"); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Собственно за вывод символа отвечает send_byte она работает правильно, а за вывод строки отвечает lcd_str вот в ней как раз таки и вся проблема с артефактами. А что конкретно не так я пока ещё никак не пойму. Может кто более опытным глазом увидит и подскажет что нужно исправить.
    • Может, и дроссель. Синие конденсаторы мне тоже встречались.
  • Похожий контент

×
×
  • Создать...