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

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

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

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

pchelomor

Судя по фото размер у педали будет не маленький. Для детской машинки это будет ПЕДАЛИЩЕ. Может есть смысл подумать как переделать велосипедную ручку
Мой проект https://electrotransport.ru/index.php?topic=22864.0
Чертежи бесплатно. Информация в шапке.

HECTEPOB

Размер "педалищи" примерно 120х30 мм, я думаю нормально... Приедет - поприкладываю

HECTEPOB

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

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

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

HECTEPOB

Заработал электродифференциал:

http://youtu.be/aCzmfRFzZsQ

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

HECTEPOB

Вчера закончили прикидку задней подвески.






Добавлено 06 Фев 2015 в 16:54:35






Добавлено 06 Фев. 2015 в 16:55



HECTEPOB

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

По задней подвеске осталось:
1. Установить ось на шпильки вместо пластиковых стяжек.
2. Сделать усиление под крепление амортизаторов.
3. Сделать защиту корпуса, чтобы аккумуляторы не болтались на весу.

Вот видео работы подвески:
http://youtu.be/PTHcbuCS354
Так же установили педаль. К сожалению забыл сфоткать, в следующий раз....

Педаль вот эта:
http://www.aliexpress.com/item/foot-pedal-throttle-foot-pedal-accelerator-Electric-car-accelerator-pedal-speed-control/1924763788.html

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

Вторая педаль, которая вот эта:
http://www.aliexpress.com/item/Electric-bicycle-tricycle-foot-throttle-car-boat-sightseeing-car-foot-electronic-nset-pedal-accelerator/963781666.html
доехала только сегодня, она по размерам не меньше первой и нажимать ее на самом деле, видится мне, менее удобно.


pchelomor

Мой проект https://electrotransport.ru/index.php?topic=22864.0
Чертежи бесплатно. Информация в шапке.

HECTEPOB

Попробовал с кучи компов,  вроде везде кажет!  Кто нибудь еще проверьте пожалуйста.  Буду у компа в понедельник - перезалью.

Алексей Ка


pchelomor

Мой проект https://electrotransport.ru/index.php?topic=22864.0
Чертежи бесплатно. Информация в шапке.

HECTEPOB

Проверьте, пожалуйста, теперь должно показываться!

pchelomor

Теперь всё кажет :-). За что люблю электрический дифф. так это за его инерционность, благодаря которому существенно повышается проходимость.
Мой проект https://electrotransport.ru/index.php?topic=22864.0
Чертежи бесплатно. Информация в шапке.

HECTEPOB

Ну инерционность можно корректировать. Сейчас алгоритм достаточно тупой:

Имеем сигналы тока потребления с двух ходовых моторов. Каждый сигнал усредняем кольцевым буфером на 8 значений (сейчас длина кольцевых буферов одинаковая для всех каналов АЦП, пока не вижу необходимости это менять, ибо незачем усложнять алгоритм обработки входных сигналов).
Имеем значение "газа/реверса" вычисленное по сигналу с пульта, либо с педали газа.
Имеем переменную коррекции по току: знаковое число, которое добавляется к управляющему воздействию на правый мотор и вычитается из управляющего воздействия на левый мотор. Изначально корректировка равна нулю и оба мотора получают одинаковое управляющее воздействие.

Далее с частотой 50 герц сравниваем сигналы потребления тока от моторов, если правый потребляет больше, то декрементируем значение корректировки, если левый потребляет больше, то инкрементируем значение корректировки.
Если управляющее воздействие в сумме со значением корректировки выходит за пределы диапазона, то устанавливаем его равным границе диапазона.

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

Думаю имеет смысл сначала протестить как оно себя поведет на борту.

HECTEPOB

Прошу прощения у тех, кто следит за задержку с обновлениями. Проект не заброшен и близится к своему завершению.

Вчера добил подвеску. На передней просто требовалось подобрать винты по длине и все их закрутить. На задней сделал усиление под амортизаторы и крепление редукторов к маятнику.

Несколько свежих фоток:
Задний маятник и крепление редукторов





Добавлено 30 Март 2015 в 13:08

Усиление под амортизаторы:


HECTEPOB

По самому контроллеру:

Первые шаги по работе рулевого мотор-редуктора в режиме электроусилителя:
Отладил на иммитаторе (потенциометр) определение скорости вращения рулевого вала. Получилось достичь зависимости скорости вращения моторов от скорости изменения сигнала с потенциометра.

Алгоритм следующий:
1. По прерыванию от соответствующего канала АЦП значяение датчика УПРВ пишется в кольцо, длина кольца - 8 значений. Частота записи получается 125 кГц / 6 каналов т.е. ~20 кГц
2. По прерыванию от таймера захвата пульта РУ, т.е. с частотой 50 Гц (период 20 мс) происходит вычисление текущего усредненного значения сигнала датчика УПРВ (сумма всех значений кольца / длину кольца). Из текущего усредненного значения вычитается предыдущее усредненное значение (вычисленное на предыдущей итерации) и получается искомая скорость (10-битное число со знаком), которая сохраняется в соответствующую переменную.
3. Непосредственно управление мотором происходит в основном цикле программы: знак скорости заисывается во флаг направления вращения рулевого мотора, с абсолютным значением скорости делается линейное преобразование в эффективный диапазон ШИМ рулевого мотора.
4. На выходе получаем, что скорость вращения мотора соответствует скорости изменения сигнала с датчика.

HECTEPOB

Сегодня провел первые ходовые испытания. Требуется подгон параметров для руления (пока работал с газом/реверсом кончились батарейки). Пока не перенес в новую версию прошивки пропорциональное руление с пульта РУ.
По управлению газом/реверсом с борта и с пульта + электродифференциал - все ок. Работает нормально, параметры подобраны.

Машина заехала в гараж уже своим ходом.

Следующая итерация:
Допилить руление и все по человечески собрать и написать подробный отчет в первом сообщении с актуальной версией ПО.

Ну и конечно в дальнейших планах управление светом.

HECTEPOB

Сегодня удалось сделать прикидочную сборку.  Аккумуляторы из под кресла переехали под капот.  Там же разместил регулятор рулевого мотор-редуктора и контроллер.  Регуляторы ходовых мотор-редукторов оставил под креслом. Приемник РУ и его антенну приклеил к капоту с внутренней стороны. РУ работает стабильно,  без глюков,  дальность не проверял (негде). Скорректировал длину проводов.

Смотрите предварительный видео-отчет.

http://youtu.be/gYkY920Pi5U

HECTEPOB

Сегодня приделел кнопку звукового сигнала (бесит конечно надпись, но ничего лучше не нашел, найду - поменяю) на руль. Сам руль установил по человечески (чтобы не люфтил на валу). Для этого нарезал резьбу М6 в корпусе руля и в отверстии в валу. Прикрутил насквозь болтом М6.

Провода вывел в подкапотное пространство.



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