Tag: электроника

Самодельная грелка для LiPo (с термостатом)

Собрал себе нагреватель в сумку для акков на зиму. Безопасные нагреватели из угольной ткани имеют максимальную температуру 40 гр. Термостат с выносным датчиком температуры позволяет выставить желаемую температуру акков и гистерезис. Все подключается к 12V (3s LiPo или кажется можно и 4s).
После проверки концепции, чтобы уменьшить высоту платы, снял при помощи отсоса припоя с платы реле и все контактные колодки. Вместо реле припаял полевой транзистор с motherboard. Получилось компактно и ничего не щелкает при включении нагрева, как было с реле. 😃

Управление прожектором без RC-switch

Понадобилось подрубить фары к коптеру на NAZE32 под iNAV/CleanFlight. Фары надо включать отдельным диапазоном канального импульса, например > 1700 ms. Приемник подключен по CPPM, так что выходы каналов проброшены на выходы моторов посредством вкладки Servo.

Для питания светодиодов использован драйвер: JRLED MR16-9W Power Driver for Light Lamp Bulb (DC 12~14V / 5PCS)
Линзы 2шт: 22mm 30 Degree Condensing Lens for LED Light - White (5 PCS)
Светодиоды 2шт (последовательно): Eipstar JR 3W 180lm 5500K Neutral Light LED Module

1-осевой gimbal для парирования отклонений по Roll

Когда летаешь на коптере в сложном рельефе (среди деревьев в лесу, например), часто встречаются ситуации, когда препятствие видишь в последний момент, и надо стрейфиться влево-вправо отклонением по Roll. Этот момент неприятно смотрится на видео, и не может исправиться при deshaking’е без значительной обрезки кадра. Для борьбы с ним отлично подошел бы 1-осевой подвес, который к тому же был бы легким и несильно нагрузил бы 250-й коптер. 😉

Я сделал подвес, специально предназначенный под камеры типа Mobius, Mobius Mini, RunCam.

При помощи алюминия и текстолита получилась простая конструкция, которую можно легко менять под разные камеры, например, обрезать под Mobius Mini. Мотор подключен к среднему MOT, датчик приклеен снизу. Сам контроллер размещается вдлину за мотором, ибо длина у него - как ширина камеры (40 мм).
Прошивку не менял, стоит 0.82e, да и непросто это вроде без ST-Link. Вместо питания через разъем можно просто подпаяться к любому GND на плате и к выводу большого диода на плате рядом с коннектором, который ближе к краю платы (но я пока этого не сделал).

Домашний сервер на WeMos D1 (ESP8266)

Несколько дней играю с WiFi платкой WeMos D1, прошиваемой из Arduino. Подключал к ней сонар, получился дальномер. Остановился на такой конфигурации: OLED, датчик температуры ds1820B, датчик температуры и влажности DHT11, 30-LED WS2912B лента. Программа подключается к роутеру и по запросу выдает температуры с обоих датчиков и влажность. При запросе лента вспыхивает конкретно завораживающей радугой 😁 На OLED пишется те же данные + количество запросов и время последнего запроса.

Адрес: 194.28.30.107:118

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

Борьба с помехами от моторов на камере

У меня на коптере стояла камера Eachine 700TVL 1/3 CMOS 2.6mm Lens 148 Degree Mini Camera на 5V. Питалась через цепочку 4s/3s - step-up/step-down dcdc в 6V - low-drop linear voltage reg в 5V. Еще было MinimOSD от тех же 5V между камером и видеопередатчиком (который на 7-24V и питался напрямую от ходового акка). Такая цепочка выдавала стабильные 5V без помех.

Затем я решил поставить другую камеру Sony 960H CCD Effio-V 800TVL Ultra WDR Camera 2.8mm Lens OSD (CC1526) на 12V для лучшей различимости против солнца. Для этого dcdc был перенастроен на 12V и через фильтр (L-C Power Filter-1.7A) от него питалась камера. Также от dcdc шел UBEC на 6V а дальше как и до этого low-drop reg на 5V. Видеопередатчик питался тоже от стабильных 12V.

Диверсити по частоте

Все знают идею диверсити видиоприемников - выбирается лучший сигнал из поступающих с нескольких Video RX. Обычно один приемник подключен к направленной антенне, а другой - к круговой. Иногда ставят несколько приемников с направленными антеннами, например IBCrazy делал нанацеливаемую наземную станцию с 3-4 патчами, покрывающими все 360 градусов направления.

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

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

Испытания маяка tBeacon (Тигромух) на OpenLRS RX

Провел пробы самодельного маяка. Антенна - штатная сосиска, питание через контакты приемника - 5V.
Вызывал с Baofeng UV-5R. GPS - uBlox Neo-6M с включенным только бинарным протоколом. Прошивка 0.54.

Тест 1. Маяк лежал на окне 5-го этажа, окруженный множеством густых деревьев. Я был в радиусе 200м за рельефом и сплошными кустами.

Маяк успешно принимал вызов и я четко получал его ответ даже при включенном шумоподавителе. Слышны были все 3 тона.

Тест 2. Маяк лежал на окне 6-го этажа, я был на расстоянии 1.6 км в прямой видимости. При включенном шумоподавителе прием был неустойчивый. При выключенном шумоподавителе принимались четко координаты и 2 тона. 3-й тон совсем не слышался. Загораживание собой ничего не дало - все равно принимались 2 тона. Так что для пеленга нужна направленная антенна.

Видео на 200mW 5.8GHz на 3-витковый helix на этом расстоянии принималось отлично в угле 45 градусов в обе стороны от направления на маяк. На clever принималось с помехами, при текоторых положениях антенны были провалы.

Пульт Futaba T7C FASST на 2.4GHz с 3db штыревой антенной от роутера добивал до маяка, только если антенна была вертикально или не более 30 градусов наклона от вертикали. Заслоненная собою или более наклоненная антенна прекращала передачу.

Arduino-библиотека для воспроизведения MP3 файлов (со связанными сообщениями и очередями с приоритетами)

Библиотека MP3 плеера

В рамках другого проекта сделал библиотеку для поддержки модуля DFRobot Mini MP3 Player. Работает на Arduino Pro Mini 328p от 5V.
Она основана на драйвере DFPlayer_Mini_Mp3, который предоставляет низкоуровневые функции управления плеером (как обычно, частично глючные, или неподдерживаемые 😃).

Звуки воспроизводятся из mp3-файлов из каталога “mp3” sd-карты, вставленной в модуль плеера. Файлы должны иметь имена в виде номеров Vxxx.mp3, где V = voice (голос) (0…9), а xxx = номер звука (0…999).

Quanum FPV шлем V2, Sat.finder, Low-pass filter для ретранслятора

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

Засада со шлемом Quanum FPV и замена кабеля

Как и многие наверное, летаю в шлеме hobbyking.com/…/__53706__Quanum_DIY_FPV_Goggle_Set…

Так вот, после очень ответственного полета над дачным поселком в пригороде Drøbak’а, шлем перестал показывать. Разобрав его, увидел, что оторвался провод питания шлема (один из многих проводков, выходящих из кабеля). Хорошо еще, что этот болтающийся конец не замкнул на видео или землю . Китайцы не предприняли никаких мер для защиты провода от выдергивания, не сделали никаких ограничителей, и к тому же видимо паяли провода безсвинцовым припоем холодной пайкой. Да и сам кабель не внушал - очень тонкие провода в нем.

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

История одного фейла или "Электроника - наука о контактах"

Я тут уже писал в про то, как у меня из-за отказа управления при недалеком полете на малой высоте упал коптер. На днях этот же 250-й коптер свалился снова. Причем летал с бустером, отлетел метров на 100 и оп - failsafe, коптер мягко сел в сухую траву и стоял так пару минут, вращая моторами, пока я его не нашел. Из-за этого перегрелись заблокированные моторы - странно, что регуляторы (SimonK) не умеют определять, что мотор заблокирован. Один мотор (ZMR, два подшипника!) вращался с усилием, я подумал, что проплавился лак на проводах и получились короткозамкнутые витки. Но разобрав его, увидел, что отклеились 2 магнита и мешали вращению. Определив при помощи другого магнита правильный порядок (полюса должны были чередоваться), я посадил их на густой циакрин, и через часок собрал и испытал. Двигатель вращался нормально, и коптер летает. 😃

Опто драйвер для RGB светодиодов (для APM)

Идея в том, чтобы показывать состояние коптера (GPS фикс, просадка батареи, текущий режим полета) при помощи RGB светодиодов.
По умолчания APM/MegaPirateNG могут управлять светодиодами для индикации GPS фикса и просадки батареии и еще напрямую от канала 7.
Осталось разобраться как управлять LED’ами в зависимости от режима, например, сигнализировать Acro, Stabilize, Loiter, RTL, Land.

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

У регуляторов Turnigy Plush 6A c BLHELI 8.0 слетает прошивка

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

Затем мы с AlcoNaft43 попробывали прочитать из него настройки при помощи программы BLHELI, и не смогли. Затем просто прошили его заново, и регулятор заработал! То есть FET’ы целые были!

В процессе прошивки мы считали настройки из других 3-х регулятров, и в одном из них считался мусор (испортился Throttle Min и название прошивки). То есть сбой в EEPROM произошел, но не в критичном месте.

Вот такой парадоксальный катаклизм я здесь наблюдаю 😒
Как после этого верить электронике?

APM - PPMEncoder

Для APM собрал PPM Encoder, поскольку на моем приемнике нет PPM выхода.
Собрал на такой плате.

Фильтр для бортового видео при однобатарейном питании

У меня на большом и мини-квадрокоптере при питании от одной 3s батареии были заметные помехи на видео. На большом коптере - помехи от ESC при работе моторов - в видел тонких горизонтальных случайных линий. На маленьком - от UBEC, в виде наклонных регулярных линий. На большом коптере видеокамера и вилеопередатчик питались от повышающе-понижающего DCDC на 12V, а на маленьком - от того же UBEC на 5V, который питал приемник, мозг и т.д.

Начал борьбу с помехами я с большого коптера. Видео часть на нем состояла из камеры и VideoTX на 12V, DCDC на 12V, и ранее сделанного фильтра из дросселя (приблизительно 20 витков) на ферритовом колечке (в разрыве плюса питания) и танталового и керамического конденсаторов. Фильтр стоял после DCDC и не оказывал значительного влияния на помехи. Я попробывал сначала запитать всю видео-часть от отдельной 3s батареии. Поскольку OSD требовалась общая земля для измерения напряжения ходовой батареии, земли батарей я соединил. В таком варианте помех не убавилось.

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

Мигалка-маячок для ночных полетов по камере

Мигалка-маячок для ночных полетов по камере

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

Маяк сделан специально без микропроцессоров, на 555 таймере (TS555), одном электролитическом и одном керамическом конденсаторе, резисторе, переменном резисторе, полевом транзисторе из материнской платы, куска макетной платы и LED модуля на 12V.

Прошивка ESC HK BlueSeries 12A с реверсом

Решил перепрошить 6 ESC’ов, уже установленных в коптере. Моторы припаяны к ESC’ам и в половине случаев я ошибся с направлением и исправлял их путем задания реверса в ESC’ах (есть такая возможность). Когда перепрошил их на SimonK bs_nfet.hex, мне это аукнолось - половина моторов крутилась не туда. И вместо перепайки проводов я решил пересобрать прошивку с реверсом. Для этого надо поправить в tgy.asm строчку - заменить 0 на 1:

.equ MOTOR_REVERSE = 0 ; Reverse normal commutation direction

Затем пересобрать его предварительно скаченным avra.exe (c lunarflow.com/):

MakeHexFiles.bat bs_nfet

"Кухонный" переключатель на две камеры для MultiWii

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

Очевидную идею с сервой я проигнорировал, поскольку: а) серва тяжелая (у меня есть только 4г.), б) она дрожит, может сгореть и обесточить борт, может заклинить; в) провод от камеры ломается от перегибов с) не люблю момент когда камера опускается и картинка проносится по экрану 😁.

(Новогодняя) Наземка для FPV на мини-коптере

Из кейса для инструментов собрал быстро развертываемую наземную FPV станцию для мини-коптера. Причем сам мини-коптер замечательно в нее помещается.

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

Фара и FPV оборудование для мини-коптера

Мини-коптер - как тестовый стенд 😒 Из-за небольшой грузоподъемности приходится тщательно подбирать оборудование и во многом ему отказывать 😁
Изначально у него были:

FPV

a) 1g камера, но у нее маленький угол (около 50 градусов), и не понятно откуда брать другие линзы. Также у нее ужасные болотные цвета, на уровне pinhole. Так что я поставил обычную 38 г. CCD (для ночи! 😌) камеру с широким углом, и все стало как надо.

Перепрошивка регуляторов HobbyKing BlueSeries 30A

В коптерных ветках народ во всю регуляторы перепрошивает, и говорит, что после коптер просто не узнать и не нарадоваться. И я тоже перепрошил реги HobbyKing BlueSeries 30A для трикоптера.

Делал по инструкции с polakiumengineering.org/?p=1119

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

Команда из FLASHTOOL у меня не сработала и я шил такой:

avrdude.exe -P usb:21:66 -v -c avrispmkII -p m8 -U flash:w:bs_nfet.hex

Общее впечатление очень хорошее. Ищу еще чего нибудь перепрошить 😁
(Где бы найти прошивку для мироздания? Старая тормозит и глючит…)

Путь к CL-OSD

Давно я смотрел на замечательный проект CL-OSD (code.google.com/p/cl-osd) и мечтал перепрошить свой G-OSD, чтобы избавиться от его нескончаемых подвисаний, порчи и пропадания символов. И когда у меня нашлось время и AlcoNaft43 поделился программатором AVRISPMK2, я решился.

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

Робот 'Бодрый'

На всякий случай, cсылка на проект на Google Code: code.google.com/p/cheerful-bot/

Введение

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

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

Основные модули были куплены на http://www.goodluckbuy.com, некоторые уже были в закромах, а некоторые я собрал сам. В любом случае, я написал аналоги для того, что было не закуплено непосредственно для робота.

Детальное описание

Локатор - эксперименты с Arduino и Processing

Для самообучения сделал сканирующий ультразвуковой локатор (УЗ модуль на серве), который отсылает данные по Bluetooth (как в последовательный порт), и эти данные отрисовывает программа на Processing. В результате получается 100-градусный сектор в котором вспыхивают и медленно гаснут очертания предметов, эхо от которых улавливает радар.

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

Схему уже разобрал так что фоток нету 😇

Код для загрузки в Arduino:

Питание светодиодной подсветки от 220 V

Надо было сделать подсветку белой светодиодной полосой и запитать ее от 220V. Блоков питания в окрестных магазинах не было, а тащиться в Москву за ними времени не было. Поэтому я купил недорогой блок питания для галогенных ламп (импульсный преобразователь на 12V), думая что достаточно поставить маленький диодный мост после него и можно подавать на светодиоды. Не вышло.

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

После моста шел электролитический конденсатор. Оказалось, что нужен еще и гасящий резистор на 5 Ом, поставил и его. Без него напряжение из-за конденсатора поднималось на 14V. Резистор конечно греется но терпимо.

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

Такое рукотворчество из простой задачи 😒