Роботизированая КПП
- Войдите на сайт для отправки комментариев
Здравствуйте!
Давно ищу инфу, по переделке механики в робота своими усилиями.
Из найденного - автоматическая кпп для велосипеда (правда сейчас не могу найти ролик), там было реализовано последовательное переключение педальных звездочек и задних, в зависимости от оборотов(на педалях).
Так же есть задумка соорудить что-то на ардуино и сервоприводах - сейчас в радиомоделях есть тяговитые по 40+ кг усилия.
Подключить это все к механической кпп (сцепление, кулиса) + возможно к газу
В качестве донора - наш любимый отечественный производитель.
Видимых расходов - порядка 10 тысяч рублей
Цель - создание, проектирование универсального блока для газ,камаз и прочих, да для всего что движется
Попробуем составить тз - что надо для выполнения сего устройства?
два сервопривода для управления кулисой
один сервопривод для управления сцеплением
один сервопривод для управления газом - сделаем его "цифровым"
один сервопривод для управления ручным тормозом - сделать на кнопочку как в ситроен с5
один потенциометр на педаль газа - для определения положения
один потенциометр на педаль тормоза - для определения положения
один блок ардуино для выполнения всех движений.
Так же можно будет добавить круиз-контроль из уже получившегося модуля
Жаль никаких языков программирования не знаю :-)
Жаль никаких языков программирования не знаю :-)
Ну вот с этого и начните. Купите ЛЮБУЮ ардуину, парочку любых серв, светодиодов, кнопки. Прочитайте раздел "программирование" (какя-нибудь кинга по С/C++ - тоже пригодится), попробуйте примеры. Научитесь читать кнопки, энкодеры, потенциометры. Крутить сервы синхронно/одновременно, с разными скоростями и т.п.
А уж потом за "супер-универсальные" модули можно будет братся.
До этого - любые ТЗ составлять бессмысленно. Разве что что-бы прикинуть "во что это выльется". И потом смело умножить на что-то от 3-х до 10-ти.
Спасибо за советы :-)
Навыков программирования нет, однако есть представление о структуре кодинга. Есть опыт "рисования" HTML, но это все не то.
С механикой не должно возникнуть вопросов, а вот с чтением инфы с потенциометров пока не могу никак даже вникнуть )
Вобщем изучаю.
Делаю роботизированную КПП на основе привода от Яриса.
Привод представляет из себя исполнительный механизм из двух коллекторных двигателей и датчиков их положений.
Приобрел контроллер для коллекторных двигателей
monster moto shield
http://pacpac.ru/product/dev-10182/
И решил его использовать для управления приводом.
Для каждого из двигателей нужно поймать три положения:
по датчикам это значения 450, 600 и 800
450 и 800 конечные положения с жесткими упорами их поймать проблем нет, а вот среднее положение 600 я или пролетаю или не дохожу.
Двигатели можут вращаться со скоростью 0...1023, линейный ход всего 16мм.
Замутил такой алгоритм: 0,5 пути который нужно пройти приводу он идет со скоростью 1023, дальше идет тормажение и останов
Посоветуйте как быть..., вот моя функция из скетча:
Делайте два концевика с алгоритмом: крайний нижний(выключить двигатель), крайний верхний(выключить двигатель).
Скорость одна - очень медленная, что бы народу ключицы не переломать, если кто случайно будет проходить во время процесса.
Скетч станет очень простым.
Привод от яриса, там уже все встроено, никаких концевиков нет, только датчик положения.
Маленькую скорость нельзя задавать, така как, для страгивания с шарикого фиксатора (трех позиционного) нужен рывок - читай момент, ну и как следсвие высокая стартовая скорость.
Хоть шариковый фиксатор и трехпозиционый, а пролетать среднее положение получается.
Пытался применить функцию map - все равно - пролетаю или недолетаю (в зависимости от стартовой скорости)
spd=map(dystance, 0, full_dystance, 0, 1023);
motorGo(1, CCW, spd);
Если пролёт среднего положения обусловлен спецификой конструкции, то зачем вообще нужно отрабатывать именно в среднем положении что-либо - пусть будет положение "где-то здесь среднее плюс расстояние, которое мы пролетели из-за продуманной конструкции привода".
Среднее положение обязательно, там 3-4 передачи.
Хорошо, если так всё жёстко обусловлено.
Датчик там какой? - резистор?
Датчик холла, но выдает значения как резистивный.
// процедура чтения данных с датчиков пложения приводов
void ReadSensors()
{
ChangeGearSensor1=analogRead(ChangeGearSensor1Pin);
ChangeGearSensor2=analogRead(ChangeGearSensor2Pin);
if (IsValInRangeEx(ChangeGearSensor1,ChangeGearSensor2,ErrorSensorLimit)==false) {SET_ERROR_SENSOR(ERROR_CHANGEGEARSENSOR);} // большая разница в показаниях основного и вспомогательного датчиков
SelectGearSensor1=analogRead(SelectGearSensor1Pin);
SelectGearSensor2=analogRead(SelectGearSensor2Pin);
if (IsValInRangeEx(SelectGearSensor1,SelectGearSensor2,ErrorSensorLimit)==false){SET_ERROR_SENSOR(ERROR_SELECTGEARSENSOR);} // большая разница в показаниях основного и вспомогательного датчиков
}
хорошо, а шум датчика случаем не в пределах пролёта?
...так и не могу понять - зачем именно 600 вам нужно?, почему не 600+- 50? или на сколько вы пролетаете.
у вас никак не выйдет на аналоге ловить ровно 600.
Ловите среднее положение двуми импульсами, импульсом разгона и импульсом торможения. То есть без ШИМа.
Клапауций
Допуск на позиционирование датчика я задал +-30
На сдвиг в процессе работы +-60 (тряска, вибрация).
Шума датчик не имеет (довольно-таки точный).
Нужно поймать 600+-30 (570-630), лучше конечно точнее.
Вот он датчик: http://toyota-corolla.ru/rm04f1ru/repair2/html/frame_rm0000016op008x.html
maksim
Не совсем понял как без ШИМа ? Буду рад любым идеям...
Штатно вроде вот так:
http://toyota-corolla.ru/rm04f1ru/repair2/html/frame_rm0000017ye00cx.html
Даете импульс определенной длительности вращения в одну сторону - импульс разгона, затем импульс в другую сторону - импульс торможения. Тем самым повысите точность остановки в нужном месте. Плюс к этому можно еще предусмотреть импульсы корректировки в случае если проскочили или недоехали.
delay применить для задания длины импульса?
Хотите delay, хотите millis, без разницы. Для начала проверьте что будет нормальное позиционирование.
Так же можно попробовать инициировать импульс торможения по показаниям датчика.
О, я тоже подключусь, привод у меня точно такой же только от короллы.
Позиционирование ни к черту, хотя датчики действительно точные. Видимо придется программно гонять привод туда-сюда, пока не попадет в нужное положение.
Только вот
нужно +-10
нужно +-20, это я проверял на коробке, там люфты такие.
Какой-то нужен алгоритм...
Пробовал воссоздать подачу питания на эл. двигатель, как на графике http://arduino.ru/forum/proekty/robotizirovanaya-kpp#comment-33058
макс. импульс длительностью 50 мкс, затем минимальный - длительностью 50 мкс.
5 В/дел., 50 мкс/дел.
Двигатель стоит и жужжит.
Как я понял тойотовцы специально такие интервалы задают, чтобы проверять после них, находится ли двигатель в нужной позиции и этим достигают точности позиционирования. Но у меня не выходит.
и это все в цикле
Как успехи в проекте?
Вчера был пробный выезд, сегодня поднастрою и еще раз.
а видео где? :)
Это надо за спиной стоять и снимать, я ж на дорогу смотрю.
Видео и фото отельных частей сборки и настройки выложу, езды чуть позже
Как дела с видео? Или все пробные выезды теоретические? :)
Видео снять не смог, рук не хватило, только фото.
http://big-e.ru/images/mytuning/MMT/P1020654.JPG
http://big-e.ru/images/mytuning/MMT/P1110825.JPG
http://big-e.ru/images/mytuning/MMT/P1110826.JPG
http://big-e.ru/images/mytuning/MMT/P1110827.JPG
http://big-e.ru/images/mytuning/MMT/P1110828.JPG
http://big-e.ru/images/mytuning/MMT/P1110829.JPG
http://big-e.ru/images/mytuning/MMT/P1110830.JPG
http://big-e.ru/images/mytuning/MMT/P1110831.JPG
http://big-e.ru/images/mytuning/MMT/P1110832.JPG
http://big-e.ru/images/mytuning/MMT/P1120288.JPG
http://big-e.ru/images/mytuning/MMT/P1120289.JPG
http://big-e.ru/images/mytuning/MMT/P1120290.JPG
http://big-e.ru/images/mytuning/MMT/P1120291.JPG
http://big-e.ru/images/mytuning/MMT/P1120292.JPG
http://big-e.ru/images/mytuning/MMT/P1120293.JPG
http://big-e.ru/images/mytuning/MMT/P1120294.JPG
http://big-e.ru/images/mytuning/MMT/P1120295.JPG
http://big-e.ru/images/mytuning/MMT/P1120296.JPG
http://big-e.ru/images/mytuning/MMT/P1120297.JPG
http://big-e.ru/images/mytuning/MMT/P1120298.JPG
http://big-e.ru/images/mytuning/MMT/P1120299.JPG
http://big-e.ru/images/mytuning/MMT/P1120300.JPG
Вот видео привода до установки:
http://www.youtube.com/watch?v=i_qE16TowJY
Это надо за спиной стоять и снимать, я ж на дорогу смотрю.
Полезно видеорегистратор в салоне поставить, чтобы заодно и параметры на приборной панели показывал.
Блин, а ведь регистратор-то есть, не додумался его использовать, снимал на фотик.
Сейчас привод снял с машины, проблема в сдыхающем синхронизаторе КПП - он не позволяет очень быстро передачи включать.
Я и раньше знал, что синхронизатор умирает, на ручной КПП передачи с паузой втыкал, теперь знаю точно, что синхронизатор менять надо. Но пока поезжу еще.
круто! большой поклон! вышло прям как заводская коробка передач "робот".
Ну я старался. Механизм от тойоты, переходная плита и деталировка моя, крышка КПП родная с доработкой.
Ребята скинь те скетч акпп для управления на ардуино буду очень благодарен ppetia12@gmail.com.
Никто не скинет.