Jump to content

Рабочий вариометр Вар-30МК для DCS


Recommended Posts

Всем привет!

И так будет сказ о том, как я прибор "пилил" 

На одном из маркетплейсов был приобретен за недорого списанный симпатичный вариометр Вар-30МК. Как говорится: "Уходя с аэродрома..." Первоначально планировался просто для красоты, но потом в мою голову полезла идея его "оживить".. И понеслось ))

 

imitator-variometra_2.jpg


Edited by Vzhik
Link to comment
Share on other sites

По железу в итоге я остановился на Arduino Uno R3, шаговом движке x27-168, контроллере EasyDriver и пачке проводов папа-мама/; папа/папа.

 

Теперь ссылки для самостоятельного изуверства изготовления подобного:

Я не первый и не последний. Вот тут прям много всего, но на забугорном ((

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

DCS-BIOS , BORT- обе проги нужны для того, чтобы вытащить нужные цифры из игры и отправить их в Arduino. 

Ещё более НУЖНОЕ видео для понимания того, что куда паять и втыкать. (Читаемо с русскими с субтитрами, если Вы опять же не переводчик)) )

Код скетча к видео выше для Arduino

 

З.Ы. Можно запилить практически любой прибор под любую поддерживаемую летаблу. Список оных есть в readme по ссылке на DCS-BIOS


Edited by Vzhik
правки
Link to comment
Share on other sites

Ну и теперь подробности:

Для разборки прибора потребовался плунжер для снятия стрелки (есть на втором фото) Заказывал из поднебесной за копейки. Ждать только писец... Можно и вилкой, обмотанной изолентой, но мне хотелось красиво ))

Набор "часовых" отверток. Те которые очень маленькие для того чтобы открутить два малюсеньких винтика крепления циферблата.

Обычные отвёрточки из фикспрайса.

Снаружи/внутри прибора:

 

20240127_111232.jpg

20240127_111515.jpg

20240127_112302.jpg

20240127_112938.jpg

20240127_112942.jpg

20240127_112958.jpg

20240127_113001.jpg

20240127_113132.jpg

Методом научного "тыка" был слегка разобран ))

 

 

20240127_115846.jpg

Link to comment
Share on other sites

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

В версии 1.0 я решил попробовать сервопривод, что значительно упрощало реализацию ввиду готового кода из проги BORT, но оказалось что купленная серва весьма и весьма неточная. Неточная потому что дешёвая, а хорошая дорогая стоит около 6 тыр...

Результат соответствовал: задержки, дёргания туда/сюда, резкие толчки...

Короче пришлось отказаться от этой идеи.

 

 

20240129_195946.jpg

20240131_194504.jpg

20240131_203544.jpg

20240131_204930.jpg


Edited by Vzhik
правки
Link to comment
Share on other sites

Версия 2.0 подразумевает шаговый движок x27-168 (на алике их завались) от спидометра машин корпорации GM. Умельцы с помощью контроллера EasyDriver (на алике их тоже завались) и подобных научились управлять им через Arduino, чем я воспользовался и водрузил его в прибор )) 

Готовый код для реализации в DCS есть по ссылке выше

Обратите внимание, что подключение движка к контроллеру по пинам будет: 1-1, 2-2, 3-4, 4-3 (В видео по ссылке выше об этом будет!)

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

 

20240205_165026.jpg

20240205_215759.jpg

20240205_215815.jpg

20240207_190940.jpg

20240208_135751.jpg

20240208_184207.jpg

20240208_184216.jpg

20240208_184737.jpg

Link to comment
Share on other sites

Что нужно изменить в коде есть в видео по ссылке выше. То что лично я менял в части кода для себя выделено зелёным:

/* define stepper parameters
  multiple Vid29Stepper instances can share the same StepperConfig object */
struct StepperConfig stepperConfig = {
 3600,  // maxSteps (максимальное количество шагов. Изменять для каждого прибора в зависимости от его рабочей "окружности") 
 1000, // maxSpeed (максимальная скорость. Тоже менять "под себя". Пишут, что чем больше, тем больше "дёргается") 
 10000 // acceleration
 };


// define AccelStepper instance
[b]AccelStepper stepper(AccelStepper::DRIVER, 11, 10);[/b]
// define Vid29Stepper class that uses the AccelStepper instance defined in the line above
//           +-- arbitrary name
//           |   +-- Address of stepper data (from control reference)
//           |   |       +-- name of AccelStepper instance
//           v   v       v        v-- StepperConfig struct instance
Vid29Stepper vvi(0x10a0, stepper, stepperConfig, [](unsigned int newValue) -> unsigned int { //"адрес" откуда берутся данные из DCS. Индивидуален для каждого прибора каждой летаблы!!! 
 /* this function needs to map newValue to the correct number of steps */
 return map(newValue, 0, 65535, 0, stepperConfig.maxSteps);
}); 
Link to comment
Share on other sites

Напоследок хочу сказать, что приборчик у меня вышел "дёрганым" из-за передаточных чисел с больших шестерёнок на маленькую. Соответственно каждый мелкий шаг передаётся бОльшим шагом на стрелку. Вызвано это было тем что угол поворота шагового двигателя x27-168 всего 315 градусов, а мне нужно было 360. Имейте это ввиду, если надумаете делать подобное!!!

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

Сказано-сделано. Поставил валик меньшего диаметра и параметр максимального количества шагов увеличился с 3600 до 4790. Визуально стало чуть‐чуть лучше, но, как ни крути, шаговый двигатель, он и в африке шаговый двигатель))

Собственно Усё!

Спасибо за внимание! Задавайте вопросы, если интересно ))

Всем удачных полётов!!!

Udav_Kaa


Edited by Udav_Kaa
правки
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Браво! 👏 Просто шикарно получилось! 👍 

А скажите, и в магазине можно так же стенку приподнять?(с)  выходит, такое возможно сделать с любым аналоговым авиаприбором!

  • Thanks 1
Link to comment
Share on other sites

2 часа назад, Tychon сказал:

Браво! 👏 Просто шикарно получилось! 👍 

А скажите, и в магазине можно так же стенку приподнять?(с)  выходит, такое возможно сделать с любым аналоговым авиаприбором!

Здравствуйте, спасибо! 🤝

Точно так. Можно сделать практически любой авиаприбор.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Все, разобрался вопрос снят)  нужно было изменить выделенную строку на вот это....  AccelStepper stepper(AccelStepper::DRIVER, 11, 10);

Еще для пояснения, числа 10 и 11 это пины , где 10 - Dir, 11 - Step.


Edited by atkinson
Link to comment
Share on other sites

1 час назад, atkinson сказал:

Все, разобрался вопрос снят)  нужно было изменить выделенную строку на вот это....  AccelStepper stepper(AccelStepper::DRIVER, 11, 10);

Еще для пояснения, числа 10 и 11 это пины , где 10 - Dir, 11 - Step.

 

Привет! Это пины на контроллере. Фото далее

20240225_143350.jpg

17088607377327412374116205984546.jpg

Link to comment
Share on other sites

  • 4 months later...
В 12.02.2024 в 13:13, Udav_Kaa сказал:

Напоследок хочу сказать, что приборчик у меня вышел "дёрганым" из-за передаточных чисел с больших шестерёнок на маленькую. Соответственно каждый мелкий шаг передаётся бОльшим шагом на стрелку. Вызвано это было тем что угол поворота шагового двигателя x27-168 всего 315 градусов, а мне нужно было 360. Имейте это ввиду, если надумаете делать подобное!!!

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

Сказано-сделано. Поставил валик меньшего диаметра и параметр максимального количества шагов увеличился с 3600 до 4790. Визуально стало чуть‐чуть лучше, но, как ни крути, шаговый двигатель, он и в африке шаговый двигатель))

Собственно Усё!

Спасибо за внимание! Задавайте вопросы, если интересно ))

Всем удачных полётов!!!

Udav_Kaa

 

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

 

Когда разбегаешься по полосе,

Глаза на приборах держи,

Но не все!

Хотя бы одним на второго коси,

Чтоб он не убрал нам до взлёта шасси!(с) РЛЭ

Link to comment
Share on other sites

Posted (edited)
22 часа назад, Link45 сказал:

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

 

Да, спасибо за наводку ( и на пиво)) )

Я знал о таком варианте, но тогда бы потребовалось решение вопроса об обнулении шаговика с последующей выставкой "в ноль" с помощью оптического сенсора и "круглой приблуды". Сенсор на алике я не нашёл, а вместо этого нашёл способ обнуления через код для ардуино. Также поскольку x27 умеет только в 315 градусов вместо 360, пришлось оставить часть шестерёнок от прибора и по....ться с передаточными числами))

Либо рукми с мылом, либо чай без сахара ))  К дёрганью уже привык ))


Edited by Udav_Kaa
Link to comment
Share on other sites

Крайне рекомендую посмотреть в сторону контроллера F3. Не нужны никакие сенсоры. Вообще ничего не нужно, кроме как один раз откалибровать шаговик. Контроллер запоминает эти параметры и на этом все. На видео выше у меня X-Plane и мобифлайт, но принцип точно такой же.
Да, и еще. Я бы вообще не рекомендовал использовать шаговики типа Vid29\X27 при переделке реальных приборов


Edited by Link45

Когда разбегаешься по полосе,

Глаза на приборах держи,

Но не все!

Хотя бы одним на второго коси,

Чтоб он не убрал нам до взлёта шасси!(с) РЛЭ

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...