Подвес камеры, устройство хорошее и нужное, но им нужно управлять.
Неважно, такой:
Или такой:
Для летательных аппаратов, у которых есть подвес камеры, всегда приходится придумывать, каким образом этим подвесом управлять. Хотя кажется, что все придумано до нас, но придумывать приходится всёравно. Казалось бы есть три основных варианта.
Во-первых, подвес настроить на использование крутилок или слайдеров пульта. Но крутилки не удобны, а слайдеры есть не у всех пультов. У моего тараниса их нет например.
Во-вторых, хеадтрекер. Штука удобная, но приходится выбирать или хеадтрекер, или использовать голову в качестве антенного трекера, наводя антенну на самолет с помощью поворота головы.
В-третьих, подключить еще один пульт и управление повороткой возложить на помощника.
Ну и еще иногда народ пытается колхозить четвертый вариант. Отключить штатные крутилки и подключить вместо них джойстик. Этот вариант не особо получил распространение из-за того, что приходится переделывать пульт. Да и не спортивно как-то.
Собственно, вот еще одна вариация на тему джойстика. Несложный контроллер джойстика с выходом в CPPM подключенным к тренерскому разъему.
Вообще можно было не заморачиваться и выломать контроллер из какого-нибудь древнего пульта. Но с другой стороны наваять несложную программку для AVR не долго. Я как всегда сначала делаю, а потом понимаю, что можно было и проще.
Под рукой оказался ATmega328. Изначально я планировал ATmega8, но что-то в закромах не нашел. Ресурсов бы и Меги8 хватило бы. При рисовании платы под 328ю Мегу пришла идея, а не написать ли код на Ардуино? Тем более, до этого я как-то обходился CodeVisionAVR и Arduino не пробовал. Подогнать разводку платы под схемотехнику Ардуино не сложно. Только добавил UART. Пришлось правда и загрузчик в Мегу зашить, чтобы уж совсем по феншую.
В последствии оказалось что незачем было так извращаться. Особой разницы в написании кода нет. Разве что наличие готовой функции «map» избавило от написания своей несложной функции приведения диапазонов переменных. Выигрыш сомнительный в моем случае. А еще в конце написания кода я поддался лени окончательно и взял из интернета готовый обработчик прерывания для формирования PPM (quadmeup.com/generate-ppm-signal-with-arduino/). Стыжусь 😃
Сама прошивка делалась из расчета, чтобы путем несложной доработки из нее можно было сделать полноценный энкодер для RC-пульта, просто копипастом добавляя куски в код и правя переменные. Поэтому в прошивке придусмотрена инверсия каналов, включение экспоненты и изменение расходов. В данном исполнении экспонента 35% и расходы 75%. Они включаются замыканием соответствующих перемычек. Но ничего не мешает, сделав минимальные изменения кода, повесить эти параметры на отдельные крутилки. Реверсы каналов X и Y так-же сделаны ждемперами. В данной реализации нет никакой необходимости в таких настройках. Всерано устройство подключается к пульту, где можно и расходы, и реверсы, и кривые настроить, подвинуть среднюю точку.
Вот что получилось в тоге:
Несколько слов о деталях и схеме. Схема сделана в EAGLE CAD под лазерный утюг. Резисторы и конденсаторы планарные размера 0805. Две перемычки на плате размера 1206. Светодиоды, нижний индикатор питания, а верхний индикация режимов. В режиме калибровки верхний непрерывно горит, в режиме обычной работы быстро мигает (раз 10 в секунду). Плата рисовалась так, чтобы она была односторонней и у нее не было перемычек на верхней стороне. Корпус не делал. У меня одна модель с таким подвесом и пользуюсь я ей не часто. По этому необходимости в гламурном корпусе я не вижу.
Плата контроллера джойстика крепится к скобе пульта зажимами. Снизу к механизму джойстика приклеен кусок пористой резины. Вся его механика умещается в углублении пульта между радиомодулем и резиновой “подошвой”, за которую мы обычно этот пульт держим. Сидит все это довольно плотно и не ерзает. Питается все это от той-же батарейки, что и пульт. В моем случае это 3s батарейка для старшего тараниса. В отсек такая батарея не помещается, по этому у меня она пристегнута к крышке батарейного отсека снаружи. У меня просто была дополнительная крышка и я ее слегка модифицировал. Это к слову так сказать.
На данный момент используются 4 канала. Два пропорциональных и два переключателя. Один переключатель это кнопка джойстика, второй это тумблер чуть ниже. Тумблером я отключаю ОСД, кнопкой переключаю камеры. У меня их две. Одна короткофокусная, другая длиннофокусная (относительно конечно, 16мм).
Если делать на ардуино, то скоммутировать все можно по такой схеме:
Несколько слов о калибровке. Если при включении замкнуть джемпер CALIB, то приставка включится в режиме калибровки. Загорится верхний светодиод. Положения джойстика в момент включения будут использоваться как центральные. После этого нужно пошевелить джойстиком чтобы контроллер запомнил максимальные положения. После размыкания джемпера значения запишутся в EEPROM. Светодиод начнет быстро мигать. Я сначала хотел сделать джемпер съемный, потом всетаки припаял вместо джемпера кнопку. Для калибровки я ее зажимаю и включаю питание. Потом отпуская - калибровка завершена.
Добрый день, а видео в работе можно как то посмотреть?
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"5039ce113df95500777409af":{"_id":"5039ce113df95500777409af","hid":124370,"name":"SVA_sar","nick":"SVA_sar","avatar_id":null,"css":""},"618c0b163df95500776f229c":{"_id":"618c0b163df95500776f229c","hid":373441,"name":"alex_msc5","nick":"alex_msc5","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"5c3b329b9970730077118674","hid":23680,"title":"Пристака-джойстик для управления подвесом камеры.","html":"<p>Подвес камеры, устройство хорошее и нужное, но им нужно управлять.<br>\nНеважно, такой:<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2b119970730077891a17\" target=\"_blank\" data-nd-media-id=\"5c3b2b119970730077891a17\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2b119970730077891a17\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2b119970730077891a17_sm\" alt width=\"170\" height=\"150\"></a><br>\nИли такой:<br>\n<!--cut</p>-->\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2c679970730077891fe3\" target=\"_blank\" data-nd-media-id=\"5c3b2c679970730077891fe3\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2c679970730077891fe3\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2c679970730077891fe3_sm\" alt width=\"170\" height=\"150\"></a><br>\nДля летательных аппаратов, у которых есть подвес камеры, всегда приходится придумывать, каким образом этим подвесом управлять. Хотя кажется, что все придумано до нас, но придумывать приходится всёравно. Казалось бы есть три основных варианта.<br>\nВо-первых, подвес настроить на использование крутилок или слайдеров пульта. Но крутилки не удобны, а слайдеры есть не у всех пультов. У моего тараниса их нет например.<br>\nВо-вторых, хеадтрекер. Штука удобная, но приходится выбирать или хеадтрекер, или использовать голову в качестве антенного трекера, наводя антенну на самолет с помощью поворота головы.<br>\nВ-третьих, подключить еще один пульт и управление повороткой возложить на помощника.<br>\nНу и еще иногда народ пытается колхозить четвертый вариант. Отключить штатные крутилки и подключить вместо них джойстик. Этот вариант не особо получил распространение из-за того, что приходится переделывать пульт. Да и не спортивно как-то.<br>\nСобственно, вот еще одна вариация на тему джойстика. Несложный контроллер джойстика с выходом в CPPM подключенным к тренерскому разъему.<br>\nВообще можно было не заморачиваться и выломать контроллер из какого-нибудь древнего пульта. Но с другой стороны наваять несложную программку для AVR не долго. Я как всегда сначала делаю, а потом понимаю, что можно было и проще.<br>\nПод рукой оказался ATmega328. Изначально я планировал ATmega8, но что-то в закромах не нашел. Ресурсов бы и Меги8 хватило бы. При рисовании платы под 328ю Мегу пришла идея, а не написать ли код на Ардуино? Тем более, до этого я как-то обходился CodeVisionAVR и Arduino не пробовал. Подогнать разводку платы под схемотехнику Ардуино не сложно. Только добавил UART. Пришлось правда и загрузчик в Мегу зашить, чтобы уж совсем по феншую.<br>\nВ последствии оказалось что незачем было так извращаться. Особой разницы в написании кода нет. Разве что наличие готовой функции «map» избавило от написания своей несложной функции приведения диапазонов переменных. Выигрыш сомнительный в моем случае. А еще в конце написания кода я поддался лени окончательно и взял из интернета готовый обработчик прерывания для формирования PPM (<a href=\"https://quadmeup.com/generate-ppm-signal-with-arduino/\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://quadmeup.com/generate-ppm-signal-with-arduino/\" target=\"_blank\" rel=\"nofollow noopener\">quadmeup.com/generate-ppm-signal-with-arduino/</a>). Стыжусь <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span><br>\nСама прошивка делалась из расчета, чтобы путем несложной доработки из нее можно было сделать полноценный энкодер для RC-пульта, просто копипастом добавляя куски в код и правя переменные. Поэтому в прошивке придусмотрена инверсия каналов, включение экспоненты и изменение расходов. В данном исполнении экспонента 35% и расходы 75%. Они включаются замыканием соответствующих перемычек. Но ничего не мешает, сделав минимальные изменения кода, повесить эти параметры на отдельные крутилки. Реверсы каналов X и Y так-же сделаны ждемперами. В данной реализации нет никакой необходимости в таких настройках. Всерано устройство подключается к пульту, где можно и расходы, и реверсы, и кривые настроить, подвинуть среднюю точку.<br>\nВот что получилось в тоге:<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2fee9970730077893d90\" target=\"_blank\" data-nd-media-id=\"5c3b2fee9970730077893d90\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2fee9970730077893d90\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2fee9970730077893d90_sm\" alt width=\"170\" height=\"150\"></a><br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b300e997073007789434d\" target=\"_blank\" data-nd-media-id=\"5c3b300e997073007789434d\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b300e997073007789434d\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b300e997073007789434d_sm\" alt width=\"170\" height=\"150\"></a><br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b302a9970730077894932\" target=\"_blank\" data-nd-media-id=\"5c3b302a9970730077894932\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b302a9970730077894932\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b302a9970730077894932_sm\" alt width=\"170\" height=\"150\"></a><br>\nНесколько слов о деталях и схеме. Схема сделана в EAGLE CAD под лазерный утюг. Резисторы и конденсаторы планарные размера 0805. Две перемычки на плате размера 1206. Светодиоды, нижний индикатор питания, а верхний индикация режимов. В режиме калибровки верхний непрерывно горит, в режиме обычной работы быстро мигает (раз 10 в секунду). Плата рисовалась так, чтобы она была односторонней и у нее не было перемычек на верхней стороне. Корпус не делал. У меня одна модель с таким подвесом и пользуюсь я ей не часто. По этому необходимости в гламурном корпусе я не вижу.<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2d0299707300778925d9\" target=\"_blank\" data-nd-media-id=\"5c3b2d0299707300778925d9\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2d0299707300778925d9\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2d0299707300778925d9_sm\" alt width=\"170\" height=\"150\"></a><br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2d6a99707300778931a1\" target=\"_blank\" data-nd-media-id=\"5c3b2d6a99707300778931a1\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2d6a99707300778931a1\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2d6a99707300778931a1_sm\" alt width=\"170\" height=\"150\"></a><br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2d7c997073007789377c\" target=\"_blank\" data-nd-media-id=\"5c3b2d7c997073007789377c\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2d7c997073007789377c\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2d7c997073007789377c_sm\" alt width=\"170\" height=\"150\"></a><br>\nПлата контроллера джойстика крепится к скобе пульта зажимами. Снизу к механизму джойстика приклеен кусок пористой резины. Вся его механика умещается в углублении пульта между радиомодулем и резиновой “подошвой”, за которую мы обычно этот пульт держим. Сидит все это довольно плотно и не ерзает. Питается все это от той-же батарейки, что и пульт. В моем случае это 3s батарейка для старшего тараниса. В отсек такая батарея не помещается, по этому у меня она пристегнута к крышке батарейного отсека снаружи. У меня просто была дополнительная крышка и я ее слегка модифицировал. Это к слову так сказать.<br>\nНа данный момент используются 4 канала. Два пропорциональных и два переключателя. Один переключатель это кнопка джойстика, второй это тумблер чуть ниже. Тумблером я отключаю ОСД, кнопкой переключаю камеры. У меня их две. Одна короткофокусная, другая длиннофокусная (относительно конечно, 16мм).<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b31839970730077895438\" target=\"_blank\" data-nd-media-id=\"5c3b31839970730077895438\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b31839970730077895438\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b31839970730077895438_sm\" alt width=\"170\" height=\"150\"></a><br>\nЕсли делать на ардуино, то скоммутировать все можно по такой схеме:<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b306d9970730077894eae\" target=\"_blank\" data-nd-media-id=\"5c3b306d9970730077894eae\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b306d9970730077894eae\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b306d9970730077894eae_sm\" alt width=\"170\" height=\"150\"></a><br>\nНесколько слов о калибровке. Если при включении замкнуть джемпер CALIB, то приставка включится в режиме калибровки. Загорится верхний светодиод. Положения джойстика в момент включения будут использоваться как центральные. После этого нужно пошевелить джойстиком чтобы контроллер запомнил максимальные положения. После размыкания джемпера значения запишутся в EEPROM. Светодиод начнет быстро мигать. Я сначала хотел сделать джемпер съемный, потом всетаки припаял вместо джемпера кнопку. Для калибровки я ее зажимаю и включаю питание. Потом отпуская - калибровка завершена.</p>\n<p>Прошивки схемы и тп.:<br>\n<a class=\"attach attach-bin attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b31d29970730077895488\" target=\"_blank\" data-nd-media-id=\"5c3b31d29970730077895488\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b31d29970730077895488\"><span class=\"attach__icon icon icon-binary\"></span><span class=\"attach__content\">shem.zip</span></a><br>\n<a class=\"attach attach-bin attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b31d29970730077895ccb\" target=\"_blank\" data-nd-media-id=\"5c3b31d29970730077895ccb\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b31d29970730077895ccb\"><span class=\"attach__icon icon icon-binary\"></span><span class=\"attach__content\">joy2axle.zip</span></a></p>\n<p><a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member124370/media/5c3b2d199970730077892bcb\" target=\"_blank\" data-nd-media-id=\"5c3b2d199970730077892bcb\" data-nd-image-orig=\"https://rcopen.com/member124370/media/5c3b2d199970730077892bcb\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5c3b2d199970730077892bcb_sm\" alt width=\"170\" height=\"150\"></a></p>\n","user":"5039ce113df95500777409af","ts":"2019-01-13T12:44:11.000Z","st":1,"cache":{"comment_count":1,"last_comment":"6190e355997073007711c1f1","last_comment_hid":1,"last_ts":"2021-11-14T10:22:13.000Z","last_user":"618c0b163df95500776f229c"},"views":725,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}