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

Самодельная база на основе Arduino Leonardo + EMC Ebolzmagy


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

 

Спойлер

IMG_20200301_210814_2.thumb.jpg.7525eb5eb6a6aafa83051ce280cc2525.jpg

 

За основу взято прочитанное и увиденное на различных зарубежных форумах. В основном руководствовался видео от Caravangoes и AgaYuditra на youtube.
Для сборки было приобретено:

  • Пластиковый короб 290х210х100.
  • Асинхронный коллекторный двигатель 24 вольта\100 ватт.
  • Два алюминиевых шкива GT2 в комплекте с ремнём. Передаточное отношение 1:8.
  • Arduino Leonardo, BTS7960b и макетная плата на липучке. Всё перечисленное от завода WAVGAT.
  • Вал 8 мм. Достал из древнего принтера HP Jet 2000.
  • Энкодер оптический + диск к нему. Из того же древнего принтера.
  • Струбцины пластиковые. Извлёк из никому не нужного Logitech Wingman Formula.
  • Рулевое колесо снял с того же Wingman.
  • Импульсный блок питания 24 вольта\4.2 ампера. Модель APS-100LN-24BM.
  • 120 проводков с коннекторами для плат прототипирования.
  • Заглушка от ручки замка двери Запорожца для "переднего" подшипника в корпусе базы.

Первоначально для теста использовалась прошивка Ai Wave 2016. Плата исправно получала данные с энкодера, однако версия прошивки платы в момент запуска утилиты определялась через раз, либо не определялась вовсе. Дополнительные неудобства создавал мотор. При значении Main Gain 100% мотор невозможно сдвинуть с места (логично, мотор 100 ваттный). При уменьшении Main Gain появляется возможность провернуть его ровно настолько, насколько я снизил уровень Main Gain. При снижении до 80% и ниже руль становился "пустым" в середине, однако при установке Main Gain 100% руль снова возвращался в центр.
Изрядно намучившись с утилитой Ai Wave, переставшей определять версию прошивки (теперь уже совсем), но по прежнему получавшей данные с энкодера, я решил от неё отказаться в пользу ПО от EbolzMagy. Вся дальнейшая работа планируется только с ней.


Утилита установлена, прошивка залита в плату. Arduino Leonardo определяется как устройство ввода "EMC" с обилием кнопок (гипотетически подключенных) и осью руля. И вот теперь самое странное. Подключение энкодера от принтера я изменил согласно приложенной WIRING схеме (содержится в архиве от автора ПО). Я вижу что плата никакой информации от энкодера не получает, однако он запитан, пять вольт на него приходит, свечение в оптике видно невооружённым глазом. Мотор так же молчит. Вращение вала не встречает никакого сопротивления, показаний в утилите EMC Utility Lite нет.

На текущий момент подключение выглядит так:

Цитата


IMG_20200329_162343_2.thumb.jpg.5e9cfe6a6ee0aeece0df552f67923ea9.jpgphoto_2020-03-29_17-07-51.thumb.jpg.b362d62597d8c06c5a237d875ea5fb70.jpg

 

 

Изменено пользователем Rezinoviy_Ded
  • Нравится 2
Ссылка на комментарий

@Rezinoviy_Ded напрасно пользуешься таким breadboard-ом для соединений. Есть ли подтягивающие резисторы? 50-500Ohm. Какое такое отличие в соединение энкодера по схеме wiring vs Wheelconfig, из-за которого оно по-твоему не работает?

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

@Sieben отличие в них и заключается. В резисторах. Хотя я пробовал и с ними и без них. На схеме для WheelConfig их не было, энкодер принтера подключался без них к контактам 0 и 1. В принципе логично, ибо на самом энкодере они и так есть с завода. Ну и BTS7960b был подключен пинами VCC, L_EN, R_EN к линии 5V, а у EbolzMagy L_EN, R_EN подключаются к 8 контакту на Arduino Leonardo.

Я попробовал и так и эдак.

Отличия на скриншотах:

Спойлер

432778598_AiWaveWheelConfig.thumb.jpg.6cfb9a1a9416c6997b11495dd4094303.jpgEbolzMagy.thumb.png.5055a4bf486a0cd77c7e54a25ac5d5f6.png

 

Изменено пользователем Rezinoviy_Ded
  • Нравится 1
Ссылка на комментарий

И так, в ходе тестирования прошивки EMC выявлена следующая проблема.

Если подключать к плате энкодер от руля DFGT, показания считываются, утилита показывает градус, на который был повёрнут руль. Т.е. с платой всё в порядке, прошивка так же работает. Если подключить к плате энкодер от принтера HP DeskJet 970 Cxi, показания считываются только на прошивке Ai Wave. На прошивке EMC использование этого энкодера становится невозможным.
Будьте внимательны при выборе комплектующих для сборки.

Во избежание дальнейших проблем, вызванных неизвестным уровнем совместимости ПО и аппаратных модулей, с китая был заказан комплект: энкодер OMRON CWZ6C и плата STM32F407VET6. Выбор основывается на рекомендациях Caravangoes по выбору комплектующих и ПО для них. На этот раз всё должно заработать.

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

И так, в ходе тестирования прошивки EMC выявлена следующая проблема.

Если подключать к плате энкодер от руля DFGT, показания считываются, утилита показывает градус, на который был повёрнут руль. Т.е. с платой всё в порядке, прошивка так же работает. Если подключить к плате энкодер от принтера HP DeskJet 970 Cxi, показания считываются только на прошивке Ai Wave. На прошивке EMC использование этого энкодера становится невозможным.
Будьте внимательны при выборе комплектующих для сборки.

Во избежание дальнейших проблем, вызванных неизвестным уровнем совместимости ПО и аппаратных модулей, с китая был заказан комплект: энкодер OMRON CWZ6C и плата STM32F407VET6. Выбор основывается на рекомендациях Caravangoes по выбору комплектующих и ПО для них. На этот раз всё должно заработать.

А почему этот энкодер OMRON CWZ6C а не этот https://aliexpress.ru/item/4000797890690.html?spm=a2g0o.productlist.0.0.39d08413DIka5I&s=p&ad_pvid=202004020233002343127010639900008185008_5&algo_pvid=67343dad-a0df-4a92-b20c-5e65b5c751ae&algo_expid=67343dad-a0df -4a92-b20c-5e65b5c751ae-4 & btsid = 0b0a119a15858199802818985eec89 & ws_ab_test = searchweb0_0, searchweb201602_, searchweb201603_

Ссылка на комментарий
3 минуты назад, Rezinoviy_Ded сказал:

@FIDENZIO Нет уверенности что в этом энкодере присутствует индексная метка. А она нужна для калибровки.

У меня такой но база пока без FFB,а если я сделаю FFB то база не будет калиброваться?

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

@FIDENZIO Внешне энкодер похож на тот, который я заказал. Разрешение немного меньше. Калиброваться будет, разумеется.

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

Рекомендую к ознакомлению:

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

 

 

  • Смешно 1
Ссылка на комментарий
1 минуту назад, Sieben сказал:

Вообще-то без буковки z, всё прекрасно работает и не сбивается, с центром всё в порядке))) Караван кстати об этом тоже говорил)

Так зачем переплачивать?)

 

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

Я не стал испытывать прошивку на работу с неизвестными энкодерами. Гарантий нет, совместимого списка тоже. Один уже не работает с прошивкой EMC (от моего принтера). Про CWZ6 знаю из видео что работает, потому и купил.

Ну и плюс плата теперь будет другая. Потому что я уверен что STM32 будет работать с этим энкодером. Исходя из того же видео.

Ссылка на комментарий
В 29.03.2020 в 5:27 PM, Rezinoviy_Ded сказал:

Асинхронный коллекторный двигатель 24 вольта\100 ватт.

Ничего в определении типа мотора, не смущает?) 

Непонятный энкодер от принтера, работающий только от aiwave, к основным используемым типам энкодеров в этих проектах, отношения не имеет, не обязательно загоняется в рамки вот "именно только этот". Но кому как) 

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

Проверить всё равно было не на чем. На столе же он (энкодер) не лежал в момент заказа с китая, правильно? Не лежал. Брал то, в чём уверен.

Движок не смущает. Солидная мощность. Электросамокат с таким двигателем в состоянии сдвинуть с места взрослого человека. Я уже покатался с этим движком на прошивке Ai Wave. Это уже кое что после DFGT))

Кстати заказ с энкодером ещё не обработан, так что если скажете какие ещё точно будут работать за меньшие деньги, попробую какой-то из них заказать.

Ссылка на комментарий
В 29.03.2020 в 5:27 PM, Rezinoviy_Ded сказал:

Асинхронный коллекторный двигатель 24 вольта\100 ватт.

 

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

Солидная мощность. Электросамокат с таким двигателем в состоянии сдвинуть с места взрослого человека. Я уже покатался с этим движком на прошивке Ai Wave. Это уже кое что после DFGT))

Та это то хорошо) Чем больше отзывов и примеров с описанием работы итд рулей на скутерных моторах, тем лучше. Зачем их называть асинхронниками только?)

Изменено пользователем Sieben
Ссылка на комментарий

Боюсь название я уже не поправлю в теме. Забей.

Ну так что, господа. Вы похвастались более дешёвыми энкодерами. Какой заказать? Тест энкодера DFGT показал значение 3200 cpr. Его можно взять за эталонный.

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

@Rezinoviy_Ded та любой с AB каналами. С чего ты взял, что есть эталон по части ppr, да ещё в 3200cpr. Эталоном можно считать "всё что выше" энкодера в скм а-ля "компьютерная мышь".  Юзаю 400 ppr или 1600cpr и ты знаешь, всё прекрасно)))) Это не то приложение где так нужно загоняться с разрешением. Это ерунда. Вон Итальянец поставил 10000 и обломался. Некоторым пока сами не затестят,  фиг что объяснишь. Хотя есть такие которые ставят повышайки передаточных для энкодера, что было высокие разрешения энкодера)))) Я без комментариев эти их потуги оставлю) И потом не забывайте опыт каравангоса по этой части. БТС вроде как нагревался больше. 

Изменено пользователем Sieben
Ссылка на комментарий
  • 1 месяц спустя...
  • 3 недели спустя...

@Buxou привет. Возникли проблемы на стационарном компе. Выручил нетбук. На нём прошивка прошла без проблем с первой попытки.

Мне приехала плата STM32_F4VE. И вот тут начинается самое интересное. Я не знаю как её прошить)) На плате есть разъём microusb, догадываюсь что это возможно сделать через него. Однако по запросу "прошивка STM32 F4XX" на меня выливается целый океан информации. Нашёл две версии ST-Link, затем STM32_HID bootloader. Потом случайно выяснил что для прошивки других STM нужны особые платы, через которые прошивки и заливаются. Возможно не мой случай, но подозрения закрадываются, ибо после установки ST-Link устройство не опозналось компом. Искал отдельно драйверы, поставил, тот же результат. Попробовал три разных провода для теста.
Варианта два: брак платы; я что-то делаю не так.

Расследование продолжается...

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

@Rezinoviy_Ded Как я понял STM прошивается только через ST-Link.

Но кто-то тут прокидывал на ней два провода, как я понял от усб до RX и TX и заработало...

Но не я не помню кто и не знаю начала ли она прошиваться после этого по усб.

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

Нашёл умного мужика, он показал какие выводы соединять (BOOT0 и 3V). Напишу руководство по утилите DfuSe с картинками, если будет не лень. Сильно сократит время на поиски инфы для таких новичков как я.
Плата прошита, отлично. Колхозим дальше. Так, энкодер ни в какую не работал на ардуино с прошивкой Ebolz Magy, посмотрим как он поведёт себя на этой плате.

Успех. Прошивка микроконтроллера MMos_FW_0.99.2 прекрасно справилась с задачей. Показания с энкодера принтера HP считываются. Теперь надо научиться делать матрицы из кнопок, ибо КПП на отдельной плате Arduino Pro Micro временное решение. Запихать всё это внутрь корпуса и наконец придумать способ затянуть эти проклятые винты. У меня от проскальзывания винтов уже борозды появились на оси. Натяжения хватает не надолго, винты разбалтываются((

Ссылка на комментарий
  • 2 недели спустя...

После сборки получилось нечто очень страшное. И это несмотря на то, что крепления я нарисовал в САПР и распечатал на принтере...
Но пользоваться им пока нельзя. Кнопок ещё нет, передачи не переключишь. А показания с энкодера считываются лишь до тех пор, пока выключен электромотор. Показания с педалей тоже считываются, всё хорошо. Стоит на мотор подать питание, как энкодер показывает крайнее правое положение. Ну или левое, по всякому бывает. Мотор при этом около минуты вращается в одну сторону, затем начинает вращаться в другую. Контакты BTS задействовал LPWM,RPWM,R_EN,L_EN,VCC,GND.
И так до бесконечности...
Device Setup:
PWM (H-Bridge)
8.2 Khz
CPR 12000
Analog Axes RX, RY

Эксперименты продолжаются.

IMG_20200606_190306.jpg

IMG_20200329_162343.jpg

Ссылка на комментарий
×
×
  • Создать...