Контроллер для детской машинки на Arduino Mega 2560

Автор HECTEPOB, 16 Нояб. 2014 в 21:35

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

HECTEPOB

#144
Провел ходовые испытания.

Краткие итоги:

1. Конструктив педали газа установлен удачно, ребенку (племянник 4 года) нажимать удобно, но сама педаль (не смотря на цену) работает плохо, в верхней половине диапазона чувствительность отсутствует (сигнал не меняется). Решено заменой датчика (стоял униполярный и слишком чувствительный) на ss49e (Биполярный, чувствительность 100G). Даже после решения проблемы, есть подозрение, что ребенку будет тяжело дозировать усилие на педали, особенно в теплой обуви. Сделаю, чтобы даже если нажимаешь "тапка в пол" разгон был плавный.

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

3. Управление газом/реверсом с пульта РУ работает безукоризненно, все плавно, без рывков. Сделаю еще чтобы максимальная скорость реверса была поменьше.

4. Управление рулением с пульта РУ начинает работать хуже по мере разрядки аккумуляторов, надо измерять напряжение батареи и корректировать управление.

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

6. Ребенку не понравилось, что не горят фары и приборы (решил пока подключить штатный контроллер света, у меня собран на отдельной плате)

7. Ребенку не понравилось, что кнопка бибики не работает, а вот то, что кнопка утоплена, как раз наоборот понравилось, пальцем нажимать интересней. С другой стороны ее сложно применить по назначению.

8. Задняя подвеска работает безукоризненно, ребенку нравятся плавные подбрасывания на кочках и ямках.

9. Самая большая проблема: в рулевой трапеции присутствуют большие люфты и углы аккермана не выдержаны. Это приводит к срывам передних колес при максимальной скорости и вывернутом на упор руле. Наличие передней подвески приводит к тому, что срывы превращаются в биение передка. Т.е. при повороте руля на упор и газе "в пол" машина трясется и делает "Ды-Ды-Ды" (правда при этом едет и ничего не ломается. Ребенку кстати это нравится, но я понимаю, что долго оно так не протянет).

10. Электро-дифференциал работает хорошо. Отчетливого повышения шума редукторов в повороте, которое прослушивалось ранее, теперь нет, Т.е. цель достигнута.

Помимо всего прочего был удивлен следующим фактом:

Катались на довольно большой парковке бизнес центра вечером, машин было уже мало, но тем не менее они были и периодически проезжали.
Даже взрослый пацан (как писал ранее 4 года), все время (намеренно) пытался въехать то в столб то в припаркованную машину. Пропускать проезжающие автомобили категорически отказывался.

По этой причине, именно полный ПЕРЕХВАТ управления на РУ считаю ОЧЕНЬ ПОЛЕЗНОЙ функцией. В противном случае пришлось бы бегать за ним и увозить его толканием с тректории проезда автомобилей. Как выяснилось, когда перехват включен, ребенку ОЧЕНЬ ТЯЖЕЛО противостоять управлению рулением с пульта РУ, т.е. руль удержать или крутить не туда куда рулишь с пульта у него не получается. Управление ходом с педали газа при перехвате естественно полностью блокируется.

HECTEPOB

#145
Итак господа.... Тадаааамм!
Устранил все замечания кроме тех, которые касаются света (решил пока оставить штатный контроллер, благо он у меня абсолютно отдельный).

Что сделано, протестировано и гарантировано работает:

1. Управление с борта включается только при соблюдении 2-х условий:
- Включен ключ зажигания
- Отсутствует сигнал перехвата управления с РУ
2. Исправлена характеристика педали газа, теперь имеет экспоненциальный характер, т.е. регулировать ход можно максимально комфортно во всем диапазоне углов нажатия педали.
3. Максимальная скорость движения вперед/назад с борта/с РУ задается отдельными переменными (можно независимо поставить разную скорость вперед с пульта, назад с пульта, вперед с борта, назад с борта)
4. Поддерживается электро-дифференциал и при управлении с борта и при управлении с пульта РУ
5. Поддерживается режим электроусилителя руля при управлении с борта (реально помогает сохранить жизнь рулевому мотор-редуктору).
6. И таки да!!!! Наконец то!!!! Я полностью отладил пропорциональное управление рулением с пульта РУ. Были следующие проблемы:
- Рулевой редуктор периодически входил в "болтанку" вокруг желаемого положения.
- Уменьшается (вплоть до полной неработоспособности) усилие мотор-редуктора по мере разряда батареи (врубать по максимуму мешал первый пункт).
- Колеса иногда (примерно 1 раз из 5) не возвращались в нейтральное положение.

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

Вкратце, что нужно для повторения (опишу позже во всех подробностях, если надо срочно, пишите в личку):

1. Процессорная платка Arduino Mega 2560
2. Провода разных цветов для контроллера (Я использовал МГШВ, сечение 0,35)
3. Регуляторы моторов 3 шт (управление ходовыми моторами осуществляется независимо в режиме электро-дифференциала)
4. Разъемы для приемника, ключа, переключателя вперед/назад, контроллера света и т.д.
5. Прошивка во вложении (проект под Proteus 8). Написана на ассемблере (ибо так мне было быстрее), для заливки в Arduino использовать XLoader: http://xloader.russemotto.com/

На всякий случай готовый HEX-файл

HECTEPOB

По итогам очередных испытаний (уже настоящим владельцем ТС, мой сын 2 года)

1. Проявил повышенный интерес ко всем органам управления включая руль, ключ зажигания, кнопка переключения ЗАРЯДКА/ДВИЖЕНИЕ, рычаг выбора направления движения, все прочие кнопки и ручки на панели приборов. Т.е. когда машина припаркована в квартире, любит в нее залезать и нажимать/поворачивать/переключать все подряд, слушать музыку, сигналить, смотреть как моргают лампочки. Предотвратить этот процесс дома абсолютно невозможно, поскольку сразу начинается истерика (убрать "с глаз долой" не позволяет отсутствие места в квартире). Данное обстоятельство сразу выявило несколько отрицательных моментов, а именно:
- Необходимо обеспечить неподвижность электромобиля до тех пор, пока не получена команда с пульта РУ (чтобы не боятся, что ребенок начнет самостоятельно "кататься" по квартире, ибо места слишком мало). Реализовано программно, для включения управления с борта, требуется "передернуть" сигнал перехвата управления с РУ.
- Необходимо обеспечить возможность отключения звукового сигнала (установлен от мопеда, вечером в квартире слишком громко). Решено установкой дополнительного скрытого тумблера в колесной нише.

2. Выявилась проблема медленного запуска приемника РУ: иногда при включении питания с приемника в течение короткого времени идет мусор и уже запущенный контроллер иногда воспринимает его как перехват управления с пульта. Однажды сын включил питание машины в квартире, а я не заметил. Из за мусора с приемника на рулевой редуктор подался сигнал руления и колеса встали на упор (мотор был по прежнему под напряжением). В итоге мотор перегрелся и поплавился корпус редуктора. Рулевой привод вышел из строя. Нашел контору, где продают запчасти и купил сразу 2 ходовых и 2 рулевых прозапас (цена 480 рэ за штуку, что не в пример интереснее чем 1420 а то и больше). Проблема решена внесением 2-х секундной задержки после старта перед началом опроса приемника РУ.

3. Пока научить ребенка управлять электромобилем самостоятельно не удалось. Ему больше нравится сидеть и жать на все подряд и наблюдать, что при этом происходит.

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

Вот очередной видео-отчет:
http://youtu.be/tDZJDLOoWOk

HECTEPOB

Теперь о грустном (требуется Ваша помощь!!!).

Вот схема звукового сигнала:


Проблема в том, что пока он звучит, приемник РУ начинает "беситься", т.е. выдавать неадекватные управляющие сигналы в контроллер.

Вопрос: Что происходит, где какие наводки/помехи возникают, как это продиагностировать? Ну и конечно, как это проще всего починить?

HECTEPOB

Вот последняя версия прошивки под Proteus 8.1

HECTEPOB

Вот так машина используется дома (поскольку в контроллере реализована функция "ждать пульта", можно не бояться,  что машина поедет) :
http://youtu.be/KAJS-VgbQwQ

skros

хотел воплотить зднюю подвеску как у тигры (ну и как у автора).......но есть два момента которые вы не учли
1. моторы с их отверстиями теперь снаружи и им придет быстрый каюк
2. самое страшное........что будет происходить если одно колесо попадет в яму? в ваших случаях ось начнет наклоняться и на противоположном колесе выламывать втулку редуктора (а она там впритык по диаметру к оси).......и чем тяжелее ребенок сидит в машине тем быстрее оно там все рассыпиться

интересно было послушать в мельчайших подробностях об вашем подключении драйвера BTS7960B

спс

Tygra

#151
1) так они меньше греются, ничего в этих моторах сверхточного нет и просто пыль их срок жизни сильно не уменьшит. Думаю перегрев в корпусе ушатает их намного быстрее чем пыль снаружи.
2) Шасси закреплено на оси, сами колеса тоже на оси т.е. нагрузка не на редуктор и на стык оси и втулки колеса. Сами колеса "прорезинины" и имеют круглую и мягкую форму. В общем ездил по ямам никаких проблем не испытывал. Конечно есть минусы, но никто не раcсчитывал на вечную работу, свой срок машинка легко пройдет без замены редукторов, гораздо страшнее перекос нагрузки на редукторах во время поворотов, вот о чем стоит беспокоиться. В целом подвеска работает отлично, в паре с нормальной резиной, не просто отлично, а великолепно. По крайней мере задняя, перед так и остался на пружинках.

По поводу драйверов не могу ни чего сказать, пока что так и лежат на полке. 

P\S Я рад что ребенку нравится тип задней подвески, моей тоже нравится, отрабатывает замечательно, а то на стоке отбить попу можно, не зря голову ломал : )))

Stalker

Цитата: HECTEPOB от 07 Май 2015 в 19:53
Теперь о грустном (требуется Ваша помощь!!!).

Вот схема звукового сигнала:


Проблема в том, что пока он звучит, приемник РУ начинает "беситься", т.е. выдавать неадекватные управляющие сигналы в контроллер.

Вопрос: Что происходит, где какие наводки/помехи возникают, как это продиагностировать? Ну и конечно, как это проще всего починить?
Сигнал работающий от постоянки содержит в себе электромагнит и контакты для прерывания тока .
Фактически это искровой передатчик , излучающий помехи в широком диапазоне частот !
Ставте чтонибудь электронное .
Или как вариант (если повезет)можно попробывать запитать его через фильтр от ИБП (дав дросселя на сердечнике и параллельные  конденсаторы с обеих сторон )

HECTEPOB

[user]skros[/user], У меня редукторы крепятся к маятнику а не к корпусу.  Сам маятник достаточно жесткий и не допускает больших перекосов. Во дворе машина прошла очень жесткие ходовые испытания (залезали по трое, ездили по всем возможным буеракам) вроде все цело.

По поводу драйвера: Сама микросхема имеет следующие выводы:
- Плюс питания мотора (до 27 вольт)
- Земля
- плюс 5 В
- сигнал включения драйвера
- сигнал выбора активного ключа
- сигнал тока через верхний ключ.
- выход на мотор.

В сборках, которые я использую установлено 2 полумоста. Управляются следующим образом:
1. "Нейтраль" - на входах включения обоих полумостов "0".
2. "Газ"/"Реверс" - на входах включения обоих полумостов "1", на одном активный верхний ключ,  на втором сигнале выбора инвертированный ШИМ.
3. "Тормоз", на включении обоих "0" на выборе ключа на обоих "0"

Вывод контроля тока подтянут к "массе" чарез 10к (диапазон от 0 до ~5В при токах от 0 до 43 ампер. Я завел напрямую на АЦП.
итого,  каждая сборка управляется по шине из 8 проводов:
1. ШИМ правого полумоста
2. ШИМ левого полумоста
3. Включение правого полумоста
4. Включение левого полумоста
5. Сигнал тока через верхний ключ правого полумоста
6. Сигнал тока через верхний ключ левого полумоста
7. 5В
8.  Земля

skros

#154
этот драйвер для одного двигателя? а то не пойму что за полумосты)))....на одном форуме кто то написал что они типа для одного мотора

на драйвере есть маркировка разъемов r_is, r_en, r_pwm, и то же самое с буквой L, не могли бы расшифровать?


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

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

я думал убрать ось и сделать каждое колесо не зависимым, но нужны мини оси на каждое колесо, а как их сделать пока нет навыков

для гудка у меня стоит гудок от калины, питается 6В.......мне и ребенку нравиться

skros

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

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

вы может осмотреть втулки задних редукторов и колес?

skros

газпатороны наверное лучше перевернуть или закрепить манжеты, чтобы закрыть шток

skros

еще вопрос по электродифференциалу, получается, что если одно колесо в воздухе, то основная мощь уйдет на него и машина остановиться?

Tygra

#158
Я и не претендовал на продуманность конструкции, на том этапе это было достаточно качественное изменение в ходе движения машинки, пока что все ездит и ломаться не собирается и я доволен. Штоками к верху делать не стоит, пыль будет напрямую попадать на втулки и сносится так быстрее, но я сразу отметил что газ-лифт, не аммортизатор, он не рассчитан на такую работу и тем более на улице, посему это в любом случае расходник, но при копеечной цене и замене буквально в минуту, думаю нет смысла пытаться сделать его вечным.  Если все хорошо продумывать то проще уже новое шасси сделать, а сверху просто корпус одеть. У меня на механику руки растут из опы, я этого никогда не скрывал, и собственно считаю для себя достижением что у меня получилось хотя бы так сделать. Я буду рад если кто то доработает до ума данную идею, мне же и моему ребенку пока так хватает. По поводу воды, я живу в Казахстане, в полупустыне, у меня дождь нонсенс, пыли валом, а земля всегда сухая и потому эта проблема меня совершенно не волновала.

Добавлено 14 Июн 2015 в 15:32:58

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

Tygra

К сожалению прога для авто выше написана на ассемблере, для простых смертных это не повторимо, на ардуине можно что то допилить под себя, давайте из реальности, никто не сможет на ассе что либо сделать или подправить, ну кроме того кто написал : ))) Я не дурак, но сильно далек от ассемблера, потратить все лето только что бы разобраться в ассе не хочу. Мне проще две или три меги 2560 поставить, это если вдруг не хватит мощи переварить кривую прошу на ардуине : ))) . Если кто согласится мне помочь с прогой, буду только рад. На данный момент пока что нет времени все доделать, драйвера так и лежат на полке. Уже пришли цифровые термодатчики и датчики холла. Вроде все есть, кроме времени.

HECTEPOB

[user]skros[/user],
Одна сборка управляет одним мотором.  У меня в машинке стоят три сборки: по одной на каждый ходовой мотор и удна на рулевой.  Я привел расшифровку контактов в предыдущем посте. Схему Н-моста можно посмотреть в первом сообщении,  она реализована на двух микросхемах BTS7960B.  В каждой микросхеме два силовых ключа: верхний и нижний. Схема управления и один выход. Верхний ключ коммутирует на выход плюс питания,  нижний ключ подтягивает выход к массе. Выходы каждой из микросхем идут напрямую на мотор. Таким образом,  если на одной микросхеме акиивен верхний ключ, а на второй нижний,  мотор будет крутиться в одну сторону.  Если ключи активировать наоборот,  то мотор закрутится в другую сторону. Если на двух микросхемах активен нижний ключ,  то будет тормоз. 

HECTEPOB

[user]Tygra[/user],
Я понимаю,  что ассемблер на первый взгляд гораздо сложнее для восприятия,  но только на первый взгляд.  Если есть интерес,  готов устроить удаленную конференцию и показать,  какой кусок кода за что отвечает. Кроме того,  готов помочь с допиливанием проши под Ваши нужды: выставляйте хотелки. По поводу надежности подвески: В дождь/по лужам мой не ездит. На сезон точно хватит и редукторов и амортов. Редукторы по 480 рэ, есть два в запасе,  аморты по 300-400 купить можно в любой момент в оби или в леруа.   Ды и нехай ломаются, новые поставил и забыл.