Bookmarks
приступил к постройке пилотажки 1,7 метра под 20 кубовый зенох.
нарисовал я её еще зимой, но руки не доходили до постройки.
строю не себе, человек заказал, так как что-то нормальное под этот мотор найти сложно.
весовая сводка в солиде говорит что пока все вот это весит 3330 граммов, что очень недурно.
пока склеил боковины, клеил все это дело на Gorilla wood glue, у нас наконец-то стали его продавать.
этот клей быстро сохнет и держит очень, очень крепко.
Ну не совсем 350, если честно, еще нужен будет преобразователь USB to TTL UART за 120 р., но, он покупается только один раз. Конечно, если вам нужен всего один лимитер, то от этого конечно не легче, но, тем не менее, даже 470 рублей в 12 раз меньше, чем 5700 рублей стоимости того же Altis Nano. На мой взгляд, это просто невероятно дёшево.
В общем, после прочтения оригинальной статьи от Вячеслава Мягкова (msl_272), решил спаять себе такой же лимитер, не для соревнований, конечно (для них у меня есть Altis V4), а так, для интереса. Естественно, для приличных соревнований этот лимитер не подойдет, там сертифицированный нужен, а для местных вполне и цена тут является определяющим фактором, имхо.
Так как я в электронике не разбираюсь от слова совсем, а умею только припаивать одни цветные проводочки к другим, в статье Вячеслава было много непонятных для меня вещей, я его замучил вопросами, в результате чего (и с разрешения Вячеслава) родилась эта статья, где я попытался осветить весь процесс более подробно и более понятно как раз для таких, как я. Ну и с целью популяризации класса F5J, конечно, для авиамодельных кружков такой лимитер просто находка. За такую-то цену.
Сразу хочу предупредить, что, хоть эта статья и не является полным клоном статьи Вячеслава, принципиально нового в ней ничего нет (ну, разве что замена Bluetooth-модуля JDY-08 на JDY-23 и то это не очень принципиально), просто всё то же самое хотел описать более подробно, со всеми граблями, на которые я наступил.
С лирическим отступлением закончено, к делу. Список нужных компонентов с ценами на момент написания статьи:
- Основная плата Arduino Pro Mini 328P-AU 5V (на 5V нужна, обратите внимание) - 195. 55 р.
- Датчик высоты - I2C SPI BMP280 3.3 Digital Barometric Pressure Altitude Sensor - 45.81 р.
- Bluetooth-модуль - JDY-23 Bluetooth 5.0 Module - 86.61 р.
- USB 2.0 to TTL UART модуль - 6pin CP2102 USB 2.0 to TTL UART Module - 115.24 р.
- Резисторы на 1кОм в любом магазине радиодеталей типа Чип и Дип. Стоят копейки, 2-3 рубля за штуку, рублей на 10-20 всего выйдет.
В статье у Вячеслава указан Bluetooth-модуль JDY-08, но с момента ее написания прошло уже два года и он стал стоить какие-то совсем негуманные деньги (для такой мелочи). Поэтому, по совету автора, я приобрел модуль JDY-23, который ничем не хуже, зато сильно дешевле.
Стоимость я указал с самой дешёвой доставкой, на aliexpress надо быть аккуратнее, так как иногда продавцы меняют доставку по умолчанию на более дорогую.
Кроме того, понадобятся провода с серво-разъёмами папа и мама. Вообще, у каждого уважающего себя моделиста, эти провода должны иметься в достаточном количестве. У кого вдруг нет, можно купить удлинитель типа такого www.aliexpress.com/item/1005003259123577.html (запрос в поиске “servo cable extensions”) и разрезать его пополам, как раз получится то, что надо.
Также нужны будут временные провода для прошивки, можно наколхозить из тех же удлинителей, у меня же валялись такие штуки www.aliexpress.com/item/32228711415.html (запрос “2.54mm Pin Breadboard Cable Wire Arduino”), из них и взял.
Для начала схема. Лично мне её очень не хватало, потому что не всегда из фотографий понятно, что и к чему припаивать. Поэтому пусть будет. Схема нарисована для обычных людей, электронщики, будьте снисходительны к системному администратору, который компьютерные сети рисовать умеет, а всякие там печатные платы - нет. Схема и прочие фотографии в тексте кликабельны, по ссылке фото оригинального размера, чтобы было лучше видно:
Дальше сам процесс пошагово.
- Берем плату ардуины и припаиваем к ней разъём для программирования. С самой платой в комплекте идет идет угловой разъем из 6-и пин, нам же нужно только 5, поэтому один аккуратно отрезаем, он еще пригодится в будущем.
Разъём припаиваем наоборот (для большей компактности всего устройства), вставляя в плату длинными концами, а пластмассу в дальнейшем (в самый последний момент) уберём, для лучшего контакта, так как коротких концов может просто не хватить. Разъём припаиваем к контактам DTR, TXO, RXI, VCC, GND. Вывод GND в правом нижнем углу остается пустым, он нам ещё пригодится.
Дальше, последовательность действий с Вячеславом у меня расходится, мне показалось, что так будет удобней, как именно делать, решать вам.
- Припаиваем два прямых пина к A4 и A5. Их удобней припаять в первую очередь, кроме своей основной функции, они будут работать как направляющие для проводов:
Что-то фото не очень удачное, вот с такого ракурса еще (это уже почти готовое устройство):
wr8jxg.dm.files.1drv.com/…/5.jpg?psid=1 (1.0 MB)
-
Выпаиваем кнопку Reset-а, она не нужна, так как может случайно нажаться и будет мешать проводам.
-
Дальше, на мой взгляд, удобней припаять минус. Берём провода с серво-разъёмами, один папа, другой мама и обрезаем с нужным запасом. Я, не мудрствуя лукаво, взял размеры проводов, выходящих за пределы платы, равными размеру аналогичных проводов в лимитере Altis V4 - 110 мм. Плюс по самой плате 40 мм, плюс запас 10 мм. Итого по 160 мм на каждый провод. И всё равно два раза перепаивал и вышло на сантиметр короче, чем надо, так что если кто в себе не уверен, лучше не 10 мм, а побольше запаса взять.
Прикидываем так, оба минусовых (черных) провода будут паяться к выводу GND, оставленному нами пустым в шаге 1, их нужно сделать примерно на сантиметр-полтора короче остальных проводов (те потом по месту отрежутся). Фото для пунктов 4…7:
-
Припаяли минусовые, красиво уложили, дальше плюсовые (красные) паяем к выводу RAW. У меня что-то они получились коротковаты и вышло не очень, лучше из сделать немного подлиннее и обвести вокруг, чтобы получился прямой угол, тогда они не будут мешать датчику сверху. Перед пайкой, можно прикинуть, надеть датчик на пины A4 и A5 сверху, тогда будет понятно, какой длины делать плюсовые провода.
-
Дальше, сигнальный (белый) провод (который идет к приемнику) будет контактировать с выводом 2 через резистор 1 кОм, но припаивать его мы будем к выводу 3, просто для лучшего крепления резистора.
Если честно, на мой взгляд не стоит оно того и можно взять обычный резистор, а не мучиться с SMD-шным. Но меня что-то перфекционизм заел и захотелось повторить подвиг Вячеслава. Я это сделал, конечно, но сто раз пожалел и проклял всё. Так как перепаивал несколько раз это место, в процессе умудрился выломать 3-й вывод из платы, слава богу что 3-й - лишь технический и не нужен нам. Если кто геройствовать не хочет, тому лучше взять обычный резистор и припаять его к выводу 2.
В итоге этих мучений я сформировал для себя следующую последовательность действий:
-
Отрезаем провод по месту с небольшим запасом (делать кривую в виде буквы S, как у меня, необязательно, но небольшой запас не помешает), зачищаем конец (лучше не облуживать, а то может и в отверстие не влезть и резистор к нему плотно не прижмётся) и вставляем его в вывод 3.
-
Берем SMD-шный резистор, прикладываем одним концом вплотную к проводу в выводе 3, вторым к выводу 2, пинцетом прижимаем его к плате и как-то фиксируем эту конструкцию, чтобы освободить руки.
-
Аккуратно припаиваем, причем резистор сверху платы со стороны выводов 2 и 3, а с обратной стороны - торчащий из пина 3 провод, на всякий случай.
-
Так как вывод 3 используется только для того, чтобы получше закрепить резистор, то нужно с обратной стороны платы аккуратно перерезать идущую к нему дорожку (а если паяете обычный резистор к пину 2, то, соответственно, резать ничего не нужно):
У меня это автоматически получилось в тот момент, когда я случайно выломал этот вывод целиком, как я писал выше.
-
Сигнальный (белый) провод, идущий от регулятора хода (ESC), загибаем и проводим под проводами, припаиваем его к выводу 7, тут всё просто.
-
Припаиваем пины для выводов GND сверху и VCC внизу платы. Тут как раз пригодится тот угловой пин, который остался от разъёма для программирования в шаге 1. Правда, нужен второй такой, у меня угловых еще был запас, но, можно и из прямого согнуть, впритык, но хватит. Для VCC гнём примерно так:
убираем пластмасску, прикидываем с датчиком, как это будет стоять и припаиваем. Можно и потом конечно подогнуть, но, на мой взгляд всё же лучше поменьше гнуть уже припаянный на плате.
С выводом GND я сделал неправильно, не так понял, что в статье написано и почему-то подумал, что “площадка” - это одно из двух больших отверстий в датчике. Поэтому решил, завести его внутрь площадки отверстия, мне показалось так удобней, можно датчик просто сверху надеть на контакты и спокойно паять. Но, оказалось, что под “земляной площадкой” имелся в виду металлизированный слой на плате датчика, поэтому, спаяв всё устройство, я удивился, что датчик не заработал.
Полностью переделывать я не стал, на датчике BMP280, зачистил этот уголок вот так:
и капнул туда припоя, чтобы он соединился с пином GND.
Но, лучше, конечно, так не делать, а подогнуть пин снаружи датчика и припаять к зачищенному участку, как у Вячеслава и сделано, собственно. Фото, как надо, у меня нет, потому что уже сделал, как не надо.
-
В этом пункте как раз берем датчик BMP280 и припаиваем все 4 пина к нему, VCC, SCL,SDA и GND. Про GND я в предыдущем пункте написал. Фото тоже там же.
-
Подготовка Blueetooth-модуля к прошивке. В отличие от JDY-08, на модуле JDY-23 нет обозначений выводов и пришлось лезть в Интернет и искать на него даташит. В нём вот такая схемка:
Временно припаиваем провода с разъемами к модулю, к следующим выводам:
- 1 VCC
- 2 GND
- 19 TXD
- 20 RXD
- Вставляем разъемы в USB-UART-модуль так:
- 1 VCC -> +5V
- 2 GND -> GND
- 19 TXD -> RXD
- 20 RXD -> TXD
-
Скачиваем драйвер для USB-UART модуля. Для того, который я купил (гуглится запросом “usb-uart cp2102 driver”) отсюда: www.silabs.com/…/usb-to-uart-bridge-vcp-drivers . Устанавливаем драйвер и подключаем модуль к USB-порту компьютера.
-
Заходим в настройки диспетчера устройств Windows > Ports (COM и LPT) и ищем там наше устройство USB to UART. У меня это выглядит как-то так:
Нам оттуда нужен только номер порта, у меня это 12-й порт.
Так как весь текст в статью не влез, превышено какое-то количество символов, пришлось ее разбить на две части, вторая часть здесь: Лимитер для планеров класса F5J за 350 рублей. Часть 2.
Продолжаем, часть вторая. Первая здесь: Лимитер для планеров класса F5J за 350 рублей. Часть 1
-
Скачиваем программу RS232-терминала, в принципе можно любой, но я тоже буду использовать Termite (скачать можно отсюда: www.compuphase.com/software_termite.htm ) и запускаем её.
-
Заходим в настройки программы выставляем их в соответствии с даташитом JDY-23 так:
- Порт - COM12 (тут ставите свой порт)
- Бит в сек. - 9600
- Биты - 8
- Стоп. биты - 1
- Чётность - нет
- Polling - 150 ms
Для JDY-23 обязательно нужно поставить селектор на “Добавить CR+LF”, иначе получите ошибку Err:1003. Остальное оставляем по умолчанию.
-
После выхода из настроек, терминал должен автоматически подключиться, если нет, нажмите на поле “Нет подключения. Установить связь”. После этого там должно появиться что-то типа того: “COM12 9600 bps, 8N1, без управл. потоком”.
-
Вводим команды:
- AT+VER - необязательно, просто для проверки функционирования устройства.
- AT+MAC - аналогично, чтобы просто узнать MAC-адрес устройства.
- AT+NAME<имя устройства> - задаем имя устройства. Без параметров выводит текущее имя устройства.
- AT+BAUD3 - задаем скорость передачи данных 19200 bps.
Учтите, что скорость поменяется только после выключения и включения Bluetooth-модуля и если после этого вы вдруг опять захотите к нему подключиться терминалом, в настройках нужно будет выставить скорость 19200 bps.
Что касается имени, я не стал его менять и оставил по умолчанию. Если же вы планируете участвовать в соревнованиях, где будет как минимум два таких устройства, есть смысл сменить имя на что-то более уникальное. Есть, конечно уникальный MAC-адрес, но с именем будет удобней. Как-то так, к примеру:
AT+NAMELIMITER001
-
Всё модуль настроен, отпаиваем проводки от него.
-
Теперь нужно припаять модуль Bluetooth к плате Arduino. Для этого сначала нужно на обратную сторону ардуины прилепить изоляционную подложку. По подсказке Вячеслава я для этого использовал полиамидный термоскотч. Вплотную к контактам его лепить не надо, лучше оставить миллиметр-полтора, а то резисторы будут плохо припаиваться.
Я паял в такой последовательности:
- Сначала все провода к Bluetooth-модулю, красный (VCC) самый длинный, немного с запасом. Черный (GND) покороче, можно тоже немного с запасом.
- Провод RXD - TXO прикидываем точно, учитывая резистор, от него проще плясать будет (опять же, можно взять обычные резисторы, а не SMD, немного подальше тогда отодвинется модуль, да и ничего страшного). Я паял сначала резистор к проводу, потом провод к Bluetooth-модулю.
- Провод TXD - RXI будет изгибаться и пересекаться с предыдущим, надо его поточнее прикинуть. Я паял аналогично, сначала резистор к проводу, затем провод к модулю.
- Когда все провода припаяны к модулю, прикладываем его на свое место и точно обрезаем провода VCC и GND по месту.
- Аккуратно припаиваем сначала RXD - TXO, держа резистор пинцетом (счастливые люди те, кто возьмут обычные резисторы).
- Затем аналогично TXD - RXI. Так как провода пересекаются, между ними обязательно должна быть изоляция.
- И затем оставшиеся VCC и GND.
- С пайкой закончили, теперь надо прошить устройство. Подключаем USB-UART к лимитеру так:
- DTR - DTR
- RXD - TXO
- TXD - RXI
- +5V - VCC
- GND - GND
И подключаем USB-UART к компьютеру. У меня тут уже готовое устройство на фото, но я бы советовал подождать с обтяжкой термоусадкой до полной проверки устройства.
- Скачиваем программку gcUploader отсюда: getchip.net/…/136-gc-uploader-avtomaticheskijj-zag…
Запускаем её, в появившемся маленьком окошечке нажимаем на шестеренку (Options):
Type выставляем “Pro Mini”, порт ставим свой (у меня COM12), а в поле HEX тащим из проводника файл прошивки (limiter.zip надо распаковать из вложения к этой статье или в теме Вячеслава), после этого путь к файлу там автоматически прописывается.
И нажимаем изображение чипа в левом верхнем углу, прошивка идет какое-то недолгое время, несколько секунд, пока не появится зеленая галка. Всё, готово.
- Теперь надо проверить. Подключаем к питанию разъем лимитера, который идет от регулятора хода (мама), напряжение должно быть 5V. Можно и сразу в самолет подключить, если кто сильно хочет.
Берем мобильный телефон на Android (для iOS придется поискать что-то аналогичное), заходим в “Play Market”, вводим в поиске “Serial Bluetooth Terminal” и выбираем из найденного списка Serial Bluetooth Terminal от Kai Morich, устанавливаем его.
Включаете Bluetooth и геолокацию на телефоне, потом открываете приложение “Serial Bluetooth Terminal”. При открытии приложения оно запросит разрешения, их надо ему обязательно дать, иначе оно не сможет искать наш лимитер. После открытия приложение выглядит как-то так:
Нажимаем три полоски в правом верхнем углу программы > Devices. Там переключаемся на вкладку Bluetooth LE и нажимаем кнопку SCAN рядом с шестеренкой в правом верхнем углу. При сканировании должен найтись наш лимитер. У меня это JDY-23 здесь:
Нажимаем на него и должен произойти коннект с лимитером:
Водим команды по одной
fly
inf
prm
Они должны отобразить разную интересную информацию. Всё, проверка пройдена. Можно еще видео посмотреть у Вячеслава:
rcopen.com/blogs/81730/23762
Для соревнований, нужны всего два параметра, собственно, Time motor и MAX_Start_Altitude.
Первый - это время работы двигателя в секундах, должно быть не больше 30-и. Если добавлено “DUBLE START!!!”, значит было повторное включение. Время мотора считается с первой секунды, но если время включения не превысило 2-х секунд, то система перейдет в начальное состояние и полет не будет засчитан. Таким образом пилот может включить модель и безбоязненно проверить работу мотора перед стартом коротким включением газа (до 2-х секунд). Автор устройства сделал это специально. Выходя на старт пилот должен быть абсолютно уверен, что техника работает и готова к полету.
MAX_Start_Altitude - это максимальная высота взлета модели с момента старта до момента выключения двигателя плюс 10 секунд. Именно эту цифру нужно писать в протокол.
Остальные параметры подробно расписаны у Вячеслава в статьях:
rcopen.com/blogs/81730/23390
rcopen.com/blogs/81730/23472
-
Смываем флюс, обрезаем торчащие концы пинов, советую также их немного затупить надфилем, чтобы термоусадку не прорвать и, собственно, надеваем её и термоусаживаем. Я ещё предварительно из термопистолета в некоторых местах клеем капнул, чтобы провода не болтались. Финальное фото лимитера:
-
Проверить решил на самолёте, не в полёте, так как не сезон, а так, поставил лимитер в свой планер (не весь, правда, а только фюзеляж), включил двигатель и полез с ним по лестнице. Двигатель отключился через 30 секунд, тут всё отлично. Постоял наверху 10 секунд, слез обратно. Вот такая информация была после этого, на 4.5 метра вверх залез:
Ну и лог тоже интересно посмотреть, но это уже сами ) Обратите внимание, что кнопки на M1…M6 можно привязать свои команды, как раз самые используемые шесть туда отлично поместились.
Фуух, всё, закончил )