Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Модераторы: Володька Николаев, новичок, вовочка, argon84, Белый Дом, Вопрос, mmcl200

Ответить
OLD
Сообщения: 2
Зарегистрирован: 13 янв 2018, 17:04
Репутация: 0
Имя: Евгений
Откуда: Мещовск, Калужская область
Возраст: 42
Контактная информация:

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение OLD » 22 май 2018, 16:27

Приветствую всех!

Хочу представить свою разработку. Код готов. На двигателе еще не испытывал. Идет процесс установки на двигатель.

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), включается режим прогрева ДВС (желтый светодиод). Возможно нажать кнопку обогащения смеси (только если ДВС не вращается) для уверенного пуска. Заводим двигатель. С первыми оборотами закрывается воздушная заслонка. Далее, по мере пррогрева, она приоткрывается. Желтый светодиод погас, красный горит — ДВС работает на ХХ. Переключаем тумблер в режим регулирования. Обороты устанавливаются согласно положению потенциометра. По необходимости, вторым тумблером включаем автоматический переход на ХХ. Например, если остановились и включили "нейтраль", ДВС сам перешел на ХХ.

Аватара пользователя
argon84
Недобрый
Сообщения: 1443
Зарегистрирован: 11 апр 2013, 15:26
Репутация: 19
Имя: Андрей
Откуда: Москва

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение argon84 » 22 май 2018, 18:45

Идея интересная! Желаю удачи! Обратите внимание на применяемую элементную базу и исполнение узлов/блоков!! У меня уже есть грабли с применением "бытовухи" в промышленности и транспорте. Температура, помехи, вибрация, грязь, время жизни(наработка на отказ)
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330

mmcl200
Администратор
Сообщения: 7810
Зарегистрирован: 24 фев 2009, 13:29
Репутация: 43
Имя: Денис
Откуда: Санкт-Петербург

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение mmcl200 » 24 май 2018, 12:46

OLD, пару вопросов имею,
Почему исполнительным механизмом приняты сервоприводы? а не шаговый двигатель?
Почему на МЕГЕ? уно не хватает?

OLD
Сообщения: 2
Зарегистрирован: 13 янв 2018, 17:04
Репутация: 0
Имя: Евгений
Откуда: Мещовск, Калужская область
Возраст: 42
Контактная информация:

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение OLD » 24 май 2018, 22:20

mmcl200 писал(а):
24 май 2018, 12:46
Почему исполнительным механизмом приняты сервоприводы? а не шаговый двигатель?
1. Быстродействие. Нагрузка на ДВС может меняться быстро. Реакция регулятора должна быть еще быстрее.
2. Шаговому двигателю нужен драйвер. Сервопривод уже является цифровым устройством с обратной связью.
Почему на МЕГЕ? уно не хватает?
Все дело в аппаратных внешних прерываниях. У УНО их 2, у Меги - 6. Только для регулятора оборотов хватит и Уно. Датчик тахометра должен быть подключен к пину 2 или 3.
Но я решил использовать Мегу потому ,что хочу навешать на Ардуину много функций. Любая Ардуина - весьма мощная штука. И ее не следует затормаживать опросом состояния тумблера или кнопки миллион раз в секунду. В моем проекте используется пока 3 внешних прерывания. И еще 1 или 2 - планирую.

Еще один момент - память. Большая программа может просто не поместится в УНО.

Аватара пользователя
val_001
Сообщения: 699
Зарегистрирован: 15 июл 2014, 02:20
Репутация: 16
Имя: Валерий
Откуда: Санкт-Петербург
Контактная информация:

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение val_001 » 25 май 2018, 03:18

Так и не понял, для чего все это нужно. Область применения понятна, способы решения - тоже. Но для чего это все в вездеходной тематике - не понимаю.
Переходные процессы в виде запуска, прогрева - это вроде как нужно. Хотя и не обязательно. Только это не главное в вездеходах.
Почта: val_001@mail.ru

Дмитрий78
Сообщения: 3030
Зарегистрирован: 19 мар 2010, 08:43
Репутация: 34
Откуда: Ленинград

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение Дмитрий78 » 25 май 2018, 07:57

OLD,
Задумать и написать, это треть дела. Ещё две трети отладить на практике. Например на низкой передаче добиться движения с изменяющейся нагрузкой без рывков. Ведь нога человека по сигналу от головы заранее уберёт газ, в то время как жесткий алгоритм при увеличении нагрузки поддаст газу, при достижении оборотов убавит, а мотор по инерции обороты превысит. Придется уменьшить газ, обороты по инерции упадут ниже заявленных, придется опять поддать газу. И так далее.
Ну и если это будет комерческий продукт, то важно что бы он адаптировался на любой мотор без танцев с бубном. Не устанавливался, а адаптировался под управление конкретным мотором, ведь даже два идентичных мотора могут по разному реагировать на педаль газа.

Аватара пользователя
argon84
Недобрый
Сообщения: 1443
Зарегистрирован: 11 апр 2013, 15:26
Репутация: 19
Имя: Андрей
Откуда: Москва

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение argon84 » 25 май 2018, 11:54

В своё время один товарищ делал круиз контроль на УАЗ Патриот под электронную педаль. Всё получилось, проект дорос до коммерческого. На этапе отстройки ПИД регулятора пришлось поиграться.. сильно всё зависит от тяговооруженности конкретной машины. В большие тягуны проседает(заранее не разгоняется, глаз нет) и с горки продолжает разгоняться какое-то время. Где мощности движка хватает - идёт ровно. Бонусом получили работу КК и на пониженной. Вот тут есть определенная прелесть! 1-я пониженная, 1000-1200 об/мин и поперли! Держит ровно, лишнего газа не дает и не проседает. Несколько раз только так и вылезал из чачи. Мне очень понравился этот режим.
В расчетах регулятора учитывали включенную передачу иначе не получалось нормально. Передачу вычисляли из показаний тахометра и спидометра.
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330

Аватара пользователя
val_001
Сообщения: 699
Зарегистрирован: 15 июл 2014, 02:20
Репутация: 16
Имя: Валерий
Откуда: Санкт-Петербург
Контактная информация:

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение val_001 » 25 май 2018, 12:31

argon84 писал(а):
25 май 2018, 11:54
Бонусом получили работу КК и на пониженной. Вот тут есть определенная прелесть! 1-я пониженная, 1000-1200 об/мин и поперли! Держит ровно, лишнего газа не дает и не проседает. Несколько раз только так и вылезал из чачи. Мне очень понравился этот режим.
То есть, речь фактически идет об ограничении тяги двигателя. Вполне схожий режим устанавливается гораздо более простым способом при помощи ручного газа с фиксацией положения. А на карбюраторных автомобилях и просто ручкой предпускового режима.
А вот если на Ардуино сделать не ограничение оборотов небольшим устойчивым значением и соответственно ограничение тяги двигателя, а ПБС, вот то да, было бы мегаполезно и очень востребовано.
Почта: val_001@mail.ru

Аватара пользователя
argon84
Недобрый
Сообщения: 1443
Зарегистрирован: 11 апр 2013, 15:26
Репутация: 19
Имя: Андрей
Откуда: Москва

Регулятор оборотов ДВС на Arduino. Система запуска и прогрева ДВС. Счетчик мото-часов. ШИМ-регулятор вентиллятора.

Сообщение argon84 » 25 май 2018, 13:03

val_001 писал(а):
25 май 2018, 12:31
То есть, речь фактически идет об ограничении тяги двигателя. Вполне схожий режим устанавливается гораздо более простым способом при помощи ручного газа с фиксацией положения. А на карбюраторных автомобилях и просто ручкой предпускового режима.
А вот если на Ардуино сделать не ограничение оборотов небольшим устойчивым значением и соответственно ограничение тяги двигателя, а ПБС, вот то да, было бы мегаполезно и очень востребовано.
Да ничего подобного! Диапазон открытия дроссельной заслонки при поддержании любого режима 0-100% Возможность ручного газа тоже предусмотрена и у меня потенциометр выведен. Это ерунда по сравнению с движением на КК, даже сравнивать смысла нет.
Фактически у нас и есть регулятор оборотов. Система поддерживает обороты двигателя на выбранной передаче. Т.к. коробка механическая этого достаточно чтоб двигаться с заданной скоростью.
Правила, инструкции, как вставить фото и видео: viewforum.php?f=330

Ответить

Вернуться в «Электроника»