Похоже, доломал

Дорисовал схему усилителя для наушников. Схема, в-общем, самая классическая — операционный усилитель и двухтактный выходной каскад на рабоче-крестьянских силовых транзисторах TIP29/TIP30. Берём любую книжку по электронике, например, того же Горовица-Хилла, и там всё можно найти.

Схема питается от блока питания ±15V, и её можно использовать не только для наушников. Если немного пересчитать выходной каскад, она вполне может потянуть небольшой громкоговоритель, желательно, импедансом повыше (от 16 ом), и может в таком режиме выдавать около 2 ватт. Это, кстати, только кажется, что мало. При громкоговорителе с нормальной чувствительностью этого вполне достаточно, чтобы домашние начали орать, чтобы сделал потише =)

В конечном счёте максимальная выдаваемая данным усилителем мощность упирается в основном в ограничения операционного усилителя OPA134 и простого выходного каскада — питание максимум от ±18 вольт, выходное напряжение на ±2 вольта меньше напряжения питания, максимальный выдаваемый ОУ ток — 34 миллиампера, плюс падение в 0.7 вольт на каждом выходном транзисторе — и получается, что сильно больше этих самых двух ватт не выжмешь. Ну, если речь о том, чтобы слушать качественный сигнал.

Немного о самой схеме (это, скорее, заметки для себя, чтобы не забыть, как это всё рассчитывать). Коэффициент усиления обуславливается соотношением номиналов резисторов R2 и R1 в цепи отрицательной обратной связи и равен 1 + R2/R1, т.е. при данных номиналах он составляет около 10. Резистор R2 я сделаю переменным, крутилку выведу наружу и помечу как Gain. Конденсаторы C1 и C2 дополнительно стабилизируют питание (в окончательной схеме я их ещё дополнительно шунтирую мелкими керамическими или полиэстеровыми конденсаторами). Конденсатор C3 закорачивает наводки радиочастот на землю, чтобы не усиливать посторонние сигналы. Выходной тракт самый обычный — диоды D1 и D2 практически любые маломощные кремниевые, их задача только в том, чтобы загнать транзисторы Q1 и Q2 в линейный режим, иначе при переходе сигнала через ноль будут искажения. Не надо использовать мощные выпрямительные, германиевые или диоды Шоттки — у них падение напряжения будет другим, чем на базе у кремниевых транзисторов. Вдобавок их надо монтировать в контакте с самими транзисторами, на теплопроводящей пасте — таким образом будет обеспечена стабильность при нагреве. Значения резисторов R3 и R4 рассчитываются исходя из максимального тока, который будет выдаваться транзисторами. Я исходил из максимальной мощности в 1 ватт, для нагрузки в 32 ома (представленной резистором R5). По закону Ома это ток около 32 миллиампер. Делим это на коэффициент усиления по току транзисторов в 30 (мыслим консервативно). Получаем около 9k ом. Мыслим, опять же, консервативно, и ставим 8k2. Выходные резисторы R6 и R7 опять же, для дополнительной стабильности. Ну, и конденсатор C4 приводит коэффициент усиления схемы к нулю для сигналов постоянного тока.

При симуляции усилителя параметры КНИ очень впечатляющие:

А теперь попробуйте повторить это же самое на лампах, ага. Всё чисто ламповое (не гибридное) с КНИ менее 0.1% есть либо наглое враньё, либо замеряно в каких-то спецусловиях, не имеющих ничего общего с реальным миром.

Конечно, понятно, что это только симуляция, и она не учитывает, например, тепловой шум от резисторов (что тоже корёжит сигнал). Но по крайней мере, это служит хорошей аттестацией того, что дизайн как минимум, неплох.

Одно мне непонятно в программе LTSpice — её очень странный подход к расчёту тепловыделения. Она продолжает упорно считать, что при максимальной громкости транзистор Q1 будет рассеивать более 8 ватт. При этом напряжение, выдаваемое усилителем на нагрузку, составляет 20 вольт от гребня до гребня, или около 7 вольт среднеквадратичных. Соответственно, это ток в 220 миллиампер или 110 миллиампер на каждый транзистор. На транзисторе высаживается около 11.5 вольт, и его тепловыделение будет около 1.3 ватт (ток в базе я не буду учитывать — там копейки). Откуда восемь ватт — непонятно.

В заключение скажу, что для наушников данный усилитель — мягко говоря, очень избыточен. Чувствительность моих 950х Сонек составляет 106 децибел на милливатт. Т.е. выдав на них 10 милливатт я получу громкость как на концерте монстров рока, а с мощностью в 1 ватт я почти с гарантией оглохну =)))

Осталось запилить схему в том же Eagle, запулить печатную плату, собрать, и вперёд. Надеюсь, найду время.

Операционный усилитель с однополярным питанием

Что-то у меня крокодил не ловится. Пытаюсь просимулировать схему с питанием операционника от 12 вольт. Если делать схему с виртуальной землёй на делителе напряжения — то всё работает. А вот схема со смещением (как хочется мне) не получается хоть ты тресни. В лучшем случае получается услабитель вместо усилителя =)

Ни у кого нет под рукой схемы с конкретными номиналами под определённое напряжение? Мне думается, у меня не работает потому что при схеме со смещением расчёт коэффициента усиления дополнительно усложняется, и отсюда получается ерунда.

Строительство усилителей

Припадаю опять к тихим хобби, типа электроники. В очередной раз интересуюсь звуковыми схемами, в том числе усилителями. Если раньше меня больше интересовало изготовление схем вообще (и тот самый предусилитель для микрофона я таки собрал, и он прослужил мне верой и правдой много лет) и овладевание общей теорией, в этот раз меня интересует изготовление схем КАЧЕСТВЕННЫХ. В понятие качества вкладывается понятно какой смысл — низкие параметры КНИ. Ну, хотя бы ниже 0.5% получить бы для начала.

Так вот, что архиудобно, так это бесплатная программа LTSpice. Помимо того, что в ней можно нарисовать саму схему, её можно просимулировать, и анализировать полученное через обратное преобразование Фурье, рассчитав КНИ и показав наглядно гармоники.

Симулируется, понятное дело, теоретический максимум. Реальные компоненты хуже виртуальных. Но это и полезно — чтобы понять, чего можно выжать из схемы в теории.

Вот та самая схема предусилителя, что я спаял ранее, по сути своей оказалась говном. Вот она:

Это рабоче-крестьянский усилитель с общим эмиттером плюс эмиттерный повторитель. Ну, любую книжку по электронике можно раскрыть, и там эта схема будет.

Так вот если её просимулировать, подав на вход сигнал 1 килогерц, то FFT полученного сигнала выглядит довольно порнографично:

Этих вот иголок на 2, 3, 4 и далее килогерц (гармоник) быть не должно в хорошем усилителе.

Если добавить SPICE-директиву .four, LTSpice любезно посчитает КНИ. И цифры отражают, в-общем, то, что видно на картинке:

КНИ аж три процента с гаком, почти как у лучших ламповых усилителей =)) Шучу, конечно, но вообще-то факты действительно таковы, что КНИ 0.5% является для ламповой техники очень хорошим показателем, а уж КНИ 0.08%, до которого транзисторная техника дошла ещё в 1970х, как, например, в усилителе Техникс SE-9600, для ламповой техники остаётся недостижимой вершиной. Нет, ну, достижимой, конечно. Но за очень конские деньги. В недорогой советской ламповой технике КНИ в 3% был обычным делом. Слушать это, тем не менее, было можно, так как характер искажений у ламповой техники обычно немного другой, не такой заметный.

Однако, вернёмся к тупому усилителю. Почему данная схема искажает? В первую очередь из-за нелинейности транзистора Q1. Дело в том, что у транзистора есть собственное сопротивление, и оно составляет примерно 25 / Ic в миллиамперах. Т.е. если ток в цепи коллектора (Ic) составляет 1 миллиампер, сопротивление транзистора будет равно 25 омам. С возрастанием тока оно падает, с уменьшением — растёт. Таким образом, коэффициент усиления транзистора получается разным просто на усилении банальной синусоиды: в тот момент, когда синусоида проходит через ноль, коэффициент усиления минимален, а на гребне синусоиды — максимален. Получается ерунда. Именно поэтому в книжках по электронике говорят “не делайте схему с заземлённым эмиттером”, потому что это переменное сопротивление таким образом становится наиболее заметным. С данным эффектом можно бороться, вкрячив в цепь эмиттера резистор, сравнительно большой по сравнению с внутренним сопротивлением транзистора. Ну, как на схеме, собственно, и сделано. Является ли при этом такая схема отрицательной обратной связью или мы просто исправляем одну кривизну другой кривизной — мнения расходятся. Горовиц-Хилл говорят, что да, это таки отрицательная обратная связь. Но в любом случае, помогает это не сильно.

В-общем, схему надо будет доработать, до полноценной схемы с отрицательной обратной связью. В результате я бы хотел сделать усилитель для наушников. Это проще, так как усилитель не надо делать очень мощным, 1 ватт для наушников — это OVERДОХРЕНА. И такое у меня подозрение, что скорее всего саму усилительную часть я сделаю на банальном операционнике Бурр-Браун, а выходной каскад — классический тяни-толкай на парах инженера Шиклаи.

Порекомендую блог

Товарищ пишет на близкие мне темы — электроника, радиотехника, радиолюбительство.

Phase Noise

Встречаются очень интересные материалы, и много из них моего любимого направления — как сделать что-то обалденное из говна и палок. Вот, например, как в домашних условиях принять картинку с русского метеорологического спутника “Метеор-2М”.

На выходе получается вот так:

Если у меня не окончательно отшибло географическую память, на снимке видно Кубу, флоридский полуостров (и немножко Алабамы, Джорджии, Луизианы), полуостров Юкатан, Ямайку, и Багамские острова.

Товарищ пишет по-английски, но судя по характерным для ESL ошибкам и стилю, английский язык у него не родной. Предположительно, один из “наших”.

Дорисовал

Таки доделал програмку на Питоне, рисующую спектр сигнала и автоматически считающую КНИ+шум и ОСШ. Попутно узнал, как водится, много нового. За что люблю Питон — так это за то, что программа занимает менее 40 строк. На тех же Сях я бы усрался это рисовать. Даже на Шарпах бы усрался.

Программе скармливается звуковой файл с сигналом частотой в 1 kHz, сгенерированный программой Adobe Audition (в девичестве Syntrillium CoolEdit). Но можно взять и бесплатный Audacity, результат будет точно такой же. Программа читает файл, берёт значение с наибольшим пиком и даёт ему обозначение в 0 децибел. Остальное, соответственно, отрицательные величины. Подсчитывается среднеквадратичное значение всего, что не сигнал, и делится на уровень сигнала. Получается КНИ+шум (THD+N). Потом считаем ОСШ (отношение сигнал/шум, SNR) в децибелах: 20log10(сигнал / шум)

Вот так выглядит анализ звукового файла с сигналом 1 kHz, разрешением 16-бит, частота дискретизации — 48 kHz:

Это весьма близко к теоретическому идеалу — в идеале, разрешение 16 бит может дать ОСШ в 96.3 dB. Но у меня не идеал, так как я использую чуть менее, чем 16 бит — ибо если генерировать синусоиду с уровнем в 0 dB (т.е. по-максимуму), то почему-то уже лезут нелинейные искажения. Так что я создаю её с уровнем в -0.1 dB, минимальным отступлением от максимума, которое мне даёт делать Audition. В любом случае, 94 dB — это дохрена.

КНИ в 2 тысячных процента это тоже прекрасно. Без приборов этого никто никогда не увидит, искажения начинают быть слышимыми, когда уже вплотную приближаются к 1%, хотя это сильно зависит от того, что именно слушаем: если чистые синусоиды, то искажения начинают быть заметными гораздо раньше, а если в качестве тестового материала брать альбомы фифтисентов и прочих, то там можно и 10% искажений не услышать. Что не означает, что аппаратура, дающая КНИ в 0.05%, ничем не лучше аппаратуры, дающей 0.1% — она лучше; просто в реальности ушами этого ни один живой человек не услышит.

А теперь — снова пнём формат MP3 🙂 Никто как-то вот не задумывается о том, что они слушают в тысячедолларовых деревянных наушниках, подключённых к внешним усилителям класса А за семьсот долларов, обещающим КНИ в 0.00045%

А между тем это реалии MP3 с битрейтом в 192 килобита/сек:

А это — 320 килобит/сек:

Получше, конечно, чем 192 kbps, но всё равно проседание качества очень налицо — происходит серьёзное ужимание динамического диапазона (я в курсе, что ДД и ОСШ это не вполне одно и то же, но они связаны). На некотором материале (например, классическая музыка, обладающая большим динамическим диапазоном) это может быть очень заметно. На 192 килобитах так это точно заметно, тихая партия скрипки сопровождается скрежетом артефактов сжатия с потерями — собственноушно, так сказать, слышал. Дальнейшее увеличение битрейта после 320 килобит/с, кстати, уже ничего не даёт — ОСШ так и остаётся в районе 55 децибел.

Ещё надо будет попинать винилофильство и прочее плёнколожество, но это в другой раз 🙂

Отрицательная частота

Всё же как много я не знаю и не понимаю. Последний месяц-два изучаю методы измерения параметров качественности усиления звукового (и не только) сигнала.

Методов есть несколько, но про это в другой раз.

Основа в том, что чистый сигнал определённой частоты (например, 1 КГц) представляет собой синусоиду. Всё, что немного не синусоида, уже есть не чистый сигнал, а сумма сигналов, сумма синусоид. Даже меандр можно описать синусоидами — как функцию y(x) = sin(x) + sin (3x) / 3 + sin (5x) / 5 + .. + sin (nx) / n. Потому что меандр — это сумма синусоид основного сигнала и синусоид нечётных гармоник — то-есть, сигналов с частотой в 3, 5, 7 и так далее до бесконечности раз выше основной. Просто если речь идёт о звуковом сигнале, гармоники выше 19й слышны (как считается) уже не будут, так что меандр там получается не совсем полный, приблизительный.

Так вот если есть источник звукового сигнала, как узнать, насколько чистый там тон? Можно записать это в обыкновенный wav файл, а потом провести над полученным массивом данных математическое издевательство, называемое преобразованием Фурье. Пакетов для этого существует масса, можно взять бесплатный редактор Audacity, в нём есть спектральный анализ (преобразование Фурье это оно и есть).

Но, во-первых, я не ищу лёгкого пути, а во-вторых, мерять гармоники, долго их складывать и вставлять в формулу для расчёта КНИ я не хочу. Нехай электронный болван всё за меня считает, он на то и был куплен.

Так что нарисовал свою программу. Разумеется, на Питоне (на чём же ещё, не на Сях же рисовать). Благо есть модуль SciPy, в котором уже всё придумано, в том числе алгоритм быстрого преобразования Фурье (сиречь FFT).

Алгоритм FFT выдаёт гистограмму. По горизонтали — частота сигнала, по вертикали — его громкость. Примерно так слышит музыку человеческое ухо. Так вот выяснилось, что по умолчанию алгоритм выдаёт симметричную вокруг нуля герц картинку, то-есть, есть как положительная частота, так и отрицательная %) На этом месте я залип — как это, минус один килогерц?

Анализ файла с синусоидой 1 КГц выглядит так:

В принципе оно ведь логично — у синусоиды одна половинка имеет положительные значения от 0 до 1 (в военное время — до 4 =)), а другая — отрицательные, от 0 до -1. Соответственно, положительная частота — для того, что выше нуля, а отрицательная частота — для того, что ниже нуля. Правда, не совсем понятно, почему именно вот так — не было бы логичнее делать положительную и отрицательную амплитуды (громкости)?

Ещё менее понятным стало, когда я силой сгенерировал синусоиду с отрезанной верхушкой и сунул её в анализатор. Вот такую:

Я ожидал, что анализатор увидит туеву хучу гармоник с положительными частотами, и чистейший тон с отрицательными. Ан фиг — одни и те же гармоники были и слева и справа от нуля. Совсем непонятно, почему так. Вернее, конечно, понятно — сигнал это ВСЯ синусоида, от нуля до двух пи радиан, а не только её часть. Но тогда уже непонятно, зачем вообще городить огород с отрицательными и положительными частотами — не всё ли равно?

Плюнул, сменил алгоритм scipy.fftpack.fft на scipy.fftpack.rfft. rfft — это real fft, и отрицательных частот не выдаёт. Так намного понятнее.

Продолжаю изучать.

GPS v.Everything

“Когда модемы были большими”, и разговаривали друг с другом по телефонной линии, существовала туева хуча протоколов — v22, v32, v34, и так далее. Помимо общепринятых стандартов, были также фирменные стандарты отдельных производителей — так, до того момента когда все стали поддерживать v34, модемы Zyxel и USR, несмотря на наличие у них протоколов, позволяющих им передавать данные со скоростью 19 200 (Zyx19200) и 16 800 (HST, в дальнейшем разогнанный аж до 24 000) бод, могли общаться максимум на 14 400.

Закончилось это победой разума — USR выкатил свой Courier v.Everything, который поддерживал все стандарты (кроме чужих фирменных, разумеется), все стали поддерживать v34+, и проблема “модем-то у меня скоростной, но с тобой я могу пообщаться только медленно” исчезла. А потом и модемы-то практически ушли, хотя в отдельных ипостасях (факс-серверы) живут до сих пор.

Вся эта ситуация мне напоминает положение вещей с глобальным позиционированием. Сейчас существует четыре крупных систем глобального позиционирования — американский GPS, русский GLONASS, европейский Galileo и китайский BeiDou (японский QZSS не рассматриваем — это дополнение к GPS и работает только в Японии). И всё оно никак не взаимодействует между собой — приёмник GPS не умеет работать с Galileo и наоборот. Хотя мультисистемность более-менее появляется, чипы с поддержкой GPS и GLONASS я уже видел, даже в телефоны их ставят.

Однако выяснилось, что существуют чипы с поддержкой ВСЕХ систем позиционирования — эдакий Courier v.Everything в мире навигации. Это, например, u-blox M8, поддерживащий приём со всех четырёх созвездий спутников. Однако, одновременно оно может только в три созвездия из четырёх — что, в-общем-то, и так дофига, а если шибко надо ВСЁ — можно тупо взять ДВА чипа, благо они стоят меньше 8 долларов в партиях от 500 штук.

Фактически, таким образом можно обеспечить приём спутников так с сорока сразу. Интересно, даст ли это возможность получить точность позиционирования в сантиметры?

Про связь в экстренной ситуации

В очередной раз убедился в том, что во время каких-то бедствий современная техника абсолютно бесполезна.

У нас тут третьего дня перевернулся седельный тягач с цистерной с бензином. Слава Гефесту, не загорелся. Шоссе тут же перекрыли кибенемат, в обе стороны. Пытаюсь понять, что происходит, и как вообще теперь домой ехать. Достаю телефон. Видимо, та же идея пришла в голову всем остальным участникам дорожного движения, и башни были полностью перегружены — проходили только СМСки, и те с большой задержкой. Всё остальное не работало от слова “совсем”. В результате я узнал о происшествии только дома, по телевизору.

Так что воспользоваться сотовой связью во время каких-то происшествий будет просто невозможно. Мало того, что активность хотя бы в одну тысячу рыл (а это немного, учитывая площадь покрытия) гарантированно ставит башню раком, так ещё если вдруг отключится электричество, сотовые башни прослужат недолго. По закону, у них должен стоять ИБП/генератор, но срок их работы не будет превышать несколько часов — особенно учитывая многократно возросшую нагрузку.

А вот если бы в машине у меня была хотя бы СиБишка — можно было бы узнать у дальнобойщиков, что происходит.

Двухметровую антенну, что ли, в автомобиль воткнуть. Благо аппарат есть (и не один).

Паяльник с питанием от USB

О Гефест, теперь я видел всё.

Review: Aneng LT-001 USB Soldering Iron

Вообще непонятно, зачем надо было мучаться. Ведь кто-то разрабатывал эту муйню, тратил своё время. Хотя любому понятно, что продукт заранее мертворожденный — снять со стандартного порта USB достаточную мощность просто невозможно, придётся отжирать совершенно непотребный ток. Стандартный порт просто загорится. Именно поэтому во всяких хитрожопых стандартах типа мощного USB PD внутри этого самого USB не стандартные 5, а либо 12, либо 20 вольт — иначе сгорим-с.

Ожидаемо, автор обзора смог запаять этим паяльником только SMD компоненты. Всё прочее просто рассеивало тепловую мощность.