MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Программная часть для работы с arduino

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Программная часть для работы с arduino

Сообщение Bred » 05 мар 2014, 11:41

Здравствуйте.

Собрал двухканальный h-bridge, в качестве контроллера использую arduino.
H-Bridge маломощный, но хочу протестировать на мелких движках, что-бы не собирать гальваническую развязку, не покупать здоровые движки, пока не отлажу работу с играми. Установил прошивку от Ale из FAQ, установил программу xSimCTRLv2.2.

Во первых не очень понятно что за настройки KpLo, KpHi, SensLo, SensHi, KpTh, MinD, MinPWM. Нужно ли настраивать эти поля, или оставить дефолтными?

Ползунки для 2х двигателей от 0, до 100%, я так понимаю, управляют скоростью вращения. К сенсорам a0, a1 подключил переменные резисторы, это сенсоры текущего положения оси? При вращении переменного резистора, в программе, где ползунок скорости вращения, появляется синяя полоса, от 0 до 100% в крайних положениях резистора, при регулировании скорости ползунком эффект появляется, только если он находится рядом с синей полосой, например если выставить 50% синей полосы переменным резистором, то эффект от ползунка, в моем случае, только в позициях от 45 до 65%.

В общем не очень понимаю как это работает и что с этим делать.

Во вторых, как передавать данные из игры? Про SimTools понятно, его устанавливал и успешно пробовал передавать данные через порт в google sketchup, что-бы заставить виртуальное кресло шевелиться. В моем случае, наверное, нужно как-то эти данные передать в xSimCTRL, что-бы он уже на ардуино отправил, но как это сделать непонятно.

Возможно я заблуждаюсь в каком то месте, но вся информация по этим креслам очень разрознена, хотя FAQ очень помог.

Буду благодарен за пояснения. С уважением, Владимир.
Аватара пользователя
Bred
Парторг
 
Сообщения: 52
Зарегистрирован: 05 мар 2014, 10:44
Откуда: Новосибирск
Благодарил (а): 19 раз.
Поблагодарили: 19 раз.
Баллы репутации: 31
Пользователь

Re: Программная часть для работы с arduino

Сообщение null » 05 мар 2014, 15:38

Bred писал(а):Ползунки для 2х двигателей от 0, до 100%, я так понимаю, управляют скоростью вращения.

Приветствую.
нет, они определяют положение вала. Вал двигателя должен быть механически связан с валом резистора. Сделай это и минимум половина вопросов отпадет сама собой. После этого вэлкам, поможем дальше.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Ale » 05 мар 2014, 16:21

null писал(а):Здравствуйте.

Собрал двухканальный h-bridge, в качестве контроллера использую arduino.
H-Bridge маломощный, но хочу протестировать на мелких движках, что-бы не собирать гальваническую развязку, не покупать здоровые движки, пока не отлажу работу с играми. Установил прошивку от Ale из FAQ, установил программу xSimCTRLv2.2.

Во первых не очень понятно что за настройки KpLo, KpHi, SensLo, SensHi, KpTh, MinD, MinPWM. Нужно ли настраивать эти поля, или оставить дефолтными?


Привет. К сожалению при переезде сайта все таки потерялось кое что. Я вот не могу найти свою тему как раз с описанием прошивки и ее настройки.

Если коротко, то принцип управления состоит в следующем
- Программа посылает контроллеру "задания" в виде положения оси двигателя. Назовем задаваемую величину SET.
- Контроллер периодически считывает показания датчика, закрепленного на этой оси ( как и утверждает Null в предыдущем посте ;). Назовем эту величину GET.
- Контроллер сравнивает задаваемое положение оси и реальное, высчитывает ошибку позиционирования ERR = SET - GET
- Контроллер вычисляет и подает на ШИМ управляющее воздействие по П-закону PWM = ERR * KP

Так что основной величиной для настройки управления является величина коэффициента Kp... В данной реализации существует два разных Kp - KpLO и KpHI. Контроллер использует один из них при расчете ШИМ. При чем если рассогласование ERR больше определенного порога KpTh, то при расчете ШИМ используется KpHI. В противном случае - KpLO. Лучше для начала поставь KpHI = KpLO = 3...

Параметры SensLO и SendHI - это программные ограничители для потенциометров, не дающие оси проворачиваться ниже SensLO и выше SendHI.

Параметр MinD - мертвая зона. Если абсолютная величина рассогласования ERR меньше MinD - моторы выключаются. Дабы мотор не "пел" от шума...

Параметр MinPWM - это минимальная величина управляющего сигнала, для увеличения резвости движка... Т.е. сигнал управления расчитывается по модифицированной формуле PWM = MinPWM + ERR * KP

Что касается связи контроллера с игрой - то тут xSimCtrl.exe - лишнее звено... Данные из игры должны быть направлены на "КОМ-порт", к которому подключена Ардуина...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Bred » 06 мар 2014, 08:56

Благодарю Вас за пояснение.

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


Все-же придется взять пару мелких редукторных двигателей, и связать с резисторами. У меня на бридже светодиоды контрольные, думал по ним отладить.
Есть обычные электродвигатели, как в китайских игрушках, девятивольтовые, на 14000 оборотов в минуту, такие не подойдут, я полагаю :D
У переменных резисторов поворотные ограничители убрать, для того что-бы они без упора вращаться могли и в концы не упирались?

Что касается связи контроллера с игрой - то тут xSimCtrl.exe - лишнее звено... Данные из игры должны быть направлены на "КОМ-порт", к которому подключена Ардуина...


С передачей данных из игр примерно разобрался. На странице симтулса увидел детальное описание настройки для arduino. Ваша прошивка ведь подойдет для сим тулса? Она сама разбирается какие данные получает, и что с ними делать?
На xsimulator.net нашел Вашу тему, где Вы прикрепили xsim_arduino_uno_v3_by_Ale_SimToolsCompatible, ее использовать, или это что-то устаревшее? Я просто уже 4 Ваших прошивки нашел, разных, запутался, непонятно какая последняя и подходящая :) . (x-sim_arduino3.hex, x-sim_arduino_uno_57600_by_Ale.hex, ard_uno_sim_v25_57600_encod.hex и x-sim_arduino_uno_v3_57600_by_Ale.hex)

Про лишнее звено, я тоже так подумал, но данное изображение http://mal4x.ru/download/file.php?id=292&t=1 в заблуждение ввело :)


Кстати, если интересно, и для тех кто потом будет читать эту тему :) бридж такой собрал http://nnm.me/blogs/oleg_karp/h-bridge-l298n-shield-dlya-arduino-svoimi-rukami/, потом на 3 канала и под 5 ампер переделаю на L6203.
Аватара пользователя
Bred
Парторг
 
Сообщения: 52
Зарегистрирован: 05 мар 2014, 10:44
Откуда: Новосибирск
Благодарил (а): 19 раз.
Поблагодарили: 19 раз.
Баллы репутации: 31
Пользователь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 09:58

Bred писал(а):Есть обычные электродвигатели, как в китайских игрушках, девятивольтовые, на 14000 оборотов в минуту, такие не подойдут, я полагаю

не факт, мож для опытов и прокатит.
Bred писал(а):У переменных резисторов поворотные ограничители убрать, для того что-бы они без упора вращаться могли и в концы не упирались?

не обязательно, если зоны SensLO и SensHI сделать заранее большими, а потом понемногу уменьшать.
Bred писал(а):Кстати, если интересно, и для тех кто потом будет читать эту тему бридж такой собрал http://nnm.me/blogs/oleg_karp/h-bridge- ... mi-rukami/, потом на 3 канала и под 5 ампер переделаю на L6203.

Для полноценного сима не прокатит всё равно
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Bred » 06 мар 2014, 10:25

Для полноценного сима не прокатит всё равно


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

Этот я исключительно для тестов собрал.
Аватара пользователя
Bred
Парторг
 
Сообщения: 52
Зарегистрирован: 05 мар 2014, 10:44
Откуда: Новосибирск
Благодарил (а): 19 раз.
Поблагодарили: 19 раз.
Баллы репутации: 31
Пользователь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 10:35

Bred писал(а):потом на 3 канала и под 5 ампер переделаю на L6203.

Bred писал(а):а мост не важно какой, лишь бы нагрузку вывозил.

На рывках токовая нагрузка на моторе доходит до 12-15 ампер. При этом должен быть ещё запас.
Пишу не спора ради, а чтобы предупредить.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Bred » 06 мар 2014, 11:10

На рывках токовая нагрузка на моторе доходит до 12-15 ампер. При этом должен быть ещё запас.
Пишу не спора ради, а чтобы предупредить.


Что-то про рывки я не подумал) Благодарю за предупреждение.
Думаю Вы правы, лучше не самодеятельничать) Тут все пишут про мост таноса, но что-то не нашел на форуме ни схему, ни компоненты для него. Только разводку в лайауте и Вашу тему с фотографиями сборки (вроде для ардуино тоже?). Если не затруднит можете мне материал про него скинуть?
Аватара пользователя
Bred
Парторг
 
Сообщения: 52
Зарегистрирован: 05 мар 2014, 10:44
Откуда: Новосибирск
Благодарил (а): 19 раз.
Поблагодарили: 19 раз.
Баллы репутации: 31
Пользователь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 13:03

Сам H-Bridge Таноса я уже давно перестал рекомендовать. Единственный его плюс - возможность собрать его самостоятельно. Остальное к сожалению только минусы. Схему если очень надо - поищу.
Дешево и сердито - заказать в Китае. Как раз на фотках в ветке про ЛУТ он виднеется. Другие фотки здесь http://mal4x.ru/viewtopic.php?f=6&t=197&start=45. По большому счету можно изучить всю эту ветку. Что-нить полезное найдется я думаю. "Китайский" нмост требует небольшого радиатора и гальванической развязки. Из недостатков - выход из строя драйверов полевиков при ШИМ 100%. Это я обнаружил на своем опыте когда делал гальваническую развязку на оптронах. Скорости оптронам не хватило. Нормальных самодельных решений я до сих пор не видел.

ЗЫ Со мной можно и нужно на "ты" ;)
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Bred » 06 мар 2014, 13:18

ЗЫ Со мной можно и нужно на "ты"

Хорошо)

"Китайский" нмост требует небольшого радиатора и гальванической развязки. Из недостатков - выход из строя драйверов полевиков при ШИМ 100%. Это я обнаружил на своем опыте когда делал гальваническую развязку на оптронах. Скорости оптронам не хватило. Нормальных самодельных решений я до сих пор не видел.

Дело в том, что хочу собрать мост самостоятельно. Китайских решений по 20-30$ много, например тот же монср мото шилд для ардуины, но хочется сделать это самостоятельно. Это и опыт и хобби)
Можно даже не нормальный, а приемлемый :) , мне этого хватит. Ветку смотрел, но что-то на готовые схемы не натыкался. Поизучаю еще.
Аватара пользователя
Bred
Парторг
 
Сообщения: 52
Зарегистрирован: 05 мар 2014, 10:44
Откуда: Новосибирск
Благодарил (а): 19 раз.
Поблагодарили: 19 раз.
Баллы репутации: 31
Пользователь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 13:30

http://www.xsimulator.net/community/threads/tronics-diy-dual-mosfet-h-bridge-dsmhb.820/ Здесь ветка Таноса. Есть кмк всё.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Ale » 06 мар 2014, 16:10

null писал(а):С передачей данных из игр примерно разобрался. На странице симтулса увидел детальное описание настройки для arduino. Ваша прошивка ведь подойдет для сим тулса? Она сама разбирается какие данные получает, и что с ними делать?
На xsimulator.net нашел Вашу тему, где Вы прикрепили xsim_arduino_uno_v3_by_Ale_SimToolsCompatible, ее использовать, или это что-то устаревшее? Я просто уже 4 Ваших прошивки нашел, разных, запутался, непонятно какая последняя и подходящая :) . (x-sim_arduino3.hex, x-sim_arduino_uno_57600_by_Ale.hex, ard_uno_sim_v25_57600_encod.hex и x-sim_arduino_uno_v3_57600_by_Ale.hex)

Про лишнее звено, я тоже так подумал, но данное изображение download/file.php?id=292&t=1 в заблуждение ввело :)


Привет еще раз. Кстати, как не странно, но на форумах "правила хорошего тона" рекомендуют обращаться к собеседнику на "ты" :D Мы же не графья какие...
Что касается прошивок - видимо самая крайняя по дате создания или опубликования и есть самая свежая... Только со словом "encod" в названии файла будет работать только с энкодерами вместо резисторов...
Ну а на картинке - это разрабатываемый комплект программ, следующая версия, так сказать...

ЗЫ: Null, рад тебя видеть на форуме!!! :)
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение Death_Morozz » 06 мар 2014, 18:59

Да, отсюда можно много чего в FAQ занести.
Занёс немного.
Туда-б готовые полумосты, фото, ссыль.
сорри за оффтоп. я потом сотру.
Хочешь сделать хорошо - сделай это сам.
Изображение
Аватара пользователя
Death_Morozz
Фраерок
 
Сообщения: 2655
Зарегистрирован: 11 янв 2007, 23:35
Откуда: Ростов-на-Дону
Благодарил (а): 763 раз.
Поблагодарили: 291 раз.
Баллы репутации: 200
ТехнарьТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 19:12

Ale писал(а):ЗЫ: Null, рад тебя видеть на форуме!!!

Ага, я тоже рад что не бросаешь))
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Программная часть для работы с arduino

Сообщение null » 06 мар 2014, 19:16

Death_Morozz писал(а):Да, отсюда можно много чего в FAQ занести.

Ага, не знаю только что ))
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

x

#{title}

#{text}