Русский
Русский
English
Статистика
Реклама

Схемотехника

Легендарный трансивер Радио-76

07.05.2021 12:20:51 | Автор: admin

Для многих радиолюбителей первым собственным трансивером стал Радио-76. Радиостанция эта была разработана в лаборатории журнала Радио Б. Степановым (UW3AX) и Г. Шульгиным (UA3ACM). Конструкция трансивера была простой и хорошо повторяемой.

Актуальность трансивера Радио-76 повысилась, когда в августе 1978 года для советских радиолюбителей вновь открыли для работы диапазон 160 метров. Радиолюбительский позывной для работы на этом диапазоне стало возможным получить уже с 14 лет, причём без сдачи экзамена на приём и передачу азбуки Морзе.

Собрать же юным радиолюбителям свою радиостанцию стало гораздо проще, когда в 1980 году Ульяновский радиоламповый завод начал выпуск радиоконструктора Электроника-Контур-80. Стоил набор 64 рубля, содержал собранные на производстве основную плату и плату гетеродинов (без моточных компонентов), и из него можно было собрать малосигнальный тракт трансивера Радио-76.

У меня чудом уцелела основная плата из этого набора. Что же мне помешало добиться от неё в далёком 1984 году идеальной работы на передачу, можно узнать из публикации.


Структурная схема трансивер


Структурная трансивера Радио-76 была опубликована в журнале Радио, 1976, 6, стр. 19.
Трансивер состоит из трёх плат: основной платы, платы гетеродинов и платы усилителя мощности. Антенный переключатель (1) и диапазонный полосовой фильтр (ДПФ) тракта приёма (2) в состав этих плат не входят.

В режиме приёма радиосигнал поступает через антенный переключатель (1) и приёмный ДПФ (2) на первый кольцевой смеситель (3) основной платы. На первый кольцевой смеситель (3) через переключатель гетеродинов (12) подаётся сигнал ГПД (10). Полученный сигнал промежуточной частоты (ПЧ) усиливается первым усилителем ПЧ (4) и проходит через электромеханический фильтр (ЭМФ) на второй УПЧ. Усиленный сигнал ПЧ с выделенной ЭМФ верхней боковой полосой (ВБП) поступает на второй кольцевой смеситель (7), куда через (12) подаётся сигнал генератора опорной частоты (11). Полученный в результате сигнал звуковой частоты поступает на усилитель низкой частоты (УНЧ) (8).

В режиме передачи на балансный модулятор (DSB) (3) поступает сигнал генератора опорной частоты (11) и модулирующий сигнал звуковой частоты с микрофонного усилителя (9). Сигнал с подавленной несущей усиливается первым УПЧ (4), ЭМФ (5) выделяет в сигнале ВБП. После усиления вторым УПЧ (6) сформированный однополосный сигнал поступает на второй кольцевой смеситель (7), куда также подаётся сигнал ГПД (10). Полученный в результате сигнал радиочастоты проходит через ДПФ (13) усилителя мощности (УМ) (14), усиливается УМ (14) и через антенный переключатель (1) поступает в антенну.

Как мы видим, большинство узлов структурной схемы радиостанции используются и при работе в режиме приёма, и при работе в режиме передачи. Поэтому Радио-76 и является трансивером.

Основная плата трансивера


Основную плату из набора Электроника-Контур-80 я обнаружил в коробке на антресолях. Как она пережила несколько переездов, ума не приложу.

Многие конденсаторы типа К10-7 были поломаны, электролитические конденсаторы за тридцать с лишним лет должны были высохнуть, а подстроечный резистор СПО и в восьмидесятые считался хламом.

Керамические конденсаторы К10-7 были заменены на К10-17, электролитические конденсаторы на импортные, а резистор СПО на Bourns. В процессе отладки были внесены ещё несколько изменений, и теперь моя основная плата трансивера Радио-76 выглядит так:


В 1984 году радиостанция из набора заработала на приём буквально сразу: кварцевый генератор и генератор плавного диапазона (ГПД) запустились без проблем, контуры ПЧ были настроены в резонанс, ВЧ-трансформаторы кольцевых балансных смесителей были сфазированы верно.

Проблемы были с передачей, и их было две: сдвиг частоты ГПД на 200 400 Гц при переключении приём-передача и недостаточное подавление несущей на выходе модулятора DSB.

Проблему со сдвигом частоты я решил, собрав ГПД по более сложной схеме. Качественного же подавления несущей мне добиться так и не удалось, и на сообщения о наличии в сигнале несущей я отвечал, что работаю на радиостанции из набора Электроника-Контур-80.

Схемотехника основной платы


Схема электрическая принципиальная основной платы трансивера Радио-76 была опубликована в журнале Радио, 1976, 6, стр. 21.
Реализация платы из набора отличается заменой транзисторов КТ315 на КТ312 и применением вместо ИМС серии К122 их аналогов серии К118 в корпусах DIP-14.

Основным компонентом схемы является электромеханический фильтр Ф1. На фотографии платы это ЭМФ-9Д-500-3В. Этот фильтр предназначен для выделения верхней боковой полосы сигнала на частоте 500 кГц.

На транзисторе Т1 собран первый усилитель промежуточной частоты (УПЧ) на микросхеме МС1 собран второй УПЧ. На вход первого УПЧ подаётся сигнал с первого кольцевого балансного смесителя. С выхода второго УПЧ сигнал подаётся на второй балансный смеситель.

В режиме приёма через выв. 7 и 8 основной платы на первый смеситель (3) подаётся сигнал с приёмного ДПФ (1), а на выв. 7 и 8 сигнал ГПД (10). Усиленный сигнал ПЧ с выделенной верхней боковой полосой поступает во второй смеситель (7), куда также через выв. 12, 13 подаётся сигнал с генератора опорной частоты 500 кГц (11). Сформированный сигнал звуковой частоты через фильтр нижних частот (ФНЧ) поступает на вход УНЧ (8), собранного на МС2, Т3, Т4 и Т5.

В режиме передачи для формирования сигнала ПЧ с подавленной несущей (DSB) на первый смеситель (3) через выв. 7, 8 подаётся сигнал с генератора опорной частоты 500 кГц (11), а также модулирующий сигнал с выхода микрофонного усилителя (9), собранного на МС3. Усиленный сигнал ПЧ с выделенной верхней боковой полосой поступает во второй смеситель (7), куда также через выв. 7, 8 подаётся сигнал ГПД (10). Сигнал радиочастоты с выхода второго смесителя (выв. 14, 15) подаётся на ДПФ усилителя мощности.

На любительских диапазонах 160, 80 и 40 метров работа ведётся нижней боковой полосой, а электромеханический фильтр в тракте ПЧ выделяет верхнюю. Именно поэтому частота ГПД должна быть выше на 500 кГц частоты принимаемого сигнала.

К примеру, при настройке ГПД на частоту 2400 кГц в режиме приёма трансивер будет принимать сигнал с нижней боковой полосой на частоте 1900 кГц, сигнал с верхней боковой полосой по зеркальному каналу на частоте 2900 кГц, а также сигнал с верхней боковой полосой на промежуточной частоте 500 кГц.

В этом же примере в режиме передачи на выходе второго смесителя будут явно присутствовать сигналы с частотами 500, 1900, 2400, 2900 кГц, а также их гармоники.

Напрашивается вывод: в трансиверах супергетеродинного типа требуется применение качественных диапазонных полосовых фильтров. Без них невозможно обеспечить подавление внеполосных помех.

Отладка основной платы


Памятуя, сколько времени я потратил на борьбу с ГПД, я решил плату гетеродинов не восстанавливать. Вместо неё я собрал простенький синтезатор частот на si5351a с управлением по CAT-интерфейсу:


Для отладки тракта ПЧ был использован радиолюбительский векторный анализатор nanoVNA. Выход прибора был подключен параллельно катушке L1, а вход параллельно L4.

Как только оба контура тракта ПЧ были настроены в резонанс, nanoVNA показал такую вот замечательную АЧХ:

После настройки тракта ПЧ началась балансировка модулятора. На первый смеситель был подан сигнал опорной частоты 500 кГц, а на второй смеситель сигнал с частотой 2400 кГц. Модулятор балансировался подстроечным резистором R2 по минимальному уровню несущей на частоте 1900 кГц. Сигнал контролировался на приёмнике SoftRock RX Ensemble II. На картинке ниже показан лучший результат балансировки:


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

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

Фиксируем начальные условия: отключаем от второго смесителя гетеродин, снова подключаем вход nanoVNA параллельно катушке L4 и получаем на приборе такой вот уровень несущей:


В схеме трансивера Радио-76М2, опубликованной в журнале Радио, 1983, 11, стр. 21, была предпринята попытка сбалансировать модулятор подключением второго дросселя. Подключаем дроссель, видим, что уровень несущей упал на 12 dB:


Оказалось, это ещё не предел: в статье В. Меньшова и А. Булатова Улучшение смесителей в Радио-76 и Радио-76М2 из журнала Радио, 1988, 12, стр. 23-24 была опубликована предельно симметричная схема балансного модулятора, которая даже не содержала балансировочный резистор. Резистор этот пришлось вернуть, чтобы добиться подавления несущей ещё на 10 dB:


Подаём на второй смеситель сигнал с частотой 2400 кГц. На контрольном приёмнике SoftRock RX Ensemble II видим на частоте 1900 кГц сигнал с нижней боковой полосой с подавленной несущей на уровне шумовой дорожки:


При этом на зеркальном канале на частоте 2900 кГц мы видим, как и ожидалось в отсутствие ДПФ, сигнал с верхней боковой полосой:


Вот так, спустя 37 лет, и была решена вторая проблема. Простая переделка простой схемы улучшила подавление уровня несущей на целых 22 dB. Если бы молодость знала!

От автора


Влияние трансивера Радио-76 на развитие советского радиолюбительского движения трудно переоценить. Схема трансивера потрясала своей новизной: кольцевые балансные смесители на диодах, применение интегральных микросхем, усилитель мощности на транзисторах, наконец!

Несмотря на новизну, схема трансивера была простой, понятной и легко настраивалась. Проблемы с АРУ и ГПД были вызваны тем, что Радио-76 являлся своеобразным MVP, урезанной версией, трансивера I категории Радио-77. Ирония судьбы проявилась в том, что народную любовь снискал именно Радио-76.

Многие радиолюбители сразу включились в процесс совершенствования узлов Радио-76. В журнале Радио частенько публиковались схемы усовершенствованных ГПД, телеграфных гетеродинов, цепей АРУ. Основная плата трансивера Радио-76 легла в основу нескольких приёмников и трансиверов.

Степанов и Шульгин кардинально переделали схему трансивера в версии Радио-76М2. Структура радиостанции при этом осталась той же: сообщество признало эту архитектуру классической, её до сих пор наследуют многие любительские трансиверы!

Что касается смесителей: и у гениальных разработчиков происходят накладки!
На русском языке тема широкополосных трансформаторов и кольцевых балансных смесителей была раскрыта в переведённой в 1990 году книге Эрика Тарта Реда Справочное пособие по высокочастотной схемотехнике: Схемы, блоки, 50-омная техника. Ни в 1976, ни в 1983 годах ничего подобного в доступе ещё не было.

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

Таким мне и запомнился 1984 год. Это был год, посвящённый отладке моего Радио-76!

Подробнее..

Ненормативная схемотехника ATmega8 кто сказал, что выше головы не прыгнешь?

30.04.2021 12:16:20 | Автор: admin
Вот уж несколько лет, как я увлёкся микроконтроллерами, а именно семейством AVR. Ещё на этапе освоения Ардуино (в этот момент часть аудитории поплевались и ушли читать другие статьи) я пытался выдавить из неё больше, чем задумано. Меня всегда больше интересовали нестандартные решения обычных задач. Сейчас я знаю об AVR намного больше, чем ещё пару лет назад, и всё больше убеждаюсь, что знаю очень мало.

С чего начинает среднестатистический начинающий электронщик? Правильно, с часов! Как только научился пользоваться голыми контроллерами, а не платами Ардуино, захотел сделать часы на Атмеге, голой Атмеге без кучи ключей и буферных микросхем. И обязательно со статической индикацией, а не с динамической (ну не люблю я её). Собственно, статическая индикация программно гораздо проще, а ведь мы простых путей не ищем. Но зато возникают другие проблемы, которые несколько раз меня останавливали в самом начале пути. Понятно, что если взять Атмегу пожирней, задействовать в ней половину ножек и полпроцента памяти, задача упрощается донельзя, собственно, такие настольные часы на ATmega128 работают у меня на столе пару лет.

Но это не наш метод. Я с самого начала хотел именно ATmega8, как самую доступную и самую дешёвую (в том числе в дип-корпусе). Всё то же самое можно и на ATmega48, но её попробуй ещё найди, разве что у Вас в ящике стола валяется их много с незапамятных времён.
Посмотрим на картинку, известную всем, кто недавно интересуется AVR.

Глядя на неё, легко посчитать, что мы можем задействовать на часовой индикатор 20 ножек, ещё на двух у нас будет кварц (куда от него денешься, внутреннее тактирование не прокатит, нам ведь от часов нужна точность какая-никакая). Ну и сброс. На четыре семисегментных индикатора нужно 28 ног, ну даже 27, ведь десятки часов можно отображать цифрами 1 и 2, а ноль не отображать. Ещё когда идея только зарождалась, я это количество сократил до 22 ножек, ведь для отображения десятков часов можно обойтись цифрой 1, и оба её сегмента зажигать от одной ноги контроллера. Но как ни крути, пары ног мне всё же не хватало, даже при том что я давно знал о возможности использования как ввода-вывода ножки Reset, но так ещё ни разу и не попробовал (если не считать ATtiny13, её не так жалко было), ведь параллельного программатора у меня нет, а любая отладка это минимум несколько итераций прошивки, вряд ли всё идеально выйдет с первого раза. Так и лежал этот замысел в закромах мозга, и ждал своего времени, пока как-то мне не пришла в голову ещё одна интересная идея.
Посмотрел я однажды на светодиодную ленту (120 светодиодов на метр) и понял, что можно легко и просто сделать электронные часы любого размера с её использованием. Просто нарезаем сегменты желаемой длины и наклеиваем их на подходящее основание, для больших размеров сегмент может складываться из двух и более лент по ширине. В моём случае отрезаем сегменты по шесть светиков, таким образом длина сегмента составляет 50 мм, высота цифры 100, для моей задумки офисных часов вполне достаточно.

Но вот незадача, напряжение питания ленты 12 вольт, а AVR хочет не больше 5 вольт (люди утверждают, что и 8 вольт выдерживают, но я проверять пока не буду, да и не поможет). То есть нужно ставить 22 ключа для включения всех сегментов. Если применить драйвер ULN2003, хватит (почти) трёх штук, это копейки, но, как я писал выше, это не наш метод, хотя этот вариант можно приберечь для часов побольше. Ну никак это не вписывается в концепцию голая Атмега.
И вот тут-то начинается самое интересное. Напряжение питания ленты 12 вольт, первые признаки жизни белые светодиоды (три штуки последовательно) начинают подавать при более чем 7.5 вольт, и, что очень важно, до этого напряжения ток через ленту практически равен нулю (можете проверить). На ножке контроллера, работающей в режиме выхода, может быть уровень 0 вольт или 5 вольт (третий вариант рассмотрим позже), и если подключить сегмент анодом к +12 вольт, а катодом к выходу контроллера, напряжение на сегменте будет равняться соответственно 12 вольт (светит) или 7 вольт (не светит). Даже если бы через погасший сегмент протекал мизерный ток, он ушёл бы к плюсу питания контроллера через защитный диод, которые в AVR гораздо более выносливые, чем нас пугали в обучающих статьях. Третий вариант ножка в режиме входа, напряжение на сегменте 7 вольт благодаря защитному диоду, стало быть сегмент не светит. Конечно, как только я обдумал всё это в теории, сразу же проверил на практике, залив в контроллер простой блинк для одной из ног.

А так как сейчас в силу некоторых обстоятельств мои возможности для экспериментов слегка ограничены, напряжение питания для сегмента случайно оказалось более 18 вольт, и сегмент гас не полностью, так что я успел разочаровано подумать, что подпалил выход. Когда уменьшил напряжение (на тот момент даже нечем было померить), всё стало на свои места, так что, благодаря нелепой случайности, теперь я точно знаю, что для схемы не смертельно небольшое повышение напряжения выше 12 вольт. С напряжением определились, а что с током? На моей ленте (и скорей всего на вашей тоже) стоят резисторы по 150 ом, ток через сегмент не более 20 мА, только сегмент в данном случае это три светика, а каждый сегмент моих часов состоят из двух сегментов ленты, так что 40 мА. Вроде даже вписываемся в даташит, но на 20 выходов это уже 800 мА, что намного выше дозволенных 200 мА на корпус. Ток через ленту очень зависит от напряжения на ней, и нелинейно падает даже при небольшом снижении, что является большим минусом при обычном использовании ленты, и плюсом в данном случае, ведь реальное напряжение на сегментах равно 12 вольт минус падение на ключе (около 0.6 вольт), а ещё при желании можно снизить напряжение питания, понизив тем самым яркость часов. Так что страшные 800 мА несложно снизить раза в два. В любом случае, я был уверен, что это не станет проблемой, да и приобретённый опыт ценнее, чем возможность потери одной Атмеги. Вот так просто ATmega8 коммутирует индикатор с напряжением в два с лишним раза выше, чем её собственное напряжение питания. Именно это я имел ввиду в заголовке статьи. Хотя способ совсем не нов, по такому же принципу работает советская микросхема К155ИД1 высоковольтный дешифратор управления газоразрядными индикаторами, где сравнительно низковольтные выходы (до 60 вольт) коммутировали индикаторы с напряжением зажигания 150 вольт и выше.

Дальнейшие эксперименты я продолжил с обычным четырёхсимвольным семисегментным индикатором с общими анодами и раздельными катодами, как раз припасён был для такого случая.

Аноды к +5 вольт через один на всех резистор, для отладки прошивки этого за глаза. Первоначально я остановился на варианте использования в качестве двух недостающих ног пинов подключения кварца (итого 22 выхода), а тактировать контроллер от внешнего генератора минутных импульсов через (внимание!)

вход сброса. Это ещё один занимательный лайфхак, который описан здесь Как сохранять переменные arduino, при reset
Можете попробовать залить в Ардуино простой код и посмотреть результат работы в Мониторе порта, периодически сбрасывая её кнопкой или с клавиатуры:
пробник
#define NO_INIT __attribute__((section(".noinit")))void setup() {    static unsigned NO_INIT nonInitCounter;    nonInitCounter=nonInitCounter+2048;    Serial.begin(9600);    Serial.print("Setup counter: ");    Serial.println(nonInitCounter);}void loop(){}

Не буду приводить свой код, дабы не подвергаться критике лишний раз (я не самый лучший
программист), но если в двух словах, можно создать глобальную переменную, которая сохраняется при перезагрузке контроллера. Раз в минуту под воздействием внешнего импульса сброса Атмега перезагружается, и начинает заново отрабатывать прошивку: считывает переменную, преобразует её в показания часов и минут, выводит на индикатор, увеличивает переменную на одну минуту. Дальше опять сброс, и всё по-новой. Пришлось порыться в интернете и опробовать два вида программного сброса, ведь внешнего генератора у меня пока не было, а жмакать сброс всё время вручную не сильно удобно.
пример функции
void softReset() {  //программный сброс //http://kazus.ru/forums/showthread.php?t=13540&page=3#  asm volatile ("rjmp 0x0000");//Sketch uses 2412 bytes  //программный сброс //https://www.cyberforum.ru/post11307314.html  //((void(*)(void))0)();//Sketch uses 2416 bytes}

Что интересно, эта переменная может сохраняться даже после отключения питания (не всегда). И это не EEPROM, если кто подумал. По мере отладки я пришёл к использованию нескольких таких переменных.
Кто-то скажет: какой внешний генератор, а как же концепция голой Атмеги? На момент опытов я был уверен, что в качестве генератора выступит некая козявка размером с рисинку и ценой в пару копеек. Но когда всё заработало в теории и пришло время с козявкой определиться, меня ждал облом. Единственное, что меня могло бы устроить, это старая добрая К176ИЕ12, кто бы мог подумать! На дворе двадцать первый век, а в природе нет простого доступного аппаратного генератора минутных импульсов.
Не беда, подумал я. Можно и раз в секунду. Немного переписал код, проверил работу, отлично. Но опять же, для внешнего генератора я нашёл только DS1307 (и её аналоги). Да, стоит копейки, для обвязки достаточно кварца (и ещё несколько необязательных элементов). Вот только чтобы она генерировала секундные импульсы, ей нужно подать команду по шине I2C. Чем подать? И какую? (Теперь я уже знаю, но на тот момент не было с чем пробовать). Короче, не подходит. Ладно, последняя надежда. Некоторые западные часы 90-х тактировались частотой сети 50 гц. Возможно, сейчас у нас частота стабильней, чем была 30 лет назад. Попробовал сымитировать работает. Если бы воплотил в жизнь, было бы оригинально контроллер, перезагружающийся 100 раз в секунду. Но я пока отмёл этот вариант и стал искать другие.
Итак, я мог использовать 22 выхода (что мне достаточно) и пин сброса в качестве входа. Но не срослось Вернёмся к варианту с кварцем. Минус две ноги на кварц получаем 20, даже если ножку сброса сделать портом ввода-вывода, получим 21, всё равно не хватает одного, хоть ты тресни! Но недавно я нашёл способ, о котором задумывался ещё два года назад, что-то не получилось тогда. У нас есть пин AREF для опорного напряжения, относительно которого происходят аналоговые измерения. И на этот пин мы можем программно подать напряжение питания в качестве опорного или встроенное опорное напряжение 2.56 (для ATmega8). Проверил, измерил, действительно можно получить на ножке AREF напряжение 0 вольт, 2.56 вольт, или 5 вольт.
превращаем AREF в ещё один выход
// превращаем AREF в ещё один выходvoid setup() {}void loop() {  ADMUX = 7 + 64; // уровень 1 (5 вольт) // 7-номер аналогового входа//почему 7 аналоговый вход? А потому что физически у Атмеги входы от 0 до 5,//и назначение аналоговым входом входа 7 не помешает работе остальных в качестве выходов  delay(3000);  ADMUX = 7 + 64 + 128; // уровень 2.56 вольт // 7-номер аналогового входа  delay(3000);  ADMUX = 7; // уровень 0  delay(3000);}

Нюанс: это если замерять относительно общего провода. Если мерить относительно +5 вольт, во всех трёх случаях получаем ноль. То есть нагрузку можно подключить между AREF и общим. Экспериментально установил, что можно получить ток до 20 мА при 2.56 вольт на ноге и до 40 мА при 5 вольт на ноге, этого вполне достаточно, чтоб зажечь светодиод, к примеру. Вот он, заветный двадцать второй выход! Конечно, напрямую управлять двенадцативольтовым сегментом не получится, нужен транзистор. Под руку попался легендарный КТ315, сколько лет я к нему не прикасался, как по мне, это одно из лучших произведений советской электроники, наряду с микрухой К155ЛА3. Когда-то я КТ315 и КТ361 даже в качестве ключей импульсного трансформатора питания применял, при напряжении порядка 60 вольт, и неоднократно. Здесь же нагрузка для него плёвая, и я принципиально даже резистор в базу не поставлю (20 мА вполне себе допустимый ток базы).
Ну что ж, думал я, 22 выхода есть, отлажу код с 21 выходом, а 22-й на ножке сброса оставлю напоследок, когда всё остальное уже заработало. Ещё ведь и кнопки установки времени нужно куда-то приткнуть, а ног не осталось вовсе. Если б Атмега была в SMD-корпусе, можно было бы воспользоваться входами А6 и А7, выходами они всё равно не умеют. Но у меня корпус DIP, так что такой роскоши позволить себе не могу. Зато ведь можно выходы сделать входами, правда, в это время придётся погасить индикацию, но для опроса кнопок достаточно нескольких миллисекунд, никто и не заметит (как я ошибался!). Значит, перевожу ножки кнопок в режим входов, подтягиваем программно к питанию, и ждём пару миллисекунд. Если в это время какая-то из кнопок замкнута на минус, ждём ещё 20 миллисекунд, убеждаемся, что кнопка всё ещё нажата, и производим соответствующее действие в программе. Кнопки: минуты плюс, минуты минус, часы плюс, коррекция плюс. Коррекция подстройка значения секунд раз в сутки в зависимости от суточного ухода показаний. Всё заработало почти с первого раза. Нюанс: при замкнутой кнопке сегмент, подключенный к той же ножке, оказывается включён, такой вот побочный эффект, что поделать. Поэтому кнопки изменения минут подключаю к выводам контроллера, которые управляют сегментами единиц часов, а кнопки изменения часов подключаю к выводам контроллера, которые управляют сегментами единиц минут. Выставляя минуты, совсем не обращаешь внимания, что с показаниями часов что-то не так, и наоборот.
Ну вот всё и получилось в макете с семисегментными индикаторами. Но параллельно я пытался накопать информации по поводу применения ноги сброса в качестве порта ввода-вывода. А там всё довольно туманно и неопределённо. Основное, что об этом пишут: 1 выход с открытым коллектором (не точно), 2 выход чрезвычайно слаботочный (тоже не наверняка). Даже если использовать внешний транзистор, нужно точно знать, открытый коллектор (сток) или нет, ведь тогда состояние выхода нужно инвертировать. А перепрошить я уже не смогу. В общем, опять двадцать пять! Вернее, двадцать один. Двадцать один гарантированный выход вместо 22. Опять одного не хватает. Опять я мечусь в поисках решения.
Возвращаюсь к AREF. Я могу получить три разных уровня на нём. Значит можно зажечь один сегмент, или два одновременно, или ни одного. Я обратился к своей же прошлой публикации (как давно это было!):Ненормативная схемотехника: семисегментный индикатор на ATtiny13
Чтобы попробовать использовать решение с совместным включением двух сегментов. Перебирая возможные пары сегментов, и осознавая, что подобное усложнение портит всю картину, я внезапно додумался, что для цифры десятков минут поле поиска значительно сужается цифра ведь может быть только от 0 до 5. И тут пришло озарение:

во всех этих цифрах сегменты А и D или вместе светятся, или вместе погашены! Не нужно никаких трёх состояний, достаточно просто соединить сегменты А и D вместе и подключить к одному выходу. И теперь 21 выхода хватит всем. Довожу код, проверяю на макетке с семисегментным индикатором, бинго!
Всё, пора делать финальный вариант. Нарезаю светодиодную ленту, наклеиваю сегменты на подходящее основание, которым оказался кусок пластиковой вагонки (примерно 150х350 для цифр высотой 100). К каждому сегменту нужно подвести +12 вольт и проводник от соответствующего выхода контроллера.

В качестве монтажного провода применил для +12 тонкую проволочку без изоляции, вынутую из обычного гибкого провода, подпаиваю к плюсу каждого сегмента, продеваю через проколотое отверстие на другую сторону основания и спаиваю их все вместе, а для остальных проводников обмоточный провод в лаковой изоляции, продеваю их через те же отверстия и подпаиваю к панельке контроллера. На каждую цифру получилось по три отверстия в местах, где сходятся сегменты, в одно отверстие выходит один провод на +12, и два или три провода в изоляции. Также к контроллеру подведены четыре провода от кнопок, кнопки замыкаются на минус, подтяжка внутренняя. Я при проверке обходился без кнопок, просто касался провода проводом.

Сегменты цифр разведены по контроллеру именно в таком порядке для упрощения кода.
Первая цифра (единица, напоминаю) состоит из цельного куска ленты длиной 10 см. Подключаю 5 вольт питания контроллера и 12 вольт питания индикации, включаю. Вот он, торжественный момент, всё красиво светится, часики работают. Кстати, на КДПВ в начале статьи в качестве светофильтра на индикаторах лежит лист обычной бумаги для принтера, яркости хватает с избытком.
Мне не очень нравится американская система отображения времени, когда часы дважды в сутки считают до двенадцати. Я применил свою: с нуля часов до 19, и затем 8, 9, 10, 11. А с учётом того, что часы офисные, в 8 вечера их редко кто увидит.

В такие моменты ощущаешь некоторое разочарование, что прям вот так сразу заработало, даже как-то неинтересно. Поначалу я упорно не хотел замечать некое мерцание индикаторов, пока мне на него не указали коллеги. В макете этого мерцания не было видно совсем, а тут прям бросается в глаза. Выше я писал, что при опросе кнопок после перевода ножек в режим ввода сделана пауза в пару миллисекунд, без этой паузы остаточный потенциал на ножке воспринимался как нажатие. Так вот тих двух миллисекунд, в течение которых индикаторы потушены, оказалось достаточно для мерцания индикации. И это при том, что опрос происходит два раза в секунду. То есть глаз замечает двухмиллисекундную паузу дважды в секунду, чего я никак не ожидал. Было подозрение, что вследствие переходных процессов контроллер каждый раз перепроверяет, действительно ли нажаты кнопки (а это по 20 мсек на каждую). Я внёс некоторые изменения в код, временно отключив все лишние функции, но подозрения не подтвердились. В результате помогли следующие изменения: для опроса кнопок перевожу те выходы, которые задействованы под кнопки, в высокий уровень, тем самым погасив соответствующие сегменты, только после этого перевожу те же ножки в режим входа. Таким образом от паузы в 2 мсек можно избавиться совсем, но я оставил на всякий случай 300 микросекунд, проблема исчезла полностью.
Что мы имеем в итоге? Ножка сброса контроллера работает по прямому назначению и используется только при заливке прошивки, ножки кварца подключены к кварцу, как и положено. Двадцать ног работают как порты ввода-вывода, и нога AREF управляет ключевым транзистором, как раз на него и навешена цифра десятков часов (1). Ещё четыре ножки питания, никто не отлынивает, все ноги задействованы. По поводу кварца: я всерьёз рассматривал вариант применения часового кварцевого резонатора на 32768 Гц (считал его более точным), но отказался от идеи, побороздив интернет. Оказывается, запустить Атмегу с часовым кварцем не так-то просто и нет никаких гарантий работоспособности, а плюсов от применения не особо. Экономичность нас не интересует в данном случае, основное потребление индикация. С точностью тоже всё неопределённо. А суточный уход вполне компенсируется программно. Зато большим плюсом является простота подключения, кварц на 8 или 16 МГц без проблем работает даже без конденсаторов. В результате вся схема состоит (если не считать индикаторы и питание) из Атмеги, кварцевого резонатора, и транзистора, припаянных прямо к панельке. Питание контроллера обеспечивается малогабаритным стабилизатором из серии 7805, ток через него мизерный, но на всякий случай я припаял его теплоотводом к кусочку оцинковки примерно 30х30 мм. В целом же часы питаются от внешнего блока питания на 12 вольт, который, по сути, дороже всех комплектующих. Фактический ток потребления часов 560 мА при показаниях часов 18-08 (это максимальное количество сегментов, которые можно засветить одновременно), получается около 28 мА на сегмент. Это при напряжении питания часов 11.7 вольт, ещё 0.3 вольта падает на диоде, включенном для защиты от неправильного подключения и чтоб немного снизить напряжение и ток соответственно. Падение на выходных ключах Атмеги около 0.56 вольт. Все токовые режимы превышены, но Атмега справляется, честь и хвала творцам! Запаса яркости избыточно, напряжение питания можно ещё снижать. Если тактировать Атмегу от внутреннего генератора, то можно ножки кварца отдать индикатору, а время считывать по I2C с DS1307. Опять же будут заняты все ноги, но зато питание часов можно будет отключать хоть на неделю, а время продолжит тикать. Хотя точность DS1307 совсем не радует, и по моему опыту, и по отзывам в интернете. Зато на ней есть дополнительный выход с открытым коллектором, которому можно дать команду мигать с частотой 1 Гц, и навесить на него разделительную точку. В моих часах разделительных точек пока нет, можно разрезать ту же ленту на отдельные светодиоды и подключить постоянно к напряжению питания. Мигать не будет, но я думаю над этим. Может, кто подскажет, как выжать ещё каплю из Атмеги?
И, напоследок, код для тех, кто захочет повторить. Компилировал и прошивал в ArduinoIDE. Я не программер, так что примите как есть, если кто предложит лучше, с удовольствием выложу.
Особо чувствительным не смотреть
Я предупреждал
bool Flag;uint8_t TimS;uint16_t TimH = 12; // время при включении 12-34uint16_t TimH_;uint16_t TimM = 34;uint16_t TimH0;uint16_t TimH1;uint16_t TimM0;uint16_t TimM1;uint16_t TimKorr = 7; // коррекия по умолчанию 7 - это 0 секунд, если 0 - это -28 сек, если 14 - это +28 сек// массив для цифрint semisegm_[10] = {B01011111, B00000110, B01101011, B01100111, B00110110, B01110101, B01111101, B00000111, B01111111, B01110111};void setup() {                                                         //  PORTB = 0;  PORTC = 0;  PORTD = 0;  // инициализация Timer1  cli();  // отключить глобальные прерывания  TCCR1A = 0;   // установить регистр в 0  TCCR1B = 0;   // установить регистр в 0  // Таймер переполняeтся каждые 65535 отсчетов при коэффициенте деления 1024 или за 4,194с  OCR1A = 62499; // установка регистра совпадения (4 секунд)  TCCR1B |= (1 << WGM12);  // включить CTC режим > сброс таймера по совпадению  TCCR1B |= (1 << CS10);   // Установить биты CS10 CS12 на коэффициент деления 1024  TCCR1B |= (1 << CS12);  TIMSK |= (1 << OCIE1A);  // для ATMEGA8  sei(); // включить глобальные прерывания}   void loop() {  if (TimM > 59) {    TimM = 0;    TimH++;    Flag = 0;  }  if (TimH > 23)TimH = 0;  if (TimM < 0) {    TimM = 59;  }  if (TimH == 0) {    if (TimM == 0) {      if (TimS == 7) {        if (Flag == 0) {          TimS = TimKorr;          Flag = 1;        }      }    }  }  TimH_ = TimH;  if (TimH > 19)TimH_ = TimH - 12;  TimH0 = TimH_ / 10;  TimH1 = TimH_ % 10;  TimM0 = TimM / 10;  TimM1 = TimM % 10;  Led(TimH0, TimH1, TimM0, TimM1);  Key();}// функция индикацииvoid Led(uint16_t TimH0, uint16_t TimH1, uint16_t TimM0, uint16_t TimM1) {  DDRB = semisegm_[TimM1];  DDRC = semisegm_[TimM0];  DDRD = semisegm_[TimH1];  bitWrite(DDRD, 7, bitRead(semisegm_[TimM1], 6));  ADMUX = 199 * TimH0; // уровень 2.56 на AREF  PORTB = 0;  PORTC = 0;  PORTD = 0;  delay(500); // полсекунды просто отображаем время}// функция опроса кнопокvoid Key() {  bitWrite(PORTB, 2, 1);  bitWrite(PORTD, 2, 1);  bitWrite(PORTD, 1, 1);  bitWrite(PORTD, 0, 1);  bitWrite(DDRB, 2, 0);  bitWrite(DDRD, 2, 0);  bitWrite(DDRD, 1, 0);  bitWrite(DDRD, 0, 0);  delayMicroseconds(300);   if (bit_is_clear(PINB, 2)) {      delay(20);    if (bit_is_clear(PINB, 2)) {      TimH++;    }  }  if (bit_is_clear(PIND, 1)) {    delay(20);    if (bit_is_clear(PIND, 1)) {      TimM++;    }  }  if (bit_is_clear(PIND, 0)) {    delay(20);    if (bit_is_clear(PIND, 0)) {      TimM--;    }  }  if (bit_is_clear(PIND, 2)) {    delay(20);    if (bit_is_clear(PIND, 2)) {      TimKorr++;      if (TimKorr > 14)TimKorr = 0;      Led(0, 8, TimKorr / 10, TimKorr % 10);      delay(500);    }  }}ISR(TIMER1_COMPA_vect) // Выполняем 1 раз в 4 секунды.{  TimS++;  if (TimS > 14) {    TimM++;    TimS = 0;  }}


Подробнее..

Почему убивают смартфоны в ванне?

24.05.2021 22:08:50 | Автор: admin

brandName1 убил россиянку ударом тока! brandName2 на секунду упал на живот: сына известной блогерши убило током в ванне! Россиянка уронилавваннутелефони погибла. Четырнадцатилетнюю москвичку убило током в ванной. В Красноярске школьница погибла от упавшего в ванну смартфона. Жертв все больше: почему не стоит брать телефон в ванну?

Это лишь несколько заголовков на новостных сайтах. Журналисты любят жареные факты, но как бы то ни было, случаи гибели людей от смартфона на зарядке отмечаются. В этой статье я попробую провести небольшое расследование возможных причин подобных несчастных случаев.

Может ли убить 5 В?

Определенно можно сказать, что это крайне маловероятно. При таком напряжении, да еще и при постоянном токе для достижения опасного для жизни тока нужно, чтобы сопротивление в цепи снизилось ниже 100 Ом, при том, что ток должен течь по "опасному" пути через грудную клетку. То есть, придется как минимум оторвать от адаптера разъем и прикрутить провода к плотным металлическим браслетам, надетым на руки жертвы, лежащей в ванне с соленой водой. Или еще лучше -- к двум гвоздям, забитым в грудную клетку. Такие случаи бывали: при неисправностях медицинских приборов, в гальванических цехах. В остальных случаях ток пойдет, минуя жизненно-важные органы и скорее всего вообще будет необнаружим за пределами корпуса телефона.

Для зануд:

Да, я в курсе, что ток не течет по пути наименьшего сопротивления, а по всем возможным путям. Но здесь разница минимум в пару порядков.

Для зануд-2

В смартфоне есть и более высокие напряжения, чем пять вольт. На подсветке, например, 18 В. А за счет ШИМа и опасность этого напряжения существенно выше. Но выводов это не меняет: лишь малая доля тока будет течь снаружи корпуса, к тому же у источника, питающего подсветку, этот ток стабилизирован на уровне 20 мА.

Нет, причину смерти определенно надо искать в другом месте.

Блок питания без гальванической развязки?

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

Да, существует такой класс вторичных источников питания. В первую очередь это схема с гасящим конденсатором, в прошлом достаточно популярная для питания маломощных потребителей из-за своей дешевизны. Опасность этой схемы в том, что несмотря на безопасное выходное напряжение, между выходными клеммами и землей присутствует опасное напряжение. Если повезет, ток, протекающий через тело, ограничивается гасящим конденсатором, но величина этого тока близка к максимальному выходному току блока питания и в большинстве случаев опасна для жизни. В худшем -- ток вообще пойдет мимо этого конденсатора.

К счастью, для телефонных зарядных устройств такая схема малопригодна, так как потребляет ток, почти равный выходному. Этот ток -- реактивный, но с таким реактивным током можно мириться, пока он не превышает 100-200 мА, но не когда он 1-2 ампера. Ну а другая причина -- солидные габариты конденсатора. Можно, конечно, совместить конденсаторный блок питания с понижающим импульсным преобразователем, но сложность такого устройства не будет сильно уступать стандартному импульсному блоку питания.

Все встречавшиеся мне телефонные "зарядки", включая примитивные зарядки кнопочных "Нокий" без стабилизации и еще более примитивные их китайские подделки, были обратноходовыми ИБП. Гальваническая развязка в таких блоках питания обеспечивается импульсным трансформатором. Обратная связь для стабилизации напряжения организуется либо через оптрон, либо через дополнительную обмотку трансформатора , либо по импульсам на первичной обмотке, либо вообще отсутствует, как в вышеупомянутых примитивных китайских поделках (впрочем, оригинальная зарядка от Nokia тоже не имела стабилизации). Экзотические решения типа контроллера ADP1071 или INN3264C со встроенной развязкой встречаются все чаще в связи с Quick Charge. Во всех случаях как таковая гальваническая развязка присутствует и нарушается она только Y-конденсатором, соединявшим "высокую" и "низкую" стороны по высокой частоте. Без этого конденсатора наводка на низковольтную сторону через межобмоточную емкость импульсного трансформатора слишком велика. Например, у смартфона с сенсорным экраном от нее сходит с ума сенсор. Но он и создает условия для легкого "пощипывания" при прикосновении к низковольтной стороне. А может ли ток через него убить, если одновременно схватиться за трубу или лежать в ванне?

Емкость этого конденсатора обычно не более 2200 пФ (часто -- еще ниже, в районе 1000 пФ). Реактивное сопротивление на частоте 50 Гц, соответствующая емкости 2,2 нФ -- 1,45 МОм, и соответственно, ток в цепи "сеть-конденсатор-жертва в ванне-земля" не превысит 150 мкА, что абсолютно безопасно. На самом деле, ток будет несколько больше из-за присутствия в цепи диодов, а значит и высших гармоник, но принципиально ничего не меняется: и это не причина летальных исходов. Также прикосновение в момент пикового напряжения при одновременном заземлении тела приводит к разряду конденсатора через тело, но энергия этого разряда -- 0,1 мДж. Достаточно, чтобы слегка "куснуло", но совершенно недостаточно для убийства (для этого нужна энергия хотя бы в тысячу раз больше, 0,1 Дж).

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

А теперь заглянем внутрь китайской зарядки

На этом фото -- плата, извлеченная из классической китайской зарядки под российским брендом за 250 рублей, купленной когда-то в ларьке в подземном переходе. На первый взгляд, ничего особенного. Обратноход на микросхеме "все в одном" со встроенным ключом в восьминогом корпусе. Оптрон для обратной связи -- на своем месте. Не самый плохой экземпляр -- по крайней мере, перед разборкой она без вопросов прослужила года три, и заявленные два ампера она держит. Но... что это? Где на плате помехоподавляющий конденсатор? Он должен быть: проблем с помехами на сенсоре не наблюдалось. Да вот он, SMD-конденсатор на обратной стороне (C2).

А должен быть вот таким.

В качестве Y-конденсаторов принято использовать специализированные конденсаторы, сделанные с упором на максимальную электробезопасность, с очень солидным запасом по напряжению. Они рассчитаны на работу при 250 В переменного тока, но способны надежно выдерживать несколько киловольт. Пробой такого конденсатора случается, пожалуй, только при прямом попадании атомной бомбы молнии. Характерным визуальным признаком таких конденсаторов является то, что они окуклены толстым слоем изолирующей пластмассы, их маркировка имеет явное указание на применение (Y2) и включает массу значков всевозможных стандартов и сертификатов безопасности.

Поскольку такие конденсаторы не самые дешевые (не в последнюю очередь из-за стоимости прохождения этих бесчисленных сертификаций и одобрений), велик соблазн заменить их на что попроще. И в дешевых блоках питания частенько стоит какая-нибудь безымянная керамика на 630 В или киловольт. Этого мало, так как в сети иногда проскакивают импульсы, наводимые молниями, короткими замыканиями на высоковольтных ЛЭП и другими аварийными ситуациями. Несколько таких импульсов вполне способны "подпробить" такой конденсатор, особенно при его невысоком качестве, и самое страшное, что это никак не повлияет на работоспособность блока питания. При заземлении низковольтной части (например, через жертву, лежащую в ванне и пока ничего не подозревающую) через конденсатор потечет уже не только емкостный ток, но и ток утечки. Сначала незначительный, доли миллиампера, но вызывающий локальный нагрев диэлектрической керамики. С ростом температуры он тоже растет, и еще сильнее греет. Развивается тепловой пробой и цепь окончательно замыкается со всеми печальным последствиями.

Как оказалось, такой конденсатор -- это еще не худший вариант. Ставить в такое место SMD-компонент вообще безрассудство. Такие миниатюрные многослойные конденсаторы гораздо менее устойчивы к импульсным перегрузкам, гораздо сильнее подвержены тепловому пробою, могут треснуть при тепловой деформации платы, с большой вероятностью давая полное КЗ. И в целом многослойные конденсаторы менее надежны из-за эффектов электромиграции. Маленькое расстояние между выводами и предположительно не смытый флюс под корпусом тоже не способствуют надежности и безопасности такого решения.

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

Это то, что можно увидеть глазом. Никто, однако, не может гарантировать, что, например, импульсный трансформатор сделан с качественной межобмоточной изоляцией. Требования к ней ничуть не меньше требования к изоляции Y-конденсатора и оптрона, а последствия пробоя столь же опасны.

Надо сказать, это не худший вариант. "Классика жанра" выглядит как-нибудь так:

А зарядка "здорового человека" выглядит изнутри вот так (это, кстати, подделка под Samsung, но качественная):

Хорошо видна прорезь на плате, надежно разделяющая высоковольтную и низковольтную части в самом опасном месте, и вставленная в нее пластиковая перегородка. С другой стороны платы эта перегородка тоже есть. И есть хороший зазор на плате, в котором нет ничего, кроме оптрона и трансформатора.

Что делать?

Если вы -- владелец смартфона, то в первую очередь внимательнее относитесь к тому, что пихаете в свой телефон. Зарядные устройства, подобные описанным выше, могут убить не только человека. Часто у них на выходе творится черте-чего: напряжение "гуляет" и "плавает", уровень пульсаций -- запредельный. В случае выхода из строя они запросто утянут за собой и ваш гаджет. Ну и даже с самым лучшим и оригинальным зарядным устройством держитесь подальше от воды. Вода и 220 вольт -- вещи малосовместимые.

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

А "хорошо" в данном случае означает надежную изоляцию низковольтной части от высоковольтной. Основа этой изоляции -- расстояние. Если предполагается, что низковольтная часть доступна для прикосновения к ее токоведущим частям, расчетное напряжение изоляции должно быть 2,5-4 кВ. Достаточным минимум можно считать 6-8 мм, причем в этом зазоре не должно быть ничего, кроме элементов гальванической развязки. Желательно предусмотреть в этой зоне окно в маске, которое может быть закрыто "валиком" изоляционного компаунда, удлиняющим путь утечки по поверхности. Пробой по поверхности предотвращается прорезями на наиболее нагруженных участках платы. Особенно велик риск такого пробоя, если барьерная зона подвергается излишнему нагреву от сильно греющихся компонентов: их необходимо переместить подальше.

Зазор должен выдерживаться и между компонентами. При плотном монтаже нужно организовать дополнительную изоляцию: установить глухую перегородку из изоляционного материала между "высокой" и "низкой" сторонами, закрыть выводы и корпусы компонентов, находящихся под высоким напряжением, термоусадкой, принять меры против взаимного смещения крупногабаритных элементов при толчках и ударах, дополнительно закрепив их компаундом. Хорошим вариантом, хоть и приводящим к неремонтопригодности, является и полная заливка блока теплопроводным компаундом.

Особое внимание нужно уделить выбору элементов, "перекрывающих" барьер гальванической изоляции. Ни о какой "самодеятельности" и применении компонентов не предназначенных для работы под сетевым напряжением и не имеющих соответствующей сертификации, не может идти речи, даже если это ваш любительский проект. Вообще же при разработке блоков питания для мобильных устройств, которые в процессе зарядки могут держать в руках, в идеале стоило бы ориентироваться на стандарт безопасности медицинского оборудования IEC60601-1 , рассматривая мобильный гаджет, как рабочую часть класса BF с доступной металлической частью. В соответствии с этим стандартом напряжение, на которое должна быть рассчитана изоляция, составляет ~ 4000 Вэфф, при этом ток утечки на пациента не должен превышать 100 мкА при штатной работе и 500 мкА при аварии. Впрочем, я реалист и прекрасно понимаю... Именно поэтому даже пользуясь качественным зарядным устройством, следует дополнительно избегать опасной ситуации.

Заключение

Предпосылки к несчастным случаям со смартфонами и водой создаются не самим фактом наличия напряжения. Для того, чтобы случилась трагедия, нужно стечение обстоятельств: конструктивные недостатки зарядного устройства, его неисправность и заземление тела жертвы посредством воды. Устранение хотя бы одного из этих факторов значительно снижает риск несчастного случая. Нет необходимости относиться к телефону, подключенному к сети, как к высоковольтному проводу под напряжением, но следует учитывать вероятность поломки сетевого адаптера и соблюдать определенную осторожность в тот момент, когда этот телефон оказывается у вас в руках, а в первую очередь -- избегать использования зарядок непонятного происхождения из ближайшего ларька. Их опасность заключается не только в возможности получить электрический удар, но и в возможности возгорания.

Подробнее..

Разработка контроллера резервного питания. Схемотехника

04.06.2021 10:04:57 | Автор: admin

Итак - желтый прямоугольник, ограниченный штрихпунктирной линией и есть сам контроллер резервного питания.

Контроллер работает совместно с тремя внешними модулями:

  • сетевым источником питания 220 VAC в 24 VDC

  • инвертором 24 VDC в 220 VAC

  • аккумуляторной батареей 24 В

В момент отключения сетевого напряжения или понижения ниже предельного значения контроллер переключает потребителей на питание от аккумулятора и инвертора.
Переключение 24 В происходит без провалов напряжения, переключение 220 происходит с задержкой равной времени переключения реле.

Преимущества

Такая архитектура обеспечивает гибкость, масштабируемость и оптимальную стоимость.
- Гибкость выражается в цифровом управлении и возможности выбирать источник питания, инвертер и аккумулятор из широкого ассортимента представленного на рынке без привязки к конкретным производителям и продавцам. Это довольно актуально с современной турбулентностью поставок и при мелкосерийном производстве.
- Масштабируемость определяет возможность варьировать в широких пределах мощность источника питания, инвертера и емкость аккумулятора.
- Оптимальная стоимость. На рынке можно найти предложения по созданию аналогичной архитектуры на более раздробленных дискретных модулях или вовсе на нескольких автономных UPS-ах. Но чтобы добиться встраиваемости в системы потребителей по габаритам и с полным контролем со стороны систем управления потребителей понадобится еще много дополнительных средств. Обратная связь от потребителей в данной схеме позволяет не устанавливать избыточные резервные мощности, и сэкономить на емкости аккумулятора и мощности инвертора.

Применение

Применить такой контроллер можно в промышленных и бытовых устройствах и агрегатах, подъемниках, лифтах, автоматических воротах, кранах, автоматических дверях, системах домашней автоматизации и т.д.
Контроллер способен работать и как простой зарядник аккумуляторов емкостью до 30 А*ч, как измеритель параметров электросети, измеритель КПД инвертеров, как источник питания с регулируемым напряжением, током до 10 А и защитой от перегрузок и т.д.

Принцип работы

Особенностью архитектуры данного контроллера является его тесная связь с потребителями.
Для того чтобы не превысить предельно допустимую мощность источника питания и инвертера и не спровоцировать проседания выходных напряжений контроллер получает от потребителей информацию о планируемом подключении нагрузок и сообщает потребителям о текущем состоянии сетевого напряжения. Таким образом потребители не будут пытаться получить недоступную мощность или предпринимать действия способные быстро и непрогнозируемо привести к исчерпанию аккумулятора. Связь потребителей с контроллером осуществляется через один из цифровых интерфейсов : CAN, RS485, USB.

При наличии сетевого напряжения контроллер пропускает напряжение 24 В от внешнего источника питания к потребителям через управляемый ключ 1 (см. структурную схему) и напряжение 220 В через реле Р1. Ключ 1 работает одновременно также как ограничитель входного напряжения, ограничитель тока, защита от переполюсовки и идеальный диод. Ключ 1 не дает проникать обратному току на источник питания в случае отключения сетевого напряжения. Может показаться, что это излишняя мера, но некоторые промышленные источники питания MEAN WELL не включаются, когда на их входе уже присутствует напряжение. Одновременно с подачей тока потребителям контроллер заряжает аккумулятор (если аккумулятор этого требует). При этом ток заряда аккумулятора балансируется с током уходящим потребителям так чтобы не превысить допустимый ток источника питания.
Цифровое управление и повышающее/понижающий (Buck-Boost) преобразователь зарядника позволяют точно учитывать степень заряда и разряда аккумулятора и выбирать правильные профили заряда в зависимости от состояния аккумулятора.

При отсутствии сетевого напряжения контроллер пропускает через ключ 2 напряжение 24 В потребителям от аккумулятора. Напряжение при этом может варьироваться от 27 В (полностью заряженный) до 20 В (полностью разряженный). Потребители должны быть готовы работать в таком диапазоне, что обычно не представляет проблемы. Напряжение 220 В подается через реле Р2 от внешнего инвертера. Сам инвертер питается от аккумулятора через ключ 3. Инвертер может поддерживаться как в горячем резерве так и быть отключенным (что более экономично). Однако из выключенного состояния инвертеры обычно выходят несколько секунд и это затягивает переключение.

Основные характеристики

  • максимальный коммутируемый переменный ток напряжения 200 В - 35A

  • максимальный коммутируемый постоянный ток напряжения 24 В - 15 А

  • максимальный ток на входе инвертера - 50 А

  • максимальный ток заряда аккумулятора при наличии радиатора - 10 А

  • максимальный ток заряда аккумулятора без радиатора - 4 А

  • тип аккумулятора - cвинцово-кислотная батарея 24 B

  • тип микроконтроллера - MKE18F512VLL16 (ARM Cortex-M4F, 32-Bit, 168MHz, 512KB (512K x 8) FLASH, 64 KB SRAM, -40C ~ 105C)

  • Цифровые интерфейсы: CAN гальвано-изолированный, RS485 гальвано-изолированный, USB 2.0 Full Speed VCOM

  • Два гальвано-изолированных цифровых выхода

  • Дисплей с энкодерным управлением

  • Встроенные измерители токов, напряжений, мощностей и прочего по входным и выходным линиям 220 и 24 В.

  • Утечка тока аккумулятора в отключённом состоянии не более 200 мкА

  • Все основания рассчитывать что на половине заявленных максимальных токов плата способна будет длительно работать без радиаторов при условии свободной конвекции.

Схема

Лист 1. Идеальный диод источника питания, идеальный диод цепи питания системы от аккумулятора и DC/DC преобразователь зарядника. Лист 1. Идеальный диод источника питания, идеальный диод цепи питания системы от аккумулятора и DC/DC преобразователь зарядника. Лист 2. Микроконтроллер, цифровые интерфейсы, дисплей, стабилизаторы питанияЛист 2. Микроконтроллер, цифровые интерфейсы, дисплей, стабилизаторы питанияЛист 3. Ключ питания инвертера, измерители в цепи переменного тока, коммутаторы цепи переменного токаЛист 3. Ключ питания инвертера, измерители в цепи переменного тока, коммутаторы цепи переменного тока

Структурная схема

Структурная схема с указанием номеров разъемов и точек измерения напряжений и токов. (для увеличения открыть в отдельном окне)Структурная схема с указанием номеров разъемов и точек измерения напряжений и токов. (для увеличения открыть в отдельном окне)

Особенности схемы

Зарядник аккумулятора выполнен на регулируемом DCDC преобразователе U23 серии LTC3789.
Выходное напряжение преобразователя задается микросхемой U24 DAC80501 управляемой по интерфейсу I2C. DAC80501 преобразует 16-и битный код в выходное напряжение в диапазоне от 0 до 1.25 В. Резистивный делитель на R94, R96, R100 смешивает напряжение от U24 и выходное напряжение DCDC преобразователя чтобы получить опорное напряжение VFB, для микросхемы LTC3789 оно должно равняться 0.8 В. DCDC преобразователь работает так чтобы напряжение VFB всегда оставалось равным 0.8 В, когда микросхема U24 меняет свое выходное напряжение.
Таким образом DCDC преобразователь способен регулировать свое напряжение от 1.65 В до 31.9 В.
Для расчета схем на базе LTC3789 и подобных существует специальная программа - LTpowerCAD
Вид окна программы для рассматриваемого преобразователя показан ниже:

В целом программа показывает более оптимистичные результаты чем есть в реальности, особенно на малых мощностях. В частности недооценивается влияние паразитных элементов трассировки.
Даже упрощенная модель в программе LTpowerCAD не дает однозначного ответа по оптимальному выбору компонентов, поскольку при разных режимах и комбинациях входных и выходных напряжений и токов значительно меняется вклад разных элементов в нагрев схемы. Т.е. программа не выполняет глобальной оптимизации по всему диапазону рабочих режимов. И приведенная схема была в основном оптимизирована для случая выходного напряжения в 32 В и выходного тока 10А, т.е. самого тяжелого режима при зарядке 24В аккумулятора.
На КПД преобразователя также влияет состояние сигнала DCDC_MODE. Как показала практика в состоянии лог. 0 (forced continuous mode ) катушка индуктивности L5 меньше нагревается чем когда на DCDC_MODE присутствует лог. 1 (pulse-skipping mode)
Сигнал EN_CHARGER в состоянии лог. 0 запрещает работу преобразователя. В выключенном состоянии преобразователь не пропускает напряжение с выхода на вход.

Ключ источника питания SW1. Выполнен на микросхеме U20 LTC4364. Через этот ключ проходит ток от источника питания к потребителям. Когда происходит переключение от питания от аккумулятора этот ключ выключается микроконтроллером.

Часть схемы с ключом источника питания Часть схемы с ключом источника питания

Ключ кроме непосредственно коммутации выполняет еще несколько защитных функций:
- работает как идеальный диод от входа к выходу,
- выполняет защиту от перегрузок по току,
- защищает выходную цепь от перенапряжений на входе (отключается при перенапряжении) ,
- не пропускает в систему слишком низкое напряжение от источника питания,
- ограничивает броски тока при включении,
- обеспечивает плавное нарастание выходного напряжения,
- предохраняет схему от переполюсовки на входе.
При этом о своих аварийных состояниях ключ сообщает сигналом PIDS_FAULT.
Сигналом PIDS_SHDN в высоком состоянии ключ выключается. Если схема обесточена, то при включении источника питания будет находиться в открытом состоянии.

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

Ключ аккумулятора SW2. Выполнен на микросхеме U21 LTC4364.

Назначение этого ключа в том чтобы пропустить ток от аккумулятора к потребителям в режиме работы резервного питания. Транзистором Q9 задается два разных уровня выходного напряжения.
При уровне 0 сигнала AIDS_FBC ключ начинает пропускать ток от аккумулятора в систему (т.е. потребителям) только если напряжение в системе упадет ниже 22.9 В (т.е. внешний источник питания не будет способен удержать свое номинальное напряжение)
При уровне 1 сигнала AIDS_FBC ключ пропустит ток если в системе напряжение будет ниже 26.3 В.
Это необходимо когда в систему включается полностью заряженный аккумулятор с напряжением до 32 В чтобы транзисторы ключа не перегрелись из-за слишком большого падения напряжения на них.
Поскольку ключ еще и выполняет функции идеального диода, то ток из системы в аккумулятор через него не проходит.
В обесточенном состоянии и подключении только аккумулятора ключ останется закрытым. Таким образом систему нельзя включить от аккумулятора не подав предварительно напряжение от внешнего источника питания.

Ключ питания инвертора SW3. Выполнен на микросхеме U14 LTC4368.

Этот ключ включает питание на инвертор. Для быстрого переключения на резервное питание инвертор желательно держать включенным. Однако инверторы потребляют значительный ток. Например инвертор MEAN WELL TS-1500-224 мощностью 1.5 КВт

на холостом ходу потребляет более 1 А. После аварийной перегрузки такой инвертер не включится вновь пока на с него не снимут напряжение ( если не пользоваться его интерфейсом управления). В таком случае ключ помогает избавиться от лишнего потребления тока и упростить восстановление после перегрузок, хотя и ценой некоторой инерционности.
Ключ защищает аккумулятор от слишком больших токов. В данной схеме защита должна срабатывать при токе превышающем 50 А, на самом деле будет меньше, тут критически важна трассировка.

Высоковольтная часть. В высоковольтной части коммутация производится с помощью реле K1 и K2 типа AHES4292. Не самый быстрый и надежный способ коммутации, но дело в том что схема предназначена для коммутации самых разнообразных нагрузок и напряжений, в частности для коммутации межфазных напряжений в 3-х фазных сетях (тогда ставятся еще вспомогательные внешние 3-х фазные контакторы). Реле относятся к типу реле безопасности и на схеме они взаимно блокированные. Принято считать что по такой схеме реле такого типа ни при каких обстоятельствах не смогут включиться одновременно, даже когда одно из них залипнет. Значит сетевое напряжение никогда не сможет проникнуть на выход инвертора и погубить его.
Залипание реле контролируется измерителями напряжения на резистивных делителях R51, R52 и R53, R54

Мониторы мощности. Реализованы на микросхемах U15 и U17 типа ACS37800KMACTR-030B3-SPI.
Микросхемы способны измерять переменный ток, напряжение, мощность, действующие их значения, средние от действующих значений за заданное время, способны измерять действующее как по переходу через ноль так и действующее значение постоянных токов. Каждая из микросхем отдельно гальвано-изолирована и может выполнять точные измерения не беспокоясь о способе реализации заземления и зануления источников напряжения и даже измерять при межфазном подключении. Микросхемы измеряют ток амплитудой до 30А.
Считывание данных производится по интерфейсу SPI. На каждую микросхему идет отдельный интерфейс SPI поскольку они не могут совместно работать на одном общем интерфейсе.

Измерители токов и напряжений. Как пример приведен фрагмент схемы ниже -

U22 и U13 здесь измеряют ток. Микросхемы INA240A1 хорошо подходят для условий измерений с большими синфазными помехами. Они двунаправленные. Средняя точка для них формируется общей для всех прецизионной мало-шумящей схемой на операционном усилителе U26 THS4281DBVR. Кроме того INA240A1 достаточно хорошо согласуются в входами АЦП микроконтроллеров.
Микросхема U27 на схеме выполняет роль дифференциального усилителя напряжения для измерения напряжения аккумулятора. Дифференциальный усилитель применен здесь для того чтобы минимизировать ток потребляемый от аккумулятора, когда система обесточена, также дифференциальный усилитель как ни странно упрощает трассировку платы в отношении топологии аналоговых и цифровых земель.

Элементы управления. Для управления платой в первую очередь предназначены коммуникационные интерфейсы, но предусмотрено также и непосредственное ручное управление и настройка. Для этого введен в схему ручной механический энкодер SW1 с двухцветной подсветкой и нажатием PEL12D-4225S-S2024.

Для отображения информации есть OLED дисплей ER-OLED015-2W. Монохромный, 128x64 точки, управляется по интерфейсу SPI. Немного усложненная схема

объясняется тем что дисплею для работы нужно повышенное напряжение 12 В. Ключ питания U34 здесь добавлен скорее для страховки ввиду неопределенности поведения в даташите на дисплей в случае пониженного уровня VCC.

Микроконтроллер MKE18F512VLL16 будет работать на частоте 120 МГц. Его внутренней RAM размером в 64 кБ должно хватить для операционной системы реального времени чтобы управлять несколькими автономными задачами: GUI, измерений, контроля, связи.

Что стоит помнить.
Как и программное обеспечение такие схемы подвергаются постоянному рефакторингу - меняются названия сигналов, заменяются микросхемы на другие, меняются дискретные компоненты, исправляются грубые ошибки и т.д. Изменения происходят постоянно и даже на этапе эксплуатации изделия. Эта схема прошла уже 3-и итерации с очень существенными изменениями.
Самый страшный враг схемотехника промышленных изделий - желание экономить на компонентах, пытаться снизить себестоимость отказываясь от тех или иных защитных средств: супрессоров, гальвано-изоляции, разделения земель, лимитеров и т.д.
Пример: можно не ставить супрессор на входе к которому подключается внешний источник питания. Казалось бы логично, ведь источник питания и так имеет многочисленную защиту на своем выходе. Но на производстве нередко включенный источник подключают к не запитанной плате. При достаточно длинных проводах и мощном источнике на входе платы в момент непосредственно коммутации и сопровождающего ее дребезга возникают резонансные явления приводящие к перенапряжениям и выходу из строя полупроводниковых ключей на плате.
Отловить такой баг уже отдав устройство в эксплуатацию можно лишь по факту массового обращения недовольных потребителей.

Далее предстоит плату страссировать, спаять, написать программу.
Трассировкой предполагается заняться в следующей статье.

Подробнее..

Разработка контроллера резервного питания. Трассировка

14.06.2021 12:13:27 | Автор: admin

В предыдущей статье http://personeltest.ru/aways/habr.com/ru/post/557242/ была описана схемотехника контроллера резервного питания. Такой контроллер может пригодится в разнообразных технических системах и устройствах. Поэтому конструктив платы был выбран максимально нейтральный с возможностью выноса элементов управления на отдельную панель.

Выбор конструкции платы и ее трассировка - это каскад компромиссов. Компромиссы возникают когда надо удовлетворить целый список желаний включающий, но не ограниченный пунктами:

  • электромагнитная совместимость удовлетворяющая стандартам

  • высокая теплоотдача и большая рассеиваемая мощность без радиаторов и вентиляторов

  • низкая цена печатной платы

  • минимальные размеры

  • возможность изменять варианты сборки

  • обеспечение электробезопасности и электрической прочности

  • ремонтопригодность с минимальной оснасткой и оборудованием

  • пригодность для коррекций ошибок трассировки и схемотехники

  • технологичность сборки и невысокая цена сборки

  • максимальная тестируемость после сборки

  • удобство монтажа в целевой системе

Естественно что весь этот список невозможно не только максимально удовлетворить, но даже держать в памяти затруднительно.
Поэтому эмпирически выбираем два-три высших приоритета с которыми работаем в первую очередь.
Низкая серийность позволяет нам сдвинуть цену вниз по приоритетам. Боль прошлого опыта заставляет нас поднять ремонтопригодность и тюнингируемость на пару уровней выше чем это принято обычно.
В верхней строчке может оказаться электробезопасность и соответствие стандартам по ЭМС.
И не только потому что без этого регуляторы просто не позволят эксплуатировать плату. Плохая ЭМС может поднять результирующую цену платы многократно, поскольку приведет к длительному циклу отладки, к повышенному проценту ремонтов, удорожанию технической поддержки и многому другому. Соответственно вердикт - плата должна иметь не менее 4-х слоев.

В 4-х слоях удастся сделать максимально большие полигоны земли и питания, а также полигоны отвода тепла.
Толщину платы выбираем из соображений жесткости и из перечня доступных вариантов у производителя плат. Внутренние слои расположены ближе к внешним чтобы иметь лучшую емкостную связь с дорожками в верхних слоях и обеспечивать лучшую ЭМС, а также для лучшей передачи тепла от SMD компонентов в стороны от них.
Шесть слоев конечно было бы лучше, но нельзя забывать что цена еще не выкинута из списка приоритетов.

Вопрос выбора программных инструментов для трассировки решается в пользу Altium Designer. Как считают его разработчики он на сегодня наиболее массово применяемый инструмент в данной области.
Цена за standalone лицензию Altium до акций могла обойтись пределах 10 тыс. евро, еще 3 тыс. евро возможно придется отдать за опцию PDN Analyzer если потребуется точнее рассчитать потери и наводки в проводниках.
К счастью есть возможность поработать с триальной версией Altium и при должной сноровке выполнить трассировку необходимой нам платы в триальный период.

Результат работы показан ниже:

Вид трассировки с отображением всех 4-х слоев Вид трассировки с отображением всех 4-х слоев Вид сверху и вид снизуВид сверху и вид снизу

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

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

Расположение основных узлов на платеРасположение основных узлов на плате

Работа по правилам.
В Altium есть оригинальный механизм правил. Правила позволяют делать автоматическую проверку соответствия трассировки заданным технологическим нормам.

Для данной платы были созданы следующие основные правила:

Минимальные зазоры по умолчаниюМинимальные зазоры по умолчаниюМинимальная, предпочтительная и максимальная толщина проводниковМинимальная, предпочтительная и максимальная толщина проводниковМинимальные и максимальные размеры переходных отверстийМинимальные и максимальные размеры переходных отверстий

Определение зазоров.
Зазоры - это то на чем вас в первую очередь могут подловить сертифицирующие органы если вы не уделите необходимого внимания этому аспекту. Зазоры необходимо увеличивать для защиты от пробоев электрическим напряжением и всяческих неприятностей при длительной эксплуатации, но делать зазоры слишком большими тоже не вариант. Поэтому делать их надо по предельно допустимым величинам из стандартов. На каждое напряжение свой зазор, причем он разный во внешних и внутренних слоях, зависит от того открыта паяльная маска или нет и прочих условий.
Дополнительно надо помнить о двух разных понятиях: зазор (clearance) и длина пути (creepage).

Слева диалог установки зазоров, справа диалог установки минимального пути для класса цепей 220VСлева диалог установки зазоров, справа диалог установки минимального пути для класса цепей 220V

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

Чтобы иметь возможность разным цепям назначать разные зазоры по отношению к другим цепям на схеме задаются классы цепей. Классы назначаются с помощью специальных визуальных элементов присоединяемых к цепям, как показано на рисунке. При щелчке на элементе открывается диалог, где можно написать имя класса цепи.
Затем в редакторе печатной платы в диалоге правил каждому классу обнаруженному на схеме можно записать свое правило со значением зазора. Естественно для классов можно задать и иные категории правил, например ширину проводников, типы переходных отверстий разрешенных для класса, способы подключения к полигонам, термо-барьеры и проч. Но для данной платы это не используется.
Обратной стороной правил является то что их может стать слишком много и тогда поддерживать правила при рефакторинге станет труднее чем делать ручные операции.

Площадки и их особенности

Как и при разработке программного обеспечения так и при разработке платы не имеет смысла сразу уделять много внимания форме площадок. Для этого есть рефакторинг и в Altium этот рефакторинг делать достаточно удобно.
Но несколько советов все же дам.

Площадки со скруглениямиПлощадки со скруглениями

Во первых, все площадки скругляю (или почти все, насколько видится целесообразным) .
Это заметно повышает плотность трассировки и заполняемость полигонами. Исключение составляют только первые пины многовыводных компонентов. Их делаю прямоугольными чтобы сразу визуально отличить и понять ориентацию компонента с какой бы стороны платы мы не смотрели (если это не SMD компонент)

Посадочное место силового транзистора. Красным обозначены открытые области маски для пасты. Посадочное место силового транзистора. Красным обозначены открытые области маски для пасты.

Следующим важным моментом является маска для нанесения пасты. Все области открытой маски для пасты на поверхности платы должны быть примерно одинаковыми. Так требуют технологи контрактных сборщиков чтобы лучше контролировать количество наносимой пасты.
Поэтому под большие площади занимаемые SDM транзисторами маска пасты делается не сплошной, а перфорированной. Если ее сделать сплошной, то переизбыток пасты вызовет миграцию корпуса силового транзистора при пайке с сторону со значительным смещением (доли миллиметра). Такой миграции хватит чтобы замкнуть затвор с истоком.
Если переходные отверстия находятся на площадке, то их диаметр не более 0.3 мм и над ними закрыта маска пасты. Паста никогда не ложится на переходные. С обратной стороны платы у таких переходных всегда открыта паяльная маска. Такие меры вполне эффективно препятствуют массивному перетеканию припоя на обратную сторону и образованию дефектов вспучивания паяльной маски на обратной стороне.

Площадки измерительных шунтов.
Оба показанных ниже варианта приемлемы. Но все же первый вариант выдаст менее точное измерение. И погрешность будет выше чем заявленная погрешность номинала самого шунта.

Шелкография

Стиль шелкографии на плате достаточно скупой.
Насыщенная шелкография, где обводятся контуры каждого элемента может привести к большому объему трудозатрат по корректировки нахлёстов шелкографии на открытые площадки для пайки.
Главное что нужно от шелкографии - показать позиционные обозначения компонентов и их ориентацию.

Какие рекомендации действительно важны

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

Неоднозначная рекомендация по применению термобарьеровНеоднозначная рекомендация по применению термобарьеровВажная рекомендация в отношении паяльной маски Важная рекомендация в отношении паяльной маски

Рекомендация по установке термо-барьеров. Она напрямую конфликтует с требованиями ЭМИ и теплопередачи, однако выполнение рекомендации обеспечивает исключительное удобство ремонта. Как правило если элемент не греется, не проводит большие токи, то ремонтировать его не приходится, если только не считать тюнинга.
Современные контрактные сборщики, по моему опыту, не отдают плат с дефектом надгробного камня, а исправляют его у себя, если он появляется. Они также и претензий не предъявляют в случае отсутствия термо-барьера.
Что же касается ремонта, то современные паяльники без труда справляются с отпайкой компонентов без термо-барьеров. Словом, рекомендация сомнительная.

Рекомендация для паяльной маски. Это очень важная рекомендация. Области открытой паяльной маски ни в коем случае не должны охватывать соседние площадки если они принадлежат разным цепям. Иначе практически гарантировано где-то возникнет замыкание между площадками и контрактный сборщик отдаст плату с дефектом потому что визуальный контроль его не обнаружит, так как замыкания могут быть под корпусами микросхем.

Проблемы земли
Вопрос о земле - важнейший в цифро-аналогово-силовых схемах. Малейшая неосмотрительность может привести к тяжелым финансовым последствиям либо, в лучшем случае, к значительной деградации качества работы схемы.
У Altium есть инструмент под названием PDN Analyzer для точного расчета потенциалов в проводниках с большими токами к которым относятся и полигоны земель. Однако в данном проекте этот анализатор не использовался. Все же это дорогое и трудоемкое удовольствие оправданное в более сложных проектах. Здесь подход был проще.
Были идентифицированы несколько основных доменов земли которые необходимо максимально разделить:
- цифровая земля микроконтроллера
- аналоговая земля микроконтроллера
- возвратная земля силовых ключей и DC/DC преобразователя
- чувствительная земля DC/DC преобразователя
- непосредственно заземление

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

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

Ниже показана результирующая топология каждой из земель.

На этом описание трассировки заканчивается. Насколько это возможно в формате короткой статьи я постарался отметить самые важные на мой взгляд моменты.

Следующим этапом будет программирование, наладка и тестирование платы. Но об этом позже.

Подробнее..

DIY регистратор молний

15.06.2021 20:16:32 | Автор: admin

Автор: Alex Wulff (из-за глюков хабраредактора не получилось оформить как перевод)

К старту курса о разработке на С++ мы перевели статью о персональном регистраторе молний небольшом устройстве, сообщающем об ударах молнии поблизости. Оно даже сообщает, на каком расстоянии ударила молния; при этом, по словам автора, собрать его самому обойдётся дешевле, чем купить в магазине. Ещё один очевидный плюс вы сможете отточить свои умения в схемотехнике.

В основу устройства положен детектор молний AS3935 с ВЧ-каналом производства DFRobot. Детектор обнаруживает электромагнитное излучение молнии и с помощью специального алгоритма преобразовывает эту информацию в информацию о расстоянии до удара.


Датчик может обнаруживать удары молнии на расстоянии до 40 км (25 миль) и определять расстояние до места удара молнии с точностью до 4 км (2,5 мили). Сам датчик довольно надёжен, но может срабатывать неверно, если устройство находится на открытом воздухе. Самодельное устройство может работать не так надёжно, как коммерческий регистратор молний.

Материалы
  • микроконтроллер-жучок (beetle) DFRobot #DFR0282. Это плата Arduino Leonardo очень малых размеров;

  • Gravity: датчик расстояния до молнии DFRobot #SEN0290;

  • зарядное устройство для литиевых аккумуляторов DFRobot #SEN0290;

  • аккумулятор LiPo, 500 мАч Amazon #B00P2XICJG;

  • пьезодинамик 5В, например Amazon #B07GJSP68S;

  • маленький скользящий переключатель;

  • монтажный провод (одно- или многожильный).

Инструменты
  • компьютер с бесплатным ПО Arduino IDE.

  • паяльник и припой;

  • пистолет для горячего клея;

  • машинка для зачистки концов провода от изоляции;

  • 3D-принтер (не обязательно).

1. Разработка схемы соединений

Схема устройства проста. Информация с датчика молнии передаётся по линиям SCL и SDA, плюс к этому одно соединение предусмотрено для звукового сигнала. Устройство питается от литий-ионного полимерного аккумулятора (LiPo), поэтому я решил встроить в схему зарядное устройство для такой батареи.

Рисунок AРисунок A

Схема устройства показана на рисунке A. Обратите внимание, что аккумуляторная батарея LiPo соединяется с зарядным устройством через штекерно-гнездовые разъёмы JST и не требует пайки.

2. Сборка схемы

Для сборки устройства лучше всего применить так называемую технику свободной сборки. Детали не крепятся к подложке (например к перфорированной плате) а просто соединяются проводами (рис. Б). Так устройство собирается гораздо быстрее и получается меньше по размеру. Правда, страдает эстетика... Но сомнительную эстетику никто не увидит, если сборку закрыть напечатанным на 3D-принтере корпусом. На видео выше показано, как я собрал схему методом свободной сборки.

Подсоедините жучок к зарядному устройству

Отпаяйте зелёные клеммы от зарядного устройства LiPo. Они бесполезны, но занимают пространство. Соедините положительную (+) и отрицательную (-) клеммы зарядного устройства аккумуляторной батареи LiPo с положительной (+) и отрицательной () клеммами на лицевой части жучка. По этим проводам первичное напряжение батареи LiPo будет подаваться непосредственно на микроконтроллер. Технически жучку требуется 5В, но от напряжения 4В батареи LiPo он всё равно будет работать.

Подключение датчика молнии

Обрежьте входящий в комплект четырёхконтактный кабель так, чтобы от провода осталось примерно 5 см. Зачистите концы и подключите кабель к датчику молнии, выполнив следующие соединения:

  • положительную (+) клемму на датчике молнии соедините с положительной (+) клеммой на жучке;

  • отрицательную () клемму на датчике молнии соедините с отрицательной (-) клеммой на жучке;

  • контакт синхронизации (C) на датчике молнии соедините с колодкой SCL на жучке;

  • контакт данных (D) на датчике молнии соедините с колодкой SDA на жучке.

Контакт IRQ на датчике молнии также должен быть соединён с колодкой RX на жучке. Соединение должно подходить к аппаратному прерывателю на жучке; колодка RX (контакт 0) единственный оставшийся контакт, поддерживающий прерывание.

Подключение зуммера

Подключите короткий провод зуммера к отрицательной () клемме на жучке (земля), а длинный провод к контакту 11. Сигнальный вывод зуммера должен быть подключён к выводу PWM (для обеспечения максимальной гибкости), здесь идеально подходит контакт 11.

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

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

Рисунок БРисунок Б

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

Окончательная компоновка

Рисунок ВРисунок В

Последний шаг избавляемся от беспорядочного скопления проводов и компонентов и приводим устройство в более презентабельный вид (рис. В). Это нужно делать аккуратно, чтобы не переломить провода. Приклейте горячим клеем зарядное устройство LiPo к верхней части батареи LiPo, затем сверху приклейте жучок. И последнее действие: приклейте к самому верху датчик молнии. Зуммер я вывел на сторону, как показано на рисунке В. В результате получилось несколько скреплённых между собой плат с торчащими из них проводами. Выводы переключателя я также оставил свободными, чтобы позже вставить их в корпус, распечатанный на 3D-принтере.

3. Программирование микроконтроллера

Запустите на компьютере Arduino IDE и убедитесь, что в меню ToolsBoard (ИнструментыПлата) выбрано значение Leonardo. Загрузите и установите библиотеку для датчика молнии. Затем скачайте код проекта и загрузите его на жучок. Программа предельно проста и очень легко настраивается.

Обнаружив молнию, устройство сначала подаст несколько звуковых сигналов, чтобы предупредить об ударе молнии поблизости, а затем подаст определённое количество звуковых сигналов, соответствующее расстоянию до молнии в километрах. Если молния находится на расстоянии менее 10 км (6,2 мили), детектор подаст один длинный звуковой сигнал. Если расстояние превышает 10 км (6,2 мили), расстояние будет поделено на 10, округлено, и устройство подаст соответствующее полученному числу количество сигналов. Например, если молния ударит на расстоянии 26 км (16 миль), то сигнала будет три.

Программное обеспечение запускается прерываниями от датчика молнии. Когда он обнаружит электромагнитное излучение от удара, на контакт IRQ подаётся высокое напряжение, оно вызывает прерывание в микроконтроллере. Датчик также может посылать прерывания для событий, не связанных с ударом молнии, например при превышении порогового уровня помех/шума.

В этом случае нужно отойти с детектором подальше от электронных устройств. Исходящее от таких устройств излучение может "забить" сравнительно слабое излучение удалённого удара молнии.

4. Распечатка корпуса на 3D-принтере (не обязательно)

Рисунок ГРисунок ГРисунок ДРисунок ДРисунок ЕРисунок Е

Корпус для устройства разработал я сам. Файлы для 3D-печати можно загрузить здесь. (рис. Г, Д). Верхняя часть корпуса прищёлкивается к нижней, никакого специального оборудования не требуется. Корпус достаточно просторный, чтобы в нём могло поместиться и ваше устройство, если вы будете собирать его по-другому (рис. Д). В любом случае вам ничего не мешает спроектировать аналогичный корпус самому:

  • определите габариты устройства;

  • спроектируйте устройство в программе CAD (мне нравится Fusion 360 студенты могут получить её бесплатно);

  • создайте корпус, перетащив профиль из модели устройства. Допуска в 2 мм будет вполне достаточно.

Обнаружение ударов молнии

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

Заряжать устройство очень просто достаточно подключить microUSB-кабель к зарядному устройству LiPo и дождаться, когда индикатор зарядки загорится зелёным цветом. Во время зарядки устройство должно быть включено, иначе энергия не будет поступать в аккумулятор!

Внесение изменений

Регистратор молнии можно сделать более полезным и удобным в использовании, если внести в программное обеспечение определённые изменения:

  • другие звуковые сигналы: чтобы устройство звучало приятнее, используйте библиотеку звуков Tone.h;

  • спящий режим: микроконтроллер ATmega32u4 (чип, на основе которого работает жучок) поддерживает аппаратные прерывания в спящем режиме. Устройство можно перевести в спящий режим, и любое поступившее от датчика молнии, событие заставит датчик реагировать. Спящий режим может значительно продлить срок службы батареи.

Этот материал показывает, что умение разрабатывать программы на С++, работа с электроникой, даёт широкие возможности и может быть полезна в самых разных сферах: представьте, например, что вы часто бываете на природе тогда о грозе лучше знать заранее и даже за километры, но не нужно дорогого оборудования. Если вам нравится чувствовать, как вы управляете железом, идущим по микросхемам током, то вы можете присмотреться к нашему курсу о разработке на С++, где студенты готовятся к началу карьеры разработчика ПО на этом сложном и мощном языке.

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

Другие профессии и курсы
Подробнее..

Про запуск трехфазных двигателей, косинус и не только

11.04.2021 22:06:33 | Автор: admin

Насмотрелся я тут на ютубе роликов токарей Mehamozg и Виктора Леонтьева и захотелось мне осуществить давнюю мечту - тоже заняться токарной обработкой металлов. На местном загибающемся предприятии приобрел я старый и ушатанный станок 1Е61МТ 1969 г.в.

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

Станки, как и все общепромышленное оборудование, рассчитаны на подключение к трехфазной сети 380 В. Больше всех потребляет от этой сети токарный станок - около 4,5 кВт, из которой большую часть жрет асинхронный двигатель главного привода. Конечно, потреблять максимальную мощность он будет только при самых тяжелых режимах резания, но все равно, 2-3 кВт для нормальной работы обеспечить необходимо. В гараже же, в наличии есть только однофазная сеть 220 В. Хотя сейчас можно воспользоваться госпрограммой и подключить 3 фазы 15 кВт за 550 рублей, но, как пишут люди, там могут возникнуть проблемы организационного характера, могущие затянуть решение вопроса на неопределенный срок. Поэтому было принято решение попробовать пока обходиться своими силами.

Самое простое на сегодняшний день решение для запуска асинхронного электродвигателя использовать частотный преобразователь. В частотном преобразователе исходное напряжение (одна или три фазы) выпрямляется до постоянного тока (по хорошему - с обязательной коррекцией коэффициента мощности - косинуса ). А потом, из постоянного тока с помощью широтно-импульсной модуляции снова генерируется, но уже три фазы, сдвинутые по фазе на 120 градусов.

При этом можно в некоторых пределах изменять напряжение и частоту этих фаз, и, соответственно, менять частоту вращения асинхронного двигателя (поскольку в асинхронных двигателях частота питающей сети напрямую определяет частоту вращения ротора). Таким образом, можно плавно разгонять и тормозить двигатель и менять частоту его вращения. Это полезное свойство частотного преобразователя позволяет даже немного модернизировать токарный станок, выкинуть из него за ненадобностью коробку передач, существенно, при этом, упростив трансмиссию и уменьшив, тем самым, потери механической энергии в ней, вибрации и общую шумность работы станка. Частотник отличная штука, но цены пока еще кусаются. Хотя китайцы на алиэкспресс уже предлагают варианты в пределах 10 т. р. На авито, например, предлагают от станций управления лифтом за 15 - 20 тыщ.

Но частотник не решает всех проблем. Во-первых, существуют частотники для работы в однофазной и трехфазной сети. Обычно, однофазные частотники питаются от одной фазы 220 В и выдают 3 фазы с межфазным напряжением также 220 В (то есть, для двигателей 380/220, включенных треугольником). Соответственно, трехфазные частотники требуют для питания 3 фазы 380 В, и выдают на выходе также 3 фазы с межфазным напряжением 380 В. Отличаются они напряжением, которое получается после выпрямления и сглаживания сетевого. В однофазных после выпрямления получается напряжение около 310 В, в трехфазных - около 530 В. Если трехфазный частотник подключить только на одну фазу, он, в принципе, работать будет, но будет ругаться на маленькое напряжение сети (310 вместо 530). Чтобы его обмануть, некоторые предлагают поменять номиналы резисторов в цепочке делителя (на схеме выше - R1 и R2), которым контроллер частотника измеряет сетевое напряжение. Делитель пересчитывается таким образом чтобы при напряжении на сглаживающем конденсаторе 310 В контроллер думал что там 530 В. Но, это так себе вариант, поскольку на выходе такой частотник все равно будет выдавать фазы с амплитудой тех же 310 В, то есть потребует подключения двигателя треугольником, что не всегда возможно.

Вариант получше подать на частотник повышенное напряжение 380 В (однофазное), например, с помощью повышающего трансформатора 220/380 В. Но, поскольку в таком варианте подключения выпрямляется только одна фаза, уровень пульсаций выходного напряжения будет существенно больше чем при выпрямлении 3 фаз. Поэтому следует увеличить емкость фильтра и желательно установить дроссель, если его изначально не было, благо что многие частотные преобразователи имеют дополнительные клеммы специально для этих целей.

Еще есть вариант переделать входной выпрямитель и фильтр по схеме удвоения напряжения (как это реализовано в компьютерных БП с переключателем 110/220 В). При этом, выпрямитель становится однополупериодным.

По этой схеме напряжение 220 В подается на выпрямительные диоды и на среднюю точку дополнительных конденсаторов фильтра С3, С4, которые должны в этом случае иметь еще бОльшую емкость, чем в варианте с трансформатором. Суммарное напряжение после такого выпрямителя становится 310+310=620 В, что уже становится достаточно близко к порогу, при котором частотник начнет ругаться на превышение напряжения. Этот способ применим при небольших мощностях двигателя, ориентировочно до 1 кВт.

Но это у меня запланировано на потом (или купить частотник или спаять самому), а пока я решил обойтись старым дедовским способом. С помощью пусковых конденсаторов. Как известно, на индуктивностях и емкостях фазы напряжения и тока не совпадают. На индуктивностях фаза тока отстает от фазы напряжения, а на емкости наоборот, опережает. Таким образом, с помощью дополнительной емкости можно сдвинуть фазу и добиться того чтобы фазы на всех трех выводах двигателя отличались примерно на 120 градусов. Схемы эти давно известны, таблицы необходимых емкостей конденсаторов давно рассчитаны, есть и в этих ваших интернетах и в бумажных изданиях. Чаще всего применяется схема из пусковой и рабочей емкостей. Пусковая емкость подключается кратковременно, только на время разгона двигателя. Минус этого способа максимальная мощность двигателя снижается, его не рекомендуется нагружать больше 70% его максимальной мощности.

Еще одна проблема, связанная с пуском асинхронного двигателя заключается в том, что двигатели на 380 обычно включены звездой, межфазное напряжение 380 В. Для включения в сеть 220 В обмотки необходимо перекоммутировать в треугольник. В этом включении межфазное напряжение у двигателя становится 220 В. Если двигатель звездой 380В включить в сеть 220 В ничего страшного не произойдет, ничего не сгорит, двигатель будет крутиться, но не будет развивать необходимой мощности, поскольку напряжение на нем будет 60% от номинала. То есть, кроме того что мощность упадет от работы в однофазной сети, еще мощность упадет и от несоответствия напряжения, в итоге мы получим всего 20-30% от номинальной мощности. Этого, конечно, уже слишком мало. Запас по мощности какой-никакой, а должен быть.

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

Я решил поступить проще. Если нельзя перекоммутировать обмотки на 220 В, значит нам ничего не остается как только повысить напряжение до необходимых 380 В. Однофазное 220 В превратить в однофазное же 380 В. Сделать это можно с помощью упоминавшегося уже выше повышающего трансформатора. Единственное, такой трансформатор на 3-4 кВт будет размером со сварочный, весить примерно так же и, ко всему прочему, еще и влетит в копеечку. Если вообще повезет такой найти. Сэкономить тут можно, включая трансформатор по автотрансформаторной схеме.

В этом случае необходим трансформатор с выходной обмоткой всего на 160 В. На те же, например, 2 кВт выходной мощности автотрансформатор уже должен будет иметь мощность всего 840 Вт, что уже более-менее приемлемо. Для постройки автотрансформатора я использовал трансформаторы от ИБП. Их сейчас можно купить весьма недорого, поскольку старые ИБП на 300-500 Вт сейчас массово списываются, а сдавать такие трансформаторы на медь не очень то и выгодно, поскольку у них проваренный магнитопровод и они без болгарки не разбираются. Я очень удачно приобрел в свое время весьма недорого 10 шт таких трансформаторов.

Они имеют на силовой обмотке напряжение порядка 15-16 В. Если эти обмотки соединить последовательно синфазно, можно получить недостающие 160 В. Если потом эти 160 В включить последовательно синфазно со входным напряжением 220 В, мы получим так необходимые нам 380 В.

Чем еще хорош этот способ так это тем, что можно не париться с заменой пускателей, трансформаторов местного освещения и пр. электрической арматуры, на аналогичные, но на напряжение 220 В. С повышающим трансформатором они будут работать в номинальном режиме. Вообще, в схеме вообще можно использовать часть пускателей на 220 и часть на 380 В, поскольку есть в наличии оба напряжения.

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

Единственное, в ящик влезло не 10, а только 9 трансформаторов. Недостающее напряжение я добрал, соединив параллельно 7 маломощных обмоток на 18 вольт. Они все вместе по сечению становятся равными одной силовой. Вход автотрансформатора защищен сдвоенным автоматом на 25 А. От одного такого трансформатора может питаться токарный станок, сверлильный станок, а также прочие станки, которые, возможно, появятся в будущем. От отводов трансформатора также берется напряжение 30 и 45 В, которое затем выпрямляется и его предполагается использовать для торможения двигателя главного привода постоянным током. Тумблером можно выбрать напряжение или 30 или 45 В, соответственно меняется скорость замедления ротора. От маломощных обмоток двух трансформаторов, соединенных последовательно предполагается питать светодиодные лампочки на 36 В для местного освещения, и лампочки индикации. Вот примерная схема.

От этого же автотрансформатора можно в будущем питать электродвигатели и через частотный преобразователь.

Рассмотрим схемы пуска двигателя. Для сверлильного станка схема относительно простая.

При нажатии кнопки ПУСК через одну пару контактов срабатывает пускатель и самоблокируется, подавая напряжение на две фазы и через рабочий конденденсатор на третью фазу. Через другую пару контактов параллельно рабочему конденсатору подключается пусковой. Кнопку необходимо держать нажатой доли секунды, пока двигатель не раскрутится. После этого кнопку можно отпустить. Для реверсирования направления вращения имеется переключатель, схема остается той же самой, но напряжение на конденсаторы подается с другого провода и двигатель начинает раскручиваться в обратную сторону. Зачем надо крутить сверло в обратную сторону я не знаю, но поскольку такая логика работы была у станка изначально, я ее сохранил. При нажатии кнопки СТОП цепь питания контактора разрывается и станок обесточивается. На входе схемы также стоит защитный автомат на 6 А.

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

Для запуска двигателя токарного станка можно было бы применить аналогичную схему, за исключением того что пусковая емкость требуется в несколько раз больше. Я так и хотел сделать вначале, с управлением от кнопок. Даже приобрел удобный кнопочный пост для этого. Но потом все же решил оставить управление от штатного барабанного переключателя станка. Этот переключатель типа БП1-153 имеет три фиксированных положения ВПЕРЕД, СТОП и НАЗАД. В положениях ВПЕРЕД и НАЗАД замкнута соответствующая пара контактов. Схема примерно такая:

Каждая пара контактов включает свой собственный пускатель. Пускатель подает питание на две фазы двигателя и через рабочую емкость на третью фазу. В этом варианте для смены направления вращения вместо того чтобы менять место подключения конденсатора, я решил менять фазировку подачи питания на двух фазах. Как уже было сказано выше, для станка после запуска пусковую емкость желательно отключать. Это можно делать, например, с помощью реле времени (DA1 и DA2). После раскрутки двигателя, последний становится генератором 3 фаз, от которого можно запитать другие потребители, требующие трехфазного питания, например, помпу СОЖ, которая включается штатным пакетником. Пускатели ВПЕРЕД и НАЗАД взаимоблокируются нормально разомкнутыми контактами. Если включен один, цепь включения другого разорвана. Когда оба пускателя выключены, замыкается цепь четвертого пускателя, который подключает к двум фазам двигателя постоянный ток 30 или 45 В. Этот пускатель включается кратковременно, на доли секунды для остановки шпинделя. Кратковременность обеспечивает также реле времени. Схема самодельного реле времени приведена ниже и собрана на известной микросхеме NE555 или ее аналогах.

Схема включения микросхемы NE555, в общем то, типовая. Цепочка деталей R1, VD1, ... VT1, VT2 необходима для разряда времязадающей емкости после пропадания напряжения на входе реле.

Пара слов о пусковой емкости. Для пуска двигателя станка необходима достаточно большая емкость и на достаточно высокое напряжение, не менее 650 В. Набирать такую емкость из советских металлобумажных конденсаторов не очень удачная идея, особенно если их нет под рукой в достаточном количестве. Такая батарея займет огромный объем и влетит в хорошую такую копеечку. Современные конденсаторы более малогабаритны, но также способны пробить хорошую брешь в бюджете. Кстати, следует различать пусковые и рабочие конденсаторы. Пусковые предназначены для кратковременной работы и не могут длительно выдерживать большую реактивную мощность. Использовать их вместо рабочих не следует. Очень привлекательным вариантом является использование полярных (электролитических) конденсаторов. Они имеют высокую емкость при небольших габаритах. Их можно, например, относительно бесплатно надергать на платах старых ламповых мониторов, телевизоров и любой другой техники, имеющей импульсный блок питания и большую сетевую емкость после выпрямителя. Правда, максимальное напряжение у них обычно 400 450 В, поэтому для работы в цепях 380 В мне их придется включать 2 шт последовательно. Например, так.

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

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

Очень важное замечание для тех, кто захочет использовать такую схему: данная схема предназначена только для кратковременной работы, только в качестве пусковой емкости. Длительно батарея из электролитических конденсаторов работать не может, эти конденсаторы также не терпят большую реактивную мощность, разогреваются и вспухают.

Подбирая оптимальную пусковую и рабочую емкости заметил интересную особенность амперметр электромагнитного типа показывает разный потребляемый двигателем ток в зависимости от величины подключенной емкости. При этом двигатель работает с одной и той же постоянной нагрузкой. Очевидно, амперметр показывает не только активную состаляющую тока потребления, но и реактивную тоже. А реактивная составляющая, судя по всему, приличная. Это и индуктивности двигателя, индуктивности электромагнитных пускателей, индуктивность повышающего автотрансформатора.

Для ислледования этого вопроса и измерения величины активной и реактивной мощности на алиэкспресс был приобретен прибор китайского производства. Примерно такой как на фото.

Прибор измеряет и индицирует напряжение в сети, ток через нагрузку, высчитывает активную, реактивную мощности и косинус . Заявляется точность измерения в 1% и собственное энергопотребление <0,2 Вт. Прибор можно заказать в двух вариантах: на диапазон питающих напряжений 80-300 В и 200-400 В. Это как раз то что нужно. При получении прибора, первое что меня огорчило, это то, что мне вместо заказанного прибора на диапазон 200-400 В прислали на 80-300. После того как я полез внутрь прибора с целью посмотреть, как его можно переделать на 380 В там меня ожидало второе огорчение: питание самого прибора осуществлялось простейшим способом с помощью гасящего конденсатора, резистора и стабилитрона. При токе потребления 65-70 мА это означало потребляемую мощность 20 Вт при напряжении сети 300 В. Что, естественно, неприемлимо. Кроме этого, использование емкостного балласта вносило погрешности в показания самого прибора, хоть и относительно небольшие. Например, при подключении лампочки накаливания 60 Вт (самая что ни на есть активная нагрузка) прибор показывал косинус около 0,909. Третье и самое большое огорчение от изделия наших китайских товарищей я испытал, прочитав отзывы. В одном из отзывов другой покупатель сообщал что в этом изделии перепутаны местами 1 и 2 разряды нижнего индикатора. Именно поэтому этот прибор и показывал столь большой косинус для чисто активной нагрузки. На самом деле это число должно выглядеть 0,990. Также он неправильно отображал и мощность. Мощность в 20 Вт он отображал, соответственно, как 02 Вт.

Чтобы прибором можно было хоть как то пользоваться, пришлось его доработать напильником. Во-первых, порезать на плате проводники, кинуть перемычки и поменять местами разряды 1 и 2 нижнего индикатора для правильного отображения информации. Общие катоды (или аноды) индикатора ищутся прозвонкой. Во вторых, я выкинул все цепи питания из гасящего конденсатора вплоть до внутреннего стабилизатора 3,6 В. Вместо гасящей цепочки я применил импульсный источник питания 5 В от ставшего давно ненужным зарядного устройства сотового телефона. При возможности выбора из нескольких таких источников питания следует отдавать предпочтение фирменным, которые выполнены на специализированной микросхеме ШИМ, и имеющие все необходимые элементы фильтрации помех, а не ноунейм, сделанные тяп-ляп на одном транзисторе. Также необходимо заменить фильтрующие емкости на горячей стороне на более высоковольтные, минимум на 450 В. К мощности такого источника питания особых требований нет, поскольку потребляемый прибором ток не превышает 100 мА, с такой нагрузкой справится абсолютно любой зарядник. Несмотря на то, что свободного места внутри прибора хватает на то чтобы установить какой-нибудь особо малогабаритный источник питания внутри корпуса, я все же установил его снаружи. Во-первых, из-за того что фильтрующие емкости на 450 В оказались несколько большего роста, чем те что были. А во вторых, чтобы разместить этот источник помех подальше от измерительной катушки, выполненной на ферритовом кольце. Доработанный приборчик стабильно работает в диапазоне 80-270 В, потребляет при этом существенно меньше энергии и не дает погрешности при измерении косинуса . При подключении лампочки накаливания 60 Вт показания прибора (косинус ) теперь 0,999, то есть такие, какие и должны быть.

А теперь немного осветим вопрос для чего же это все надо. Потому как почти все бытовые однофазные счетчики (все дисковые на 100%) считают только активную энергию. То есть, платить за реактивку обычным мелким потребителям вряд ли придется. Энергосбыт заставляет учитывать реактивку и ставить счетчики полной энергии только крупных потребителей. Но есть пара нюансов, которые следует учитывать также и мелким потребителям. Большая реактивная мощность, гуляющая по проводам, во-первых, приводит к нагреву этих самых проводов, а это уже вполне себе такая активная мощность, прекрасно учитываемая счетчиком и отражающаяся потом в квитанции на оплату. Если протяженность этих проводов велика, то и потери в них могут оказаться существенными. Во вторых, для запаса на реактивную мощность необходимо закладывать провода бОльшего сечения, которые стоят больших денег. Если же на проводах сэкономили и проложили ровно такие, какова активная мощность потребителя, без запаса по току, то дополнительная реактивная мощность может привести к их нагреву выше безопасного уровня и, также, к большим потерям активной энергии в них. Если, например, некий потребитель потребляет активную мощность в 1 кВт, но его косинус всего, к примеру, 0,33, то полная мощность, гуляющая по проводам в 3 раза больше! Иными словами, провода для такого потребителя должны быть рассчитаны как на 3 кВт. И потери в проводах будут как от 3 кВт. Соответственно, и коммутирующее оборудование должно быть также рассчитано на мощность 3 кВт.

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

Попробуем улучшить косинус на примере с имеющимся небольшим станочным парком. Основные потребители в нем сверлильный станок, токарный станок и заточной станок. Все три станка запитаны через автотрансформатор, описанный выше, и преобразующий однофазное напряжение 220 В в однофазное же 380 В. Сначала необходимо исследовать ситуацию, измерить этот косинус , оценить, насколько все хорошо или же плохо. Может, овчинка выделки и не стоит?

Подключим измеритель в щиток, сразу после счетчика и главного автомата. Таким образом, прибор будет измерять параметры сети на самом входе кабеля в гараж. Включение в сеть ламп накаливания или паяльника никак не ухудшает косинус . Прибор индицирует 0,999. Включение всех светодиодных и компактных люминисцентных ламп освещения ухудшает косинус , но незначительно, примерно до величины 0,76.

И действительно, в них, в большинстве своем, стоит импульсный преобразователь с выпрямителем и емкостным фильтром на входе. Лампочки создают реактивность именно емкостного характера, потому как включение в сеть радиоприемника с трансформаторным блоком питания улучшает показания косинуса .

Выключив лампочки и включив вводной автомат автотрансформатора (ненагруженного), мы видим что косинус резко падает до значения 0,5.

Отсюда вывод индуктивность трансформатора подлежит обязательной компенсации. При включении заточного станка косинус падает до неприемлимо низкого уровня - 0,3 тоже необходимо скомпенсировать.

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

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

Емкости в батарее выберем 4, 6, 20, 40, 64 мкФ, то есть близкие к степеням двойки. Таким образом, включая разные комбинации тумблеров можно выбрать любую емкость из диапазона 4 -134 мкФ с примерным шагом в 4 мкФ. По ощущениям, такой величины емкости должно хватить для компенсации имеющейся реактивности. Ясно, что идеально скомпенсировать косинус до 1 не получится, для этого нужно очень точно подобрать нужную емкость, но это и не требуется. Зададим себе цель обеспечить косинус не менее 0,95 при включении любого из имеющегося оборудования.

Подбирая различные комбинации конденсаторов выяснилось, что для компенсации индуктивности автотрансформатора необходима емкость около 5 мкФ, но таковой у меня в наборе не оказалось, поэтому я установил туда 4 мкФ. Для компенсации индуктивности заточного станка нужно 24 мкФ. Также была подобрана более оптимальная емкость для токарного станка - 40 мкФ, с этой емкостью потребляемый ток упал с 9 до 7 А. До кучи я еще подобрал емкость для сварочного трансформатора, хотя для его режима работы это вряд ли как то улучшит ситуацию, но хоть будет меньше гнать реактивку во время простоя. Сверлильный станок я не трогал, там все норм. Лучше, на мой взгляд, для небольших электрохозяйств добавлять компенсирующую емкость непосредственно в тот прибор, который и создает реактивность. А не делать общий компенсатор, как это делается на больших производствах. Чтобы при включении и отключении потребителей не приходилось по новой подбирать компенсирующую емкость. Конечно, этот процесс можно легко автоматизировать, написав простейшую программу для микроконтроллера, если как-то считать информацию с измерителя. Но один раз подобрать и воткнуть нужную емкость намного проще и надежнее (предполагаю, что за такой простой подход, без процессоров и нанотехнологичных решений, некоторые на этом сайте меня заругают).

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

В общем, такими нехитрыми и относительно простыми способами мне удалось запустить трехфазные двигатели, обеспечить неплохой коэффициент мощности и, вероятно, некоторую экономию электроэнергии. В статье не описано ничего принципиально нового или инновационного, но, думаю, информация будет полезна тем, кто в данный момент решает похожую задачу. Замечания и предложения прошу писать в комментариях.

Подробнее..

Кому нужен аналоговый дизайн?

12.04.2021 14:15:58 | Автор: admin

Нас окружают цифровые устройства: цифровые камеры, цифровые телевизоры, цифровая связь (сотовые телефоны и Wi-Fi), интернет и так далее. Почему же тогда нас все еще должны интересовать аналоговые схемы? Разве аналоговый дизайн не стар и не вышел из моды? Появятся ли через десять лет даже рабочие места для разработчиков аналоговых устройств? Интересно, что эти вопросы поднимались каждые пять лет на протяжении последних 50 лет, но в основном теми, кто либо не понимал аналогового дизайна, либо не хотел иметь дело с его проблемами. Давайте постараемся разобраться почему аналоговый дизайн по-прежнему важен, актуален и сложен, и останется таковым в ближайшие десятилетия.

Почему аналоговый?

Многие электронные системы выполняют две основные функции: они принимают сигнал, а затем обрабатывают и извлекают из него информацию. Ваш сотовый телефон принимает радиочастотный (РЧ, англ. RF, radio-frequency) сигнал и после его обработки передает голосовую информацию или данные. Точно так же ваша цифровая камера определяет интенсивность света, излучаемого различными частями объекта, и обрабатывает результат для извлечения изображения.

Мы интуитивно знаем, что сложная задача обработки предпочтительно выполняется в цифровой области. Фактически, мы можем задаться вопросом, можем ли мы напрямую оцифровать сигнал и избежать каких либо операций в аналоговой области. На рисунке ниже показан пример, в котором радиочастотный сигнал, принимаемый антенной, оцифровывается аналого-цифровым преобразователем (АЦП, англ. ADC, analog-todigital converter) и полностью обрабатывается в цифровой области. Отправит ли этот сценарий разработчиков аналоговых и радиочастотных
устройств на биржу труда?

Рис. 1.1: Гипотетический радиоприемникРис. 1.1: Гипотетический радиоприемник

Ответ категорический - нет. Предполагаемый АЦП, который мог бы оцифровывать крошечный радиочастотный сигнал, потреблял бы гораздо больше энергии, чем современные приемники сотовых телефонов. Более того, даже если бы этот подход был серьезно рассмотрен, только разработчики аналоговых сигналов смогли бы его разработать. Ключевым моментом, в этом примере, является то, что интерфейс считывания по-прежнему требует высокопроизводительной аналоговой конструкции.

Рассмотрим еще один интересный пример проблем, который возникает при изучении сигналов мозга. Каждый раз, когда нейрон в вашем мозгу срабатывает, он генерирует электрический импульс высотой в несколько милливольт и длительностью в несколько сотен микросекунд [рис. 1.2(а)]. Для мониторинга активности мозга нейронная записывающая система может использовать десятки зондов (электродов) [рис. 1.2 (b)], каждый из которых воспринимает серию импульсов. Теперь сигнал, производимый каждым датчиком, должен быть усилен, оцифрован и передан по беспроводной сети, чтобы пациент мог свободно перемещаться [рис. 1.2 (c)]. Электроника считывания, обработки и передачи в этой среде должна потреблять небольшое количество энергии по двум причинам: (1) чтобы позволить использовать небольшую батарею в течение нескольких дней или недель, и (2) чтобы минимизировать повышение температуры микросхемы, которая в противном случае может повредить ткани пациента. Среди функциональных блоков, показанных на рис. 1.2 (c), усилители, АЦП и ВЧ-передатчик - все это аналоговые схемы, которые потребляют большую часть энергии.

Рис. 1.2: (а) форма волны напряжения, генерируемая в результате нейронной активности, (b) использование датчиков для измерения действующих потенциалов, и (c) обработка и передача сигналов.Рис. 1.2: (а) форма волны напряжения, генерируемая в результате нейронной активности, (b) использование датчиков для измерения действующих потенциалов, и (c) обработка и передача сигналов.

Когда цифровые сигналы становятся аналоговыми?

Использование аналоговых схем не ограничивается аналоговыми сигналами. Если цифровой сигнал настолько мал и/или настолько искажен, что цифровой вентиль не может его правильно интерпретировать, тогда должен вмешаться разработчик аналоговых сигналов. Например, рассмотрим длинный USB-кабель, по которому скорость передачи данных между двумя ноутбуками составляет сотни мегабит в секунду. Как показано на рис. 1.3, портативный компьютер 1 передает данные по кабелю в виде последовательности единиц и нулей.

Рис. 1.3: Эквализация для компенсации затухания высоких частот в кабеле USB.Рис. 1.3: Эквализация для компенсации затухания высоких частот в кабеле USB.

К сожалению, кабель имеет ограниченную полосу пропускания, ослабляя высокие частоты и искажая данные, когда они достигают портативного компьютера 2. Это устройство теперь должно выполнять считывание и обработку, первое из которых требует аналоговой схемы (называемой эквалайзером), которая корректирует искажения. Например, поскольку кабель ослабляет высокие частоты, мы можем спроектировать эквалайзер для усиления таких частот, как концептуально показано на рис. 1.3 в виде графика 1/|H|.

Читатель может задаться вопросом, может ли задача выравнивания на рис. 1.3 быть выполнена в цифровой области. То есть, можем ли мы напрямую оцифровать полученный искаженный сигнал с цифровой коррекцией для кабеля с ограниченной полосой пропускания, а затем выполнять стандартную обработку сигнала USB? Действительно, это возможно, если требуемый здесь АЦП требует меньшей мощности и меньшей сложности, чем аналоговый эквалайзер. После подробного анализа аналоговый дизайнер решает, какой подход использовать, но мы интуитивно знаем, что при очень высоких скоростях передачи данных, например, десятки гигабит в секунду, аналоговый эквалайзер оказывается более эффективным, чем АЦП.

Вышеупомянутая задача выравнивания иллюстрирует общую тенденцию в электронике: на более низких скоростях более эффективно оцифровывать сигнал и выполнять требуемую функцию(ии) в цифровой области, тогда как на более высоких скоростях мы реализуем функцию(ии) в аналоговом домене. Граница скорости между этими двумя парадигмами зависит от характера проблемы. Однако отметим, что со временем эта граница скорости достаточно сильно увеличилась.

Аналоговый дизайн пользуется большим спросом

Несмотря на огромный прогресс в полупроводниковой технологии, аналоговый дизайн по-прежнему сталкивается с новыми проблемами, что требует инноваций. Чтобы измерить спрос на аналоговые схемы, мы можем рассмотреть статьи, опубликованные промышленными и академическими кругами на конференциях по схемам, и увидеть, какой процент приходится на аналоговую область.

Рис. 1.4: Количество статей по аналоговому дизайну, опубликованных вISSCC за последние годыРис. 1.4: Количество статей по аналоговому дизайну, опубликованных вISSCC за последние годы

На рис. 1.4 показано количество статей по аналоговым технологиям, опубликованных на Международной конференции по твердотельным
схемам (ISSCC) за последние годы, где аналог определяется как статья, требующая знаний в области проектирования аналоговых микросхем. Заметьте, что большинство статей связано с аналоговым дизайном. Это верно даже при том, что аналоговые схемы обычно намного менее сложные, чем цифровые; АЦП содержит несколько тысяч транзисторов, тогда как микропроцессор использует миллиарды.


Проблемы аналогового дизайна

Сегодняшним разработчикам аналоговых устройств приходится решать интересные и сложные задачи. Обозначим основные из них.

Недостатки транзисторов

В результате масштабирования транзисторы продолжают становиться быстрее, но за счет своих аналоговых свойств. Например, максимальное усиление напряжения, которое может обеспечить транзистор, уменьшается с каждым новым поколением КМОП-технологии (КМОП, комплементарная структура металл-оксид-полупроводник; англ. CMOS, complementary metal-oxide-semiconductor). Более того, характеристики транзистора могут зависеть от его окружения, то есть от размера, формы и расстояния до других компонентов на кристалле вокруг него.

Уменьшение напряжения питания

В результате масштабирования устройств напряжение питания КМОП схем изменилось. Неизбежно упало с примерно 12 В в 1970-х годах до примерно 0,9 В. Многие конфигурации схем не выдержали этого уменьшения питания и были отброшены. Мы продолжаем искать новые топологии схем, которые хорошо работают при низких напряжениях.

Потребляемая мощность

Полупроводниковая промышленность более чем когда-либо стремится к проектированию с низким энергопотреблением. Эти усилия применимы как к портативным устройствам - чтобы увеличить срок службы их батарей, - так и к более крупным системам, чтобы снизить затраты на отвод тепла и уменьшить их зависимость от земных ресурсов. Масштабирование МОП-устройства напрямую снижает энергопотребление цифровых схем, но его влияние на аналоговые схемы намного сложнее.

Сложность схем

Сегодняшние аналоговые схемы могут содержать десятки тысяч транзисторов, что требует длительного и утомительного моделирования. Действительно, современные разработчики аналоговых устройств должны быть столь же искусными в SPICE, как и в симуляторах более высокого уровня, таких как MATLAB.

Вариации PVT

Многие параметры устройства и схемы зависят от процесса изготовления (process), напряжения питания (supply voltage) и температуры (temperature) окружающей среды. Мы обозначаем эти эффекты как PVT (process-voltage-temperature) и проектируем схемы так, чтобы их производительность была приемлемой для указанного диапазона вариаций PVT. Например, напряжение питания может изменяться от 1 В до 0,95 В, а температура от 0 до 80 градусов. Надежная аналоговая конструкция в КМОП-технологии - сложная задача, поскольку параметры устройств значительно различаются в зависимости от PVT.


Почему интегрированные микросхемы?

Идея размещения нескольких электронных устройств на одной подложке возникла в конце 1950-х годов. За 70 лет технология эволюционировала от производства простых микросхем, содержащих небольшое количество компонентов, до флэш-накопителей с одним триллионом транзисторов, а
также микропроцессоров, содержащих несколько миллиардов устройств. Как предсказывал Гордон Мур (Gordon Moore, один из основателей Intel) в начале 1970-х годов, количество транзисторов на чип продолжало удваиваться примерно каждые полтора года. В то же время минимальный размер транзисторов снизился с примерно 25 мкм в 1960 году до примерно 12 нм в 2015 году, что привело к огромному увеличению быстродействия интегральных схем.

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

Почему КМОП?

Идея полевых транзисторов металл-оксид-кремний (MOSFET) была запатентована Дж. Э. Лилиенфельдом (J. E. Lilienfeld) в начале 1930-х годов, задолго до изобретения биполярного транзистора. Однако из-за производственных ограничений МОП-технологии стали применяться намного позже, в начале 1960-х годов, когда первые несколько поколений производили только транзисторы n-типа. В середине 1960-х годов были представлены комплиментарные МОП-устройства (КМОП) (то есть с транзисторами как n-типа, так и p-типа), что положило начало революции в полупроводниковой промышленности.

Технологии КМОП быстро захватили цифровой рынок: КМОП-вентили рассеивали мощность только во время переключения и требовали очень небольшого количества устройств, что резко контрастировало с их биполярными аналогами или аналогами из GaAs. Вскоре также было обнаружено, что размеры МОП-устройств можно уменьшить легче, чем размеры других типов транзисторов.

Следующим очевидным шагом было применение КМОП-технологии в аналоговом дизайне. Низкая стоимость изготовления и возможность размещения как аналоговых, так и цифровых схем на одном кристалле, чтобы улучшить общую производительность и/или снизить стоимость
упаковки, сделали технологию CMOS привлекательной. Однако полевые МОП-транзисторы были медленнее и шумнее, чем биполярные транзисторы, и нашли ограниченное применение.

Как технология CMOS стала доминировать на аналоговом рынке?

Основной движущей силой было масштабирование устройства, поскольку оно продолжало улучшать скорость полевых МОП-транзисторов. Собственная скорость МОП-транзисторов увеличилась на порядки за последние 70 лет, превзойдя скорость биполярных устройств, даже несмотря на то, что последние также масштабировались (однако не так быстро).

Еще одно важное преимущество МОП-устройств перед биполярными транзисторами состоит в том, что первые могут работать при более низких напряжениях питания. В современной технологии КМОП-схемы работают от источников питания около 1 В, а биполярные схемы - около 2 В. Более низкие источники питания позволили снизить энергопотребление для сложных интегральных схем.


Подведем итоги

Сама конструкция аналоговых схем развивалась вместе с технологией и требованиями к характеристикам. По мере уменьшения габаритов устройств, падения напряжения питания интегральных схем и изготовления аналоговых и цифровых схем на одной микросхеме возникает множество конструктивных проблем, которые ранее не имели значения. Такие тенденции требуют, чтобы анализ и проектирование схем сопровождалось глубоким пониманием ограничений, налагаемых новыми технологиями. Фактически, в современной индустрии интегральных схем взаимодействие между всеми группами, от физиков устройств до проектировщиков систем, имеет важное значение для достижения высокой производительности и низкой стоимости конечного продукта.

Приведенные выше примеры и тенденции, лишний раз показывают, что современные решения не способны обходиться без аналоговой схемотехники. От поверхностного и беглого взгляда обывателя, который невольно использует в своей повседневной жизни достаточно большое количество, как он думает "чисто цифровых" устройств, скрывается огромный пласт работы аналоговых дизайнеров-проектировщиков.

P.S. Аналоговый дизайн используется практически везде.

Подробнее..

Самодельный ламповый стереофонический усилитель из доступных деталей

19.04.2021 00:19:54 | Автор: admin

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

Хочу сразу сказать, я ни разу не аудиофил и теплым ламповым звуком не страдаю. Интерес к ламповой технике у меня чисто технический. Ну и немножко эстетический. Тихое гудение трансформатора и теплый оранжевый свет ламп немного завораживает.

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

Сразу встал вопрос, какую схему выбрать для повторения, коих в интернете просто огромнейшее количество. Поэтому я сформулировал некоторые требования:
1. Выходная мощность не менее 15-20 Вт на канал. Чтобы можно было работать на имеющиеся у меня колонки СОЮЗ 130АС-002 и обеспечивать при этом достаточную громкость и приемлемое качество. Это требование автоматически тащит за собой необходимость мощного двухтактного выходного каскада и режим АВ. Использование однотактного режима на таких мощностях потребует применения очень мощной (и дорогой) лампы и очень мощного и дорогого выходного трансформатора. КПД такого усилителя будет также оставлять желать лучшего.

2. Использование доступных радиоламп и деталей. Как известно, средний срок службы радиоламп составляет около 1000 часов. А значит, при обычной эксплуатации усилителя их придется периодически менять, а значит, их надо где-то доставать. Поэтому желательно собрать усилитель на достаточно ходовых и доступных (как по цене так и по доставаемости) радиолампах. Также существенная проблема при сборке ламповой техники силовые и выходные трансформаторы. Заниматься их намоткой и перемоткой ну вообще никак не хочется. Необходимо использовать готовые решения.

3. Усилитель хотелось бы собрать полностью на электровакуумных приборах, без единого полупроводника. То есть даже выпрямитель анодного напряжения сделать не на полупроводниковых диодах, а на электровакуумных кенотронах. Данное требование технически не оправдано, это скорее для спортивного интереса. Хотя, использование в качестве выпрямителей кенотронов вместо полупроводниковых диодов, позволяет автоматически решить проблему с задержкой подачи анодного напряжения питания ламп. Хотя, эта "проблема", на мой взгляд, высосана из пальца.

4. Усилитель должен быть полностью законченной конструкцией с минимальным набором присущих усилителю функций: несколько коммутируемых входов, регуляторы громкости, баланса и тембра, индикаторы уровня.

Прошерстив немало сайтов на эту тематику, мне приглянулась схема Сергея Комарова. В схеме использовались достаточно доступные телевизионные (т.е. широко использовавшиеся в массовых советских телевизорах) лампы, унифицированные выходные трансформаторы. Также схема порадовала достаточно продуманной схемотехникой и отсутствием ярко выраженных ошибок и косяков, коими, к сожалению, просто пестрят схемы, выкладываемые в интернетах энтузиастами. Для усилителя заявляется выходная мощность 43 Вт. Это несколько больше чем мне надо, но больше это ведь не меньше)

Источник питания

Для питания схемы необходим достаточно мощный источник питания, ведь КПД ламповых усилителей очень низкий. Кроме того, раз мы решили использовать выпрямитель на кенотронах, это еще больше ухудшает КПД. Чтобы не заниматься намоткой, в качестве силового трансформатора было принято решение использовать широко распространенный и достаточно доступный трансформатор ТС(А)-270 от массовых цветных телевизоров серии УЛПЦТ. Этот трансформатор относительно легко можно достать, например, на авито. Там его можно купить за 500-1000 р., причем, в сборе с самим телевизором. Единственное, для такой серьезной покупки необходимо позвать не слишком хилого товарища, ведь вес этой модели телевизоров 60 70 кг и в одиночку его перетаскивать не очень комфортно. Несмотря на то, что этот трансформатор заточен под использование исключительно в телевизоре, большое количество различных обмоток дают широкие возможности подобрать необходимое напряжение. Трансформатор собран из двух одинаковых катушек, имеющих одинаковый набор обмоток. Соединяя обмотки нужным образом, где последовательно, а где параллельно можно получить что-то близкое к нужному.

Для вышеприведенной схемы нужно 200 В, 200 мА и 400 В, 25мА (на каждый канал). Плюс накал, который посчитаем отдельно.

Для двухполупериодного выпрямления на кенотроне необходимы две одинаковые полуобмотки, общая точка которых заземлена. Обмотки будут работать по очереди, одна на положительной полуволне, другая на отрицательной, передавая энергию в нагрузку то через один диод кенотрона, то через другой. Минус такой схемы нерациональное использование обмоток, плюс хороший запас по току, т. к. по сути полуобмотки включены параллельно и их токи суммируются.

Итак, смотрим что у нас есть на трансформаторе (на одной половине): обмотка 122+2,2 В, 400 мА, две по 71 В, 200 мА, одна 97 В, 70 мА. Итак, если взять обмотку на 122 В и включить последовательно синфазно с ней две параллельно соединенных обмотки на 71 В мы получим в итоге 193 В, что после выпрямления даст на конденсаторе фильтра порядка 230 В. Почему не 270, как по формуле? Дело в том, что на кенотроне, который имеет большое внутреннее сопротивление в отличие от полупроводникового диода, падает намного большее напряжение. И это падение тем больше чем больше ток нагрузки, нагрузочная характеристика у кенотрона имеет существенный завал. Соответственно, на ламповый выпрямитель нужно подавать большее напряжение чем если бы стоял полупроводник. Насколько больше? Для этого необходимо обратиться к справочнику и найти нагрузочную кривую на нужный кенотрон. Вот, например, кривая для кенотрона 5Ц4С.

Этот кенотрон мы поставим в цепи выпрямления 400 В. Забегая вперед, скажу что ток потребления по этой цепи для всего усилителя будет примерно 70 мА. Согласно графику, для тока потребления 70 мА и выходному напряжению 400 В необходимо подавать на вход около 320 В переменного напряжения. Где же взять такое напряжение? 193 В у нас уже есть, добавим к нему последовательно синфазно оставшуюся обмотку на 97 В, получим 290 В. Блин, чуть-чуть не хватает до 320. Можно добавить еще обмотку 16,5 В, как я сделал в одной из промежуточных версий усилителя, но тогда вырастет и напряжение 230 В, что и так уже немного больше чем надо. Можно было и забить на это, ламповая техника не очень критична к питающим напряжениям, плюс-минус 20-30 В для нее погоды не сделают, но на радиорынке мне очень удачно попался небольшой маломощный трансформатор ТПП 226 с четырьмя обмотками на 20 В и двумя на 4 В. Включив их последовательно синфазно, получил почти ровно 400 на нагрузке. Да, максимальный ток кенотрона 5Ц4С 120 мА, что с запасом хватает для питания цепи 400 В.

Кстати, важный момент. В описании к кенотрону указан параметр максимальная емкость фильтра, 5 мкФ. Полез на интернетные форумы узнать, с какой целью указано это ограничение и чем грозит его превышение. Ни одного верного ответа на этот вопрос не нашел, кто только и что только не фантазирует на эту тему. Большая часть придерживается ошибочного мнения что это для того чтобы не превысить ток во время заряда емкости при включении питания. Хотя в реальности фильтрующая емкость заряжается очень плавно по мере прогрева кенотрона и превысить ток в принципе не возможно. На самом деле причина, вероятно, немного в другом. Для этого необходимо вспомнить принцип работы двухполупериодного выпрямителя с емкостным фильтром. Причем не важно, на кенотроне он или на полупроводниках.

Во время полуволны емкость заряжается до амплитудного значения, а затем в промежутке между полуволнами помаленьку разряжается на нагрузку, во время следующей полуволны снова заряжается. Ток через выпрямительный прибор течет только тогда когда мгновенное напряжение переменного тока больше напряжения на нагрузке, т. е. во время прохода верхушки полуволны. При этом форма тока имеет вид короткого импульса (заштрихованная фигура на рисунке) и этот импульс тем короче, чем больше емкость фильтра. Но поскольку энергии в нагрузку надо передать одно и то же количество, то чем короче импульс, тем больше его амплитуда. Грубо говоря, если длительность импульса 1/10 периода, а средний ток нагрузки 100 мА, то амплитуда токового импульса 1 А! Как я писал выше, у кенотронов очень большое внутреннее сопротивление и такой большой импульс тока даст очень большое падение напряжения на нем. На аноде будет рассеиваться очень большая мощность, большая плотность тока через катод приведет к его быстрому выходу из строя. Поэтому разработчики кенотрона рекомендуют ограничить емкость пятью микрофарадами, тогда импульс тока будет длиннее, энергия размажется по большей площади, амплитуда тока будет не такой большой, перегрев анода будет в пределах нормы и лампа прослужит заявленный изготовителем срок.

А что же делать нам? Ведь такие огромные пульсации питающего напряжения неприемлемы для качественного Hi-End усилителя. Выход один ставить дроссель. Дроссель съест переменную составляющую и пропустит на выход только постоянное напряжение. После дросселя можно ставить любую емкость, хоть 1000 мкФ. Дроссель поставил максимум какой удалось найти унифицированный, Д20-1,5Гн-0,2А.

Для питания цепи 200 В необходим ток 400 мА. Кенотронов на такой ток немного. Даже если взять относительно доступный 5Ц3С, у которого максимальный ток 230 мА, то таких кенотронов все равно надо включать 2 шт в параллель, или по 1 шт на каждый канал. Кроме того, на каждый кенотрон надо подавать 3 А на накал, т. е. 6 А на две штуки. И падение напряжения на 5Ц3С даже больше чем на 5Ц4С. Кроме того, 5Ц3С с прямым накалом, а это те еще заморочки. Для него надо мотать отдельную изолированную обмотку для накала. Можно, конечно, применить 5Ц8С, он дает 420 мА по максимуму, но эту лампу я достать не смог. Зато относительно без проблем приобрел 2 диода 6Д22С.

Это демпферные диоды, разработанные для строчной развертки цветных телевизоров. Телевизоры довольно быстро модифицировали чтобы исключить эти лампы из схемы и они остались не у дел. Их до сих пор можно найти в новом состоянии и за небольшие деньги. А параметры у них приличные: средний выпрямленный ток 300 мА, ток в импульсе 1 А и они замечательно работают как обычный выпрямитель. При этом жрут на накал всего по 2 А каждый, накал косвенный, с отдельной обмоткой париться не нужно. К этим диодам я пришел не сразу, а сначала попробовал на их месте менее мощные и более доступные 6Д20П. Эти диоды тянут по 220 мА каждый, чего, в принципе, впритирочку но хватает. Но я все же решил заменить их на более мощные чтобы был запас по выпрямленному току и по импульсному току. Тем более что по накалу оба диода жрут примерно одинаково. Для ограничения импульсного тока в цепь перед конденсатором поставил резистор 10 Ом, емкость конденсатора при этом не ограничивал. Осциллограмма тока, снятая с этого резистора показала амплитуду импульса тока около 1 А, что для этого диода терпимо.

Для работы выходного каскада необходим источник отрицательного напряжения порядка -30 В. Ток потребления по этой цепи крошечный, единицы миллиампер, поэтому можно применить маломощные диоды. Я использовал двойные диоды 6Х2П, которые вообще то предназначены для детектирования радиосигнала, но и как выпрямители тоже работают отлично.

Теперь про накал ламп. На накал нужно: 2х1,9А (диоды), 2А (кенотрон), 4х1,35А выходные лучевые тетроды, 2х0,42А (триод-пентоды), 3х0,31А (двойные триоды), 2х0,3А (индикаторы), 2х0,3А (маломощные диоды). Итого в сумме имеем более 14 А, что соответствует мощности порядка 90 Вт. Именно такая мощность (и это еще безо всего остального) будет уходить только в тепло на подогрев катодов. Само собой, ни о каком КПД и экономии не может быть и речи. Но у трансформатора ТСА-270 только 3 накальных обмотки: на 0,9 А, на 2,1 А и на 2,95 А. Этого тотально не хватает. Что же можно сделать? Можно задействовать две полуобмотки на 16,5 В, 1,85 А. Запитать от них выходные лампы, включив накалы последовательно. Излишек погасить резистором. Мощные диоды запитать от обмотки 2,95 А. Она будет работать с почти амперным перегрузом, но должна сдюжить. Маломощные диоды необходимо запитать от отдельной обмотки на 0,9 А. Связано это с тем что потенциалы катодов и подогревателя должны соотноситься определенным образом. Как и почему чуть далее. От этой же обмотки запитаем лампочки индикации включения. На оставшуюся обмотку 2,1 А навесим всю оставшуюся мелочь кроме кенотрона. Получается небольшой перегруз, на 0,3 А, но не сильно критично, должно выдержать. Ну, а для кенотрона так уж и быть домотаем отдельную обмотку. На 5 В мотать не так много, всего 14 витков. Все витки можно намотать на одной катушке или же (что правильнее) разместить половину на одной, половину на другой катушке. Я их намотал обычным гибким монтажным проводом сечением не менее 0,75 мм2 в теплостойкой изоляции прямо поверх бумаги. Очень не хотелось разбирать трансформатор, поскольку половины магнитопровода у него склеены слоем какой то фигни, и после разборки не всегда удается эту фигню отчистить чтобы соединить половины плотно, без зазора. Зазор в трансформаторе (в отличие от дросселя) вещь вредная. Наличие отдельной обмотки также позволит в случае необходимости и не переделывая схему воткнуть вместо кенотрона с косвенным накалом 5Ц4С кенотрон с прямым накалом 5Ц3С.

Вроде бы все удалось запитать, хоть и с перегрузом по некоторым накальным обмоткам. Такой вариант у меня работал некоторое время, но потом вылезла неприятная особенность. Дело в том, что я применил трансформатор ТСА с алюминиевыми обмотками, которые распаяны на лепестки спецприпоем. От времени, а также из-за перегруза и перегрева у накальных обмоток в месте припайки ухудшился контакт, который в свою очередь привел к еще большему перегреву и окислению в этом месте. Чтобы не было таких проблем, рекомендую применять трансформаторы с медными обмотками (с индексом ТС или СТ в названии). Такие трансформаторы, как правило, стояли в более старых моделях телевизоров семейства УЛПЦТ, преимущественно тех, у которых еще надо крутить пассатижами ручку ПТК для переключения программ. Я такой трансформатор все же потом добыл и поменял. А временно проблему с плохим контактом решил заменой лепестков на зажимные клеммы от электрических колодок, которые продаются в магазинах электротоваров. Также я разгрузил наиболее перегруженную обмотку на 2,95 А. Для этого пришлось сделать хитрый финт ушами. Как я написал выше, для питания выходных ламп использовалась обмотка на 16,5 В. Но для питания двух, последовательно включенных ламп нужно 12,6 В. Излишек у меня гасился на 10-ваттном резисторе сопротивлением 4,4/1,35=~3,3 Ом. На нем впустую рассеивалось 6 Вт мощности (на каждом канале). В новой схеме я разделил накальную обмотку 2,95 А на две полуобмотки (они располагаются на разных катушках), средняя точка которых заземлена. А каждая полуобмотка напряжением 3,3 В включалась последовательно противофазно с обмоткой 16,5 В. Таким образом, из напряжения 16,5 В вычитается 3,3 В и на накал выходных ламп подается 13,2 В или по 6,6 В на каждую. Что немного больше нормы, но до максимальных 7 В по паспорту запас есть. В то же время протекающий ток накала этих ламп суммируется с током накальной обмотки выпрямительных диодов и суммарный максимальный ток этой обмотки получается 4,3 А. А выпрямительные диоды потребляют из этого тока только 3,8 А, что дает нам 0,5 А запаса! Неплохое решение проблемы. К тому же мы сэкономили целых 12 Вт мощности, которые раньше просто отапливали помещение, в котором стоит усилитель.

Монтаж деталей внутри корпусаМонтаж деталей внутри корпуса

Однако делать такие финты не всегда возможно. Причина в том, что для ламп нужно учитывать еще максимальное пробивное напряжение катод-подогреватель. Оно зависит от свойств изоляции подогревателя. Например для лампы 6Д22С максимальное напряжение между катодом и подогревателем 100 В если потенциал подогревателя выше и 900 В если потенциал катода выше. У нас на катоде 250 В, а потенциал подогревателя около земли, поскольку середина накальной обмотки заземлена. Укладываемся в пределы. Для ламп 6П44С напряжение между катодом и подогревателем 220 В, при этом катод сидит на земле, а на подогревателе переменная составляющая максимум 16,5 В. Тоже укладываемся. А вот с маломощными диодиками сложнее. У них положительный потенциал подогревателя вообще не допускается, а отрицательный может быть не более 350 В. Поэтому придется запитать накал диодов от отдельной обмотки и соединить цепь накала с выпрямленным потенциалом минус 185 В. Да, максимальная амплитуда напряжения на катоде равна удвоенному выпрямленному напряжению, т. е. 370 В, что даже уже немножко превышает максимальные 350 В по паспорту. Но почти за год эксплуатации проблем из-за этого не было.

А для чего нужно такое большое отрицательное напряжение? Ведь для схемы необходимо всего минус (30...35) В. И отвод на выпрямитель можно сделать с обмотки 71 В, тогда выпрямленное напряжение будет около минус 100 В и проблем не будет никаких. Так и было сделано в промежуточной версии усилителя. Там напряжение смещения устанавливалось обычным резистивным делителем. Но выяснилась одна неприятная особенность. При колебаниях напряжения сети в пределах 210 - 250 В, а также при просадке напряжения на трансформаторе при работе усилителя под нагрузкой наблюдалось уменьшение напряжения смещения, что приводило к увеличению тока покоя. Причем, чем больше нагрузка, тем больше просадка, тем меньше напряжение смещения, больше ток покоя и, тем самым, еще большая просадка напряжения. Такая вот положительная обратная связь. Было решено стабилизировать напряжение смещения газовым стабилитроном. Из доступных низковольтных удалось разжиться только СГ-202Б. Его напряжение стабилизации около 84 В, что, в принципе, терпимо. А вот что не терпимо так это очень большое напряжение зажигания, которое по справочнику может достигать 135 В! Т.е. более чем на 50% больше чем напряжение стабилизации. Конечно, в реальности это напряжение будет ниже, чем в справочнике, но мы то проектируем устройство, которое должно работать при любых разбросах входящих в его состав электронных компонентов. А вот, например, у стабилитрона СГ-1П напряжение стабилизации 150 В, а гарантированно зажигается он при напряжении не более 175 В, т.е. при напряжении, превышающем не более чем на 20 % от номинального. Поэтому для гарантированного зажигания стабилитрона его делитель необходимо запитывать по возможности от большего напряжения.

Также я решил стабилизировать питание предварительных каскадов стабилитроном СГ-1П. Особой необходимости в этом нет, просто такой стабилитрон у меня валялся в коробке.

Стабилитрон СГ1П и дополнительный маломощный трансформаторСтабилитрон СГ1П и дополнительный маломощный трансформатор

Есть еще один тонкий момент, связанный с накалом, о котором следует упомянуть. Это влияние т. н. паразитного диода катод-подогреватель. Подогреватель как и все нагретые тела испускает электроны и, если на катоде относительно него положительный потенциал, то вместе с подогревателем они образуют открытый диод косвенного накала через который переменное напряжение накала (помеха 50 Гц) может проникать на катод. Этому старается препятствовать изоляция подогревателя, но по мере износа лампы, ее изолирующие свойства ухудшаются и ток (утечки) возрастает. Порядок величины тока утечки не более 15 - 20 мкА. Вроде бы величина тока не такая большая, но если в цепи катода стоит высокоомный резистор (катодный повторитель) или лампа усиливает очень слабые сигналы, влияние тока утечки может оказаться существенным. В нашей схеме почти у всех ламп в цепи катодов стоят низкоомные резисторы, на которых ток утечки даст почти не ощутимое падение напряжения. Но вот у ламп 6Н23П, на которых собран диффкаскад, в цепи катода стоит источник тока, имеющий очень большое сопротивление. Для этого каскада ток утечки представляет опасность.

Бороться с этим явлением можно двумя способами: 1. Подать на подогреватель потенциал заведомо больший чем потенциал катода. Тогда паразитный диод будет заперт обратным напряжением и помех вносить не будет. Если напряжение на катоде 3-4 В, то подав на подогреватель 20-25 В мы гарантированной запрем диод. Потенциал можно получить с помощью делителя напряжения и подключить к любому из концов обмотки накала. Но в нашем случае этот вариант не годится, поскольку катод находится под потенциалом около 100 120 В и для запирания диода необходимо напряжение 140-150 В. Это напряжение уже слишком велико для других ламп, питающихся от этой же накальной обмотки. Можно, конечно, намотать для этих ламп еще одну дополнительную обмотку 6,3 В, 1А и таким образом немного разгрузить обмотку на 2,1 А, которая работает с небольшим перегрузом. И к этой обмотке подвести через высокоомный резистор потенциал 150 В от стабилитрона. Этот способ я бы рекомендовал тем кто, возможно, захочет повторить мою схему. Но в моей конструкции усилителя это бы потребовало слишком больших переделок. Поэтому я прибег к способу номер 2: симметрировать потенциал подогревателя относительно общего провода. В этом случае, помехи от левой и правой половин подогревателя будут одинаковы по величине, но противоположны по знаку и взаимоуничтожатся. Симметрирование осуществляется с помощью переменного резистора концы которого подключены к обмотке накала, а движок соединен с общим проводом. Вращая движок резистора необходимо найти такое положение ротора при котором уровень сетевой наводки будет минимален (перед этой регулировкой необходимо отключить ООС усилителя, т. к. она также давит помехи). Эту доработку я делал последней, поэтому на схеме она не отражена.

По питанию все, теперь кратенько пробежимся по схеме усилителя.

Усилитель

Сигнал от внешнего источника через разъемы Х2 Х4 поступает на коммутатор на галетном переключателе, которым можно выбрать один из трех входов. После коммутатора сигнал приходит на пассивный регулятор тембра (низких и высоких частот). Многие, вероятно, будут говорить что эта штука не нужна. Но на мой взгляд - требуется. Поскольку разные источники имеют разные частотные характеристики и для оперативной регулировки темброблок необходим. Схема темброблока стандартная, но, в отличие от бытовой аппаратуры, диапазон регулирования сделан меньше. Это позволяет использовать вместо переменных резисторов с характеристикой В более доступные резисторы с характеристикой А. Методика расчета таких регуляторов неоднократно описана, можно посмотреть, например, здесь.

Для корректной работы регуляторов тембра источник сигнала для темброблока должен иметь как можно меньшее сопротивление, а нагрузка наоборот как можно большее. Поэтому, а также для компенсации потерь сигнала в пассивном регуляторе, после темброблока сигнал поступает на каскад усиления на двойном триоде 6Н23П. Каскад работает с автосмещением и небольшой местной ООС по току. С выхода каскада сигнал поступает на регуляторы громкости и баланса. Регуляторы зашунтированы конденсаторами небольшой емкости для предотвращения спада АЧХ из-за входной емкости следующего каскада. После регуляторов сигнал поступает на триодный каскад усиления на триодной половине лампы 6Ф1П. Каскад работает с автосмещением и на катодный резистор заходит сигнал общей ООС. ООС сделана отключаемой. При переводе тумблера в верхнее положение, катодный резистор шунтируется и каскад работает как обычный с автосмещением. Также каскад охвачен местной частотозависимой ООС по напряжению. Это необходимо для ограничения полосы пропускания усилителя по высоким частотам для предотвращения самовозбуждения. Каскад непосредственно нагружен на дифференциальный каскад на двойном триоде 6Н23П. Диффкаскад питается от источника тока, собранного на пентодной части лампы 6Ф1П. Уровень этого тока задается резистором в цепи катода лампы. С диффкаскада противофазные сигналы поступают соответственно каждый на свой мощный выходной каскад на лучевом тетроде 6П44С. Каскады работают с принудительным смещением. Уровень напряжения смещения задает ток покоя каскада, который должен быть примерно 100 мА. Катодные резисторы дают небольшую ООС по току и позволяют измерить ток покоя в каждом плече не разбирая усилитель (падение напряжения на резисторе около 500 мВ). Это требуется для диагностики ламп и выявления тех, в которых эмиссия катода упала уже ниже допустимого. Небольшая балансировка каскадов обеспечивается резистором в цепях вторых сеток. Зачем это надо, я хз, эта часть схемы один-в-один скопирована у автора. Вращение ручки этого резистора абсолютно никак не сказывается на работе схемы. При наличии на трансформаторе симметричных обмоток, этот вывод можно было бы подключить к отводу трансформатора для реализации ультралинейного включения, что могло бы несколько улучшить линейность усилителя. Для этого можно было бы использовать два трансформатора ТН с перекрестным включением обмоток, такие схемы также можно найти по ссылке в начале статьи. Выходные каскады нагружены на две полуобмотки трансформатора ТН. Несмотря на то, что обмотки явно несимметрично намотаны, возникающие при этом повышенные межвитковые емкости не оказывают существенного влияния, поскольку лучевые тетроды 6П44С токовые лампы и паразитные емкости не оказывают какого либо существенного влияния. С выходных обмоток снимается сигнал на акустическую систему. Обмотки соединены таким образом чтобы на нагрузке 4 Ом обеспечить наименьшие потери в проводе. Для этого на отвод 4 Ом работают последовательно включенные обмотки на 5,4 А и две параллельно включенные на 3,4 А. На 8 Ом работают предыдущие плюс еще одна обмотка на 3,4 А. Примерная выходная мощность при 4 Ом нагрузке: (6,3+6,3)^2 / 4 = 40 Вт, при 8 Ом нагрузке: (6,3+6,3+6,3)^2 / 8 = 45 Вт. С отвода на 4 Ом снимается сигнал на индикатор уровня и ООС.

Немного про ООС. Вообще говоря, качество звучания двухтактных ламповых усилителей, работающих в классе АВ, крайне паршивое. Когда я его включил первый раз после обычного транзисторного, даже мои далеко не музыкальные уши чуть в трубочку не свернулись. И это действительно так и есть и подтверждается измерительными приборами. Большие линейные искажения, большие нелинейные искажения, узкая полоса частот, которая ограничена снизу десятками герц из-за недостаточной индуктивности выходных трансформаторов, наводки 50 Гц от силового трансформатора. Также свою лепту вносит большой разброс параметров отдельных экземпляров ламп, который довольно большой даже у новых, не говоря уже о б/у. Повышая ток покоя, нелинейные искажения можно немного снизить, но это даст повышенную нагрузку на источник питания. В общем, так себе вариант. С этим нужно что то делать и я решил охватить весь усилитель (кроме самого первого каскада) отрицательной обратной связью (ООС). Тем более что у усилителя было некоторое избыточное усиление и я решил его потратить с пользой.

В чем физический смысл ООС? На вход усилителя в противофазе подается часть усиленного выходного сигнала. Из-за этого уровень сигнала на выходе уменьшается. Какой же прикол уменьшать выходной сигнал, спросите вы? А прикол в том, что вместе с выходным сигналом на вход в противофазе поступают помехи и искажения, которые родились уже внутри, охваченной ООС части схемы. А поскольку они поступают в противофазе, на выходе усилителя они вычитаются! Итак, достоинства ООС:

1. Уменьшение нелинейных искажений

2. Уменьшение линейных искажений, расширение полосы частот

3. Уменьшение шума, фона и помех, проникающих по питанию

Недостатки ООС:

1. Необходимость ограничения полосы усиления усилителя для предотвращения превращения отрицательной ОС в положительную и самовозбуждения

2. Это скорее не недостаток, а просто особенность ламповых схем: в них невозможно реализовать сколько-нибудь глубокую ООС из-за огромной нелинейности выходного трансформатора и низкого усиления ламповых каскадов. Поэтому кардинально улучшить качество ламповых усилителей по аналогии с транзисторными не получится.

Индикатор уровня. Кроме эстетической функции индикатор несет и чисто утилитарную показывает уровень выходного сигнала. Например, только благодаря ему я заметил что усилитель самовозбуждается на частоте 1 МГц при включении ООС когда я недостаточно ограничил полосу усилителя. Я наивно полагал, что выходной трансформатор сработает фильтром и ограничит полосу, но межобмоточная емкость ее не то что не ограничила, но и превратила ООС в ПОС. После этого я добавил местную частотозависимую ООС в первый каскад усиления и все стало норм. Сигнал звуковой частоты поступает на переменный резистор, которым можно подстроить уровень индикации. У меня он настроен так чтобы полностью закрывалось все поле индикатора уже при выходной мощности 10 Вт. С переменного резистора сигнал поступает на катод диода, который совместно с RC-цепочкой работает здесь детектором огибающей сигнала. Продетектированный сигнал поступает на лампу индикатора. Индикатор включен по типовой схеме и в пояснениях не нуждается. Единственное, я столкнулся с тем что луч некоторых индикаторов отклонен у кого влево, у кого вправо. Это не неисправность. Связано это с тем что металлический экран с люминофором бывает намагничен что и вызывает отклонение луча. Проведя рядом с ним слабеньким магнитиком, зеленый луч можно выправить и поставить ровно.
Про смещение. Для задания режима работы выходных ламп, лучевых тетродов необходимо достаточно большое отрицательное напряжение "смещения". В данной схеме применен вариант с фиксированным или принудительным смещением. Недостатками этого решения является необходимость в дополнительном выпрямителе - источнике этого отрицательного напряжения. Кроме этого, его необходимо стабилизировать и регулировать по мере износа ламп. Причем, регулировать желательно для каждой лампы отдельно, поскольку у них может быть существенный разброс параметров от экземпляра к экземпляру. В этом свете, использование автосмещения может быть предпочтительным. Автор исходной схемы предлагает попробовать такой вариант самостоятельно. В этом случае в катодную цепь каждой лампы включается резистор сопротивлением 150, шунтированный конденсатором не менее 1000 мкФ на 50 В. В такой схеме ток покоя лампы поддерживается неизменным вне зависимости от анодного напряжения и старения лампы. Недостатком является большая мощность, рассеиваемая на этом резисторе - около 6 Вт на каждом, или 24 Вт на весь усилитель, что многовато. Чтобы объединить достоинства обоих вариантов можно применить схему комбинированного смещения. В катодной цепи оставить резистор автосмещения, но намного меньшего номинала, например 30 Ом, а на сетки также подавать фиксированное смещение, но можно нестабилизированное и общее для всех ламп. Иными словами, некоторый уровень смещения (например, 80%) общий для всех ламп, а автосмещение обеспечивает оставшиеся 20% напряжения смещения, которое и дает стабилизацию тока покоя. Но это опять же в моей конструкции не использовано в связи с необходимостью существенных переделок. Это рекомендуется для тех, кто захочет повторить данную схему.

Схема с учетом исправления всех ошибок и учетом всех рекомендаций приведена ниже.

В ней для упрощения исключен дополнительный трансформатор, а для повышения напряжения в цепочку дополнительно включены обмотки 17 В. Тока в них хватает. Исключен источник отрицательного напряжения смещения со стабилитроном и регулировками, использована схема с автосмещением по причинам, описанным выше. В качестве выходных трансформаторов применены ТС-180. Выходные лампы в ультралинейном включении. С точкой подключения вторых сеток, и, соответственно, величиной этой "ультралинейности" можно поиграться. Исключен стабилитрон 150 В. В остальном, схема повторяет описанную выше. Несмотря на упрощение схемы, ее характеристики не хуже, описанной выше.

Конструкция и детали.

Корпус, как я уже писал выше, использовал готовый от компьютера мультикассы. На нем сверху вполне свободно разместились силовой трансформатор, выходные трансформаторы, дроссели питания, лампы. Единственный минус корпуса он дюралюминиевый и не экранирует от магнитных полей силового трансформатора, а это сделать крайне необходимо. Сзади корпуса были отверстия под стандартные разъемы материнской платы АТХ, их пришлось закрыть алюминиевой пластиной. Входные разъемы для аудиосигнала я использовал типа CANON, просто потому что у меня такие разъемы были. Вообще, тип разъема не имеет значения, можно использовать и RCA и советские DIN-5. Выходные клеммы винтовые типа ЗМП или аналоги. Их преимущество надежный зажимной контакт, удобство монтажа на задней панели и доступная цена. Также на заднюю панель выведены тестовые гнездышки малогабаритные типа Г1,6 под штеккер Ш1,6. С их помощью можно контролировать питающие напряжения и режимы выходных ламп без разборки корпуса усилителя. Это тоже периодически нужно делать поскольку лампы со временем садятся. На задней панели смонтирован выключатель ООС на тот случай если захочется послушать настоящий теплый ламповый звук со всеми искажениями и наводками.

Силовой трансформатор типа ТС(А)-270. Предпочтение следует отдавать трансформаторам с медными обмотками (без буквы А), но и алюминиевые будут работать ничем не хуже. Трансформатор крайне необходимо устанавливать в железном кожухе. К сожалению, понял я это слишком поздно, когда уже разместил все элементы на корпусе. Магнитное поле рассеяния трансформатора довольно велико, поскольку он работает почти с полной загрузкой. Это поле мало того что наводится на проходящие рядом в корпусе соединительные провода, оно также наводится на стоящие рядом выходные трансформаторы и в динамиках слышен слабый гул 50 Гц, даже когда усилитель только включен и лампы еще не прогрелись. Кожух обязательно требуется снабдить вентиляционными отверстиями. Трансформатор можно использовать с готовой панелькой для предохранителей, в нее же вместо контактных штырьков после небольшой доработки легко встает разъем под стандартный компьютерный кабель питания.

Ламповые панельки для мощных ламп керамические от массовых черно-белых телевизоров. В свое время у меня этих панелек было завались, теперь же их пришлось покупать. Барыги на радиорынке за них сейчас хотят много денег, поэтому их тоже имеет смысл купить в сборе с ламповым Ч/Б ТВ на авито. Из того же ТВ можно взять и силовой трансформатор ТС-180, который можно употребить в качестве выходного. Панельки для маломощных ламп девятиконтактные, керамические с ушками для монтажа. Стоят недорого.

Выходные трансформаторы ТН-56 кроме того что трудно достать, так еще и просят за них около 1000 - 1500 р. Их можно без проблем заменить на следующие по списку в семействе, например, ТН-60, ТН-61. Главное, проверить по справочнику чтобы выходные обмотки были примерно на одинаковый ток нагрузки. Вместо этих трансформаторов неплохо подходят силовые ТС-180. Большой набор обмоток позволяет включать их с разным коэффициентом трансформации и использовать режим ультралинейного включения, причем место подключения второй сетки можно также выбирать, пробуя разные варианты. Что также хорошо, эти трансформаторы (в отличие от ТН) полностью симметричны. Единственное, при использовании этих трансформаторов мне потребовалось включить блокировочные конденсаторы порядка 1000-2200 пФ между анодами выходных ламп и корпусом для блокировки самовозбуждения на высоких частотах. На полосе частот усилителя эти конденсаторы никак не сказываются.

Дроссели по питанию выходного каскада должны быть на ток не менее 0,4А, и иметь индуктивность как можно большую. Мне удалось достать пару на 1,5 Гн. Это маловато, но сойдет. Дроссель по питанию 400 В, должен быть на ток не менее 0,1 А. Если приобрести пару телевизоров УЛПЦТ, из них можно добыть не только трансформаторы, но и примерно подходящие дроссели Др 5- 0,08 (5 Гн, 0,08 А) и Др 0,4 0,34 (0,4 Гн, 0,34 А).

На передней панели установлен галетный переключатель селектор входов, можно взять любой на 2 направления и на 3 положения. Рядом с переключателем стоят переменные резисторы. Я сначала использовал сдвоенные советские типа СП-3, но, к сожалению, у них от старости совсем стал плох резистивный слой. Сколько я в них не пшикал смазками и жидкостями для улучшения контакта, они при повороте издавали шорох, а один из них в какой то точке вообще уходил в обрыв. Пришлось их заменить на новые китайские. Единственная трудность состоит в том, чтобы найти резисторы с характеристикой В. Если в регуляторы НЧ, ВЧ, баланса еще можно поставить резисторы с характеристикой А (поскольку глубина регулировки тембра невелика), то на регулятор громкости необходимо постараться и найти все же с характеристикой В. Поскольку человеческое ухо имеет логарифмическую характеристику чувствительности, то и громкость необходимо изменять с логарифмической зависимостью.

На передней панели смонтированы две неоновые лампочки индикации появления анодного напряжения +400 В и +200 В. Они зажигаются когда кенотроны прогреются и выпрямленное напряжение вырастет до напряжения зажигания этих ламп. Тип ламп не важен, можно взять лампочки из блока выбора программ телевизоров УЛПЦТ. Рядом с лампочками смонтирован выключатель питания.

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

Конденсаторы используются пленочные типа К73-17 также из старых телеков, резисторы МЛТ оттуда же. Конденсаторы нужно подбирать по максимальному рабочему напряжению с запасом, ламповая техника вся высоковольтная. Резисторы выбираются не столько по мощности, сколько по удобству монтажа. Более крупные резисторы имеют более длинные и толстые выводы, прочнее держатся в лепестках.

Дополнительный трансформатор, дроссель по напряжению 400 В смонтированы внутри корпуса. Просто потому что их я добавлял позже и места на поверхности уже не было. Газовый стабилитрон СГ-1П сначала тоже стоял наверху, но после добавления еще одного каскада усиления, он переехал в поддон.

Индикаторные лампы включения с зеленым светофильтром, от какого то прибора. Включены последовательно, светятся вполнакала, создавая небольшой подсвет внутри корпуса.

Фильтрующие электролитические конденсаторы 220 мкФ с малой высотой по вертикали, смонтированы на пластиковой изоляционной пластине и ей же придавливаются к верхней панели. Соединены монтажным проводом. Более мелкие электролитические конденсаторы фиксируются полукруглыми планками (такие планки используются для прижима кабелей).

Подстроечные резисторы смонтированы на верхней поверхности и торчат штоками наружу. Это необходимо для оперативной регулировки при необходимости. На штоках сделаны шлицевые пропилы под плоскую отвертку.

Монтаж выполнен проводами от компьютерных блоков питания. Особого скрытого смысла в этом нет, просто у меня полно таких проводов. Цепи накала крайне необходимо вести витой парой проводов, контакт с корпусом в каком либо месте не допускается. Все общие провода по возможности сходятся в одном месте на конденсаторах фильтра питания выходных каскадов. Также следует следить за тем чтобы не образовывалось замкнутых петель земляных проводов, иначе поле рассеяния силового трансформатора наведет на них довольно существенную ЭДС помехи 50 Гц.

Для защиты от поражения электрическим током заказал для усилителя кожух из прозрачного оргстекла. Такие услуги предлагают многие фирмы. В одной конторе с меня запросили около 3 т. р., в другой удалось изготовить за 1500. Кожух крепится на петлях и может открываться вверх для замены ламп и регулировок. Вверху кожуха сделано множество мелких отверстий для вентиляции. Снизу передней части кожуха сделана одна широкая щель для захода охлаждающего воздуха. Шильдики для органов управления и ламп сначала хотел сделать также из тонкого оргстекла, заполнив след от лазера краской, но затея не удалась. Результат получился фиговый. Пришлось воспользоваться специальным пластиком для подобного рода табличек. Смотрится, конечно, не так как я хотел с оргстеклом, но, в целом, неплохо.

Измерение параметров

Самое главное проверить приборами, что же мы, в итоге, напаяли.

Измерение выходной мощности.

Это один из основных параметров усилителя. Для этого нам потребуется генератор сигналов низкочастотный, осциллограф, милливольтметр и нагрузка 4 Ом на каждый канал. У меня есть в наличии генератор Г3-118, двухлучевой осциллограф С1-18, милливольтметры В3-38. Если измерительных приборов нет, вместо генератора можно подавать сигнал с линейного выхода звуковой карты, при этом необходимо скачать программу генератор звуковых сигналов, их много бесплатных. Контролировать сигнал также можно подавая его на линейный вход звуковой карты, единственное делать это надо через резистивный делитель чтобы не спалить вход - раз и чтобы не превысить максимальный уровень звуковухи - два. И да, тоже необходимо будет скачать и установить программу осциллограф. Такие программы уже сложнее и чаще платные. Измерять уровень можно и обычным мультиметром. Тут, однако, надо иметь ввиду что обычные ширпотребовские мультиметры заточены под измерение переменного тока низкой частоты, 50 200 Гц, не более, поскольку там стоят дешевые выпрямительные диоды. На частоте 1 кГц и выше, такие мультиметры могут давать уже достаточно существенную погрешность. Нагрузка 4 Ом самодельная, сделанная из большого количества 2-ваттных резисторов, обдуваемых вентилятором. Вентилятор питается от выпрямленного напряжения с этой же нагрузки. По быстрому нагрузку можно сделать из 4-х последовательно включенных 10-ваттных керамических резисторов по 1 Ом, которые придется купить.

Подключим генератор на вход усилителя, сразу на оба канала. Громкость установим на максимум, регуляторы тембра в среднее положение. Установим частоту стандартную для подобного рода измерений 1 кГц. К выходу каждого канала подключим нагрузку 4 Ом, параллельно ей по каналу осциллографа и по милливольтметру. Будем увеличивать уровень входного сигнала с генератора наблюдая при этом за пропорциональным увеличением выходного сигнала. Когда на экране осциллографа у синусоид будут видны различаемые на глаз искажения (это соответствует КНИ 5 - 10%), увеличивать уровень прекратим и будем считать эту мощность максимальной для данного усилителя.

Уровень выходного напряжения смотрим по вольтметру и рассчитываем выходную мощность по формуле P=U^2/R=81/4=~20 Вт. Эх, всего то 20 Вт, а ведь было обещано 43! Посмотрев сигнал на анодах и катодах выходных ламп, видно, что это они входят в ограничение, им не хватает как диапазона напряжения питания 200 В, так и тока катода. Напряжение питания можно повысить если применить трансформатор с большим коэффициентом трансформации, например ТС-180 со всеми включенными обмотками. При этом необходимо будет пропорционально уменьшить ток покоя, иначе будет превышена максимальная допустимая мощность на аноде лампы. Однако это потребует существенной переделки питания усилителя. Также не очень эффективно используется габаритная мощность выходного трансформатора, его выходные обмотки недогружены. В общем, обдумав все и прикинув варианты, я пришел к выводу что из существующей схемы без существенных переделок большего уже не выжать. Поэтому будем считать что такая мощность нас устраивает. Кстати, при включенной ООС выходная мощность усилителя чуть больше, поскольку ООС немного корректирует вносимые искажения.

Измерение АЧХ.

Для измерения АЧХ усилителя нужно установить регуляторы тембра в среднее положение, установить определенное напряжение на выходе усилителя, например 3 В. И уменьшать частоту генератора в сторону низких частот до тех пор пока напряжение на выходе усилителя не упадет менее 0,707*3=2,121 В. Это будет нижняя граничная частота усилителя. Аналогично потом нужно увеличивать частоту генератора до тех пор пока напряжение на выходе усилителя снова не упадет менее 2,121 В. Это будет верхняя граничная частота усилителя. Это нужно проделать сначала для одного канала усилителя, затем для другого. Но для получения наглядной картинки мы воспользуемся прибором СК4-56. Это анализатор спектра, но он имеет внутри генератор качающейся частоты и его легко можно приспособить для измерения АЧХ. Для этого на вход усилителя подаем сигнал не с генератора сигналов, а с выхода генератора качающейся частоты анализатора спектра. АЧХ измеряем сначала в одном канале, потом в другом, подключая вход анализатора сначала к одному каналу, потом к другому. Анализатор спектра также следует подключать через делитель напряжения для защиты его входа (имеет тенденцию дохнуть), а также чтобы его входной усилитель не ушел в зашкал. На анализаторе ставим ручную развертку, настраиваем частоты границ экрана (от -5 кГц до 45 кГц). Затем устанавливам уровень сигнала таким чтобы точка была в середине сетки прибора. Ставим самую медленную развертку и запускаем измерение. На экране прибор нарисует нам АЧХ канала усилителя. По уровню минус 3 дБ полоса частот усилителя 10 Гц 30 кГц. Проделываем такую же операцию при минимальном и максимальном положении регулятора тембра ВЧ. Потом так же и с другим каналом.

АЧХ в области ВЧ (в клетке 5 кГц по горизонтали, 10 дБ по вертикали, 0 Гц - где всплеск):

АЧХ в области ВЧ (в клетке 5 кГц по горизонтали, 10 дБ по вертикали, 0 Гц - где всплеск). Завал характеристики в среднем положении связан с некоторым поворотом самой трубки прибора.АЧХ в области ВЧ (в клетке 5 кГц по горизонтали, 10 дБ по вертикали, 0 Гц - где всплеск). Завал характеристики в среднем положении связан с некоторым поворотом самой трубки прибора.АЧХ в области НЧ (в клетке 10 Гц по горизонтали, 10 дБ по вертикали, 0 Гц - где провал)АЧХ в области НЧ (в клетке 10 Гц по горизонтали, 10 дБ по вертикали, 0 Гц - где провал)

Измерение КНИ.

Измерим КНИ с помощью того же прибора СК4-56. Только подавать сигнал будем с генератора низкой частоты. Для получения как можно более точных результатов необходимо использовать генератор с как можно меньшей величиной собственных искажений. Убедиться в этом можно, подав сигнал напрямую на анализатор спектра. На экране должна торчать только одна палка, соответствующая частоте настройки генератора (1 кГц). Также нормируем уровень сигнала чтобы основная гармоника (1 кГц) находилась на уровне 0 дБ сетки, соответственно, побочные гармоники будут иметь уровень минус 20 дБ, минус 40 дБ и т.д.

Спектр сигнала при небольшой выходной мощности (~ 1 Вт):

Спектр сигнала при почти максимальной выходной мощности (~ 20 Вт):

Считать вручную КНИ очень долго, поэтому воспользуюсь маткадом. Вообще говоря, есть КНИ (коэффициент нелинейных искажений) и КГИ (коэффициент гармонических искажений) немного разные вещи и считаются по разным формулам. Но при малых значениях, КНИ и КГИ в первом приближении совпадают, поэтому будем считать КНИ. Считать будем приближенно, по первым 10 гармоникам. Записываем уровни первых 10 гармоник, переводим из децибел в абсолютные значения, считаем по формуле, получаем уровень КНИ на частоте 1 кГц и почти номинальной мощности 3,7 %.

Повторяем процедуру на небольшой мощности и получаем значение 0,2 %. В принципе, для лампового усилителя очень и очень неплохо. Однако необходимо учесть что это значения при включенной ООС, при выключенной параметры будут существенно хуже.

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

Подробнее..

Подбор выходного трансформатора для двухтактного лампового усилителя

29.04.2021 00:23:42 | Автор: admin

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

Многие любители ТЛЗ предпочитают использовать готовые трансформаторы ТВЗ от советской радиоаппаратуры или готовые покупные, и, соответственно, использовать те же режимы ламп, что и в советской аппаратуре, или режимы ламп, рекомендованные изготовителем трансформаторов. Данная информация пригодится тем, кто хочет спаять что-нибудь теплое и ламповое, но кто совершенно не хочет возиться с намоткой трансформаторов и кого отпугивают цены на готовые трансформаторы, предлагаемые различными фирмами.

Хочу сразу предупредить, в ламповой технике я не силен, изучаю ее походя, в процессе, так сказать. Поэтому некоторые мои рассуждения для специалистов могут показаться весьма наивными.

С чего необходимо начать выбор трансформатора? Наверное, с понимания того, для чего он все-таки нужен. А нужен он для согласования лампы с нагрузкой. Дело в том, что громкоговорители и акустические системы (АС), в большинстве своем, имеют относительно низкое сопротивление (типовые значения сопротивления большинства отечественных АС - 4 или 8 Ом, импортных 6 Ом), соответственно, в их цепи текут довольно большие токи и на клеммах присутствуют относительно небольшие напряжения. Грубо говоря, через АС с номинальной мощностью 16 Вт и сопротивлением 4 Ом будет протекать ток 2 А, а действующее напряжение на нем будет 8 В (зависимостью импеданса динамика от частоты в этом рассмотрении пренебрежем).

I=\frac{U}{R}=\frac{8\,В}{4\,Ом}=2\,А, P=U\cdot I=8\,В\cdot 2\,А=16\,Вт

Лампы же наоборот - обычно работают с высокими напряжениями и относительно небольшими токами. Например, для лампы 6П44С, как в моем усилителе, согласно справочнику средний ток анода составляет максимум 100 мА (420 мА допускается в импульсе длительностью 4 мс), напряжение на аноде 250 В (550 В допускается при включении лампы).

Чтобы преобразовать высокое напряжение на лампе в низкое на динамике и низкий ток лампы в большой ток через динамик и необходим трансформатор. 100 мА необходимо трансформировать в 2 А, а 8 В, соответственно, в 160 В. Ориентировочный коэффициент трансформации в этом случае должен быть примерно около 20 (потерями в трансформаторе для простоты изложения пренебрежем).

К_{тр}=\frac{U_{вх}}{U_{вых}}=\frac{I_{вых}}{I_{вх}}=\frac{160\,В}{8\,В}=\frac{2\,А}{0,1\,А}=20

При этом сопротивление динамика, пройдя через такой трансформатор для лампы будет выглядеть как

R_{a}=R_{н}\cdot K_{тр}^2=4\,Ом\cdot 20^2=1600\,Ом

И поэтому лампа, имеющая довольно большое выходное сопротивление (порядка нескольких килоом) сможет на этот динамик работать. Вообще говоря, лампа в пентодном включении (лучевой тетрод это тоже пентод) имеет очень высокое выходное сопротивление (по сравнению с триодами), напряжение на аноде лампы очень слабо зависит от тока через нее. Схемотехнически лампа в таком включении является источником тока, а трансформатор, подключенный к ней работает скорее в режиме трансформатора тока, нежели трансформатора напряжения.

Второе, с чего следует начать выбор трансформатора это источник сигнала или сам ламповый выходной каскад. Необходимо понять, а сколько мощности в нагрузку мы вообще можем из нее выжать? И это логично, т. к. если лампа максимум может выдать в нагрузку 10 Вт, то припаивать к ней трансформатор на 100 Вт, наверное, будет перебор, трансформатор будет всегда недогружен, габаритная мощность будет использоваться неэффективно (необходимостью запаса по индуктивности первичной обмотки для простоты рассуждений пока тоже пренебрежем).

Рассмотрим двухтактный выходной каскад на лампах 6П44С из нашего усилителя. Сколько же мощности можно из него выжать? Как было указано выше, из справочника, средний ток анода составляет максимум 100 мА (420 мА в импульсе 4 мс), а напряжение на аноде 250 В (550 при включении лампы). Сначала разберемся с напряжением. В двухтактном каскаде лампы работают по очереди, каждая на свою половину первичной обмотки. Средняя точка этой обмотки подключена к источнику питания. Какое максимальное напряжение Uп можно подать на среднюю точку? Когда одна из ламп открывается полностью, напряжение на ее аноде минимально (опять таки для упрощения будем считать что оно равно 0). При этом напряжения на аноде другой, запертой лампы становится равным 2Uп. Максимальное напряжение на запертой лампе по справочнику может достигать 7 кВ, но хотя это в импульсе не более 18 мкс. Поэтому Uп можно выбрать близким к максимальному 250 В, и даже немного больше него, например, с небольшим запасиком 260 В. Слишком сильное превышение этого напряжения чревато межэлектродными пробоями и высокими электростатическими силами, сокращающие срок службы катода. Максимальный ток анода (в импульсе) может достигать 420 мА. Таким образом, мгновенная мощность двухтактного каскада будет около 260 В0,42 А= 109 Вт. Действующая мощность, соответственно, 55 Вт. Это теоретический максимум, который можно получить от данного каскада. Если бы выходное сопротивление ламп было бы равно 0, то вся эта мощность могла бы перейти в нагрузку. Но, как всем известно, выходное сопротивление лампы ненулевое, более того, порядок значений этого сопротивления килоомы. Условием передачи максимальной мощности от источника в нагрузку является равенство сопротивления этой нагрузки внутреннему сопротивлению источника. Поэтому при расчете трансформатора с нуля, его, чаще всего, начинают с выбора коэффициента трансформации таким, чтобы сопротивление нагрузки после прохождения через трансформатор было равно выходному сопротивлению лампы в выбранной рабочей точке. Хотя обычно высокой точности равенства выходного сопротивления лампы сопротивлению нагрузки не требуется.

Итак, даже в идеальном случае равенства выходного сопротивления лампы сопротивлению нагрузки, в последнюю передается только половина мощности. Вторая половина рассеивается на внутреннем сопротивлении лампы и греет аноды. В нашем случае, из 55 Вт в нагрузку может уйти максимум 22,5 Вт. Но в реальности эта мощность будет еще меньше. Во-первых, из-за неидеального согласования сопротивлений лампы и нагрузки (поскольку мы трансформатор взяли готовый, а не мотали с нуля), во-вторых, из-за потерь в самом трансформаторе (они небольшие, но есть), в третьих, из-за просадки напряжения питания под нагрузкой (если оно выбрано без запаса), в четвертых, по мере износа лампы максимальный ток (и, соответственно, выходная мощность) также будет также постепенно снижаться. Именно по указанным выше причинам в моем усилителе удалось выжать только 20 Вт в нагрузке (напряжение питания в моем усилителе около 230 В, вместо 260).

Попробуем прикинуть, насколько хорошо подходит под эти параметры использованный трансформатор ТН-56. Итак, граничные параметры со стороны ламп: ток в импульсе 420 мА, ток действующий 420мА/1,41=300 мА. Напряжение амплитудное 260 В, напряжение действующее 260В/1,41=184 В. Параметры трансформатора при включении указанным на схеме образом: максимальное действующее напряжения на входных полуобмотках 127 В, максимальный ток 0,44 А, на выходных обмотках на отводе 4 Ом напряжение 12,6 В, ток 3,15 А, мощность 40 Вт, на отводе 8 Ом напряжение 18,9 В, ток 2,36 А, мощность 45 Вт. Коэффициент трансформации (для 4 Ом) 127В/12,6В=10.

Учитывая коэффициент трансформации, действующее значение тока во вторичной обмотке будет 0,3А10=3 А, а напряжение 177В/2/10=9,2 В. Почему берем половину напряжения? Потому что даже при идеальном согласовании только одна половина напряжения ушла в нагрузку, вторая упала на внутреннем сопротивлении лампы. Максимальная выходная мощность с ограничением по току получается 334=36 Вт. Максимальная выходная мощность с ограничением по напряжению - 9,29,2/4=21 Вт. Как видим, запас по току еще есть, не весь ток лампы используется, напряжения не хватает. Насколько нужно поднять еще напряжение чтобы использовать полностью запас по току? Посчитаем. Если мы хотим выжать 36 Вт, нам нужно напряжение на вторичной обмотке трансформатора 12 В, тогда напряжение на первичной обмотке трансформатора будет 120 В (все еще не превышает максимальных 127 трансформатор не войдет в насыщение). Напряжение питания должно быть 12021,41=338 В. Как то слишком многовато для лампы, не следует, на мой взгляд, настолько сильно превышать паспортное значение. Хотя, может, и не нужно настолько превышать. Мы же исходили из предположения, что у нас сопротивление нагрузки и лампы согласованы, то есть, равны и напряжение делится между ними поровну. А судя по тому, что в моем усилителе напряжение на нагрузке 9 В достигается уже при напряжении питания 230 В, можно предполагать, что на самом деле сопротивление лампы меньше сопротивления нагрузки и поэтому в нагрузку идет большее напряжение. Для того, чтобы выяснить, насколько хорошо они согласованы, необходимо знать выходное сопротивление лампы. К сожалению, в справочнике на эту лампу этот параметр не указан. А не указан он потому что очень сильно зависит от режима работы лампы. Лучевой тетрод может работать как в пентодном режиме, при этом имея высокое выходное сопротивление, так и в триодном, с низким выходным сопротивлением.

Как измерить выходное сопротивление лампы? Известным способом путем подключения разных нагрузок и измерения напряжения на них. Сначала подключим нагрузку 4 Ом, измерим напряжение на ней U1, затем к тем же клеммам подключим нагрузку 8 Ом, измерим напряжение на ней U2. Рассчитаем внутреннее сопротивление по формуле

R_{i}=\frac{32\cdot (U_{1}-U_{2})}{4U_{2}-8U_{1}}\cdot K_{тр}^2

U1, В

U2, В

Ri, кОм

Pвых=1 Вт

2

3,6

3,2

Pвых=5 Вт

4,5

8,6

8,2

Pвых=9 Вт

6

11,5

38,4

Измерения и расчет проведем для 3 уровней выходной мощности 1, 5 и 9 Вт. Данные занесем в таблицу. Как видим, выходное сопротивление лампы по мере увеличения выходной мощности также увеличивается. Кстати, при включении ООС в усилителе, измеренное выходное сопротивление лампы на мощности 1 Вт составило всего 170 Ом. На какое из этих выходных сопротивлений ориентироваться при выборе коэффициента трансформации (если изготавливать трансформатор с нуля) остается непонятным. Получается, для лучевых тетродов при выборе коэффициента трансформации следует ориентироваться не на согласование по сопротивлению, а на согласование по току.

Таким образом, чтобы максимально использовать возможности лампы по току поднимем на ней напряжение, насколько это возможно. В моей схеме усилителя это можно сделать, подключив концы общей точки полуобмоток выпрямителя +230 В не к земле, а к обмоткам 17 В, питающей накалы выходных ламп. Таким образом, напряжение питания выходного каскада можно поднять на 171,41=24 В до 255 В, при этом максимальная выходная мощность подросла до 25 Вт, что неплохо.

Еще больше повысить напряжение в моей схеме с вакуумными выпрямителями не получится все обмотки уже задействованы. Единственный вариант в этом случае переходить на полупроводники. Тогда, играясь с обмотками, вполне можно набрать и 340 В. Повышая напряжение, следует иметь ввиду, что повышенное напряжение на аноде лампы скажется на ее долговечной работе, частая и долговременная работа на максимальной мощности (и токе) приведет к быстрой деградации катода. Повышая напряжение также необходимо пропорционально снижать и ток покоя лампы (до 50 мА, например), чтобы рассеиваемая на аноде мощность (50мА340В=17 Вт) не превышала максимальные для анода 21 Вт рассеиваемой мощности. При максимальной выходной мощности 36 Вт и идеальном согласовании сопротивления лампы и нагрузки на двух лампах двухтактного каскада будет выделяться также 36 Вт или по 18 Вт на каждой лампе, что в пределах нормы.

При использовании трансформатора ТС-180 вместо ТН-56 в этой же схеме мы получим примерно аналогичные результаты по выходной мощности. Единственное, за счет возможности его ультралинейного включения, большей мощности и большей индуктивности первичной обмотки этот трансформатор выдает менее искаженную синусоиду даже без использования ООС. Результаты по мощности аналогичные потому как там тоже первичная обмотка состоит из таких же двух половин по 127 В, вторичная из 3 секций по 6,8 В, коэффициент трансформации примерно такой же. Но там можно дополнительно включить несколько вторичных обмоток, повышая тем самым коэффициент трансформации. Но никакого существенного выигрыша это не дает, поскольку мощность каскада все равно всего только 55 Вт, из которых некоторая часть по любому уйдет в тепло на анодах. Включив трансформатор с чуть большим коэффициентом трансформации чем требуется, можно, не особо проигрывая в мощности, уменьшить ток через лампы, что положительно скажется на их долговечности.

Поднять выходную мощность можно только одним способом применить более мощные и высоковольтные лампы, например 6П45С. Прикинем, сколько мощности можно будет выжать из такого каскада в паре с трансформаторами ТС-180.

Для этой лампы ток анода импульсный составляет 800 мА при напряжение на аноде 400 В (700 В включении лампы). Действующее значение тока 567 мА, действующее значение напряжения 283 В. Мощность в каскаде 160 Вт. При идеальном согласовании сопротивления лампы и нагрузки в последнюю, допустим, удастся передать 80 Вт. Вторые 80 Вт рассеятся на анодах ламп, по 40 Вт в каждой, что немного превышает максимально допустимые 35 Вт. Что можно взять от трансформатора?

Действующее напряжение на первичной обмотке трансформатора будет около 283В/2=142 В. Для работы на этом напряжении можно последовательно синфазно соединить половину сетевой обмотки 127 В, 0,85А и вторичную обмотку 63 В, 0,5 А. При этом, максимальное действующее значение тока от лампы 0,567А, что немного превышает максимально допустимое для этой обмотки, но не сильно критично. Вторичная обмотка трансформатора 42 В, 0,4 А остается незадействованной. Ее можно употребить для ультралинейного включения. По некоторым данным, использование отдельной независимой обмотки для подачи сигнала на вторую сетку выходной лампы может положительно сказаться на линейности каскада. Коэффициент трансформации при таком включении 190/13,6=14 (для отвода 4 Ом). Напряжение на отводе 4 Ом будет 142В/14=10 В, ток 0,567А14= 8 А. Как видно, запас по току опять таки большой, а выходного напряжения не хватает. Да и ток 8 А выходная обмотка не потянет, там максимум 4,7 А. В этом случае повышать напряжение на лампе не будем, а домотаем на трансформаторе еще одну обмотку на 6,8 В, 4,7 А. Это всего 23 витка, домотать не проблема.

Пересчитаем трансформатор. Коэффициент трансформации при таком включении 190/20,4=9,3 (для отвода 4 Ом). Напряжение на отводе 4 Ом будет 142В/9,3=15,2 В, ток 0,567А9,3= 5,3 А. Выходная мощность, ограниченная по напряжению 15,215,2/4=57 Вт, по току - 5,35,34=112 Вт. И все равно напряжения не хватает, можно немного повысить анодное напряжение, например до 450 В. Тогда действующее в первичной обмотке будет 160 В, во вторичной обмотке 17,2 В, максимальная мощность, ограниченная напряжением - 74 Вт. При этом ток в выходных обмотках будет 17,2/4=4,3 А, что не превышает максимально допустимый ток обмотки в 4,7 А, но в то же время близок к нему. Наверное, это максимум что можно выжать из данного каскада и данного трансформатора. Что тоже весьма неплохо, это в 4 раза больше чем в исходном усилителе на лампах 6П44С.

Следует отметить, что все приведенные расчеты - очень грубые, "прикидочные". Для получения более точных данных, необходимо более серьезное моделирование и макетирование с измерением реальных величин.

Подробнее..

Перевод Интервью авторов Искусства схемотехники сообществу element14 (05.06.2015)

07.05.2021 02:13:27 | Автор: admin

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

Сагар Джетани (Sagar Jethani) беседует от имени сообщества "element14" с соавторами книги, Полом Хоровицем (Paul Horowitz) и Уинфилдом Хиллом (Winfield Hill), о новом третьем издании.

Соавторы "Искусства схемотехники": Пол Хоровиц (слева) и Уинфилд Хилл (справа)Соавторы "Искусства схемотехники": Пол Хоровиц (слева) и Уинфилд Хилл (справа)

Сагар Джетани

Вопрос от одного из членов нашего сообщества, Дона Берки (Don Bertke).

Почему книга названа "Искусство схемотехники"? Разве схемотехника не строгий предмет? Ведь искусство подразумевает сочетание свободы и индивидуальности!

Пол Хоровиц

Это было идеей Уина, назвать книгу "Искусство схемотехники".

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

По нашему мнению, правильно спроектированная схема изящна.

Прекрасно, когда ваша схема собрана правильно. Отличный выбор ее элементов указывает на рациональное применение их свойств. А простой и надежный проект реализует все, что вы задумывали.

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

Уинфилд Хилл

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

Пол Хоровиц

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

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

Из этих соображений мы и определили название книги.

Сагар Джетани

В чем особенности третьего издания книги? Книга полностью переписана или частично дополнена?

Уинфилд Хилл

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

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

Пол Хоровиц

Изначально, первое издание книги было основано на курсе, который мы преподавали в университете. Оно задумывалось как продвинутый учебник.

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

Большинство из них касаются периферии микроконтроллеров.Встроенные контроллеры стали настолько распространенными, что мы добавили классификацию дополнительных компонентов. Очень важных, поскольку они могут применяться в "обвязке" микроконтроллера.

Мы в достаточной степени емко и полно попытались переписать главы о высокоточном проектировании, о проектировании с низкими шумами, об импульсных источниках питания и преобразователях, об аналого-цифровом и цифроаналоговом преобразовании.

Эти четыре главы, это действительно нечто!

Каждую из них можно рассматривать как небольшие, отдельные книги.

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

Уинфилд Хилл

Мы добавили 50 фотографий в книгу. Каждая из них подробно подписана и отражает действительную суть изображенных на них вещей. Мы ими гордимся, так как они стали результатом кропотливого труда.

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

Сагар Джетани

Один из членов нашего сообщества, Эрик Рэтклифф (Erik Ratcliff), интересуется, с какого издания ему начать изучение. До настоящего момента у него не было ни одного из изданий. Можете ли вы поподробнее рассказать о содержимом третьего издания, которого не найти во втором издании?

Уинфилд Хилл

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

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

Пол Хоровиц

Новшества третьего издания опять же касаются иллюстраций, в особенности осциллограмм.

Это было обусловлено цифровизацией осциллографов, которая произошла как раз в промежутке между публикациями второго и третьего изданий книги.

Раньше, при наличии аналогового осциллографа, приходилось фотографировать его экран с показаниями. Впоследствии, эта фотография становилась черно-белым снимком в первом и втором изданиях книги. С появлением цифровых осциллографов проблема получения осциллограмм пропала.

Мы добавили в третье издание 90 осциллограмм, показывающих необычное поведение схем. Если сравнивать, то во втором издании их примерно пять.

Уинфилд Хилл

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

Пол Хоровиц

К слову сказать, в моем распоряжении имеются шестиканальный и восьмиканальный осциллографы, которые упоминаются в нашей новой книге.

Сагар Джетани

Уин, вы упомянули, что некоторые темы второго издания исключили в третьем издании. Можете привести примеры?

Уинфилд Хилл

В книге больше нет разделов "Удачные схемы" и "Неудачные схемы". Но, тем не менее, они скоро появятся снова на официальном сайте книги. Мы также исключили главу про методы проектирования, главу про устройства с низким потреблением энергии и главы с научной методологией.

Те, кому интересны эти темы, всегда могут их найти во втором издании.

Пол Хоровиц

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

Сагар Джетани

В тексте книги часто встречаются ссылки на главы, помеченные "иксом". Члену нашего сообщества, Шабазу Юсуфу (Shabaz Yousaf), интересно, можете ли вы объяснить, что это за главы.

Пол Хоровиц

Читателям без предварительной подготовки в электронике мы стремились дать основные вводные при проектировании схем. Более искушенным читателям мы хотели дать возможность глубже окунуться в проблемы и расширить свой кругозор.

Эту концепцию мы воплотили в виде особых дополнительных глав, которые мы назвали "икс"-главами. На эти главы делаются ссылки из основных глав.

Всего мы выделили пять "икс"-глав.

Глава 1x, которая охватывает пассивные компоненты, такие как катушки индуктивности, конденсаторы и резисторы.

Глава 2x, которая охватывает биполярные транзисторы.

Глава 3x, которая охватывает полевые транзисторы.

Глава 4x, которая охватывает операционные усилители.

Глава 9x, которая охватывает источники питания и их применение.

Первоначально, мы хотели разместить эти главы следом за главами, из которых на них идут ссылки. Так получилось, что третье издание книги занимает свыше 1200 страниц даже без вкрапления "икс"-глав. Даже с учетом крупного формата страниц и до некоторой степени мелким шрифтом. Около года назад, нами было принято решение напечатать "икс"-главы отдельным изданием. Часть материала, который мы намеревались включить в "икс"-главы и который мы сочли очень важным, мывернули обратно в текст книги. Таким образом, некоторые главы в книге получились теперь более сложными.

Сагар Джетани

Когда Вы намереваетесь издать сборник "икс"-глав?

Пол Хоровиц

Сборник "икс"-глав планируется к изданию не ранее чем через два года. Конечно, я надеюсь, что это произойдет раньше. Сборник уже набран примерно на 50% с иллюстрациями и прочим материалом.

Сагар Джетани

Следующий вопрос поступил от члена нашего сообщества, Джона Вилтраута (John Wiltrout).

У второго издания есть известное приложение в виде "Студенческого руководства". Планируете ли Вы выпустить что-либо подобное для третьего издания?

Пол Хоровиц

Третье издание ориентировано немножко больше в сторону профессиональных разработчиков аппаратуры. Мы взяли немного основного материала и дополнили его. В результате получилось то, что вы называете "Студенческим руководством".

Теперь, у этой книги новое название, "Постижение искусства схемотехники: вспомогательный лабораторный курс".

Давая название этой книге, мы предполагали, что она будет небольшой. Но эта книга разрослась теперь примерно на тысячу страниц! И это довольно существенно.

Книга включает лабораторные и классные занятия, а также весь материал, содержащийся в применяемых ныне руководствах для студентов. Вдобавок, в книге содержится еще кое-какой дополнительный материал. Данная книга снимает некоторую нагрузку с основной книги. Ее автором является Том Хейс (Tom Hayes), который был в свое время автором "Студенческого руководства" ко второму изданию.

Сагар Джетани

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

Пол Хоровиц

Да, я так считаю.

В "Студенческом руководстве" содержатся лабораторные работы, которые мы используем в Гарвардском университете, и множество практических занятий. И еще я бы хотел добавить, что материал основной книги "Искусство схемотехники" не является традиционным текстом в обычном понимании этого слова. Традиционный текст в определенном смысле перегружен математикой и вызывает скуку.

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

Если слишком медленно, вы всегда можете ускорить воспроизведение.

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

"Студенческое руководство" лишь призвано помочь начать практическую деятельность.

Уинфилд Хилл

Да, весь материал этой книги затрагивает связь теории и практики. Это присовокупляет практическую сторону к книге "Искусство схемотехники".

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

Мне нравится просматривать видеоблоги. Но много ли вы усвоите практических знаний, после получасового просмотра ролика?

Мы рассматриваем темы в нашей книге более глубоко. Мне трудно представить другие не печатные форматы, которые подходили бы для такого серьезного материала, что у нас в наличии.

Сагар Джетани

Один из авторов статей в нашем сообществе, Элиша Вайт (Elecia White), интересуется:

"При характерной внушительности вашей книги (90 осциллограмм, 80 таблиц, свыше 1600 дискретных компонентов), имеются ли у Вас любимые схемы? Какие из них Вы постоянно приводите в качестве примеров?"

Пол Хоровиц

Я нахожу этот вопрос очень интересным. У нас есть любимый график, он находится на странице 526. На этом графике практически все, что вам нужно знать для проектирования схемы с низкими шумами на операционных усилителях.

Это такая потрясающая картинка!

На ней все компоненты, все кривые и все что нужно. На графике даже приводятся уравнения в качестве небольшого пособия.

У меня было много "головной боли" при создании рисунка 8.58 в программе Adobe Illustrator. Он озаглавлен "Действующее значение плотности входного шума". И чтобы быть созданным, он потребовал от меня всех моих знаний о программе Adobe Illustrator.

Это наш любимый график.

Сагар Джетани

Есть ли у Вас любимые таблицы?

Пол Хоровиц (улыбаясь)

Нашей любимой является таблица 5.5, которая включает "великолепную семерку" высокоточных операционных усилителей.

На самом деле их там значительно больше!

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

Например, LT1012 биполярный усилитель с компенсацией смещения, имеет в спецификации полностью неверное значение для шума входного тока. Это значение не учитывает того факта, что если вы сведете к нулю один ток, то для другого не связанного с ним тока, значение шума не уменьшится. В реальности это только увеличит мощность шума. Таким образом, спецификация производителя ошибается на порядок или более. Подобного рода чепуха содержится не только в таблицах спецификации, но и в тексте.

По этому поводу у нас была интересная переписка с Джимом Уильямсом (Jim Williams). Мы обратили внимание на то, что спецификация полностью фиктивна. После этого с егостороны была длинная пауза, затем, понизив голос, он сообщил: "Вами раскрыт один из самых темных секретов Кремниевой долины."

Сагар Джетани

Вы предоставили любимый график и любимую таблицу. Есть ли у Вас любимая схема?

Уинфилд Хилл

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

Пол Хоровиц

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

Например, не существует единственного в своем роде "самого лучшего" операционного усилителя.
Один из примеров, которые мы привели, был контроллер солнечного загара. Это не что-либо кому-либо необходимое, но мы считаем, что это в некотором смысле показательно.

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

Затем, мы обратились к цифровой главе, взяли из нее счетчики и задействовали их в проекте.

Потом, перешли к микроконтроллерам и они стали основой нашего эксперимента с солнечным загаром.
Аналогичным образом мы поступили с генераторами шума с псевдослучайной битовой последовательностью.

Мы отталкивались от дискретной цифровой логики в направлении FPGA, CPLD и в итоге перешли к микроконтроллерам.

Мы истратили 12 страниц на то, чтобы показать вам полдюжины различных способов получения псевдослучайной последовательности. Отличным примером является рисунок 8.93 на странице 559, на котором показано, как использовать генератор шума с псевдослучайной битовой последовательностью и аналоговую фильтрацию, чтобы получать различные цвета шума: "белый", "розовый", "красный". Сюда еще стоит отнести графики, качественно характеризующие данную схему.

Все компоненты на наших схемах пронумерованы. Вы можете видеть на схемах названия микросхем и нумерацию их выводов. В большинстве случаев мы собирали эти схемы, чтобы вы могли увидеть их качественные характеристики.
Мы считаем, что указанная схема выдает отличные битовые последовательности.

Уинфилд Хилл

К моим любимым относится схема на рисунке 9.13, со страницы 606.

Там показана схема внутреннего устройства линейного стабилизатора напряжения 317-й серии. Я всегда считал ее особенно элегантной и милой.

Все эти схемы, что мы привели в своей книге, разработаны другими людьми, но некоторые из них особенно хороши.

Не меньше, я люблю схемы функциональных блоков цифровых мультиметров под торговыми марками "HP", "Agilent" и "Keysight", которые мы разместили во многих частях книги. Например, рисунок 8.49 со страницы 513, рисунок 13.15 со страницы 896, рисунок 13.47 со страницы 919.

Сагар Джетани

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

Пол Хоровиц

В нашем детстве было так: если ты хотел заниматься электроникой, то становился радиолюбителем; если увлекался автомобилями, то начинал собирать свою машину по частям.

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

Сейчас мы возвращаемся к эпохе, когда люди снова начинают заниматься индивидуальным производством. И нам это приятно видеть. Все это благодаря наличию дешевых микроконтроллеров и готовых платформ для проектирования, таких как "Arduino", "Raspberry Pi" и им подобных.

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

Сейчас это направление бурно развивается.

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

По поводу будущего, я бы хотел привести цитату Нильса Бора:

"Предсказать что-либо очень сложно, особенно если это касается будущего."

Уинфилд Хилл

Предыдущее издание книги было опубликовано в 1989 году.

Это намек специально для тех, кто хочет знать, как что-либо меняется за 25 лет.

Пол Хоровиц

Я не думаю, что мы в свое время предвидели появление платформы "Arduino", сети Internet, журнала "Make" и многого другого.

Еще в 60-х годах прошлого века япрочил туннельным диодам большое будущее. Но их свергли транзисторы, которые были быстрее, проще и дешевле.

Где теперь туннельные диоды? Они исчезли!

По-моему, те, кто берется за предсказание глупцы!

Уинфилд Хилл

Мы затрудняемся ответить на этот вопрос!

Сагар Джетани

Вы неоднократно упоминали огромное значение микроконтроллеров.

Сообщество "element14" популяризует широкое разнообразие микроконтроллеров. Шабаз и я недавно обсуждали, повлияло ли на процесс проектирования появление дешевых, полностью фунциональных плат на их основе.

Есть ли здесь подводные камни?

До этого, инженеру приходилось садиться за стол и изобретать с нуля схему, отвечающую условиям ее эксплуатации. Сейчас у него просто нет на это времени. И чтобы выполнить работу, он скорее применит микроконтроллер, с которым хорошо знаком.

Возможно это немного чересчур, но приемлемо.

Пол Хоровиц

Хотелось бы предостеречь!

Вы конечно можете собрать схему из готовых блоков на микроконтроллерах, как конструктор "LEGO".

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

Позвольте в качестве примера привести ситуацию, сложившуюся у нас в Гарвардском университете.

У нас имеются студенты, с конструкторскими заданиями построить то-то и то-то.

Они посещают популярные технические сайты, набирают готовые модули и собирают на их основе схемы по принципу "этот выход похоже идет на этот вход" в надежде, что схема заработает. Но она в итоге не работает!

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

У них получается что-то, что либо хорошо взрывается, либо не очень хорошо работает. Или это что-то что-либо генерирует, но они об этом не догадываются, поскольку ориентируются на информацию со встроенного экрана, а не на показания осциллографа.

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

С другой стороны, если это позволяет выполнить работу, то кто пожалуется, коли это предназначено исключительно для вас?

Мне приятно осознавать, что микроконтроллеры всего лишь элементная база человеческих разработок.

Уинфилд Хилл

Позвольте мне обратить ваше внимание на двенадцатую главу нашей книги, которая называется "Сопряжение цифровых устройств".

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

Подавляющее большинство цифровых устройств не поддерживают работу с уровнями напряжения 3,3 В.

Так каким же образом вы собираетесь впоследствии подключить их к выводам процессора?

Именно об этом мы подробно рассказываем в двенадцатой главе. А уже в тринадцатой главе мы обсуждаем подключения процессоров к аналоговым устройствам.

Если в качестве примера мы возьмем небольшую плату от "TI" или любого другого производителя, то увидим, что на ней обязательно имеются штырьки для подключения другой внешней схемы.

Вопрос состоит лишь в том, будут они задействованы в конкретном проекте, или нет.

Вот этому мы и пытаемся научить.

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

В нашей пятнадцатой главе, посвященной микроконтроллерам, мы разместили три рисунка во всю страницу величиной. На страницах 1080, 1083 и 1085 изображены многие устройства, которые можно подключить к вашему процессору.

Довольно захватывающее зрелище, наблюдать все эти странные "малютки": контроллеры шаговых двигателей, емкостные датчики положения, видеодекодеры, Ethernet-контроллеры.

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

Не малая часть повествования посвящена обучению читателей применять это многообразие устройств в своих проектах.

Сагар Джетани

Что делать инженерам, если они хотят держать свои навыки в тонусе?

Уинфилд Хилл

Если вы уже досконально изучили один процессор, то наверняка вам захочется попробовать что-то новое.

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

Пол Хоровиц

По этому поводу я общался с опытным схемотехником, Джимом Макартуром (Jim McArthur). Иногда в нашей книге мы приводим его цитаты.

И вот одна из них:

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

Вы всегда будете в курсе дела, если у вас имеется такое окружение.

Сагар Джетани

Я заметил, что Вы упоминаете в приложениях к третьему изданию книги наш магазин, "Newark Electronics".

Уинфилд Хилл

Я постоянный покупатель "Newark Electronics".

Пол Хоровиц

В приложении K, озаглавленном "Где мне купить электронные "вкусняшки"?", мы отдельно упомянули "Newark Electronics" за хороший ассортимент. Еще отмечу, что в "Newark Electronics" до сих пор есть печатный каталог!

К сожалению, в "Digi-Key" отказались от его выпуска пару лет назад.

Сагар Джетани

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

Пол Хоровиц

Конечно, я уже не верю в мемристоры.

Хотелось бы увидеть действительно энергонезависимую технологию памяти.

Я не думаю, что это будет флэш-память с плавающим затвором. Я считаю, что это будет кое-что гораздо лучше. Но я не уверен, что это будет одна из тех четырех технологий, которые претендуют на это сейчас. Возможно, это будет нечто совершенно иное. В нашей книге мы перечислили плюсы и минусы технологий магнитной памяти (MRAM), сегнетоэлектрической памяти (FeRAM), памяти на основе фазового перехода (PRAM) и ряда других.

Давайте через тридцать лет посмотрим, что из этого выйдет!

Сагар Джетани

Пол, Вы один из основателей программы по поиску внеземных цивилизации (SETI). Вы работали с ныне покойным Карлом Саганом (Carl Sagan). Расскажите о Вашей работе по данному направлению. Каковы задачи программы поиска внеземных цивилизаций сейчас?

Пол Хоровиц

Наша программа по поиску внеземных цивилизаций жива и здорова.

Это огромное внешнее пространство с частотами и направлениями, а также другими нюансами.

Мы не знаем, что посылают внеземные цивилизации, однако мы уверены, что они существуют.

Если бы вы спросили кого-нибудь двадцать лет назад о том, сколько планет существует за пределами Солнечной системы, то вероятно получили бы ответ, что их не так уж много. Но если то же самое сделать сейчас, то вам скажут, что планет больше, чем звезд на небе.

Конечно, в Галактике Млечного Пути планет больше, чем звезд. А обитаемых планет примерно столько же, сколько и звезд. Скажем, примерно 100 миллиардов.

Все отлично складывается для возможности существования жизни в других местах.На самом деле все неплохо складывается даже для возможности существования примитивной жизни в других уголках нашей Солнечной системы.

Сагар Джетани

Какой самый лучший способ общения с представителями другой разумной жизни во Вселенной?

Пол Хоровиц

Самой передовой идеей является наблюдение оптических импульсов. Это основа наших исследований последних десяти лет.

Хотя радиоастрономия не потеряла своей актуальности. В настоящее время в радиоастрономии мало что происходит.

Проект радиотелескопа Аллена (Allen telescope array), на который возлагались большие надежды, был закрыт. У радиотелескопа в Аресибо (штаб-квартира программы SETI) слишком узкий луч для наблюдения за небом и ограниченный диапазон частот.

Контакт может произойти в любой момент.

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

Уинфилд Хилл (шутит улыбаясь)

Пол и его студенты спроектировали телескоп в Гарвардском университете, в штате Массачусетс. Он автоматически запускается в ясные ночи и сканирует небо в поисках сигналов от внеземной жизни. Пол не успел указать этого на своей страничке в сети, поскольку был сильно занят написанием третьего издания книги "Искусство схемотехники". Телескоп как раз заработает этой ночью. Не правда ли?

Пол Хоровиц (улыбается)

Я не против, но только сегодня немного облачно. Вот если бы погода была такой, как у Вас в Калифорнии, Сагар!

Позвольте мне закрыть эту тему маленькой цитатой! Она родилась во время экспериментов с радиосистемой и работ по модернизации телескопа, о котором только что упомянул Уин. Я тогда показал схему модернизации одному своему коллеге, Биллу Прессу (Bill Press), автору книги "Вычислительные рецепты" ("Numerical Recipes").

Билл посмотрел на проект, и сказал:

"Хоровиц, ты знаешь, что шанс прославиться у тебя один на миллион?".

Так и здесь.

Это было бы великим открытием! Это бы покончило с культурной изоляцией планеты Земля! Это был бы мост между формами разумной жизни, независимо друг от друга зародившимися на протяжении четырех миллиардов лет! Это было бы величайшее открытие в истории человечества!

Надежда вечный спутник искателя разумной жизни во Вселенной.

Уинфилд Хилл

Варианта всего два: либо это будет величайшее открытие в истории человечества, либо не будет ничего.

Пол Хоровиц (улыбается)

Да, либо не будет ничего.

Сагар Джетани

Я хочу поблагодарить Вас обоих за создание, как выразился один из членов нашего сообщества, "Библии электронной техники". Поздравляю с выходом нового издания Вашей книги!

Уинфилд Хилл

Большое спасибо! Нам понравилось беседовать с Вами!

Пол Хоровиц

Если этот ваш член сообщества прав, то делает ли это нас святыми или кем-то наподобие?

Сагар Джетани (улыбаясь)

Она не уточнила!

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

Первоначальная версия данной статьи была опубликована на сайте "Паяльник".

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

У каждого автора имеется свой почерк. Поэтому я решил внести в свои публикации маленькую невинную традицию. Уж не обессудьте!

В конце каждой публикации будет объявляться муза.

Таким образом, музой этой публикации объявляется Наташа Васичева, за интересные методы "беспалевной" видеосъемки на смартфон. Как бы странно это не звучало для непосвященных и что бы ни значило.

Надеюсь статья Вам показалась интересной.

До новых встреч!

Подробнее..

Раскрашиваем таможенную статистику. Или сколько и каких микросхем ввозят в Россию? (3)

28.05.2021 16:10:14 | Автор: admin

Продолжим анализировать какие иностранные микросхемы используются в России на основании таможенной статистики. Как мы это делаем ? Из данных ФТС выбираем записи в которых указан номинал ввезенной микросхемы, и используя внутреннюю базу данных дополняем эту запись основными параметрами микросхемы, начиная от производителя, разрядностями, диапазонами питания и заканчивая типом корпуса, упаковки и так далее. В данной части посмотрим микросхемы памяти.
Часть 1. Общий анализ
Часть 2. АЦП/ЦАП и Микроконтроллеры

Всего за 2019 год было ввезено чуть более 130К микросхем памяти. При этом нужно понимать, что именно микросхем. Например "планки" динамической памяти для компьютеров или карточки памяти ввозятся уже как модули или комплектующие для компьютеров и к сожалению в статистику микросхем не попадают. Мы же рассматриваем чистые микросхемы, которые ввозят что бы запаять.

Все микросхемы мы можем разделить на энергонезависимые EERPOM, FLASH, FRAM, т.е. сохраняют информацию при отсутствии питания, энергозависимые динамические ОЗУ (DRAM) и статические (SRAM) и остальные, например конфигурационные Flash, используемые для хранения "прошивок" FPGA и NVSRAM - это статическая ОЗУ, но с батарейкой, за счет которой она превращается в энергонезависимую. Это очень древнее решение, но до сих пор кто то их использует, хотя на смену уже пришли FRAM.

Как и ожидалось самыми массовыми являются микросхемы энергонезависимой памяти (суммарно более 116К), вслед за ними идет динамическая память (13К). Остальная память в очень малых объемах. Для начала рассмотрим поподробней динамическую память.

Динамическая память

Наибольшей популярностью пользуются микросхем DDR3. Но и предыдущие поколения потребляются достаточно массово.

Лидером среди производителей является Micron (к сожалению не наш). Самой популярной микросхемой является MT41K128М - DDR3-1600, Объемом 2 Гбит от Micron, по цене примерно 3$.

Энергонезависимая память

Для энергонезависимой памяти все привыкли к USB флешкам или карточкам памяти с объемом измеряемым десятками Гигабайт.

Но в виде микросхем, как оказалось, наиболее популярными являются совсем небольшие объемы до 1 Мбита.

Безоговорочным лидером в EERPOM является STM.

На рынке Flash памяти представлено гораздо больше производителей, а вот рынок FRAM практически весь принадлежит Fujitsu.

У EEPROM памяти наиболее популярный интерфейс I2C

Но в Flash памяти I2C вообще не встречается, и основным является SPI.

Какой корпус наиболее популярный? Восьми выводные корпуса, SO-8 и его аналоги.

Так что если вы захотите сделать микросхему энергонезависимой памяти, то что бы она была максимально массовой ее объемом должен быть ~1 Мбит, с интерфейсом I2C (ну или SPI, мне он больше нравится) и в 8-ми выводном корпусе. Одна проблема, ее стоимость должна быть около 0,4$ за штуку. Самая популярная микросхема EEPROM - это M24512 от ST с объемом 512 Кбит и ценой 0,3$. И ST обещает выпускать ее еще не менее 10 лет.

Подробнее..

Создание терминала для СКУД и УРВ

21.06.2021 12:17:59 | Автор: admin

Вступление

Ранее, в предыдущих статьях, я рассказывал о бизнес-процессах, которые можно закрыть различными решениями нашего программного обеспечения, однако настало время рассказать о разработке железа, а именно терминале, который способен служить 2 целям - контролю доступа и учету рабочего времени в связке с нашей системой учета рабочего времени.

Историю можно начать с того, что наша компания очень долгое время сотрудничает со всемирно известной сетью фастфудов - KFC (на территории Беларуси и Украины). Головной болью такой сферы, как HoReCa, был и будет учет рабочего времени сотрудников. Учитывая огромную текучку кадров, в том числе и обычных студентов, которые пришли подработать на непродолжительное время, становится сложно проконтролировать, сколько часов отработано тем или иным сотрудником. Плюс немаловажным моментом стало то, что сотрудники часто перемещаются с ресторана на ресторан, а это требует дополнительного контроля. Как же быть?

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

Поэтому был придумал предельно простой и быстрый сценарий действий на терминале:

  1. Прийти на рабочее место, подойти к терминалу и пройти идентификацию (приложить палец, карту к считывателю или ввести PIN)

  2. Выбрать на тачскрине Работа, после чего отправиться на свое рабочее место и приступить к работе

  3. При необходимости перерыва подойти к терминалу, пройти идентификацию, выбрать Перерыв

  4. При возвращении на рабочее место - подойти к терминалу, пройти идентификацию, выбрать Работа

  5. По окончанию рабочей смены подойти к терминалу, пройти идентификацию и выбрать Завершить работу.

То есть все события должны были фиксироваться на терминале, после чего все данные залетали бы на облако системы рабочего времени TARGControl. И там, административным персоналом, формировались табели и отчеты по объектам (ресторанам), что позволило бы корректно начислять заработную плату сотрудникам.

Разработка

Имея на руках техническое задание, была разработана структурная и функциональная схема. Далее пошло самое интересное: мы начали рассматривать различные варианты одноплатных компьютеров, которые бы смогли обеспечить нужный функционал терминала. Среди вариантов были следующие компьютеры: Banana Pi M4, Orange Pi PC+, ODROID-C4, NanoPi M4 и Raspberry PI Computer Module 3+. Произведем небольшое сравнение данных моделей.

Banana Pi M4

Orange Pi PC+

ODROID-C4

NanoPi M4

Raspberry PI CM3+

Память

Слот MicroSD с поддержкой расширения до 256 ГБ и флэш-память eMMC 8 ГБ с поддержкой до 64 ГБ

TF-карта (макс. 32ГБ) / слот для карты eMMC

8 ГБ флэш-память EMMC

1x разъем EMMC (доступно 8/16/32/64 ГБ)

1 слот Micro SD

нет встроенной eMMC, но есть разъем eMMC,
1 слот для MicroSD до 128 GB

8 GB eMMc + поддержка 1 слота microSD

RAM

1 GB DDR4 (опционально 2 GB)

1GB DDR3

4GB DDR4

Двухканальный 2GB DDR3-1866

1GB LPDDR2 SDRAM

CPU

Realtek RTD1395 ARM Cortex-A53 Quad-Core 64 Bit 1.8 GHz

H3 Quad-coreCortex-A71.2 GHz

Amlogic S905X3 Quad-Core Cortex-A55 ARMv8.2-A 64-bit 1.5GHz

RK3399- Cortex-A72 + Quad Core Cortex-A531.8 GHz

Broadcom BCM2837B0 с четырьмя ядрами Cortex A53 1.2 GHz

GPU

Mali 470 MP4 GPU OpenGL ES 1.1/2.0

Mali400MP2 GPU 600MHz
с поддержкой OpenGL ES 2.0

Mali-G31, поддержка OpenGL ES 3.2 и API Vulkan последнего поколения

Mali-T864поддержка OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 и AFBC

Broadcom VideoCore IV

Сеть

Ethernet 10/100/1000 Мбит / с
Опциональный USB-ключ Wi-Fi. Поддержка PoE

10/100 Ethernet RJ45

RJ45 Ethernet порт (10/100/1000)

Порт Gbps Ethernet

10/100 для подключения маршрутизатора или коммутатора с функцией PoE

После детального изучения и анализа цены (все модели находились в примерно одном ценовом диапазоне на момент их анализа - 2019 год), мы все же пришли к выводу, что лучше всего подойдет Raspberry PI Computer Module 3+. Почему Raspberry ? Да, некоторые характеристики уступают конкурентам, однако главным преимуществом стало то, что по Raspberry банально больше поддерживаемых библиотек и лучше техническая поддержка, т.к Raspberry на рынке с 2012 года и вокруг него сформировалось активное комьюнити.

Решение со встроенной памятью eMMC, предусмотренное в CM3, позволяет не использовать флеш-карту в качестве носителя ОС. Большое количество циклов перезаписи eMMC повышает надежность и срок службы памяти по сравнению с флеш-картами. При этом мы зарезервировали разъем для SD карт. Сразу можно сказать, что заявленной памяти для терминала хватает с лихвой, ибо сохраняемые события весят от силы пару килобайт. Что касается хранения фотографий, то здесь все сложнее: программно мы поставили ограничение в 5000 фото, но так как у нас зарезервирована флеш-карта, то данный лимит можно расширить до приемлемого значения.

Разработку управляющей платы мы начали с организации необходимых питающих напряжений. На нашей плате нам необходимо было обеспечить 3 значения напряжений: 5.0В, 3.3В и 1.8В. Внешний источник питания у нас 12В 3А. Для получения 5В и 3.3В мы использовали схему на основе широтной импульсной модуляции. Для источника питания 1.8В мы задействовали линейный понижающий преобразователь. Это выглядит, примерно, следующим образом.

Схема питания терминалаСхема питания терминала

Исходя из схемы видно, что для электрической части терминала была организована схема защиты питания от короткого замыкания и переполюсовки.

Отметим также и схему защиты питания внешних считывателей, представленную ниже.

Схема защиты питания считывателя от диверсийСхема защиты питания считывателя от диверсий

То есть если закоротить питание, считыватель уйдет в защиту (питание считывателя отключится), а терминал продолжит работу. Номиналы резисторов R51 и R52 задают выходной ток. Изменяя номинал резистора R51 можно менять ток ограничения в значительных пределах (у нас стоят заданные на схеме номиналы исходя из рассчитанной нами нагрузки).

Питание мы организовали, самое время перейти к периферии.

К слову, Raspberry поддерживает UART-интерфейс и 2 USB версии 2.0. Через один из доступных USB мы решили организовать доступ к Ethernet с помощью микросхемы LAN9514 . Второй USB используется для подключения периферии, например индикатор алкоголя. Также задействовав GPIO для подключения кнопок, электромагнитных замков, защёлок, алкостестера в дискретном режиме работы и картаприемников.

Схема реализации Ethernet и USBСхема реализации Ethernet и USB

У CM3 на борту всего 2 UART. Один нам пригодится для организации интерфейса RS-485, а второй - debug. Поэтому мы использовали микросхему FT4232HL, для увеличения количества интерфейсов. У нее есть входной интерфейс USB, который поддерживает связь с LAN9514, он же в свою очередь коннектится с CM3.

Схема расширения количества UART-овСхема расширения количества UART-ов

Вот теперь у нас стало больше на целых 4 UARTa (задействуем всего 2). Один используется для подключения биометрического модуля отпечатков пальцев от южнокорейского производителя Suprema-SFM6020-OP6-8M/16M (8M - 5К отпечатков, 16М- 25К отпечатков).

Второй для подключения карточного модуля 7941D (поддерживает 2 частоты Emarine (125 кГц) и Mifare (13,56 МГц).

Suprema-SFM6020-OP6-8MSuprema-SFM6020-OP6-8M

Один из выделенных UART, как и планировали, мы задействовали под RS-485, позволяющий подключать внешние карточные или биометрические считыватели, а также передавать информацию во внешние системы при необходимости интеграции. Схема 485-го представлена ниже.

RS-485RS-485

В этой схеме мы прибегли к некоторым хитрым схемотехническим решениям, объединив и подключив линии RE и DE через транзистор, что позволило нам автоматизировать на аппаратном уровне переключение режимов приема/передачи.

Что касается интеграции с другими системами традиционным для СКУД способом, для передачи минимальной информации у нас организован выходной Wiegand. Есть и два входных Wiegand'а для подключения внешних считывателей. Ниже представлены их электрические принципиальные схемы.

Входной WiegandВходной WiegandВыходной WiegandВыходной Wiegand

Немаловажным моментом будет, что терминал имеет 2 реле для управления замком, турникетом или шлагбаумом. Рассмотрим данный момент на примере подключения турникета (стандартная ситуация для СКУД). Есть два режима управления турникетом, потенциальный режим и импульсный. При потенциальном режиме управления для разблокировки турникета в направлении А срабатывает выход L1 OUT (в направлении В выход L2 OUT). При окончании данного времени или при совершении прохода выходной сигнал возвращается в исходное состояние.

В импульсном режиме для разблокировки выхода L1 OUT и L2 OUT срабатывают кратковременно, посылая управляющий импульс на турникет (обычно 0,2-0,3 секунды). При получении импульса турникет разблокируется в соответствующем направлении на время 5 секунд либо пока не будет совершен проход в данном направлении.

Для контроля прохода в направлении А или направлении В используются две линии, на которые контроллер турникета выдает импульсные сигналы при совершении прохода в том либо другом направлении. Данные импульсные сигналы подключаются к входам SENS1 для прохода в направлении А и SENS2 для прохода в направлении В.

Например, для работы с турникетами PERCo в контроллере должен быть установлен импульсный режим управления. Для этого время срабатывания сигналов L1 OUT и L2 OUT должно быть установлено в пределах от 0,2 до 1 секунды.

Подключение турникета PERCoПодключение турникета PERCo

Как описано в самом начале статьи, по нашему техническому заданию, на терминале должна была быть организована фотофиксация, поэтому решили выбрать камеру от Raspberry, которая в терминалах имеет 2 исполнения:

  1. RPi D - 72.4 градуса обзор, 5 mpx, размер камеры 25x24 мм (старое исполнение).

  2. RPi G - 160 градусов обзор, 5 mpx, размер камеры 25x24 мм (теперь используем только этот вариант).

Схема организации интерфейсов DSI и CSIСхема организации интерфейсов DSI и CSI

Выбирая дисплей, выбор снова пал на знакомый бренд - 7-ми дюймовый touch-screen от Raspberry с разрешением 800x480 и DSI интерфейсом.

Исходя из размеров дисплея, считывателя и общей компоновки плат, были определены габариты корпуса для терминала - 210 x 173 x 44. Корпус решено было сделать цельнометаллическим алюминиевыми с гальваническим покрытием, что обеспечивало хотя бы минимальную вандалоустойчивость. Дисплей, конечно же, так не защищен.

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

Собрав все воедино мы получили терминал данного вида.

Знакомьтесь, терминал D1!Знакомьтесь, терминал D1!

Немного отклоняясь от темы, можно сказать, что мы были обмануты Raspberry, когда они в 4-ом поколении Compute Module поменяли форм-фактор и мы уже не смогли его просто заменить в нашей текущей плате и были вынуждены переходить на новое поколение путем разработки новой платы, но об этом в следующих статьях.

На данный момент с 2019 года нашей компаний было продано более 500 терминалов данной модели, а это показывает, что решение оказалось весьма успешным и надежным. В данной статье я коснулся лишь одной части - железа, однако большая работа была проделана и над прошивкой терминала. В следующей статье я расскажу, как реализована программная часть терминала. В случае возникновения вопросов или критических замечаний, прошу последовать в комментарии для бурного обсуждения!

Подробнее..

Синхронный АМ приёмник Полякова

01.06.2021 12:20:22 | Автор: admin

Владимир Тимофеевич Поляков (RA3AAE) широко известен в нашей стране как разработчик любительской радиоэлектроники. Его конструкции всегда отличались простотой и хорошей повторяемостью. Ещё в них всегда присутствовала какая-то сумасшедшинка.

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

Речь идёт о синхронном АМ приёмнике, схема которого была опубликована в журнале Радио 8 за 1984 год.

Ничего не понимаю



При взгляде на схему приёмника в глаза сразу бросались три КМОП микросхемы: К176ТМ2, К176ЛЕ5 и К176КТ1. Причём, К176КТ1 была включена между усилителем радиочастоты (УРЧ) и усилителем звуковой частоты (УЗЧ). Т.е. эта микросхема (цифровая) в этой схеме играла роль детектора в аналоговом тракте.

Описание работы схемы ясности не добавляло: четвертинки К176КТ1 там именовались ключами балансного смесителя. Два нижних ключа образовывали фазовый детектор, выходы двух верхних ключей назывались выходом синхронного детектора.

С двумя другими цифровыми микросхемами было понятней: К176ТМ2 делила частоту гетеродина на четыре, а К176ЛЕ5 формировала сигналы со скважностью 4. Это был счётчик с дешифратором.

Дешифратор управлял ключами. С выхода нижней по схеме половинки микросхемы операционного усилителя (ОУ) К157УД2 на гетеродин подавалось напряжение подстройки. Это было понятно, но зачем нужно поддерживать фазовый сдвиг 90 между входным сигналом и сигналом гетеродина, в голове старшеклассника не укладывалось.

Конструкция была отложена, но не забыта.

и вот опять


Первый раз к конструкции синхронного АМ приёмника я вернулся при изучении материалов Радиоежегодника за 1988 год, где В.Т. Поляков опубликовал статью Гетеродинный приём.

Часть статьи касалась синхронного приёма АМ сигналов. В частности, давалась структурная схема синхронного приёмника и описание его работы:


Синхронный прием АМ сигналов возможен при установке второго смесителя и ВЧ фазовращателя. Гетеродинные напряжения на оба смесителя U1 и U2 подаются со сдвигом фазы 90 градусов. Квадратурные сигналы ЗЧ фильтруются ФНЧ Z2 и Z3, усиливаются (А1, А2), один из сигналов служит выходным, а другой используется в системе ФАПЧ с элементами Z4 и V1. Усилитель А2 здесь должен быть УПТ. С его выхода можно снять и переменное демодулированное напряжение при ФМ входного сигнала.


Начало же статьи изменило раз и навсегда моё представление о работе детекторов и смесителей на диодах. Дословно:
Увлечение сверхдлинными волнами [...] породило не только мощные электромашинные РЧ генераторы, но и гетеродинные приемники с синхронным механическим выпрямителем колесом Гольдшмидта. В них детектор [...] заменен механическими контактами, замыкаемыми при вращении колеса с частотой, близкой к частоте сигнала. При этом, если моменты замыкания контактов попадают на положительные полуволны сигнала, на выходе приемника выделяется положительная постоянная составляющая напряжения, если же на отрицательные то соответственно отрицательная.

Так происходит синхронное детектирование. Но строго синхронизировать частоты вращения вала генератора и колеса Гольдшмидта трудно, чаще всего они отличались, тогда в телефонах прослушивался тон биений, равный разности частот сигнала и коммутации контактов. Механический коммутатор был идеальным смесителем гетеродинного приемника, поскольку он вообще не детектировал сигнал, а лишь преобразовывал его по частоте.

Суть озарения: механические ключи-прерыватели в детекторах гетеродинных приёмников были в своё время заменены диодами. Диоды в современных схемах детекторов гетеродинных приёмников могут быть заменены электронными ключами, коммутируемыми с частотой принимаемого сигнала.

Таким образом и было узаконено в моих глазах применение микросхемы К176КТ1 в качестве синхронного детектора.

Как это работает


Сигнал гетеродина на транзисторе VT3 делится на четыре счётчиком Джонсона на двух D-триггерах из состава микросхемы DD1. На выходах дешифратора DD2 формируются сигналы с частотой приёма, коммутирующие ключи из состава микросхемы DD3.

Сигналы на выходе дешифратора имеют скважность 4 и сдвиг по фазе 0, 90, 180 и 270. Коммутируемые этими сигналами ключи с подключенными к их выходам конденсаторами C18, C22, C17 и C21 соответственно, образуют схему выборки-хранения, где каждый конденсатор сохраняет значение напряжения на входе синхронного детектора в момент размыкания своего ключа.


Пусть гетеродин при подаче половины напряжения питания на варикапы настроен точно на частоту, превышающую в четыре раза частоту несущей принимаемого сигнала. Сопротивление открытых ключей К176КТ1 равно нулю. Сопротивление закрытых ключей К176КТ1 равно бесконечности. Входное сопротивление ОУ равно бесконечности.

На диаграмме слева делённая на четыре частота гетеродина отстаёт по фазе от сигнала несущей на 90. На входах верхней по схеме половинки ОУ (синхронного детектора) присутствует примерно одинаковое напряжение. На входах нижней по схеме половинки ОУ (фазового детектора) присутствует разность напряжений (U90 U270), примерно равная размаху принимаемого сигнала.

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

Режим синхронной работы приёмника показан на правой диаграмме. На входах синхронного детектора присутствует разность напряжений (U0 U180), примерно равная размаху принимаемого сигнала. На входах фазового детектора присутствует примерно одинаковое напряжение.

В реальных условиях между частотами гетеродина и несущей частотой АМ сигнала постоянно будут возникать биения, обусловленные нестабильностью гетеродина и замираниями сигнала станции. При этом петля ФАПЧ будет постоянно подстраивать фазу гетеродина под фазу несущей, если частота биения этих частот не превышает полосу пропускания фильтра на элементах R10, C16, R11, C27.

На практике это чем-то напоминает переход регенеративного приёмника в режим автодина: при настройке на станцию возникает свист, тон которого тем ниже, чем ближе частота настройки к частоте несущей; при захвате сигнала станции свист пропадает.

Я где-то это уже видел


Второй раз к конструкции синхронного АМ приёмника я вернулся при погружении в тему SDR. В классических SDR-приёмниках часто применяется решение квадратурного детектора (QSD) по схеме Tayloe. Поиск по сочетанию Tayloe Detector приводит к патенту US6230000.

Патент US6230000 был получен 08.05.2001 года сотрудником Motorola Inc. Daniel Richard Tayloe по заявке, поданной 15.10.1998 года. Патент защищает аппаратное решение, принцип действия которого раскрывается иллюстрацией ниже:


Устройство служит для приёма однополосных сигналов с подавленной несущей (SSB). Математика работы этого решения описана в главе 3 Фазовый принцип формирования и приёма SSB сигналов книги В.Т. Полякова Трансиверы прямого преобразования, выпущенной в 1984 году.

Из иллюстрации видно, что Tayloe делает акцент на ключевом детекторе, который управляется сигналом задающего генератора с частотой, в четыре раза превышающей частоту принимаемого сигнала. Сигналы на выходе ключевого детектора имеют сдвиг по фазе 0, 90, 180 и 270. К выходам ключевого детектора подключены конденсаторы.

Подобное решение присутствует и в схеме балансного смесителя синхронного АМ приёмника Полякова. Разница в дальнейшей обработке сформированных сигналов.

В схеме Полякова квадратурный сигнал (Q, Baseband Quadrature) включен в цепь ФАПЧ, а из прямого сигнала (I, Baseband Inphase) сумматором на DA1.1 формируется демодулированный АМ сигнал. В схеме Tayloe сигналы I и Q поступают на фазовращатель (58) для формирования на выходе сумматора (60) демодулированного сигнала с верхней боковой полосой (ВБП, USB).

Нужно сделать дополнение, что в классических SDR-приёмниках схема детектора Tayloe заканчивается цепями I и Q, и дальнейшая обработка сигнала производится какими-либо внешними программными средствами.

Возвращаясь к схеме синхронного АМ приёмника Полякова необходимо отметить, что Владимиру Тимофеевичу удалось сделать на очень несовершенной элементной базе элегантное аппаратное решение не менее элегантной математической модели. Подобные решения на более совершенных компонентах применяются во всём мире по сей день.



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

SDR приёмник SoftRock Ensemble RX II

10.06.2021 16:07:13 | Автор: admin


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

В этой публикации я хочу рассказать об удивительной конструкции, которая изменила моё представление об аппаратуре для любительской радиосвязи и положила начало моему увлечению SDR (Software Defined Radio).

Речь идёт о SoftRock Ensemble RX II, который я использую в качестве контрольного радиоприёмника уже седьмой год.

На официальном сайте SoftRock Ensemble RX II продаётся или за $65 в виде набора, или за $85 собранным. При такой цене больше хочется говорить о достоинствах, чем о недостатках.

Особенностью приёмника является то, что он не работает автономно. Выход приёмника подключается к линейному входу звуковой карты компьютера. Синтезатор частоты приёмника управляется через USB.

Мной используется HF-версия SoftRock Ensemble RX II, которая работает в диапазоне частот 1,830 МГц. Этот диапазон разбит полосовыми фильтрами на четыре поддиапазона: 1,84 МГц; 48 МГц; 816 МГц и 1630 МГц.

Приёмник покупал набором. Впервые в жизни мотал катушки для диапазонных полосовых фильтров (ДПФ) на кольцевых сердечниках. Важным моментом было наличие сайта с подробной инструкцией по монтажу и наладке.

После правильной сборки конструкция заработала сразу. Когда же я увидел эфир на панорамном индикаторе, я понял, это любовь навеки!

Аппаратная часть


Как понятно из названия, SoftRock Ensemble RX II был не первым в линейке. Видимая простота схемотехнического решения приёмника отрабатывалась американским радиолюбителем Tony Parks (KB9YIG) годами.

Принцип действия малосигнального тракта проще объяснить на схеме радиоприёмника SoftRock Lite II младшего брата SoftRock Ensemble RX II. Схема взята из инструкции по монтажу и наладке:


Из схемы видно, что это гетеродинный приёмник с квадратурным детектором (QSD).

Схема источника питания (1 Power Supply) стандартная схема включения микросхемы линейного стабилизатора 78L05.

Принимаемый сигнал радиочастоты (РЧ) через диапазонный полосовой фильтр (ДПФ) C3, L1, C4 подаётся на первичную обмотку трансформатора T1. На выводе 2 трансформатора присутствует сигнал РЧ, синфазный принимаемому, а на выводе 4 противофазный. На среднюю точку вторичной обмотки T1 (выводы 3, 5) подаётся напряжение смещения, равное половине напряжения питания. Напряжение формируется делителем на резисторах R3, R4 и фильтруется конденсаторами C7, C14, C16. Смещение нужно для правильной работы ключей и операционных усилителей (ОУ).

Ключи из состава мультиплексора-демультиплексора U3 переключаются сигналами со счётчика Джонсона, собранного на U2. В любой момент времени открыт только один ключ.

Сигнал I (Inphase) формируется на конденсаторе C5 подачей на него через R1 напряжения с вывода 2 трансформатора T1 через открытый ключ 1B4 (фаза сигнала гетеродина 0), а также подачей через резистор R2 и открытый ключ 1B1 напряжения с вывода 4 трансформатора T1 (фаза 180).

Сигнал Q (Quadrature) формируется на конденсаторе C6 подачей на него через R1 напряжения с вывода 2 трансформатора T1 через открытый ключ 2B3 (фаза сигнала гетеродина 90), а также подачей через резистор R2 и открытый ключ 2B2 напряжения с вывода 4 трансформатора T1 (фаза 270).

Резисторы R1 и R2 нужны для выравнивания разницы сопротивления открытых ключей мультиплексора-демультиплексора FST3253.

Сигналы I, Q усиливаются инвертирующими усилителями на двух половинках U4 и подаются на линейный вход звуковой карты компьютера, где и производится дальнейшая обработка квадратурного сигнала.

От простого к сложному


SoftRock Lite II предназначен для приёма сигналов на участке какого-либо одного радиолюбительского диапазона. Параметры участка определяются частотой кварцевого резонатора X1 (см. 2 Local Oscillator) и частотой дискретизации звуковой карты.

При резонансной частоте кварца 28224 кГц и частоте дискретизации 96 кГц SoftRock Lite II будет принимать сигналы в диапазоне от 7008 до 7104 кГц. Диапазонный полосовой фильтр (C3, L1, C4), соответственно, должен иметь точно такую же полосу пропускания.

На рисунке ниже показан экран программы HDSDR. Выход приёмника подключен к линейному входу звуковой карты компьютера. Частота дискретизации звуковой карты 96 кГц. Центральная частота приёма 7056 кГц. На панорамном индикаторе безмятежное спокойствие, царящее на любительском диапазоне 40 м воскресным утром 6 июня 2021 года:


В отличие от SoftRock Lite II приёмник SoftRock Ensemble RX II имеет плавную настройку в диапазоне частот от 1800 кГц до 30 МГц, поэтому схема устройства дополнена синтезатором частоты Si570, управляемым через USB контроллером ATTiny85, и переключаемым четырёхдиапазонным ДПФ.

Схема ДПФ приёмника SoftRock Ensemble RX II взята из инструкции по монтажу и наладке:


ДПФ состоит из четырёх фильтров с полосой пропускания: 1,84 МГц; 48 МГц; 816 МГц и 1630 МГц. Фильтры переключаются сигналами SEL 0 и SEL 1 силами двух мультиплексоров-демультиплексоров FST3253 U8 и U9. Аттенюаторы R17, R18, R19 и R20, R21, R22 в цепях ДПФ Band 0 и Band 1 ослабляют на 14 dB входной сигнал на низкочастотных КВ-диапазонах, которые традиционно отличаются высоким уровнем помех.

Трансформатор T2 служит для гальванической развязки ДПФ и антенны. Первичная обмотка трансформатора T3 является входом QSD.

Схема управления и синтезатора частоты показана ниже:


Схема питается от разъема USB. Подключенный к шине USB микроконтроллер U1 управляет синтезатором частоты U3 по интерфейсу I2C. Выходной сигнал синтезатора через трансформатор T1 подаётся на вход счётчика Джонсона. В зависимости от частоты приёма микроконтроллер через оптроны U4 и U5 формирует сигналы SEL 0 и SEL 1 для переключения полосовых фильтров в ДПФ.

Особенностью схемы является то, что она гальванически развязана с малосигнальным трактом приёмника. Полигоны земель изолированы друг от друга, сигналы передаются через оптроны и трансформатор:


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

Программная часть


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

Для управления приёмником и его конфигурирования применяется программа CFGSR, созданная радиолюбителем из Нидерландов F.W. Krom (PE0FKO):


Порядок установки программы управления и нужных для её работы драйверов подробно описан в инструкции по монтажу и наладке.

Для правильной работы схемы управления нужно выбрать тип устройства. В нашем случае это SoftRock Ensemble RX II LF/HF(HF):


Для работы с SoftRock Ensemble RX II обычно используется программа HDSDR. Для связи HDSDR с CFGSR служит библиотека ExtIO_Si570.dll, которую после установки конфигуратора надо скопировать из папки, куда установлен конфигуратор, в папку, куда установлена HDSDR.

Выход приёмника подключен к линейному входу звуковой карты компьютера. Запускаем HDSDR. Выбираем источник сигнала SoftRock Si570. Устанавливаем рабочую частоту дискретизации звуковой карты. Пытаемся принять сигналы точного времени, которые передаются на частоте 9996 кГц:


Как видно по панорамному индикатору, сигналы точного времени мы принимаем на частоте 9994,18 кГц. Это нужно исправить!

Калибровка частоты


Опорный кварцевый генератор находится внутри корпуса синтезатора Si570. Калибровка опорной частоты производится прямо из конфигуратора вводом частоты настройки на радиостанцию и её фактической частоты вещания:


После проведения процедуры калибровки мы начинаем принимать сигналы точного времени, как и положено, на частоте 9996 кГц:


Теперь наш маленький аппаратно-программный комплекс можно смело использовать в качестве контрольного радиоприёмника с калиброванной шкалой.

Unfinished Sympathy


До знакомства с SoftRock Ensemble RX II такие вещи как синтезатор частоты, панорамный индикатор и управление радиостанцией с помощью компьютера были для меня атрибутами профессиональной связной техники, которая стоит отнюдь не $85.

Сборка приёмника оказалась простой и приятной. Инструкции по монтажу и наладке написаны простым и понятным техническим английским языком.

Использование панорамного индикатора позволяет не только слышать, но и видеть, что происходит в эфире.

Мне очень нравится SDR. Надеюсь, и вам тоже.



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Радары диапазонов 77 и 24 ГГц для автотранспорта и дорожной инфраструктуры (часть 1)

13.04.2021 10:07:06 | Автор: admin

Почему именно радары?

Компания АО ПКК Миландр знакома хабровчанам в сфере разработки интегральных микросхем. Сейчас номенклатурный ряд микросхем достаточно широкий, но в данном контексте нам интересны именно DSP (ЦОС) процессоры 1967ВН028 и 1967ВН044, которые имеют систему команд совместимую с процессором ADSP TS201. Принципиальное различие процессоров заключается в том, что 1967ВН028 нацелен на работу в составе многопроцессорного вычислительного кластера, а 1967ВН044 больше подходит на роль микроконтроллера с мощным вычислительным ядром и богатым набором периферии.

Именно процессоры 1967ВН028 стали востребованы в радарной тематике, правда речь идет о радарах специального назначения. В качестве примера могу привести блок обработки радиолокационных данных - ВНБО, рисунок 1).

Рисунок 1. Внешний вид ВНБО.Рисунок 1. Внешний вид ВНБО.

ВНБО предназначен для цифровой обработки радиолокационных сигналов, поступающих от блока приёмопередающих модулей, и передачи результатов на рабочую станцию оператора:

  • Тип вычислительного ядра - микросборка МВМ-03 (41967ВН028 + ПЗУ);

  • Количество - 52 микросборки МВМ-03;

  • Вычислительная производительность ~1100 Гфлопс.

Соглашусь, что 1100 Гфлопс сегодня не выглядит как выдающийся результат, но стоит отметить, что речь о специальном назначении (со всеми вытекающими особенностями: работа при температуре в -60, рядом с источником электромагнитных "помех" в 100 кВт) и о том, что ближайший отечественный аналог, разработанный не так давно на других процессорах, имеет вычислительные возможности почти в три раза ниже.

Как это связано с темой статьи?

Как оказалось, напрямую... В 2018 году ФГУП НАМИ пригласило представителей нашей компании для участия в рабочей группе на тему Компоненты отечественной системы ADAS (Advanced driver-assistance systems). Основными участниками этой встречи были ФГУП НАМИ, ПАО КАМАЗ, Группа ГАЗ, УАЗ. Обсуждались такие вопросы, как Разработка отечественных автокомпонентов, предназначенных для решения задачи ADAS (камеры, блоки управления, радары), Подготовка необходимой нормативной базы, Наиболее востребованные функции ADAS по мнению отечественных атомобилепроизводителей, Планы и предварительные сроки введения соответствующих уточнений в новый технологический регламент и многие другие, в общем, серьёзные вопросы, которые могут повлиять на нашу повседневную жизнь. Больше всего это было похоже на начало нового масштабного проекта, каким ранее был ЭРА-ГЛОНАСС (если вспомнить, то в Эру тоже многие не верили и сроки регулярно отодвигались, но сегодня мы все видим насколько она была неотвратима). После этого было много чисто технических рабочих групп на территории ФГУП НАМИ и участие в группах по регулированию нормативной базы в составе Национальной технологической инициативы Автонет. Были споры, дебаты, - острая, но интересная конкурентная борьба заинтересованных лиц.

Результатом функционирования рабочих групп стала разработка целой серии новых стандартов (в плане разработки числились более 180 проектов), регламентирующих различные сферы автомобильной отрасли: от электрифицированного (например, элементы инфраструктуры: зарядные станции, методы подключения, протоколы взаимодействия и т.д.) до автономного транспорта (см. далее). Для примера приведу несколько свежих стандартов по теме ADAS:

  • ГОСТ Р 58835-2020 Автомобильные транспортные средства. Бортовые системы помощи водителю. Радарные подсистемы. Общие технические требования и методы испытаний. (Дата введения 2021-04-30)

  • ГОСТ Р 58834-2020 Автомобильные транспортные средства. Бортовые системы помощи водителю. Общие технические требования к компонентам и методы испытаний. (Дата введения 2021-04-30)

  • ГОСТ Р 58838-2020. Автомобильные транспортные средства. Бортовые системы помощи водителю. Системы непрямого обзора. Общие технические требования и методы испытаний (Дата введения 2021-04-30)

Таким образом, Миландр, с одной стороны, имел опыт разработки военных локаторов вычислительной техники для обработки радиолокационных данных, с другой опыт разработки отечественных DSP процессоров, а также давно сотрудничал с кафедрой Информационных радиосистем Нижегородского Государственного Технического Университета им. Р.Е. Алексеева (одного из основных профильных ВУЗов по радиолокации). Другими словами, многое сложилось удачно. А ещё мне как инженеру кажется важным, что к началу такого сложного проекта в лабораториях Миландра имелось всё необходимое безумно дорогое измерительное оборудование.

Ближе к теме!

Рассмотрим принцип работы FMCW (Frequency Modulated Continuous Wave) радара, обобщенная структура которого показана на рисунке 2. Передатчик радара излучает непрерывный ВЧ сигнал через топологически сфазированную антенную решетку (ФАР), частота которого изменяется в заданном диапазоне по заранее определенному линейному закону, при этом амплитуда частотно-модулированного сигнала остается практически неизменной. Излучаемые радаром электромагнитные сигналы, отражаясь от объектов, находящихся в зоне обнаружения, поступают через приёмную ФАР на модуль приемо-передатчиков, где, смешиваясь с передаваемым сигналом, образуют разностный сигнал на промежуточной частоте. Частота промежуточного сигнала fif зависит от расстояния fR и относительной скорости fD обнаруженного объекта.

Рисунок 2. Обобщенная структурная схема.Рисунок 2. Обобщенная структурная схема.

Рассмотрим идеальный случай, когда цель одна, и движется медленно (рисунок 3). Графики показывают характер изменения частоты передаваемого (красный) и принимаемого (зеленый) СВЧ сигналов во времени и причину формирования промежуточной частоты fif (T период зондирования, разностная частота показана без знака).

Рисунок 3. Принцип работы FMCW радара при частотно-модулированном излучаемом сигнале.Рисунок 3. Принцип работы FMCW радара при частотно-модулированном излучаемом сигнале.

Промежуточная частота fif складывается из двух компонент: доплеровского сдвига частоты, зависящего от скорости объекта

f_{D} = \frac{2V}{\lambda}

и разностной частоты, вызванной временной задержкой на распространение зондирующего сигнала "туда" и "обратно"

f_{R} = \frac{2R}{c} *\frac{f_{\text{BW}}}{T/2}

Промежуточная частота fif , формируется согласно уравнению

f_{\text{if}} = \pm \frac{2V}{\lambda} + \frac{2R}{c} * \frac{f_{\text{BW}}}{T/2}

При использовании нашего модуля приемопередатчика M-LC6 (описание есть на сайте) в условиях безэховой камеры и не быстрого (500 Гц) модулирующего пилообразного сигнала отражение от уголкового отражателя выглядит следующим образом (рисунки 4 и 5):

Рисунок 4. Фотография условий эксперимента.Рисунок 4. Фотография условий эксперимента.Рисунок 5. Модулирующий сигнал (синий), квадратурный (желтый) и синфазный (зеленый) сигналы ПЧ.Рисунок 5. Модулирующий сигнал (синий), квадратурный (желтый) и синфазный (зеленый) сигналы ПЧ.

Результат расчета FFT по квадратурной компоненте после цифрового фильтра верхних частот и удаления паразитной модуляции (вызванной проникновением сигнала передатчика в приемник внутри СВЧ микросхемы) даёт спектр, показанный на рисунке 6.

Рисунок 6. Результат расчета FFT.Рисунок 6. Результат расчета FFT.

Рассчитаем разностную частоту для данного случая (понимая, что fD = 0):

f_{\text{if}} = \frac{f_{\text{BW}}}{T}*\left( \frac{2*R}{c} \right) = \frac{200\ MГц}{\left( \frac{1}{500\ Гц} \right)}*\left( \frac{2*5,4м}{300E6\frac{м}{с}} \right) = 3600\ Гц\ \

Matlab и осциллограф, совмещенный с генератором от Keysight, - это, конечно, хорошо и правильно, но в реальности для коммерческой компании это неинтересно. Необходимо, чтобы всё было в формате законченного изделия, имеющего реальное коммерческое применение.

Нет ничего проще.. часы ругани "мозговых штурмов", недели расчетов, месяцы испытаний и год работы - в трех рисунках 7, 8, 9.

Рисунок 7. Фотография прототипа.Рисунок 7. Фотография прототипа.Рисунок 8. Фотография макета.Рисунок 8. Фотография макета.Рисунок 9. Фотография опытного образца однолучевого радара.Рисунок 9. Фотография опытного образца однолучевого радара.

Однолучевой радар состоит из модулей приемопередатчика и вычислителя с сигнальным процессором. Приёмопередатчик представляет собой компактный модуль, включающий ФАР, реализованную в виде отдельных передающей и приемной частей, выполненных симметрично. Каждая часть состоит из отдельных патч-антенн, сориентированных между собой таким образом, чтобы была сформирована желаемая диаграмма направленности (ДН), и минимизировано взаимное влияние приёмника и передатчика. Модуль цифрового вычислителя разработан на основе 32-разрядного высокопроизводительного процессора цифровой обработки сигналов1967ВН044 (тактовая частота до 230 МГц). Рассмотрим подробнее структурную схему радара (рисунок 10).

Рисунок 10. Структурная схема опытного образца однолучевого радараРисунок 10. Структурная схема опытного образца однолучевого радара

Всё просто, а в гражданских изделиях иначе и нельзя - должно быть дешево и надежно. Центром радара является 1967ВН044 немного переделанный под данную задачу... Загружать ПО процессор умеет по SPI, соответственно, в качестве ПЗУ подходит почти любая флэшка.

ЦАП и АЦП выбираются по частоте, цене и возможности когерентного захвата данных. Сейчас реализована простая схема, почти не загружающая процессорное время, в ОЗУ лежит заранее сформированный фрагмент пилы; цепочка DMA выдвигает данные в SPI0 и в нужный момент перезапускает фрагмент этой пилы, запуская таймер TMR0. TMR0 запускает другую цепочку DMA, которая собирает данные с SPI1, выводы nCS двух АЦП объединены, выводы SDO, CLK заведены на простенький буфер, TMR0 также управляет стробами nOE буфера, а DMA собирает данные последовательно сначала с одного АЦП, а затем с другого, даже не подозревая, что это не один АЦП. Процессор загружается разного рода фильтрацией и расчетом FFT. Физический уровень CAN обеспечивает микросхема 5559ИН14, а логический SPI CAN-контроллер. Ethernet также выполнен на Ethernet-контроллере. Решение по CAN и Ethernet сейчас переносится на наш 1986ВЕ1QI, там уже есть CAN и Ethernet. Микросхема ГЛОНАСС используется не обычная, а Навигационный приемник ГЛОНАСС/GPS/SBAS/GALILEO ПРО-04, ИЛТА.464346.001 НИИ МА ПРОГРЕСС. Работает нормально, подключается по UART, свои задачи явно выполняет. Физический уровень RS-485 обеспечивает микросхема 5559ИН10. Таким образом видно, что сегодня вполне реально создать коммерческий продукт с очень высокой степенью отечественности локализации по ЭКБ.

Удобство такой модульной платформы очевидно. Меняем СВЧ приёмопередатчик (рисунок 11) получаем другое изделие, а FFT крутится на процессоре.

Рисунок 11. Пример характеристик двух СВЧ модулей в одном габарите.Рисунок 11. Пример характеристик двух СВЧ модулей в одном габарите.

Разработкой СВЧ мы тоже занимаемся сами, но тут стоит отметить, что разработка - это не просто расчет ФАР нужной формы. Это долгий процесс от идеи и до серийной сборки, расхлебывая решая все проблемы на своём пути. Например, есть нормы ГКРЧ (РЕШЕНИЕ от 7 мая 2007 года N 07-20-03-001 О выделении полос радиочастот устройствам малого радиуса действия), по которым разрешённым диапазоном в России считается 24,05 24,25 ГГц. Это значит, что использовать мы можем ЛЧМ максимум 200 МГц (а аппаратно можем - до 1500 МГц... Жаль...), и, применяя в качестве основного математического аппарата FFT, у нас будет следующее ограничение:

\frac{1}{T} = \frac{f_{\text{BW}}}{T}*\left( \frac{2*\Delta d}{c} \right)\Delta d = \frac{c}{{2*f}_{\text{BW}}} = \frac{300E6}{2*200E6} = 0.75\ м\ \

Другими словами, если забыть про всё, что реально расширяет нам каждый бин FFT (например, наложение оконной функции), ЛЧМ в 200 МГц обеспечивает нам разрешающую способность по дальности в 75 см. Но 200 МГц должны быть стабильными, иначе будет нарушение ГКРЧ. А так как мы должны использовать максимально дешевые доступные СВЧ микросхемы, ожидаемо, что с термостабилизацией у них не очень. Можно и нужно вносить аналоговую термокомпенсацию (например вводя термисторы в схему управления ГУН). Таких СВЧ приёмопередатчиков мы собрали уже несколько тысяч и можем поделиться обобщенной статистикой (рисунок 12).

Рисунок 12. Пример характеристик частотно-температурных зависимостей (слева зависимость абсолютного значения частоты в МГц от температуры, справа - зависимость полосы ЛЧМ сигнала от температуры), при подаче модулирующего сигнала лабораторным генератором.Рисунок 12. Пример характеристик частотно-температурных зависимостей (слева зависимость абсолютного значения частоты в МГц от температуры, справа - зависимость полосы ЛЧМ сигнала от температуры), при подаче модулирующего сигнала лабораторным генератором.

Видно, что термокомпенсация получилась неплохой, максимальный разброс 15 МГц и в крайних значениях температуры (минус 40 плюс 85 градусов). Если считать грубо, то это 30 МГц на 125 градусов или 0,24 МГц на градус (основные импортные аналоги обеспечивают 1 МГц на градус). Но ГКРЧ нарушается, значит, нужна дополнительная стабилизация. На модуле СВЧ для этой цели предусмотрен сигнал делителя частоты (рисунок 10); сигнал делителя - низкочастотный, порядка 24 кГц заводится на вход таймера TMR1. TMR1 записывает в память текущее значение счетчика тиков процессора, затем TMR1 отсчитывает до 1000 и снова записывает значение счетчика тиков процессора. Сравнивая эти значения, можно достаточно точно получить значение делителя частоты.

Хорошо, частоту СВЧ сигнала мы теперь знаем, нужно её скорректировать с помощью ЦАП, соответственно, точность подстройки частоты зависит от разрядности и качества ЦАП. Мы получили точность подстройки частоты СВЧ сигнала не хуже 240 кГц, что соответствует 110-3% от частоты 24,15 ГГц. Процесс подстройки представлен на рисунке 13.

Рисунок 13. Пример частотно-временной зависимости при включении радара.Рисунок 13. Пример частотно-временной зависимости при включении радара.

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

Приведу пример измерений для немного другого радара с использованием следующих крышек: напечатанной на 3D принтере со 100% заполнением (красный), такой же, но отлитой из "типового" обычного пластика Vg280 (голубой), отлитой из "типового" пластика, но на скорректированном расстоянии от ФАР (зеленый) (рисунок 14).

Рисунок 14. Измерение диаграммы направленности.Рисунок 14. Измерение диаграммы направленности.

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

Радар Поток-1, ТСКЯ.466369.007, является радиолокационным детектором транспортных средств (ТС) и предназначен для автоматизированного учета интенсивности дорожного движения. Детектор определяет следующие основные параметры: количество обнаруженных ТС, средняя скорость, загруженность, количество полос, классификация обнаруженных ТС; а для каждого из обнаруженных ТС скорость, длину, класс, номер полосы движения.

Наименование параметра, единица величины

Значение

Диапазон напряжений питания постоянного тока, В

От 9 до 32

Потребляемая мощность изделия по цепям питания при напряжении питания 12 В, Вт, не более

3

Диапазон изменения рабочей частоты, ГГц

От 24,05 до 24,25

Максимальная мощность излучаемого сигнала, мВт, не более

100

Угол обзора изделия по горизонтали, не более

16

Угол обзора изделия по вертикали, не менее

60

Диапазон измеряемых скоростей, км/ч

От 5 до 160

Число одновременно анализируемых полос, не более

12

Анализируемая дальность, м

От 2 до 60

Рабочая температура среды, С

От 40 до +75

Габаритные размеры, мм, не более

14012035

Масса, кг, не более

0,3

Возможность оснащения модулем отечественного ГЛОНАСС/GPS приемника

Опционально

Возможность оснащения интерфейсами Ethernet, CAN, RS-485, RS-232

Опционально

Детектор располагается возле контролируемого участка дорожного полотна на высоте 4-6 метров в зависимости от числа полос и необходимой максимальной дальности детектирования. В азимутальной (горизонтальной) плоскости детектор направляется ортогонально дороге, в угломестной плоскости, со смещением в 15-35 градусов (с наклоном в сторону дорожного полотна, рисунок 15).

Рисунок 15. Фотография установки радара Поток-1 на объекте эксплуатации.Рисунок 15. Фотография установки радара Поток-1 на объекте эксплуатации.

Радар Скорость-1, ТСКЯ.466369.006, является радиолокационным измерителем скорости движения и предназначен для обнаружения движущихся ТС, детектирования их скорости и направления движения. Измеритель может определять скорость целей с учетом направления их движения (только встречные, только попутные, оба направления), выделять скорости самой быстрой цели из группы и цели с наибольшей амплитудой принятого сигнала.

Наименование параметра, единица величины

Значение

Диапазон напряжений питания постоянного тока, В

От 9 до 32

Потребляемая мощность изделия по цепям питания при напряжении питания 12 В, Вт, не более

3

Диапазон рабочей частоты, ГГц

От 24,05 до 24,25

Максимальная мощность передающего устройства, мВт, не более

100

Угол обзора изделия по горизонтали, не более

16

Угол обзора изделия по вертикали, не более

26

Диапазон измеряемых скоростей, км/ч

От 10 до 320

Допускаемый предел среднеквадратичной ошибки измерения скорости, км/ч, не более

1

Дискретность выдаваемой измерителем информации, км/ч, не более

0,5

Дальность измерения скорости транспортного средства, м

От 10 до 180

Рабочая температура среды, С

От - 40 до +75

Габаритные размеры, мм, не более

14012035

Масса, кг, не более

0,3

Возможность оснащения модулем отечественного ГЛОНАСС/GPS приемника

Опционально

Возможность оснащения интерфейсами Ethernet, CAN, RS-485, RS-232

Опционально

Измеритель (рисунок 16) может быть использован как самостоятельный прибор, так и встраиваться в готовые решения заказчика. В настоящее время востребованы следующие применения: табло информирования о превышении скорости на опасном участке дороги, системы контроля скорости движения в складских помещениях и частных территориях.

Рисунок 16. Применение радара скорость для информирования о опасном участке дороги.Рисунок 16. Применение радара скорость для информирования о опасном участке дороги.

Радары Поток-1 и Скорость-1 соответствуют требованиям ГОСТ Р 50856-96, ГОСТ 33991 2016, ГОСТ Р 50607-2012 с уточнениями, изложенными в технических условиях, являются конструктивно законченными, самостоятельными, изделиями и имеют класс защиты IP67 по ГОСТ 14254-2015.

Заключение.

Работа над радарами не останавливается думаю в следующей части статьи можно подробнее рассказать про именно автомобильные радары на 24 ГГц и 77 ГГц, сейчас просто покажу их внешний вид, рисунок 17.

Рисунок 17. Внешний вид автомобильных радаров МАРС2А1 (правее, ниже)и Обзор-77-2 (левее, выше).Рисунок 17. Внешний вид автомобильных радаров МАРС2А1 (правее, ниже)и Обзор-77-2 (левее, выше).

Спасибо, что дочитали..

Подробнее..

Google бесплатно изготовит чип на техпроцессе 130нм Skywater Апрель-Июнь 2021

23.04.2021 20:10:29 | Автор: admin

Если вы прочитали мою статью, то вы слышали про технологию Skywater 130nm. Google сделала анонс второй программы Multi-project-wafer, и вы можете произвести свою микросхему за бесплатно. С несколькими оговорками

  • Проект должен быть по технологии 130нм Skywater

  • Проект должен быть доступен всем

  • Проект должен находиться под лицензией из списка одобренных

  • Проект должен быть готов к июню 18 числа 2021-го года.

Несмотря на то, что 130нм очень древняя технология почти 20 летней давности, тем не менее с ней можно разработать самые разнообразные и интересные проекты.

Меня поправили в коментариях

130 нм мэйнстрим в части микроконтроллеров, многих видов автомобильных и высоковольтных силовых микросхем, а вовсе не древняя технология. Не надо все мерить по процессорам для песональных компьютеров, современные 130 нм так же похожи на 130 нм из Pentium III, как Tesla 3 похожа на Ford T. И там, и там четыре колеса, на этом сходство заканчивается.

Для изготовления микросхем Google и её партнер efabless выбрали компанию Skywater Technology Foundry, ранее известную под названием Cypress Semiconductor. Производство первых микросхем будет окончено в декабре.

Ранее бывшую собственным производством Cypress и выделенную в независимую компанию. Сама Cypress продолжает существовать в fabless режиме.

Кхм, меня попровляют в личных сообщениях, спасибо @amartology.

Технология имеет слой для полупроводников и 5 металлических слоёв. Заказчики проектов получат 50 экземпляров в корпусе WCLSP 6x10.

Из проектов прошлого года мне понравился вот этот. Это проект передатчика-приёмника для любительских спутников AMSAT.

Для того чтобы вы смогли разработать свою микросхему гугл также выпустила Process Development Kit доступный по ссылке вот тут. Важно сказать, чтобы гугл вашу микросхему вообще одобрил она должна быть собранна по проекту Caravel user project.

Если у вас есть готовый проект написанный на Verilog, его можно собрать используя OpenLANE.

Подробнее..

USB на регистрах interrupt endpoint на примере HID

10.04.2021 12:12:31 | Автор: admin

Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: isochronous endpoint на примере Audio device

Продолжаем разбираться с USB на контроллерах STM32L151. Как и в предыдущей части, ничего платформо-зависимого здесь не будет, зато будет USB-зависимое. Если точнее, будем рассматривать третий тип конечной точки interrupt. И делать мы это будем на примере составного устройства клавиатура + планшет (ссылка на исходники).
На всякий случай предупреждаю: данная статья (как и все остальные) скорее конспект того, что я понял, разбираясь в этой теме. Многие вещи так и остались магией и я буду благодарен если найдется специалист, способный объяснить их.

Первым делом напомню, что протокол HID (Human Interface Device) не предназначен для обмена большими массивами данных. Весь обмен строится на двух понятиях: событие и состояние. Событие это разовая посылка, возникающая в ответ на внешнее или внутреннее воздействие. Например, пользователь кнопочку нажал или мышь передвинул. Или на одной клавиатуре отключил NumLock, после чего хост вынужден и второй послать соответствующую команду, чтобы она это исправила, также послав сигнал нажатия NumLock и включила его обратно отобразила это на индикаторе. Для оповещения о событиях и используются interrupt точки. Состояние же это какая-то характеристика, которая не меняется просто так. Ну, скажем, температура. Или настройка уровня громкости. То есть что-то, посредством чего хост управляет поведением устройства. Необходимость в этом возникает редко, поэтому и взаимодействие самое примитивное через ep0.

Таким образом назначение у interrupt точки такое же как у прерывания в контроллере быстро сообщить о редком событии. Вот только USB штука хост-центричная, так что устройство не имеет права начинать передачу самостоятельно. Чтобы это обойти, разработчики USB придумали костыль: хост периодически посылает запросы на чтение всех interrupt точек. Периодичность запроса настраивается последним параметром в EndpointDescriptor'е (это часть ConfigurationDescriptor'а). В прошлых частях мы уже видели там поле bInterval, но его значение игнорировалось. Теперь ему наконец-то нашлось применение. Значение имеет размер 1 байт и задается в миллисекундах, так что опрашивать нас будут с интервалом от 1 мс до 2,55 секунд. Для низкоскоростных устройств минимальный интервал составляет 10 мс. Наличие костыля с опросом interrupt точек для нас означает, что даже в отсутствие обмена они будут впустую тратить полосу пропускания шины.

Логичный вывод: interrupt точки предназначены только для IN транзакций. В частности, они используются для передачи событий от клавиатуры или мыши, для оповещения об изменении служебных линий COM-порта, для синхронизации аудиопотока и тому подобных вещей. Но для всего этого придется добавлять другие типы точек. Поэтому, чтобы не усложнять пример, ограничимся реализацией HID-устройства. Вообще-то, такое устройство мы уже делали в первой части, но там дополнительные точки не использовались вовсе, да и структура HID-протокола рассмотрена не была.

ConfigurationDescriptor


static const uint8_t USB_ConfigDescriptor[] = {  ARRLEN34(  ARRLEN1(    bLENGTH, // bLength: Configuration Descriptor size    USB_DESCR_CONFIG,    //bDescriptorType: Configuration    wTOTALLENGTH, //wTotalLength    1, // bNumInterfaces    1, // bConfigurationValue: Configuration value    0, // iConfiguration: Index of string descriptor describing the configuration    0x80, // bmAttributes: bus powered    0x32, // MaxPower 100 mA  )  ARRLEN1(    bLENGTH, //bLength    USB_DESCR_INTERFACE, //bDescriptorType    0, //bInterfaceNumber    0, // bAlternateSetting    2, // bNumEndpoints    HIDCLASS_HID, // bInterfaceClass:     HIDSUBCLASS_BOOT, // bInterfaceSubClass:     HIDPROTOCOL_KEYBOARD, // bInterfaceProtocol:     0x00, // iInterface  )  ARRLEN1(    bLENGTH, //bLength    USB_DESCR_HID, //bDescriptorType    USB_U16(0x0110), //bcdHID    0, //bCountryCode    1, //bNumDescriptors    USB_DESCR_HID_REPORT, //bDescriptorType    USB_U16( sizeof(USB_HIDDescriptor) ), //wDescriptorLength  )  ARRLEN1(    bLENGTH, //bLength    USB_DESCR_ENDPOINT, //bDescriptorType    INTR_NUM, //bEdnpointAddress    USB_ENDP_INTR, //bmAttributes    USB_U16( INTR_SIZE ), //MaxPacketSize    10, //bInterval  )  ARRLEN1(    bLENGTH, //bLength    USB_DESCR_ENDPOINT, //bDescriptorType    INTR_NUM | 0x80, //bEdnpointAddress    USB_ENDP_INTR, //bmAttributes    USB_U16( INTR_SIZE ), //MaxPacketSize    10, //bInterval  )  )};


Внимательный читатель тут же может обратить внимание на описания конечных точек. Со второй все в порядке IN точка (раз произведено сложение с 0x80) типа interrupt, заданы размер и интервал. А вот первая вроде бы объявлена как OUT, но в то же время interrupt, что противоречит сказанному ранее. Да и здравому смыслу тоже: хост не нуждается в костылях чтобы передать в устройство что угодно и когда угодно. Но таким способом обходятся другие грабли: тип конечной точки в STM32 устанавливается не для одной точки, а только для пары IN/OUT, так что не получится задать 0x81-й точке тип interrupt, а 0x01-й control. Впрочем, для хоста это проблемой не является, он бы, наверное, и в bulk точку те же данные посылал что, впрочем, я проверять не стану.

HID descriptor


Структура HID descriptor'а больше всего похожа на конфигурационных файл имя=значение, но в отличие от него, имя представляет собой числовую константу из списка USB-специфичных, а значение либо тоже константу, либо переменную размером от 0 до 3 байт.
Важно: для некоторых имен длина значения задается в 2 младших битах поля имени. Например, возьмем LOGICAL_MINIMUM (минимальное значение, которое данная переменная может принимать в штатном режиме). Код этой константы равен 0x14. Соответственно, если значения нет (вроде бы такого не бывает, но утверждать не буду зачем-то же этот случай ввели), то в дескрипторе будет единственное число 0x14. Если значение равно 1 (один байт) то записано будет 0x15, 0x01. Для двухбайтного значения 0x1234 будет записано 0x16, 0x34, 0x12 значение записывается от младшего к старшему. Ну и до кучи число 0x123456 будет 0x17, 0x56, 0x34, 0x12.

Естественно, запоминать все эти числовые константы мне лень, поэтому воспользуемся макросами. К сожалению, я так и не нашел способа заставить их самостоятельно определять размер переданного значения и разворачиваться в 1, 2, 3 или 4 байта. Поэтому пришлось сделать костыль: макрос без суффикса отвечает за самые распространенные 8-битные значения, с суффиксом 16 за 16-битные, а с 24 за 24-битные. Также были написаны макросы для составных значений вроде диапазона LOGICAL_MINMAX24(min, max), которые разворачиваются в 4, 6 или 8 байтов.

Как и в конфигурационных файлах, здесь присутствуют секции, называемые страницами (usage_page), которые группируют устройства по назначению. Скажем, есть страница с базовой периферией вроде клавиатур, мышек и просто кнопок, есть джойстики и геймпады (искренне рекомендую посмотреть какие именно! Там и для танков, и для космических кораблей, и для подводных лодок и для всего чего угодно), даже дисплеи есть. Правда, где искать софт, умеющий со всем этим работать, я без понятия.

Внутри каждой страницы выбирается конкретное устройство. Например, для мышки это указатель и кнопки, а для планшета стилус или палец юзера (что?!). Ими же обозначаются составные части устройства. Так, частью указателя являются его координаты по X и Y. Некоторые характеристики можно сгруппировать в коллекцию, но для чего это делается я толком не понял. В документации к полям иногда ставится пометка из пары букв о назначении поля и способе работы с ним:

CA Collection(application) Служебная информация, никакой переменной не соответствующая
CL Collection(logical) -/-
CP Collection(phisical) -/-
DV Dynamic Value входное или выходное значение (переменная)
MC Momentary Control флаг состояния (1-флаг взведен, 0-сброшен)
OSC One Shot Control однократное событие. Обрабатывается только переход 0->1


Есть, разумеется, и другие, но в моем примере они не используются. Если, например, поле X помечено как DV, то оно считается переменной ненулевой длины и будет включено в структуру репорта. Поля MC или OSC также включаются в репорт, но имеют размер 1 бит.

Один репорт (пакет данных, посылаемый или принимаемый устройством) содержит значения всех описанных в нем переменных. Описание кнопки говорит о всего одном занимаемом бите, но для относительных координат (насколько передвинулась мышка, например) требуется как минимум байт, а для абсолютных (как для тачскрина) уже нужно минимум 2 байта. Плюс к этому, многие элементы управления имеют еще свои физические ограничения. Например, АЦП того же тачскрина может иметь разрешение всего 10 бит, то есть выдавать значения от 0 до 1023, которое хосту придется масштабировать к полному разрешению экрана. Поэтому в дескрипторе помимо предназначения каждого поля задается еще диапазон его допустимых значений (LOGICAL_MINMAX), плюс иногда диапазон физических значений (в миллиматрах там, или в градусах) и обязательно представление в репорте. Представление задается двумя числами: размер одной переменной (а битах) и их количество. Например, координаты касания тачскрина в создаваемом нами устройстве задаются так:
USAGE( USAGE_X ), // 0x09, 0x30,USAGE( USAGE_Y ), // 0x09, 0x31,LOGICAL_MINMAX16( 0, 10000 ), //0x16, 0x00, 0x00,   0x26, 0x10, 0x27,REPORT_FMT( 16, 2 ), // 0x75, 0x10, 0x95, 0x02,INPUT_HID( HID_VAR | HID_ABS | HID_DATA), // 0x91, 0x02,

Здесь видно, что объявлены две переменные, изменяющиеся в диапазоне от 0 до 10000 и занимающие в репорте два участка по 16 бит.

Последнее поле говорит, что вышеописанные переменные будут хостом читаться (IN) и поясняется как именно. Описывать его флаги подробно я не буду, остановлюсь только на нескольких. Флаг HID_ABS показывает, что значение абсолютное, то есть никакая предыстория на него не влияет. Альтернативное ему значение HID_REL показывает что значение является смещением относительно предыдущего. Флаг HID_VAR говорит, что каждое поле отвечает за свою переменную. Альтернативное значение HID_ARR говорит, что передаваться будут не состояния всех кнопок из списка, а только номера активных. Этот флаг применим только к однобитным полям. Вместо того, чтобы передавать 101/102 состояния всех кнопок клавиатуры можно ограничиться несколькими байтами со списком нажатых клавиш. Тогда первый параметр REPORT_FMT будет отвечать за размер номера, а второй за количество.

Поскольку размер всех переменных задается в битах, логично спросить: а что же с кнопками, ведь их количество может быть не кратно 8, а это приведет к трудностям выравнивания при чтении и записи. Можно было бы выделить каждой кнопке по байту, но тогда бы сильно вырос объем репорта, что для скоростных передач вроде interrupt, неприятно. Вместо этого кнопки стараются расположить поближе друг к другу, а оставшееся место заполняют битами с флагом HID_CONST.

Теперь мы можем если не написать дескриптор с нуля, то хотя бы попытаться его читать, то есть определить, каким битам соответствует то или иное поле. Достаточно посчитать INPUT_HID'ы и соответствующие им REPORT_FMT'ы. Только учтите, что именно такие макросы придумал я, больше их никто не использует. В чужих дескрипторах придется искать input, report_size, report_count, а то и вовсе числовые константы.

Вот теперь можно привести дескриптор целиком:
static const uint8_t USB_HIDDescriptor[] = {  //keyboard  USAGE_PAGE( USAGEPAGE_GENERIC ),//0x05, 0x01,  USAGE( USAGE_KEYBOARD ), // 0x09, 0x06,  COLLECTION( COLL_APPLICATION, // 0xA1, 0x01,    REPORT_ID( 1 ), // 0x85, 0x01,    USAGE_PAGE( USAGEPAGE_KEYBOARD ), // 0x05, 0x07,    USAGE_MINMAX(224, 231), //0x19, 0xE0, 0x29, 0xE7,        LOGICAL_MINMAX(0, 1), //0x15, 0x00, 0x25, 0x01,    REPORT_FMT(1, 8), //0x75, 0x01, 0x95, 0x08         INPUT_HID( HID_DATA | HID_VAR | HID_ABS ), // 0x81, 0x02,     //reserved    REPORT_FMT(8, 1), // 0x75, 0x08, 0x95, 0x01,    INPUT_HID(HID_CONST), // 0x81, 0x01,                  REPORT_FMT(1, 5),  // 0x75, 0x01, 0x95, 0x05,    USAGE_PAGE( USAGEPAGE_LEDS ), // 0x05, 0x08,    USAGE_MINMAX(1, 5), //0x19, 0x01, 0x29, 0x05,      OUTPUT_HID( HID_DATA | HID_VAR | HID_ABS ), // 0x91, 0x02,    //выравнивание до 1 байта    REPORT_FMT(3, 1), // 0x75, 0x03, 0x95, 0x01,    OUTPUT_HID( HID_CONST ), // 0x91, 0x01,    REPORT_FMT(8, 6),  // 0x75, 0x08, 0x95, 0x06,    LOGICAL_MINMAX(0, 101), // 0x15, 0x00, 0x25, 0x65,             USAGE_PAGE( USAGEPAGE_KEYBOARD ), // 0x05, 0x07,    USAGE_MINMAX(0, 101), // 0x19, 0x00, 0x29, 0x65,    INPUT_HID( HID_DATA | HID_ARR ), // 0x81, 0x00,             )  //touchscreen  USAGE_PAGE( USAGEPAGE_DIGITIZER ), // 0x05, 0x0D,  USAGE( USAGE_PEN ), // 0x09, 0x02,  COLLECTION( COLL_APPLICATION, // 0xA1, 0x0x01,    REPORT_ID( 2 ), //0x85, 0x02,    USAGE( USAGE_FINGER ), // 0x09, 0x22,    COLLECTION( COLL_PHISICAL, // 0xA1, 0x00,      USAGE( USAGE_TOUCH ), // 0x09, 0x42,      USAGE( USAGE_IN_RANGE ), // 0x09, 0x32,      LOGICAL_MINMAX( 0, 1), // 0x15, 0x00, 0x25, 0x01,      REPORT_FMT( 1, 2 ), // 0x75, 0x01, 0x95, 0x02,      INPUT_HID( HID_VAR | HID_DATA | HID_ABS ), // 0x91, 0x02,      REPORT_FMT( 1, 6 ), // 0x75, 0x01, 0x95, 0x06,      INPUT_HID( HID_CONST ), // 0x81, 0x01,                      USAGE_PAGE( USAGEPAGE_GENERIC ), //0x05, 0x01,      USAGE( USAGE_POINTER ), // 0x09, 0x01,      COLLECTION( COLL_PHISICAL, // 0xA1, 0x00,                 USAGE( USAGE_X ), // 0x09, 0x30,        USAGE( USAGE_Y ), // 0x09, 0x31,        LOGICAL_MINMAX16( 0, 10000 ), //0x16, 0x00, 0x00, 0x26, 0x10, 0x27,        REPORT_FMT( 16, 2 ), // 0x75, 0x10, 0x95, 0x02,        INPUT_HID( HID_VAR | HID_ABS | HID_DATA), // 0x91, 0x02,      )    )  )};

Помимо рассмотренных ранее полей тут есть и такое интересное поле, как REPORT_ID. Поскольку, как понятно из комментариев, устройство у нас составное, хосту надо как-то определить, чьи данные он принимает. Для этого данное поле и нужно.

И еще одно поле, на которое хотелось бы обратить внимание OUTPUT_HID. Как видно из названия, оно отвечает не за прием репорта (IN), а за передачу (OUT). Расположено оно в разделе клавиатуры и описывает индикаторы CapsLock, NumLock, ScrollLock а также два экзотических Compose (флаг ввода некоторых символов, для которых нет собственных кнопок вроде , или ) и Kana (ввод иероглифов). Собственно, ради этого поля мы и заводили OUT точку. В ее обработчике будем проверять не надо ли зажечь индикаторы CapsLock и NumLock: на плате как раз два диодика и разведено.

Существует и третье поле, связанное с обменом данными FEATURE_HID, мы его использовали в первом примере. Если INPUT и OUTPUT предназначены для передачи событий, то FEATURE состояния, которое можно как читать, так и писать. Правда, делается это не через выделенные endpoint'ы, а через обычную ep0 путем соответствующих запросов.

Если внимательно рассмотреть дескриптор, можно восстановить структуру репорта. Точнее, двух репортов:
struct{  uint8_t report_id; //1  union{    uint8_t modifiers;    struct{      uint8_t lctrl:1; //left control      uint8_t lshift:1;//left shift      uint8_t lalt:1;  //left alt      uint8_t lgui:1;  //left gui. Он же hyper, он же winkey      uint8_t rctrl:1; //right control      uint8_t rshift:1;//right shift      uint8_t ralt:1;  //right alt      uint8_t rgui:1;  //right gui    };  };  uint8_t reserved; //я не знаю зачем в официальной документации это поле  uint8_t keys[6]; //список номеров нажатых клавиш}__attribute__((packed)) report_kbd;struct{  uint8_t report_id; //2  union{    uint8_t buttons;    struct{      uint8_t touch:1;   //фактнажатия на тачскрин      uint8_t inrange:1; //нажатие в рабочей области      uint8_t reserved:6;//выравнивание до 1 байта    };  };  uint16_t x;  uint16_t y;}__attribute__((packed)) report_tablet;


Отправлять их будем по нажатию кнопок на плате, причем. поскольку пишем мы всего лишь пример реализации, а не законченное устройство, делать это будем по-варварски посылая два репорта, в первом из которых нажимая клавиши, а во втором отпуская. Причем с огромной тупой задержкой между посылками. Если не посылать репорт с отпущенными клавишами, система посчитает что клавиша осталась нажатой и будет ее повторять. Естественно, ни о какой эффективности тут не идет и речи, о безопасности тоже, но для теста сойдет. Ах да, куда ж без очередных граблей! Размер структуры должен совпадать с тем, что описано в дескрипторе, иначе винда сделает вид, что не понимает чего от нее хотят. Как обычно, линукс подобные ошибки игнорирует и работает как ни в чем не бывало.

В процессе тестирования наткнулся на забавный побочный эффект: в Windows7 при нажатии на тачскрин вылезает окошко рукописного ввода. Я об этой фиче не знал.

Если к вам попало готовое устройство


и хочется посмотреть на него изнутри. Первым делом, естественно, смотрим, можно даже от обычного пользователя, ConfigurationDescriptor:
lsusb -v -d <VID:PID>

Для HID-дескриптора же я не нашел (да и не искал) способа лучше, чем от рута:
cat /sys/kernel/debug/hid/<address>/rdes

Для полноты картины сюда стоило бы добавить как смотреть подобные вещи в других ОС. Но у меня соответствующих знаний нет, может в комментариях подскажут. Желательно, конечно, без установки стороннего софта.

Заключение


Вот, собственно, и все, что я нарыл по HID. План-минимум научиться читать готовые дескрипторы, эмулировать несколько устройств одновременно и реализовать планшетный ввод выполнен. Ну и философию interrupt точек рассмотрели заодно.

Как и в плошлый раз, немножко документации оставил в репозитории на случай если дизайнеры USB-IF снова решат испортить сайт.
Подробнее..

USB на регистрах isochronous endpoint на примере Audio device

23.05.2021 14:09:40 | Автор: admin
image<картинка с платой и наушниками>
Еще более низкий уровень (avr-vusb): habr.com/ru/post/460815
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID

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

Как ни странно, этот тип конечной точки оказался самым мозговыносящим (и это после всего, что я успел повидать с stm'ками!). Тем не менее, сегодня мы сделаем аудиоустройство и заодно чуть-чуть допилим ядро библиотеки USB. Как обычно, исходные коды доступны:
github.com/COKPOWEHEU/usb/tree/main/4.Audio_L1
github.com/COKPOWEHEU/usb/tree/main/4.Audio_F1

Доработка ядра


Допиливать ядро нужно потому, что у STM изохронные точки могут быть только с двойной буферизацией, то есть, грубо говоря, нельзя сделать 0x01 изохронной, а 0x81 управляющей. То есть в дескрипторе USB это прописать, конечно, можно, но внутренности контроллера это не изменит, и реальный адрес точки просто будет отличаться от видимого снаружи. Что, естественно, повысит риск ошибок, поэтому в эту сторону извращаться не будем.

Стоит отметить, что двойная буферизация бывает не только у изохронных точек, но и у bulk, причем включается и работает она иначе. Если изохронные точки включают буферизацию автоматически, просто потому что не умеют по-другому, то для соответствующей настройки bulk приходится использовать специальный бит USB_EP_KIND, который нужно установить вместе с собственно настройкой типа точки.

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

Прием и передача пакетов отличается не так сильно, хотя и отняла гораздо больше времени сначала на попытки понять как же она должна работать по логике ST, потом на подгонку заклинания из интернета чтобы все-таки заработало. Как говорилось раньше, если для обычной точки два буфера независимы и отличаются направлением обмена, то для буферизованной они одинаковы и отличаются только смещением. Так что немножко изменим функции usb_ep_write и usb_ep_read чтобы они принимали не номер точки, а номер смещения. То есть если раньше эти функции предполагали существование восьми сдвоенных точек, то теперь 16 одинарных. Соответственно, номер новой полуточки на запись равен всего лишь номеру обычной, умноженному на два, а для usb_ep_read надо еще добавить единицу (см. распределение буферов в PMA). Собственно, это и делается инлайн-функциями usb_ep_write и usb_ep_read для обычных точек. А вот логику буферизованных рассмотрим чуть подробнее.

Согласно документации, один буфер такой точки доступен для железа, второй для софта. Потом они переключаются и снова не мешают друг другу. Для OUT точки флагом со стороны железа является бит USB_EP_DTOG_RX, который нужно прочитать чтобы понять в какой из буферов только что закончилась запись и откуда соответственно софт может читать. Когда он прочитал свой буфер, нужно дернуть бит USB_EP_DTOG_TX, что собственно переключит буферы. Не уверен, что подразумевалось именно это, но оно, по крайней мере, работает.

Симметричная ситуация должны была быть с IN точками. Но на практике оказалось, что и проверять, и дергать надо USB_EP_DTOG_RX. Почему не TX я так и не понял Спасибо пользователю kuzulis за ссылку на github.com/dmitrystu/libusb_stm32/edit/master/src/usbd_stm32f103_devfs.c

За счет инлайна функций особого оверхеда не добавилось, не считая инициализации. Но ее можно при желании выкинуть флагами линковщика. А можно и не выкидывать: не так много места занимает, да и вызывается только при инициализации. Это вам не HAL, где функции мало того что тяжелые, но и вызывают друг друга постоянно.

В результате конечные точки научились работать и в буферизованном режиме если не дышать на них слишком сильно.

Для пользователя разница невелика: вместо usb_ep_init использовать usb_ep_init_double, а вместо usb_ep_write и usb_ep_read соответственно usb_ep_write_double и usb_ep_read_double.

Устройство AudioDevice


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

Согласно стандарту USB аудиоустройство представляет собой набор сущностей (entity), соединенных друг с другом в некую топологию, по которой и проходит аудиосигнал. Каждая сущность имеет свой уникальный номер (bTerminalID, он же UnitID), по которому к ней могут подключаться другие сущности или конечные точки, по нему же обращается хост, если хочет изменить какие-то параметры. И он же считается единственным выходом данной сущности. А вот входов может вообще не быть (если это входной терминал), а может быть и больше одного (bSourceID). Собственно записью в массив bSourceID номеров сущностей, от которых текущая получает аудиосигнал, мы и описываем всю топологию, которая в результате может получиться весьма резвесистой. Для примера приведу топологию покупной USB-звуковой карты (цифрами показаны bTerminalID / UnitID):

lsusb и его расшифровка
Bus 001 Device 014: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller#Тут пока ничего интересногоDevice Descriptor:  bLength                18  bDescriptorType         1  bcdUSB               1.10  bDeviceClass            0   bDeviceSubClass         0   bDeviceProtocol         0   bMaxPacketSize0         8  idVendor           0x0d8c C-Media Electronics, Inc.  idProduct          0x013c CM108 Audio Controller  bcdDevice            1.00  iManufacturer           1   iProduct                2   iSerial                 0   bNumConfigurations      1  #интересное начинается тут  Configuration Descriptor:    bLength                 9    bDescriptorType         2    wTotalLength       0x00fd    bNumInterfaces          4  # общее количество интерфейсов    bConfigurationValue     1    iConfiguration          0     bmAttributes         0x80      (Bus Powered)    MaxPower              100mA    #интерфейс 0 - описание топологии    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        0      bAlternateSetting       0      bNumEndpoints           0      bInterfaceClass         1 Audio      bInterfaceSubClass      1 Control Device      bInterfaceProtocol      0       iInterface              0       AudioControl Interface Descriptor:        bLength                10        bDescriptorType        36        bDescriptorSubtype      1 (HEADER)        bcdADC               1.00        wTotalLength       0x0064        bInCollection           2  # ВАЖНО! количество интерфейсов данных (2)        baInterfaceNr(0)        1  #номер перовго из них        baInterfaceNr(1)        2  #номер второго ##### Топологоия ###### 1 InputTerminal (USB, на динамик)       AudioControl Interface Descriptor:        bLength                12        bDescriptorType        36        bDescriptorSubtype      2 (INPUT_TERMINAL)        bTerminalID             1  # Вот номер данной сущности        wTerminalType      0x0101 USB Streaming        bAssocTerminal          0        bNrChannels             2  # Здесь задается количество каналов        wChannelConfig     0x0003  # А здесь - их расположение в пространстве          Left Front (L)          Right Front (R)        iChannelNames           0         iTerminal               0         # 2 InputTerminal (микрофон)      AudioControl Interface Descriptor:        bLength                12        bDescriptorType        36        bDescriptorSubtype      2 (INPUT_TERMINAL)        bTerminalID             2        wTerminalType      0x0201 Microphone        bAssocTerminal          0        bNrChannels             1        wChannelConfig     0x0001          Left Front (L)        iChannelNames           0         iTerminal               0         # 6 OutputTerminal (динамик), вход соединен с сущностью 9      AudioControl Interface Descriptor:        bLength                 9        bDescriptorType        36        bDescriptorSubtype      3 (OUTPUT_TERMINAL)        bTerminalID             6        wTerminalType      0x0301 Speaker        bAssocTerminal          0        bSourceID               9  # Номера входов указываются здесь        iTerminal               0         # 7 OutputTerminal (USB), вход соединен с сущностью 8      AudioControl Interface Descriptor:        bLength                 9        bDescriptorType        36        bDescriptorSubtype      3 (OUTPUT_TERMINAL)        bTerminalID             7        wTerminalType      0x0101 USB Streaming        bAssocTerminal          0        bSourceID               8        iTerminal               0         # 8 Selector, входы соединены только с сущностью 10      AudioControl Interface Descriptor:        bLength                 7        bDescriptorType        36        bDescriptorSubtype      5 (SELECTOR_UNIT)        bUnitID                 8        bNrInPins               1  # У сущностей с несколькими входами указывается их количество        baSourceID(0)          10  # а потом номера        iSelector               0         # 9 Feature, вход соединен с сущностью 15      AudioControl Interface Descriptor:        bLength                10        bDescriptorType        36        bDescriptorSubtype      6 (FEATURE_UNIT)        bUnitID                 9        bSourceID              15        bControlSize            1        bmaControls(0)       0x01          Mute Control        bmaControls(1)       0x02          Volume Control        bmaControls(2)       0x02          Volume Control        iFeature                0         # 10 Feature, вход соединен с сущностью 2      AudioControl Interface Descriptor:        bLength                 9        bDescriptorType        36        bDescriptorSubtype      6 (FEATURE_UNIT)        bUnitID                10        bSourceID               2        bControlSize            1        bmaControls(0)       0x43          Mute Control          Volume Control          Automatic Gain Control        bmaControls(1)       0x00        iFeature                0         # 13 Feature, вход соединен с сущностью 2      AudioControl Interface Descriptor:        bLength                 9        bDescriptorType        36        bDescriptorSubtype      6 (FEATURE_UNIT)        bUnitID                13        bSourceID               2        bControlSize            1        bmaControls(0)       0x03          Mute Control          Volume Control        bmaControls(1)       0x00        iFeature                0         # 15 Mixer, входы соединены с сущностями 1 и 13      AudioControl Interface Descriptor:        bLength                13        bDescriptorType        36        bDescriptorSubtype      4 (MIXER_UNIT)        bUnitID                15        bNrInPins               2  # Снова массив входов        baSourceID(0)           1  # и их номера        baSourceID(1)          13        bNrChannels             2        wChannelConfig     0x0003          Left Front (L)          Right Front (R)        iChannelNames           0         bmControls(0)        0x00        iMixer                  0 ##### конец топологии ###### Интерфейс 1 (основной) - заглушка без конечных точек    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        1      bAlternateSetting       0      bNumEndpoints           0      bInterfaceClass         1 Audio      bInterfaceSubClass      2 Streaming      bInterfaceProtocol      0       iInterface              0       # Интерфейс 1 (альтернативный) - рабочий с одной конечной точкой    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        1      bAlternateSetting       1      bNumEndpoints           1      bInterfaceClass         1 Audio      bInterfaceSubClass      2 Streaming      bInterfaceProtocol      0       iInterface              0       AudioStreaming Interface Descriptor:        bLength                 7        bDescriptorType        36        bDescriptorSubtype      1 (AS_GENERAL)        bTerminalLink           1        bDelay                  1 frames        wFormatTag         0x0001 PCM      AudioStreaming Interface Descriptor:        bLength                14        bDescriptorType        36        bDescriptorSubtype      2 (FORMAT_TYPE)        bFormatType             1 (FORMAT_TYPE_I)        bNrChannels             2        bSubframeSize           2        bBitResolution         16        bSamFreqType            2 Discrete        tSamFreq[ 0]        48000        tSamFreq[ 1]        44100      Endpoint Descriptor:        bLength                 9        bDescriptorType         5        bEndpointAddress     0x01  EP 1 OUT        bmAttributes            9          Transfer Type            Isochronous          Synch Type               Adaptive          Usage Type               Data        wMaxPacketSize     0x00c8  1x 200 bytes        bInterval               1        bRefresh                0        bSynchAddress           0        AudioStreaming Endpoint Descriptor:          bLength                 7          bDescriptorType        37          bDescriptorSubtype      1 (EP_GENERAL)          bmAttributes         0x01            Sampling Frequency          bLockDelayUnits         1 Milliseconds          wLockDelay         0x0001          # Интерфейс 2 (основной) - заглушка    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        2      bAlternateSetting       0      bNumEndpoints           0      bInterfaceClass         1 Audio      bInterfaceSubClass      2 Streaming      bInterfaceProtocol      0       iInterface              0       # Интерфейс 2 (альтернативный)    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        2      bAlternateSetting       1      bNumEndpoints           1      bInterfaceClass         1 Audio      bInterfaceSubClass      2 Streaming      bInterfaceProtocol      0       iInterface              0       AudioStreaming Interface Descriptor:        bLength                 7        bDescriptorType        36        bDescriptorSubtype      1 (AS_GENERAL)        bTerminalLink           7        bDelay                  1 frames        wFormatTag         0x0001 PCM      AudioStreaming Interface Descriptor:        bLength                14        bDescriptorType        36        bDescriptorSubtype      2 (FORMAT_TYPE)        bFormatType             1 (FORMAT_TYPE_I)        bNrChannels             1        bSubframeSize           2        bBitResolution         16        bSamFreqType            2 Discrete        tSamFreq[ 0]        48000        tSamFreq[ 1]        44100      Endpoint Descriptor:        bLength                 9        bDescriptorType         5        bEndpointAddress     0x82  EP 2 IN        bmAttributes            9          Transfer Type            Isochronous          Synch Type               Adaptive          Usage Type               Data        wMaxPacketSize     0x0064  1x 100 bytes        bInterval               1        bRefresh                0        bSynchAddress           0        AudioStreaming Endpoint Descriptor:          bLength                 7          bDescriptorType        37          bDescriptorSubtype      1 (EP_GENERAL)          bmAttributes         0x01            Sampling Frequency          bLockDelayUnits         0 Undefined          wLockDelay         0x0000##### Конец описания аудиоинтерфейсов ###### Интерфейс 3 "Клавиши громкости и всего остального" (не интересно)    Interface Descriptor:      bLength                 9      bDescriptorType         4      bInterfaceNumber        3      bAlternateSetting       0      bNumEndpoints           1      bInterfaceClass         3 Human Interface Device      bInterfaceSubClass      0       bInterfaceProtocol      0       iInterface              0         HID Device Descriptor:          bLength                 9          bDescriptorType        33          bcdHID               1.00          bCountryCode            0 Not supported          bNumDescriptors         1          bDescriptorType        34 Report          wDescriptorLength      60         Report Descriptors:            ** UNAVAILABLE **      Endpoint Descriptor:        bLength                 7        bDescriptorType         5        bEndpointAddress     0x87  EP 7 IN        bmAttributes            3          Transfer Type            Interrupt          Synch Type               None          Usage Type               Data        wMaxPacketSize     0x0004  1x 4 bytes        bInterval               2



image

Мы же будем делать нечто более простое (заготовку брал отсюда):

image

Здесь видно две независимых ветки распространения сигнала: либо от USB через фичу к динамику, либо из микрофона через другую фичу к USB. Микрофон и динамик не просто так взяты в кавычки: на моей отладочной плате их нет, поэтому вместо собственно звука будем пользоваться кнопками и светодиодами. Впрочем, ничего нового. Фичи в моем случае ничего не делают и добавлены скорее для красоты.

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

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

1. Входной терминал (Input Terminal)
Как следует из названия, именно через него в аудиоустройство попадает звуковой сигнал. Это может быть USB, может быть микрофон обыкновенный, микрофон гарнитурный, даже микрофонный массив.

2. Выходной терминал (Output Terminal)
Тоже вполне очевидно то, через что звук покидает наше устройство. Это может быть все тот же USB, может быть динамик, гарнитура, динамик в мониторе, динамики различных частот и куча других устройств.

3. Микшер (Mixer Unit)
Берет несколько входных сигналов, усиливает каждый на заданную величину и складывает то, что получилось, в выходной канал. При желании можно задать усиление в ноль раз, что сведет его к следующей сущности.

4. Селектор (Selector Unit)
Берет несколько входных сигналов и перенаправляет один из них на выход.

5. Фильтр (Feature Unit)
Берет единственный входной сигнал, меняет параметры звука (громкость, тембр и т.п.) и выдает на выход. Естественно, все эти параметры одинаковым способом прикладываются ко всему сигналу, без взаимодействия логических каналов внутри него

6. Processing Unit
А вот эта штука уже позволяет проводить манипуляции над отдельными логическими каналами внутри каждого входного. Более того, позволяет сделать количество логических каналов в выходном не равным количеству во входных.

7. Extension Unit
Весь набор нестандартных сущностей, чтобы больной фантазии производителей оборудования было раздолье. Соответственно, и поведение, и настройки будут зависеть от этой самой фантазии.

Некоторые сущности обладают параметрами вроде коэффициента усиления или номера канала, на которые хост может повлиять при помощи setFeature / getFeature запросов по номеру сущности. Но тут, если честно, я не слишком понимаю как это вообще проверить. Наверное, нужен какой-то спецсофт, которого у меня нет. Ну да и ладно, все равно я в это полез только чтобы все типы точек проверить на свою голову

Грабли в дескрипторе


В отличие от предыдущих USB-устройств, здесь дескриптор сложный, многоуровневый и склонный пугать виндоусы до BSOD'а. Как мы видели выше, топология у аутиоустройства может быть весьма сложной и развесистой. Под ее описание выделяется целый интерфейс. Очевидно, endpoint'ов он содержать не будет, зато будет содержать список дескрипторов сущностей и описаний к чему подключены их входы. Тут особо описывать смысла не вижу, проще посмотреть в коде и документации. Отмечу только главные грабли: здесь описывается какие интерфейсы с соответствующими конечными точками относятся именно к данному устройству. Скажем, если вы захотите изменить мою конфигурацию и убрать оттуда динамик, придется не просто удалить половину сущностей (слава макросам, хотя бы с подсчетом длины дескриптора проблемы не будет), но и уменьшить поле bInCollection до 1, после чего из следующего за ним массива bInterfaceNr убрать номер лишнего интерфейса.

Дальше находятся интерфейсы, отвечающие за обмен данными. В моем случае 1-й интерфейс отвечает за микрофон, а 2-й за динамик. Здесь стоит обратить внимание в первую очередь на два варианта каждого из этих интерфейсов. Один с bAlternateSetting равным 0, второй с 1. Они отличаются наличием конечной точки. То есть если наше устройство в данный момент не используется, хост просто переключается на тот альтернативный интерфейс, который конечной точкой не оборудован, и уже не тратит на нее пропускную способность шины.

Вторая особенность интерфейсов данных это формат аудиосигнала. В соответствующем дескрипторе задается тип кодирования, количество каналов, разрешение и частота дискретизации (которая задается 24-битным числом). Вариантов кодирования предусмотрено довольно много, но мы будем использовать самый простой PCM. По сути это просто последовательность значений мгновенной величины сигнала без какого-либо кодирования, причем величина считается целым числом со знаком. Разрешение сигнала задается в двух местах (зачем непонятно): в поле bSubFrameSize указывается количество байтов, а в bBitResolution количество битов. Вероятно, можно указать, что диапазон нашей звуковой карты не доходит до полного диапазона типа данных, скажем, int16_t и составляет всего 10 бит.

Ну и наконец дескриптор собственно конечной точки. Он тоже немного отличается от обычных, поскольку предусматривает во-первых несколько вариантов синхронизации, а во-вторых, номер сущности, с которой эта точка ассоциирована (bTerminalLink). Варианты синхронизации прописываются старшими битами прямо в тип конечной точки (именно поэтому изохронная точка вынесена в ветку default в функции инициализации), но их подробностями я не занимался, поэтому ничего интересного рассказать не смогу. Вместо синхронизации мы воспользуемся обычным таймером контроллера, который будет генерировать прерывания с примерно нужной частотой.

Ах да, чуть не забыл упомянуть очередную пачку BSOD'ов при тестировании неправильных дескрипторов. Еще раз напоминаю: количество интерфейсов данных должно соответствовать числу bInCollection, а их номера следующему за ним массиву!
Скрытый текст
Как представлю отладку подобного кода под виндами, с этими постоянными вылетами, да еще без нормальной консоли. бр-р-р.


Логика работы устройства


Как я уже говорил, для тестов не имеет смысла городить на отладочную плату навесные компоненты, поэтому все тестирование будет осуществляться тем, что уже установлено кнопки да светодиоды. Впрочем, в данном случае это проблемы не составляет: микрофон может просто генерировать синусоиду частотой, скажем, 1 кГц, а динамик включать светодиод при превышении порогового значения звука (скажем, выше числа 10000: при указанных 16 битах разрешения, что соответствует диапазону -32768 +32767, это примерно треть).

А вот с тестированием возникла небольшая проблема: я не нашел простого способа перенаправить сигнал с микрофона на stdin какой-нибудь программы. Вроде бы раньше это делалось просто чтением /dev/dsp, но сейчас что-то поломалось. Впрочем, ничего критичного, ведь есть всякие библиотеки взаимодействия с мультимедией SDL, SFLM и другие. Собственно на SFML я и написал простенькую утилиту для чтения с микрофона и, если надо, визуализации сигнала.

Особое внимание уделю ограничениям нашего аудиоустройства: насколько я понял, изохронный запрос IN отправляется один раз в миллисекунду (а вот OUT'ов может быть много), что ограничивает частоту дискретизации. Допустим, размер конечной точки у нас 64 байта (учитывая буферизацию, в памяти она занимает 128 байт, но хост об этом не знает), разрешение 16 бит, то есть за раз можно отправить 32 отсчета. Учитывая интервал в 1 мс получаем теоретический предел 32 кГц для одного канала. Самый простой способ это обойти увеличить размер конечной точки. Но тут надо помнить, что размер общего буфера PMA у нас всего 512 байт. Минус таблица распределения точек, минус ep0, получаем максимум 440 байт, то есть 220 байт на единственную точку с учетом буферизации. И это теоретический предел.

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

Заключение (общее для цикла)


Ну вот мы и познакомились с устройством USB в контроллерах STM32F103 и STM32L151 (и других с аналогичной реализацией), поудивлялись логике некоторых архитектурных решений (особенно меня впечатлил регистр USB_EPnR, впрочем двойная буферизация тоже не отстает), рассмотрели все типы конечных точек и проверили их, построив соответствующие устройства. Так что можно сказать, что данный цикл статей подошел к логическому заключению. Хотя это, конечно, не значит, что я заброшу контроллеры или USB: в отдаленных планах еще разобраться с составными устройствами (пока что выглядит несложно, но ведь и изохронные точки тоже проблем не предвещали) и USB на контроллерах других семейств.
Подробнее..

Recovery mode Конденсатор

13.06.2021 12:23:01 | Автор: admin

Конденсатор имеет следующее схематическое изображение

Рассмотрим водопроводную модель конденсатора. Ранее мы говорили о том, что ток может течь только в трубе, соединенной в кольцо в замкнутой цепи. Но можно представить пустую емкость, в которую можно заливать воду, пока емкость не заполнится. Это и есть конденсатор емкость, в которую можно заливать заряд.
Для большей аналогии лучше представить себе водонапорную башню, в модели - трубу бесконечной длины поставленную вертикально. Вода насосом закачивается в эту трубу с нижнего торца и поднимается на высоту. Чем больше воды закачали и чем выше она поднялась - тем сильнее столб воды давит на днище и выше там давление. Так-то в эту бесконечную трубу можно сколько угодно воды (электрического заряда) закачать, но при этом противодавление столба воды будет расти. Если качать заряд генератором напряжения, то когда противодавление сравняется с давлением (напряжением), создаваемым генератором - закачка остановится.

Если характеристикой резистора является сопротивление, то электрической характеристикой конденсатора является емкость.
С=Q/U

Емкость говорит, сколько заряда можно в конденсатор закачать, чтобы напряжение там поднялось до величины U. Можно сказать, что емкость характеризует диаметр трубы. Чем же труба, тем быстрее поднимается уровень воды при закачке и растет давление на дне трубы. Давление же зависит только от высоты водяного столба, а не от массы закачанной воды.
В электрических терминах, чем меньше емкость конденсатора, тем быстрее растет напряжение при закачке туда заряда.
Напомню, что электрический ток I равен количеству протекающего заряда Q в секунду. То есть I=Q/T, где T - время. Это все равно, что поток воды исчисляемый кубометрами в секунду. Или килограммами в сек, потом проверим по размерности)
Поэтому конденсатор с маленькой емкостью заполняется зарядом быстро, а с большой емкостью - медленно.

Рассмотрим теперь электрические цепи с конденсатором.
Пусть конденсатор подключен к генератору напряжения.

рис 9. Подключение конденсатора к генератору напряжения.рис 9. Подключение конденсатора к генератору напряжения.

"Главный инженер повернул рубильник" S1 и.. тыдыщ!!! Что произошло?
Идеальный генератор напряжения имеет бесконечную мощность и может выдавать бесконечный ток. Когда замкнули рубильник в нашу емкость хлынуло бесконечное количество заряда в секунду и она мгновенно заполнилась и напряжение на ней выросло до U.

Теперь рассмотрим более реальную цепь.
Это Вторая Главная Цепь в жизни инженера-электронщика (после делителя напряжения)
RCцепочка.

RCцепочка.

RC -цепочки бывают интегрирующего и дифференцирующего типа.

RCцепочка интегрирующего типа.

рис 10. Подключение RC -цепочки интегрирующего типа к генератору напряжения.рис 10. Подключение RC -цепочки интегрирующего типа к генератору напряжения.

Что произойдет в этой схеме, если замкнуть выключатель S1?

Конденсатор С исходно разряжен и напряжение на нем рано 0. Поэтому ток в первый момент будет равен I=U/R. Затем конденсатор начнет заряжаться, напряжение на нем увеличивается, и ток через резистор начнет уменьшаться. I=(U-Uc)/R. Этот процесс будет продолжаться, конденсатор будет заряжаться уменьшающимся током до напряжения источника U. Напряжение на конденсаторе при этом будет расти по экспоненте.

рис 11. График роста напряжения на конденсаторе при подаче напряжения величиной U (ступеньки).рис 11. График роста напряжения на конденсаторе при подаче напряжения величиной U (ступеньки).

Вопрос: А если запитать такую цепочку от генератора тока, как будет расти напряжение на конденсаторе?

Почему цепочка называется - интегрирующего типа?
Как выше было отмечено, ток в первый момент после подачи напряжение будет равен I=U/R, так как конденсатор разряжен, и напряжение на нем равно 0. И какое-то время, пока напряжение на конденсаторе Uc мало по сравнению с U, ток будет оставаться почти постоянным. А при заряде конденсатора постоянным током напряжение на нем растет линейно.
Uc=Q/C, а мы помним, что ток это количество заряда в секунду, то есть скорость протекания заряда. Другими словами, заряд это интеграл от тока.

Q = I * dt = U/R * dt
то есть

Uc=1/RC * U * dt

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

На самом деле все сводится к тому, что конденсатор заряжается постоянным током.
А постоянный ток выдает генератор тока. (См. вопрос выше)
Если источник напряжения выдает бесконечно большое напряжение и сопротивление R также имеет бесконечно большую величину, то по факту мы имеем уже идеальный генератор тока, и внешние цепи на величину этого тока влияния не оказывают.

RCцепочка дифференцирующего типа.

Ну тут все то же самое, что в интегрирующей цепочке, только наоборот.

рис 12. Дифференцирующая цепочка.рис 12. Дифференцирующая цепочка.

Более подробно свойства RC цепей хорошо освещены в интернете.

Параллельное и последовательное соединение конденсаторов.

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

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru