Приветствую всех!
Хочу представить свою разработку. Код готов. На двигателе еще не испытывал. Идет процесс установки на двигатель.
1. Что это такое.
1.1 Регулятор оборотов .
Поддерживает постоянные обороты вне зависимости от нагрузки. Не нужна педаль "газа". Обороты выставляются потенциометром. Привод дроссельной заслонки от мощной серво-машинки. По сути, это PID-регулятор. Используется метод Зиглера-Никольса. Реагирование на внешние события. Например, поднятая навеска и КПП на нейтрали — перевод двигателя на ХХ.
1.2 Система запуска и прогрева ДВС. (Не нужна для инжекторных и дизельных двигателей)
1.2.1 "Автоподсос".Управление воздушной заслонкой в зависимости от температуры двигателя. Привод воздушной заслонки от мощной серво-машинки. Температура берется с цифрового датчика.
1.2.2 Обогащение топливной смеси. Эмуляция нескольких нажатий на педаль "газа" при запуске холодного двигателя.
1.3 Счетчик моточасов.
1.4 ШИМ-регулятор оборотов вентиллятора охлаждения.
Плавное управление вентиллятором. Растет температура — растут обороты вентиллятора.
2. Область применения.
2.1. Самодельные трактора, вездеходы, стационарные генераторы электроэнергии, мотопомпы и т.п.
2.2 Синхронизация работы нескольких ДВС.
2.3 Беспилотные ТС.
3. Готовность кода проекта.
3.1 Регулятор оборотов ДВС 95% (остался датчик нейтрали)
3.2 Система запуска и прогрева ДВС 100%
3.3 Счетчик моточасов 0%
3.4 ШИМ-регулятор оборотов вентиллятора 95%
4. Испытания на ДВС.
4.1 Регулятор оборотов ДВС 20%
4.2 Система запуска и прогрева ДВС 0%
4.3 Счетчик моточасов 0%
4.4 ШИМ-регулятор оборотов вентиллятора 0%
5. Содержимое репозитория bitbucket.org/OLD1976/throttle-control
5.1 Директория libraries Библиотеки Arduino необходимые для компиляции проекта.
5.2 Директория throttle-control Директория проекта
5.2.1 Файл throttle-control.ino Код программы для Arduino (Mega).
5.2.2 Файл pitches.h Заголовочный файл для воспроизведения мелодии при старте Arduino.
5.2.3 Файл throttle-control.fzz Макетная плата проекта для программы Fritzing. (fritzing.org/download/)
5.2.4 Файл my_parts.fzbz Файл электронных компонентов для программы Fritzing, которые отсутствуют в Базе Элементов программы.
5.2.5 Файл readme.txt Файл описания проекта
6. Список компонентов.
6.1 Предохранитель в корпусе, 10А 1 шт.
6.2 БП DC/DC 12В --> 5В 10-12А 1 шт. ali.onl/O0r
6.3 Arduino Mega 2560 1 шт.
6.4 Плата расширения для Mega 2560 R3 (Шилд) 1 шт. ali.onl/O0q
6.5 Потенциометр-слайдер (можно крутилку) 1 шт. ali.onl/O0p
6.6 ИК датчик препятствий для тахометра и датчик нейтрали 2 шт. ali.onl/O0o
6.7 Датчик температуры DS18B20 1 шт. (для карбовых ДВС) ali.onl/NZE
6.8 Сервопривод MG996R 2 шт. (для ижекторов и дизелей — 1шт.) ali.onl/NZC
6.9 Дисплей LCD1602 + I2C ЖК 1 шт. ali.onl/NZA
6.10 Зуммер на 5В. ЗП-5, например. 1 шт.
6.11 2-х позиционный переключатель 2 шт.
6.12 Концевой переключатель для навески трактора 2 шт.
6.13 Провода для макетирования 1 набор ali.onl/NZv
6.14 Светодиоды. Красный, желтый, зеленый 3 шт.
6.15 Резистор 200-240 Ом для светодиодов 3 шт.
6.16 Резистор 4.7 кОм для датчика темперетуры 1 шт.
7. Управление и индикация.
7.1 Тумблер выбора режима.
7.1.1 Режим регулирования оборотов.
7.1.2 Режим принудительного ХХ/прогрева ДВС (зависит от температуры).
7.2 Кнопка обогащения (без фиксации). При нажатии, если двигатель холодный и включен режим прогрева, сработает сервопривод дросселя и 4 раза "нажмет на педаль газа".
7.3 Потенциометр. Можно задать рабочие обороты ДВС, которые будут поддерживаться постоянными. В пределах от ХХ до 3000 (переменная RPMmax).
7.4 Тумблер включения автоматического перехода на ХХ при поднятой навеске (концевик) и (или) положении КПП в нейтрали (концевик или датчик). Либо любые другие события.
7.5 Красный светодиод. Горит, если выбран режим ХХ/прогрева.
7.6 Желтый светодиод. Горит, если выбран режим ХХ/прогрева и температура ниже 40 градусов. Мигает 4 раза, если нажали кнопку обогащения.
7.7 Зеленый светодиод. Горит, если выбран режим регулирования оборотов.
7.8 Дисплей. Показывает обороты ДВС (RPM), температуру ДВС (T), начальную температуру ДВС ™, угол открытия дроссельной заслонки (Out).
8. Алгоритм работы системы.
Включаем зажигание. Подается питание на контроллер и сервоприводы. Контроллер готов к работе. Звучит мелодия. Производится замер начальной температуры ДВС. Перед запуском холодного двигателя нужно выбрать режим ХХ/прогрева. Если температура ниже 40гр (TempMax), включается режим прогрева ДВС (желтый светодиод). Возможно нажать кнопку обогащения смеси (только если ДВС не вращается) для уверенного пуска. Заводим двигатель. С первыми оборотами закрывается воздушная заслонка. Далее, по мере пррогрева, она приоткрывается. Желтый светодиод погас, красный горит — ДВС работает на ХХ. Переключаем тумблер в режим регулирования. Обороты устанавливаются согласно положению потенциометра. По необходимости, вторым тумблером включаем автоматический переход на ХХ. Например, если остановились и включили "нейтраль", ДВС сам перешел на ХХ.
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Модераторы: новичок, Володька Николаев, argon84, Вопрос, mmcl200
-
- Сообщения: 6
- Зарегистрирован: 13 янв 2018, 17:04
- Имя: Евгений
- Откуда: Мещовск, Калужская область
- Возраст: 48
-
- Недобрый
- Сообщения: 2386
- Зарегистрирован: 11 апр 2013, 15:26
- Имя: Андрей
- Откуда: Москва
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Идея интересная! Желаю удачи! Обратите внимание на применяемую элементную базу и исполнение узлов/блоков!! У меня уже есть грабли с применением "бытовухи" в промышленности и транспорте. Температура, помехи, вибрация, грязь, время жизни(наработка на отказ)
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330
-
- Администратор
- Сообщения: 9633
- Зарегистрирован: 24 фев 2009, 13:29
- Имя: Денис
- Откуда: Санкт-Петербург
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
OLD, пару вопросов имею,
Почему исполнительным механизмом приняты сервоприводы? а не шаговый двигатель?
Почему на МЕГЕ? уно не хватает?
Почему исполнительным механизмом приняты сервоприводы? а не шаговый двигатель?
Почему на МЕГЕ? уно не хватает?
-
- Сообщения: 6
- Зарегистрирован: 13 янв 2018, 17:04
- Имя: Евгений
- Откуда: Мещовск, Калужская область
- Возраст: 48
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
1. Быстродействие. Нагрузка на ДВС может меняться быстро. Реакция регулятора должна быть еще быстрее.
2. Шаговому двигателю нужен драйвер. Сервопривод уже является цифровым устройством с обратной связью.
Все дело в аппаратных внешних прерываниях. У УНО их 2, у Меги - 6. Только для регулятора оборотов хватит и Уно. Датчик тахометра должен быть подключен к пину 2 или 3.Почему на МЕГЕ? уно не хватает?
Но я решил использовать Мегу потому ,что хочу навешать на Ардуину много функций. Любая Ардуина - весьма мощная штука. И ее не следует затормаживать опросом состояния тумблера или кнопки миллион раз в секунду. В моем проекте используется пока 3 внешних прерывания. И еще 1 или 2 - планирую.
Еще один момент - память. Большая программа может просто не поместится в УНО.
-
- Сообщения: 860
- Зарегистрирован: 15 июл 2014, 02:20
- Имя: Валерий
- Откуда: Санкт-Петербург
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Так и не понял, для чего все это нужно. Область применения понятна, способы решения - тоже. Но для чего это все в вездеходной тематике - не понимаю.
Переходные процессы в виде запуска, прогрева - это вроде как нужно. Хотя и не обязательно. Только это не главное в вездеходах.
Переходные процессы в виде запуска, прогрева - это вроде как нужно. Хотя и не обязательно. Только это не главное в вездеходах.
Почта: val_001@mail.ru
Локаут до 24.06.2020
Локаут до 24.06.2020
-
- Сообщения: 3204
- Зарегистрирован: 19 мар 2010, 08:43
- Откуда: Ленинград
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
OLD,
Задумать и написать, это треть дела. Ещё две трети отладить на практике. Например на низкой передаче добиться движения с изменяющейся нагрузкой без рывков. Ведь нога человека по сигналу от головы заранее уберёт газ, в то время как жесткий алгоритм при увеличении нагрузки поддаст газу, при достижении оборотов убавит, а мотор по инерции обороты превысит. Придется уменьшить газ, обороты по инерции упадут ниже заявленных, придется опять поддать газу. И так далее.
Ну и если это будет комерческий продукт, то важно что бы он адаптировался на любой мотор без танцев с бубном. Не устанавливался, а адаптировался под управление конкретным мотором, ведь даже два идентичных мотора могут по разному реагировать на педаль газа.
Задумать и написать, это треть дела. Ещё две трети отладить на практике. Например на низкой передаче добиться движения с изменяющейся нагрузкой без рывков. Ведь нога человека по сигналу от головы заранее уберёт газ, в то время как жесткий алгоритм при увеличении нагрузки поддаст газу, при достижении оборотов убавит, а мотор по инерции обороты превысит. Придется уменьшить газ, обороты по инерции упадут ниже заявленных, придется опять поддать газу. И так далее.
Ну и если это будет комерческий продукт, то важно что бы он адаптировался на любой мотор без танцев с бубном. Не устанавливался, а адаптировался под управление конкретным мотором, ведь даже два идентичных мотора могут по разному реагировать на педаль газа.
-
- Недобрый
- Сообщения: 2386
- Зарегистрирован: 11 апр 2013, 15:26
- Имя: Андрей
- Откуда: Москва
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
В своё время один товарищ делал круиз контроль на УАЗ Патриот под электронную педаль. Всё получилось, проект дорос до коммерческого. На этапе отстройки ПИД регулятора пришлось поиграться.. сильно всё зависит от тяговооруженности конкретной машины. В большие тягуны проседает(заранее не разгоняется, глаз нет) и с горки продолжает разгоняться какое-то время. Где мощности движка хватает - идёт ровно. Бонусом получили работу КК и на пониженной. Вот тут есть определенная прелесть! 1-я пониженная, 1000-1200 об/мин и поперли! Держит ровно, лишнего газа не дает и не проседает. Несколько раз только так и вылезал из чачи. Мне очень понравился этот режим.
В расчетах регулятора учитывали включенную передачу иначе не получалось нормально. Передачу вычисляли из показаний тахометра и спидометра.
В расчетах регулятора учитывали включенную передачу иначе не получалось нормально. Передачу вычисляли из показаний тахометра и спидометра.
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330
-
- Сообщения: 860
- Зарегистрирован: 15 июл 2014, 02:20
- Имя: Валерий
- Откуда: Санкт-Петербург
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
То есть, речь фактически идет об ограничении тяги двигателя. Вполне схожий режим устанавливается гораздо более простым способом при помощи ручного газа с фиксацией положения. А на карбюраторных автомобилях и просто ручкой предпускового режима.
А вот если на Ардуино сделать не ограничение оборотов небольшим устойчивым значением и соответственно ограничение тяги двигателя, а ПБС, вот то да, было бы мегаполезно и очень востребовано.
Почта: val_001@mail.ru
Локаут до 24.06.2020
Локаут до 24.06.2020
-
- Недобрый
- Сообщения: 2386
- Зарегистрирован: 11 апр 2013, 15:26
- Имя: Андрей
- Откуда: Москва
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Да ничего подобного! Диапазон открытия дроссельной заслонки при поддержании любого режима 0-100% Возможность ручного газа тоже предусмотрена и у меня потенциометр выведен. Это ерунда по сравнению с движением на КК, даже сравнивать смысла нет.val_001 писал(а): ↑25 май 2018, 12:31То есть, речь фактически идет об ограничении тяги двигателя. Вполне схожий режим устанавливается гораздо более простым способом при помощи ручного газа с фиксацией положения. А на карбюраторных автомобилях и просто ручкой предпускового режима.
А вот если на Ардуино сделать не ограничение оборотов небольшим устойчивым значением и соответственно ограничение тяги двигателя, а ПБС, вот то да, было бы мегаполезно и очень востребовано.
Фактически у нас и есть регулятор оборотов. Система поддерживает обороты двигателя на выбранной передаче. Т.к. коробка механическая этого достаточно чтоб двигаться с заданной скоростью.
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330
-
- Сообщения: 412
- Зарегистрирован: 15 дек 2010, 14:55
- Откуда: Пермь
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Год прошел.
интересно., как развивается проект???...есть необходимость в такой "штуковине".....
интересно., как развивается проект???...есть необходимость в такой "штуковине".....
не надо выдумывать велосипед, посмотри как делают другие, и сделай лучше ..
меня можно найти здесь (ник э..эх):
http://www.fishing.perm.ru/forum/
меня можно найти здесь (ник э..эх):
http://www.fishing.perm.ru/forum/
-
- Сообщения: 6
- Зарегистрирован: 13 янв 2018, 17:04
- Имя: Евгений
- Откуда: Мещовск, Калужская область
- Возраст: 48
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Мелкими шажками. Урывками. Нет времени. Причем, осталось-то соединить провода.
Но думаю, в этом году доделаю.
-
- Сообщения: 234
- Зарегистрирован: 13 фев 2018, 11:55
- Имя: Евгений
- Откуда: Сыктывкар
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Есть саит alex guver , попробуйте там задать вопросы, очень многое у него сделано на Ардуино.
-
- Сообщения: 6
- Зарегистрирован: 13 янв 2018, 17:04
- Имя: Евгений
- Откуда: Мещовск, Калужская область
- Возраст: 48
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
У меня нет вопросов, но есть недостаток времени. Сомневаюсь, что alex мне поможет с ним.Евгений 010 писал(а): ↑23 апр 2019, 21:38 Есть саит alex guver , попробуйте там задать вопросы, очень многое у него сделано на Ардуино.
-
- Сообщения: 116
- Зарегистрирован: 25 янв 2012, 17:21
- Имя: Артем
- Откуда: Москва
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Я тоже как-то занялся вопросом реализации регулятора оборотов.
У меня на вездеходе карбюраторный двигатель ВАЗ-2108, на нем висит тандемный гидронасос хода, питающий гидромоторы.
Скорость движения регулируется расходом насосов. А вот обороты ДВС я хотел регулировать переменным резистором на панели приборов, выставляя требуемое значение для текущего режима движения.
Очевидно, что в зависимости от нагрузки на гидромоторы потребуется так называемый "автомат газа" для ДВС. Дополнительной функцией необходимо ограничивать обороты ДВС на максимальных для гидравлики 3400 об/мин.
Реализовал на Ардуино Уно, управляю дроссельной заслонкой сервомашинкой, обороты "читаю" с катушки зажигания. Требуемые обороты - потенциометр.
На данный момент осталось подобрать коэффициенты ПИД-регулятора. Делаю это с помощью трех переменных резисторов, которые онлайн меняют эти коэффициенты.
Регулирование осуществляется, как задумано, но не удалось полностью избавиться от перерегулирования и колебательности переходного процесса.
Сейчас я не уверен, что на карбюраторном двигателе это реализуемо. Очень уж сложно прогнозируем отклик и скорость отклика ДВС на подачу топливно-воздушной смеси из карбюратора, т.к. зависимость оборотов вращения двигателя от угла открытия дроссельной заслонки гуляет в очень широких пределах.
А вот для движков с электронной дроссельной заслонкой, на мой взгляд, это интересная и реализуемая идея для двигателей без штатного центробежного механического регулятора.
У меня на вездеходе карбюраторный двигатель ВАЗ-2108, на нем висит тандемный гидронасос хода, питающий гидромоторы.
Скорость движения регулируется расходом насосов. А вот обороты ДВС я хотел регулировать переменным резистором на панели приборов, выставляя требуемое значение для текущего режима движения.
Очевидно, что в зависимости от нагрузки на гидромоторы потребуется так называемый "автомат газа" для ДВС. Дополнительной функцией необходимо ограничивать обороты ДВС на максимальных для гидравлики 3400 об/мин.
Реализовал на Ардуино Уно, управляю дроссельной заслонкой сервомашинкой, обороты "читаю" с катушки зажигания. Требуемые обороты - потенциометр.
На данный момент осталось подобрать коэффициенты ПИД-регулятора. Делаю это с помощью трех переменных резисторов, которые онлайн меняют эти коэффициенты.
Регулирование осуществляется, как задумано, но не удалось полностью избавиться от перерегулирования и колебательности переходного процесса.
Сейчас я не уверен, что на карбюраторном двигателе это реализуемо. Очень уж сложно прогнозируем отклик и скорость отклика ДВС на подачу топливно-воздушной смеси из карбюратора, т.к. зависимость оборотов вращения двигателя от угла открытия дроссельной заслонки гуляет в очень широких пределах.
А вот для движков с электронной дроссельной заслонкой, на мой взгляд, это интересная и реализуемая идея для двигателей без штатного центробежного механического регулятора.
-
- Сообщения: 6
- Зарегистрирован: 13 янв 2018, 17:04
- Имя: Евгений
- Откуда: Мещовск, Калужская область
- Возраст: 48
Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.
Я думаю, брать обороты с катушки - не правильно. Только с коленвала. И меток (отверстий, магнитов и т.п.) должно быть больше одной. Минимум 3, лучше - 6 или 8. У любого двигателя есть неравномерность вращения. Например, из-за разности компрессии по цилиндрам. Значение этой неравномерности нужно исключить из процесса регулирования. Скачут обороты +- 50, значит не регулируем в пределах 100.