Top.Mail.Ru
Перейти к содержанию

Act labs Force RS (замена логики)


Рекомендуемые сообщения

Чрезвычайно редкая игрушка. В годы выпуска был мало распространён на территории СНГ. Найти такой сегодня очень трудно. 

Оплётка мягкий кожзам, станина из толстого металла, металлические струбцины с удобными колёсиками и клёвые подрулевые лепестки. Ну и самое главное, собственно из-за чего я его купил - ременной привод! Да, у игрушки, разработанной ещё "до нашей эры" были ремни.

Скрытый текст

actlabsaxe.thumb.jpg.9e712f7b41f424ce6c705a3e89959a72.jpg3321657_original.thumb.jpg.b96326f03c86733a170b8ee5b01337cb.jpg

Недостатков два: потенциометр в качестве датчика положения вала, совместимость драйверов только с древними системами (Windows 98, Windows ME). Продали мне его полностью рабочим, но проверять это я всё равно не стал. Заводская логика не нужна. Я сразу её выкрутил и выбросил)) Вместе с потенциометром.  Настал черёд создания крепления для оптического энкодера, платы BTS7960 и ардуино с прошивкой EMC Lite. Тут меня ждало разочарование. Ардуино на этой прошивке не работает с драйвером BTS7960. На всякий случай проверил драйвер на плате STM, работает. Ну что ж, это уже вторая попытка подружиться с этой прошивкой, прошлый раз EMC не захотел работать с энкодером от принтера, который работает на этой же плате с прошивкой AI Wave 2016. Кстати BTS7960 так же был проверен на прошивке Ai Wave.

В топку, как говорится. А мы переходим к тому что гарантированно работает. К stm32.

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

Скрытый текст

photo_2020-09-29_09-18-46.thumb.jpg.1b1abb2a86914263f9a8ad086ed9bad2.jpgphoto_2020-09-29_09-18-53.thumb.jpg.25e06bc3602d934bd598789d1958aa55.jpgphoto_2020-09-29_09-19-00.thumb.jpg.6119931780658b5b290d44ade89dfde0.jpgphoto_2020-09-29_09-19-05.thumb.jpg.41c9dd9b8bcaf932621f6a9f37f4b13a.jpg

Приложил, примерил, рассчитал расстояние и прикрутил. Всё отлично, как будто так и было. С BTS7960 проделал ту же процедуру. Нарисовал "столешницу" на четырёх ногах и вклеил её на кожух одного из шкивов. Уместился миллиметр в миллиметр, как будто так и было задумано заводом.

Скрытый текст

photo_2020-09-29_09-18-49.thumb.jpg.b14507cc99ebf389f54f945eaec73562.jpgphoto_2020-09-29_09-19-15.thumb.jpg.f4bece3dd627c9e18e1be360b12e472e.jpgphoto_2020-09-29_09-19-12.thumb.jpg.aaf2abb2d6bba53f3dde2b5814a18ca4.jpg

Подключил к компу, приступил к тестам. Выяснилась интересная особенность. Если направление вращения энкодера совпадает с направлением вращения баранки в программе, мотор стремится докрутить вал за пределы ограничителя. Т.е. если я проворачиваю руль к границе установленных 540 градусов, логично что руль должен остановиться. Но вместо этого он начинает проворачивать его дальше, до бесконечности. В любую сторону.
Я задумался. А что если переставить контакты энкодера А и Б местами? Переставил, запустил тест. Теперь в программе руль вращается противоположно вращению энкодера. Но, внезапно, ограничение работает нормально.
Ха! Да нужно просто включить инверсию в настройках утилиты MMOSFFB, раз всё заработало! Включаю инверсию, мотор начинает работать противоположным ожидаемому образом. Ну т.е. снова проворачивает его дальше в "точке границы".
Я сделал ещё несколько комбинаций с включением\выключением инверсии и перестановкой контактов А и Б. Результат - мотор нормально ограничивает вращение руля (да и вообще создаёт обратную связь) только с показаниями энкодера, противоположными направлению вращения вала.

Решения пока не придумал.Продолжение следует.

  • Нравится 1
  • Спасибо 1
Ссылка на комментарий
13 часов назад, Rezinoviy_Ded сказал:

платы BTS7960 и ардуино с прошивкой EMC Lite. Тут меня ждало разочарование. Ардуино на этой прошивке не работает с драйвером BTS7960

Если прошивка под Ардуино, то прекрасно там всё работает. Меняются местами ещё плюс минус мотора с драйвера. Подбери что работает у тебя смотря, уже как и что соединил. 

Ссылка на комментарий

И так, продолжаем издеваться над ископаемым! Кстати я нашёл наклейку с годом присвоения гарантии - "Warranty: 12 2003".

Я долго разглядывал "зияющую пропасть" в панцире этого руля, оставшуюся после извлечения штатной логики и разъёма под картриджи. Прикидывал как размещу разъёмы на будущей заглушке. Прикинул, нарисовал деталь.

Скрытый текст

image.png.d15f71d44697712fb8763d0ed707388e.png

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

  • Втыкаю в комп, подключаю БП. Странно, руль какой-то ватный. Хотя в настройках всё на нуле.
  • Отключаю БП. Руль всё ещё ватный, как будто что-то мешает проворачивать вал. (Я забеспокоился, наверное подшипникам хана.)
  • Совершенно расстроенный отключаю STM32 от компа, уже подумываю об очередной разборке руля, замене подшипников и случайно проворачиваю руль... Он крутится легко! Я задумался. Как такое может быть?
  • Подключаю к usb ещё раз. Руль снова ватный.
  • Недоверчиво проверяю БП, он всё ещё не подсоединён к рулю. Как!? Откуда на моторе такой ток, который приводит к созданию поля, препятствующего свободному вращению вала?

Конечно после я поигрался с настройками MMos ForceFeedback, но безрезультатно. Утилита не причём.

Сижу теперь, много думаю.

Тем временем заглушка распечатана.

Скрытый текст

photo_2020-10-04_14-44-00.thumb.jpg.264d67b1d2c682fe2cfd111e99140ac9.jpgphoto_2020-10-04_14-44-13.thumb.jpg.2e17822a6b4f7e3d7ec3d57d8be304a8.jpg

Следом распечатал "столик" для STM32. А чтобы не приклеивать его к днищу руля, распечатал уголок, который можно надеть на корпус одной из струбцин. Склеено, прикручено и установлено.

Скрытый текст

photo_2020-10-04_14-44-07.thumb.jpg.8f847627b2649a33359dd6dc1613f4f3.jpgphoto_2020-10-04_14-44-10.thumb.jpg.232f690579c32f7621c4e27abd9be95c.jpg

 

 

Новое наблюдение. Если проворачивать руль медленно, сопротивления он не встречает. Как только я начинаю резко проворачивать его, ощущается встречный толчок.
Но, минуточку. БП я не подключал. Как такое может быть?

Изменено пользователем Rezinoviy_Ded
Ссылка на комментарий
3 часа назад, Rezinoviy_Ded сказал:

Недоверчиво проверяю БП, он всё ещё не подсоединён к рулю. Как!? Откуда на моторе такой ток, который приводит к созданию поля, препятствующего свободному вращению вала?

при подаче питания (+5В) на контакты (R_en и L_en) Н-мост замыкает накоротко провода на мотор, тем самым мотор превращаешься в закороченный генератор

я решил проблему вот так:

(отключил скрутку VCC+R_en+L_en от +5В на STM32, работает к сожалению не со всеми BTS)

image.png.dd8e2e274b9dbfd2eaede6fbd68a647b.png

3 часа назад, Rezinoviy_Ded сказал:

Если проворачивать руль медленно, сопротивления он не встречает

сила сопротивлления ~ прямо пропорциональна скорости вращения (т.к. возрастает ЭДС на двигателе, возрастает ток, а из за тока возрастает и сила сопротивления вращению)

  • Спасибо 1
Ссылка на комментарий

@Beg

С моим экземпляром получилось, отлично. С этим разобрались. 

Ну а теперь самая долгая и нудная часть - подключение россыпи кнопок к плате. Караван как-то в своей теме делился распиновкой STM32F4 под кнопки G27. Вот мне нужно то же самое, но для STM32F103VET6. Видел где-то распиновку моей платы с тремя или четырьмя кнопками, но у меня то их двенадцать. Да ещё плюс четырёхпозиционный джойстик в центре баранки. К каким выводам можно/нужно всё подключать я не знаю. 

Ссылка на комментарий
  • 2 месяца спустя...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...