Pull to refresh
4
0
Александр Хабаров @AlexHa

инженер-радиотехник, начальник сектора

Send message

Транзисторный усилитель класса А своими руками

Reading time6 min
Views258K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments79

Лампа-радуга своими руками

Reading time11 min
Views48K
Привет Хабр!

Предисловие


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



Внимание, под катом много фото.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments20

Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Reading time10 min
Views402K
Всем привет!

Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.

image
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments36

Устраняем пробелы, изучаем Android

Reading time3 min
Views54K
Речь пойдёт не о пробелах в знаниях, но об этом чуть позже.

По старой привычке я по-прежнему читаю книги по программированию в бумажном варианте. В частности, про разработку под Android. Несколько лет назад с литературой по этой тематике на великом и могучем была напряжёнка. Сейчас положение немного выправилось. Я купил и прочитал, наверное, 99% всех выпущенных книг. Есть две проблемы с книгами. Первая — они однотипны в своей массе и рассказывают об одном и том же. Вторая проблема — значительная задержка в выпуске издания. Как правило, запаздывание происходит на 1-2 версии, что бывает достаточно критичным. Например, когда появились версии Android 3.0 и 4.0 с фрагментами, читать примеры создания приложений под Android 2.3 было глупо.

В далёком 2011 году вышла книга Android за 24 часа, которая, на мой взгляд, была одной из лучших. Мне понравился подход к раскрытию темы — брался один сквозной проект и постепенно усложнялся от часа к часу. Попутно объяснялись фундаментальные вещи на одном проекте. Было понятно, где и когда применять те или иные возможности.
На прошлой неделе случайно наткнулся в интернете на сообщение, что вышло новое издание с более длинным названием Создание приложений для Android за 24 часа с теми же авторами. И немедленно выпил купил.
Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments20

Ethernet поверх USB на STM32F4

Reading time9 min
Views57K


Недавно возникла идея заставить плату на базе МК STM32F4 работать по сети. Поскольку на борту отсутствовал Ethernet PHY контроллер, то единственным вариантом было использовать USB FullSpeed интерфейс для эмуляции Ethernet устройства. Распространённый стандарт USB-класса, реализующий данную функцию, называется RNDIS.
К своему огорчению, поиск RNDIS драйвера для STM32 не увенчался успехом. Впрочем, это не удивило, т.к. открытые примеры использования USB порта у STM32 ограничиваются только теми, что предоставил нам производитель.
Захотелось исправить сию несправедливость. А заодно и поиметь нужные исходники, благо в будущем они пригодятся.
Сейчас, когда демонстрационная версия библиотеки готова, выкладываю её в свет на правах MIT-лицензии. Поэтому, все кому библиотека интересна — пользуйтесь «на здоровье». Библиотека имеет название LRNDIS, первая буква которого означает использование сетевого стека для встраиваемых систем «LwIP».
Для демонстрации возможностей библиотеки был создан пример на плате stm32f4discovery. Его работа заключается в поддержке основных сервисов (DHCP и DNS сервера) и передаче usb-хосту запрашиваемых WEB-страниц. Таким образом, наш discovery превратился в почти полноценный WEB-сервер, работающий по порту USB!
Пару слов о том, где это применимо.
В быту RNDIS устройства обычно являются USB-модемами для доступа в Интернет. Возможно, такое применение, действительно, окажется полезным, если разработчик выберет STM32 в роли связующей цепочки между ПК и радиочастотным (или другим) трансивером. Или, может быть, захочет расширить собственную сеть на Ethernet-сегмент?
Другое применение, в котором нахожу основную пользу для себя, — это интерфейс управления сложными устройствами. Типовое решение в этой области — создание терминального ПО. При этом приходится заниматься его поддержкой вместе с поддержкой устройства, что бывает неудобным. Собственно, в отказе от такой схемы в пользу управляющего Web-интерфейса и заключается смысл возможного применения библиотеки. Вспомните Web-интерфейсы настройки роутеров. Удобно. Красиво. Без лишнего ПО.

Итак, если Вы заинтересовались, читайте далее…
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments17

Raspberry Pi 2 зависает от фотовспышки

Reading time2 min
Views143K


7 февраля участник PeterO форума Raspberrypi.org сообщил, что обнаружил необычную проблему у своей новенькой Raspbery Pi 2.

I have discovered that my PI2 is camera-shy!
Taking it's picture with a flash causes an instant power off!
I've done it three times now and same thing happens each time.

Я обнаружил, что моя Pi2 стесняется фотоаппаратов!
Попытка сфотографировать плату со вспышкой вызывает ее мгновенное отключение!
Я три раза ее фотографировал, и каждый раз это происходило вновь.
Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments84

STM32 и FreeRTOS. 5. Приносим пользу и добро!

Reading time5 min
Views62K
На всякий случай, а то вдруг санкции применят (смаил). Описываемый случай не имеет никакого отношения к реальности и является целиком и полностью выдумкой автора

Раньше было про потоки, семафоры, очереди и HAL

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



Вооружившись осциллографом, я полез внутрь.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments14

Радиоэлектроника, или как я начал её постигать

Reading time5 min
Views196K
Добрый день, уважаемое сообщество.

Меня все время удивляли люди, которые понимают в радиоэлектронике. Я всегда их считал своего рода шаманами: как можно разобраться в этом обилии элементов, дорожек и документации? Как можно только взглянуть на плату, пару раз «тыкнуть» осциллографом в только одному ему понятные места и со словами «а, понятно» взять паяльник в руки и воскресить, вроде как почившую любимую игрушку. Иначе как волшебством это не назовёшь.

Расцвет радиоэлектроники в нашей стране пришёлся на 80-е годы, когда ничего не было и все приходилось делать своими руками. С той поры прошло много лет. Сейчас у меня складывается впечатление, что вместе с поколением 70-х уходят и знания с умением. Мне не повезло: половину эпохи расцвета меня планировали родители, а вторую половину я провёл играя в кубики и прочие машинки. Когда в 12 лет я пошёл в кружок «Юный техник» — это были не самые благополучные времена, и ввиду обстоятельств через полгода пришлось с кружком «завязать», но мечта осталась.

По текущей деятельности я программист. Я осознаю, что найти ошибку в большом коде ровно тоже самое, что найти «плохой» конденсатор на плате. Сказано — сделано. Так как по натуре я люблю учиться самостоятельно — пошёл искать литературу. Попыток начать было несколько, но каждый раз при начале чтения книг я упирался в то, что не мог разобраться в базовых вещах, например, «что есть напряжение и сила тока». Запросы к великому и ужасному Гуглу также давали шаблонные ответы, скопированные из учебников. Попробовал найти место в Москве, где можно поучиться этому мастерству — поиски не закончились результатом.

Итак, добро пожаловать в кружок начинающего радиолюбителя.
Читать дальше →
Total votes 68: ↑54 and ↓14+40
Comments122

Обзор робототехнической платформы Strela или простой bluetooth-бот своими руками

Reading time10 min
Views55K
Недавно мы получили подарок для нашей мастерской от одного из ведущих производителей учебных наборов по электронике в России — от Амперки. Плата Strela — это новая разработка компании и они предложили нам попробовать применить ее в реальных условиях.

Основная идея платформы Strela — отказ от модульного принципа построения робототехнического Arduino-проекта. Вместо набора шилдов, Амперка предлагает использовать одну универсальную плату, в которой реализован функционал многих шилдов.



В статье я предлагаю вам свой взгляд на то, что из этого получилось, и расскажу, как мы построили своего робота, управляемого по bluetooth с Android-смартфона. Я постарался быть максимально беспристрастным, но определенная доля субъективности, конечно, присутствует.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments9

STM32 и FreeRTOS. 4. Шаг в сторону HAL

Reading time5 min
Views83K
HAL 9000: I'm completely operational, and all my circuits are functioning perfectly.
или это должно быть первой статьей, но я почему-то всегда пишу подобное ближе к концу

Раньше было про потоки, про семафоры и очереди

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

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

Но не так давно ST поняла, в какую яму она угодила и начала усиленно из нее выбираться, привлекая новые силы. И именно благодаря этому сейчас время старта сократилось до несуразно маленьких величин. Как это выглядит на практике? Добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments18

Лекции Технопарка. 1 семестр. Web-технологии

Reading time4 min
Views172K
Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

Лекция 1. Введение


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


Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments11

Блокируем блокировку от Роскомнадзора

Reading time2 min
Views44K
Когда в очередной раз переадресовываешься на страницу от провайдера с предупреждением о том, что доступ к запрашиваемому сайту заблокирован, и приходится вручную вытаскивать URL сайта, задумываешься об автоматизации этой рутинной деятельности.

image

В моём частном случае речь пойдёт о блокировке от «Билайна». Чтобы избавится от её назойливости, нам понадобится веб-сервер. Подойдёт установленный на локальной машине.

«Билайн» перекидывает нас на страницу blackhole.beeline.ru/?url=...., где в переменной url в закодированном urlencode виде содержится наш адрес. Копировать и декодировать его каждый раз руками достаточно скучное дело, поэтому мы попробуем использовать нашу эволюционную особенность — мозг.
Читать дальше →
Total votes 77: ↑61 and ↓16+45
Comments53

STM32 и FreeRTOS. 2. Семафорим по-черному

Reading time7 min
Views66K
Часть первая, про потоки

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

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments5

STM32 и FreeRTOS. 1. Развлечение с потоками

Reading time7 min
Views152K
Данный цикл из 5 статей рассчитан на тех, кому стало мало возможностей привычных «тинек» и ардуинок, но все попытки перейти на более мощные контроллеры оканчивались неудачей или не приносили столько удовольствия, сколько могли бы. Все ниженаписанное проговаривалось мной много раз на «ликбезе» программистов нашей студии (которые часто сознавались, что переход с «тинек» на «стмки» открывает столько возможностей, что попадаешь в ступор, не зная за что хвататься), поэтому смею надеяться, что польза будет всем. При прочтении подразумевается, что читающий — человек любопытный и сам смог найти и поставить Keil, STM32Cube и понажимать кнопки «ОК». Для практики я использую оценочную плату STM32F3DISCOVERY, ибо она дешевая, на ней стоит мощный процессор и есть куча светодиодиков.

Каждая статья рассчитана на «повторение» и «осмысление» где-то на один околовечерний час, ибо дом, семья или отдых…



Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments35

Доработка USB-стека в микроконтроллерах STM32 и TivaC

Reading time5 min
Views31K
Наличие USB порта в современных микроконтроллерах открывает широкие возможности для самостоятельного изготовления разнообразных управляемых с компьютера устройств. На практике, однако, выясняется, что поставляемые производителем библиотеки для работы с USB нуждаются в доработке. Если вам интересен опыт подобной доработки для двух популярных семейств МК — добро пожаловать под кат.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments26

Обзор особенностей ядра Андроида

Reading time7 min
Views107K
“А я… карбюратор промываю!”
Анекдот


Введение

В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


Читать дальше →
Total votes 169: ↑151 and ↓18+133
Comments17

Эмуляция носителя FAT32 на stm32f4

Reading time6 min
Views53K


Недавно возникла данная задача — эмуляция носителя FAT32 на stm32f4.

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

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

Результатом работы явился модуль, который я озаглавил «emfat», состоящий из одноимённого .h и .c файла.

Модуль независим от платформы. В прилагаемом примере он работает на плате stm32f4discovery.

Функция модуля — отдавать куски файловой системы, которые запросит usb-host, подставляя пользовательские данные, если тот пытается считать некоторый файл.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments36

Учебник программирования для детей

Reading time1 min
Views148K
Сейчас на русском нет актуального учебника по программированию для детей (исправьте, если не прав). Поэтому я решил написать его и выложить в открытый доступ.
 
Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments65

Пять популярных мифов про C++, часть 1

Reading time11 min
Views112K

1. Введение


В этой статье я попытаюсь исследовать и развенчать пять популярных мифов про C++:

1. Чтобы понять С++, сначала нужно выучить С
2. С++ — это объектно-ориентированный язык программирования
3. В надёжных программах необходима сборка мусора
4. Для достижения эффективности необходимо писать низкоуровневый код
5. С++ подходит только для больших и сложных программ

Если вы или ваши коллеги верите в эти мифы – эта статья для вас. Некоторые мифы правдивы для кого-то, для какой-то задачи в какой-то момент времени. Тем не менее, сегодняшний C++, использующий компиляторы ISO C++ 2011, делает эти утверждения мифами.

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

Каждому мифу можно посвятить книгу, но я ограничусь простой констатацией и кратким изложением своих аргументов против них.
Читать дальше →
Total votes 88: ↑69 and ↓19+50
Comments114

58 признаков хорошего интерфейса

Reading time16 min
Views380K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Total votes 226: ↑182 and ↓44+138
Comments102

Information

Rating
Does not participate
Location
Ковров, Владимирская обл., Россия
Date of birth
Registered
Activity