Перейти к содержанию

Простой электронный регулятор оборотов бензогенератора


Рекомендуемые сообщения

Прошу помощи электронщиков , хочу сваять бюджетный электронный регулятор для бензогенератора
центробежный уже немного достал , пора переходить на электронику
итак вводные :
1 пид регулятор считаю что не нужен .
2 сигнал оборотов с датчика холла ,количество импульсов на оборот пока под вопросом но наверно не больше 50
чтоб простой контроллер успевал считать
3 обороты на генераторе 1500 об мин
4 диапазон регулирования оборотов 100 об мин
5 положение дроссельной заслонки регулируется шаговым или сервоприводом с выбором положения заслонки из
таблицы типа обороты 1450 -полный газ, обороты 1550 -заслонка закрыта.
6 положение заслонки определяется по датчику дроссельной заслонки daewo lanos(0-5v)-простой потенциометр
Итак подскажите на чем и как лучше слепить и запрограммировать чайнику (паять умею).

С микроконтроллерами дела не имел.

Если тему создал не в том разделе то перенесите.

Ссылка на комментарий
Поделиться на другие сайты

Без ПИД ваш регулятор в целом работать не будет, пойдут автоколебания и генератор накроется. Мало просто реализовать ПИД, надо ещё правильно его настроить!

Изменено пользователем Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

7 часов назад, Dimonchik7 сказал:

пид регулятор считаю что не нужен .

Сильно ошибаетесь. Как раз таки очень нужен.

7 часов назад, Dimonchik7 сказал:

центробежный уже немного достал

Чем не устраивает механика?

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

На механическом центробежном регуляторе диапазон оборотов сделать меньше 300об мин не могу,у регулятора здоровья не хватает тягать дроссельную заслонку.А 300 об мин это много -напряжение и частота сильно скачут.

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

Мне не надо удержать строго 1500 об мин,меня устроит и +-50 об мин.

Можно составить таблицу в программе или сделать расчет по формуле типа такого:

1550 об мин заслонка вположении 0%

1548 об мин заслонка в положении 2%

11546 об мин заслонка в положении 4%

итд.

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

инерционность генератора большая и мгновенной реакции не требуется , если контроллер сможет отреагировать за 0.2-0.3 секунды то будет хорошо.

Подскажите хотя бы какой контроллер из простых потянет это дело и по програмированию не сильно сложный был

П.С. буду осваивать.

Да, я не прошу все сделать за меня ,подскажите направление чтоб я на лишние грабли не наступал.

 

 

 

Изменено пользователем Dimonchik7
Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

12 часа назад, Dimonchik7 сказал:

Можно составить таблицу в программе или сделать расчет по формуле типа такого:

1550 об мин заслонка вположении 0%

1548 об мин заслонка в положении 2%

11546 об мин заслонка в положении 4%

Так не получиЦа , положение заслонки дросселя  очень сильно зависит от нагрузки на  генераторе ...

Ссылка на комментарий
Поделиться на другие сайты

12 hours ago, Dimonchik7 said:

Подскажите хотя бы какой контроллер из простых потянет это дело и по програмированию не сильно сложный был

П.С. буду осваивать.

Да, я не прошу все сделать за меня ,подскажите направление чтоб я на лишние грабли не наступал.

Самые простые, доступные и широко используются контроллеры Atmel AVR. Можно взять один из линейки ATmega48, ATmega88, ATmega168, ATmega328 - отличаются объемом памяти.

Для начала, не покупая ничего установить AtmelStudio и Proteus и написать простенькую программу мигания светодиодом. Если получится, то можно думать и о железе.

Ссылка на комментарий
Поделиться на другие сайты

12 часа назад, Dimonchik7 сказал:

аналог центробежного регулятора

Он по сути мало чем отличается от ПИД. Только механика.

 

12 часа назад, Dimonchik7 сказал:

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

Да не хватит. Он будет дергать заслонку туда-сюда и все. Это будет чисто пропорциональный регулятор. Причем у него еще и ошибка будет накапливаться. Он не сможет точно подойти к нужному значению угла заслонки. Сначала будет перерегулирование, когда обороты надо повышать. Потом система увидит, что промахнулась и обороты возросли сильнее расчетного (вот она как раз ваша инерционность), угол уменьшится, обороты упадут и опять же ниже расчетного значения. И далее возможны два исхода. Либо система устаканится, либо пойдет вразнос. Причем вероятность второго события на порядок выше, ибо на нее будут оказывать внешнее воздействие. Так что придется писать хотя бы ПИ регулятор. Его уже должно хватить. Ну и какой-то фильтр для подавления шума датчика оборотов. На самом деле засунуть ПИ регулятор в МК очень даже просто. Сложнее потом коэффициенты подобрать для правильной работы. Но и это вполне возможно. Можно еще в том же MatLab регулятор прогнать.

13 часа назад, Dimonchik7 сказал:

чтоб не подбирать коофициенты

Такого не бывает

 

13 часа назад, Dimonchik7 сказал:

какой контроллер из простых потянет это дело

По сути любой, где памяти хватит.

 

13 часа назад, Dimonchik7 сказал:

подскажите направление чтоб я на лишние грабли не наступал

Вам подсказывают, однако вы упорно лезете туда, где лежат эти самые грабли.

13 часа назад, Dimonchik7 сказал:

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

 

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, snn_krs сказал:

Самые простые, доступные и широко используются контроллеры Atmel AVR

А что, микрочиповские PIC-и сложнее, не доступнее и мало используемые???

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

2 hours ago, Vovka said:

А что, микрочиповские PIC-и сложнее, не доступнее и мало используемые???

Posts.jpg.eee4830a8b29a0468911a516f6eb8714.jpg

Судя по количеству постов да, хотя это может и не совсем объективный показатель

Ссылка на комментарий
Поделиться на другие сайты

У ПИК-ов архитектура несколько странная, и про них весь мир уже начинает забывать. Ещё лет через 10-25 когда надо будет починить этот регулятор вы не найдёте нужных контроллеров или будут они на вес золота. Нет, ну кто сейчас в серьёз использует банки регистров? Тогда когда они создавались, не заложили возможность роста в функционале, думали контроллеры будут очень простыми. Поэтому пришлось наложить такой костыль когда объем памяти и количество регистров в контроллере пришлось увеличить. Костыльный контроллер - плохой контроллер.
У AVR тоже есть пара костылей, но уже сильно проще, терпимо и больше по делу. STM и старшие серии AVR это уже перебор для простых задач вроде этой, хотя используя инструмент вроде ARDUINO можно и на них решить данную задачу. Но первым делом в любом случае вам надо задачу формализовать: что на входе, что на выходе, расписать подробно алгоритм регулирования и обосновать его устойчивость математически и только потом можно будет что-то разрабатывать. Ибо будет бесконечно разочаровывающе через 1-2 месяца разработки получить неработающую систему которая постоянно сваливается в автоколебания и это может показать несложный математический расчёт(или моделирование).

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

Если бы вы изучали теорию автоматического управления(гуглить как ТАУ), то даже мыслей не возникло бы о том что никакой ПИД-регулятор в этой схеме не нужен. Даже ПИ-регулятор для генератора недостаточен, нужен именно ПИД. Коэффициенты можно не подбирать а ВЫЧИСЛИТЬ, но для этого нужно знать все динамические характеристики элементов входящих в цепи регулирования - в том числе генератора и НАГРУЗКИ. Из той же теории, кстати, следует что точность и устойчивость регулятора к возмущениям - взаимоисключающие критерии!!! Если вы сделаете абсолютно точный регулятор, то у него будут очень длительные переходные процессы переходящие в автоколебания. Дифференциальная составляющая регулятора как раз призвана гасить эти автоколебания, повышая устойчивость при одинаковой точности что позволяет быстрее отрабатывать изменения нагрузки.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, snn_krs сказал:

Судя по количеству постов

Это вообще ни о чем не говорит. Есть еще 8051 МК, которые тут вообще не представлены. Ну и если смотреть по тому, что реально ставят в устройства, AVR скорее наименее популярны. А вот PIC как раз применяют очень часто. STM и 8051 тоже применяют чаще. 

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, Alexeyslav сказал:

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

Автор сам не до конца понимает, что ему требуется. Вроде как какой-то регулятор для управления. Учитывая то, что он ТЗ нормальное составить не может, математическое обоснование у него не получится. А по хорошему надо бы отмоделировать все это дело в том же MatLab, тогда написать программу будет проще паренной репы.

 

11 час назад, Alexeyslav сказал:

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

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

 

11 час назад, Alexeyslav сказал:

для этого нужно знать все динамические характеристики элементов входящих в цепи регулирования - в том числе генератора и НАГРУЗКИ.

Вот, вот. Поэтому в случае автора расчет будет очень приблизительным и после него придется подбирать.

 

11 час назад, Alexeyslav сказал:

Если вы сделаете абсолютно точный регулятор, то у него будут очень длительные переходные процессы

Ну почему. Если автор сможет обеспечить достаточный уровень управляющего воздействия, то можно получить и точность и скорость. Но на практике оно ему не надо будет. Да и не получится с такой скоростью болтать заслонкой. В принципе тут на форуме не раз пилил самодельные ЭБУ для двигателей. Там как раз есть то, что требуется автору, надо только соответствующий блок кода дернуть из прошивки и допилить под себя.

Ссылка на комментарий
Поделиться на другие сайты

В 23.03.2018 в 08:29, BARS_ сказал:

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

Нет, математика однозначно говорит что это невозможно. Расплата за точность - затянувшиеся переходные процессы, переходящие в автоколебания. Чем точнее нужен регулятор, тем труднее обеспечить его устойчивость.
А вообще, самый лучший регулятор не ПИД, а регулятор построенный на модели регулируемой системы, когда можно предсказать поведение системы на любое управляющее воздействие но они гораздо сложнее в разработке.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

уровень управляющего воздействия не существует сам по себе.

уровень управляющего воздействия - это и есть выходной сигнал ПИ или ПИД регулятора.

про точность.

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

про скорость.

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

Мудрость приходит вместе с импотенцией...

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

Ссылка на комментарий
Поделиться на другие сайты

Нулевая ошибка будет если исключить пропорциональную составляющую. Но без пропорционального канала проблем будет ещё больше.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

в теории пропорциональная часть стремится к нулю. и остается только интеграл.

Мудрость приходит вместе с импотенцией...

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

Ссылка на комментарий
Поделиться на другие сайты

Ребята вы понимаете разницу между центробежным и пид регулятором ? Мне надо сделать аналог центробежного регулятора в электронном виде

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

У центробежного регулятора жесткая зависимость положения дроссельной заслонки (жесткая!!!) от оборотов.без всяких коофициентов заданная механикой.

И все советы заканчиваютя тем что у  меня без пид регулятора ничего  не выйдет и ничего более... а по теме ничего...

Значит буду ваять сам , в молодости бейсик и тпаскаль освоил значит и си освою

А по теме - взял ардуину уно с жк дисплеем ,для пробы прицепил к ней генератор импульсов сделал пересчет на обороты и вывел на экран-работает 

до 25 кгц импульсов а мне надо в 10 раз меньше.

вот прога ,буду пилить дальше, через неделю новый регулятор должен работать...

Да и по поводу реакции генератора на заслонку  без нагрузки ,чтоб генератор набрал с 1500 до 1700-1800 об при заслонке полностью открытой надо две -три секунды .якорь генератора весит больше 150 кг ...а двигатель слабенький 

П.С. модераторам если нельзя ссылку удалите .

вот мой генератор , процес постройки :https://www.chipmaker.ru/topic/191025/

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
                   // кнопка на входе 2
volatile int val; 
void rpm(){
 val++;
}
void setup() {
  attachInterrupt(0, rpm, RISING);
  
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.setCursor(0,0);
lcd.print("LCD Key Shield");
lcd.setCursor(0,1);

}

void loop() {
val = 0; // сбрасываем счетчик и ждем.
delay(200); // так как прерывание CHANGE, срабатывает два раза
// то и считываем каждые пол секунды.
lcd.clear();
lcd.setCursor(0,1);
lcd.print((val*600)/200); // количество импульсов на 60 секунд
// и делим на количество импульсов на оборот
lcd.setCursor(8,1);
lcd.print(val);
Изменено пользователем Dimonchik7
дописал сообщение
Ссылка на комментарий
Поделиться на другие сайты

13 часа назад, Dimonchik7 сказал:

У центробежного регулятора жесткая зависимость положения дроссельной заслонки (жесткая!!!) от оборотов.без всяких коофициентов заданная механикой.

Т.е. пофигу, что положение дросселя зависит и от нагрузки? Чем сильнее грузят генератор, тем сильнее она открывается. Так что чушь то не пишите.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, BARS_ сказал:

Т.е. пофигу, что положение дросселя зависит и от нагрузки? Чем сильнее грузят генератор, тем сильнее она открывается. Так что чушь то не пишите.

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

На всех центробежных регуляторах чем больше нагрузка тем меньше обороты.

заслонку тягает только центробежный регулятор.

И если интересно посмотрите в интернете график зависимости оборотов(частоты)от нагрузки старых советских дизельгенераторов с центробежными регуляторами.

Ссылка на комментарий
Поделиться на другие сайты

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

И У ВСЕХ подобных регуляторов есть конфликт интересов - чем точнее регулятор держит обороты тем он неустойчивее с длительными переходными процессами. Вы хотите поспорить с математикой? Ну и ладно...
Вам в любом случае надо будет выяснить характеристики центробежного регулятора чтобы вложить их в свою программу.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

17 часов назад, Dimonchik7 сказал:

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

Это и есть ПИ регулятор. Может уже начать читать мат часть?

Ссылка на комментарий
Поделиться на другие сайты

Итак новый генератор запустил,допиливаю в процесе работы.

Датчик оборотов сделан на датчике коленвала с двс (датчик холла),на маховике 130 зубов.(12 вольтовом)

Заведен на третью ногу.

Привод дроссельной заслонки сделан шаговым моторчиком дши с драйвером tb6600.датчик дроссельной заслонки пока не ставил.

программа залита пока такая:

 

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
                   // кнопка на входе 2
volatile int val; 
void rpm(){val++;}

void setup() {
  attachInterrupt(0, rpm, RISING);
  digitalWrite(3, HIGH);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.setCursor(0,0);
lcd.print("LCD Key Shield");
lcd.setCursor(0,1);

}

void loop() {
val = 0; // сбрасываем счетчик и ждем.
delay(50); // так как прерывание CHANGE, срабатывает два раза
// то и считываем каждые пол секунды.
lcd.clear();
lcd.setCursor(0,1);
lcd.print((val*120)/13); // количество импульсов на 60 секунд
// и делим на количество импульсов на оборот
lcd.setCursor(8,1);
lcd.print(val);


  if ( val > 160)
{
 digitalWrite(11, HIGH);   // включает светодиод
 digitalWrite(12, HIGH);
  delay(1);                  // ждет секунду
 digitalWrite(12, LOW);
// выполнять действия
}

 if ( val < 160)
{
  digitalWrite(11, LOW);   // включает светодиод
digitalWrite(12, HIGH);
  delay(400);                  // ждет секунду
 digitalWrite(12, LOW);
// выполнять действия
}
}

подскажите можно ли сделать счетчик оборотов без команды delay ?

там где написано сбрасываем счетчик и ждем.

Потому что у меня получается на один цикл измерения один шаг шагового двигателя а это сильно медленно

на delay те что ниже не обращайте внимания ,с ними регулятор обороты держит более менее приемлимо.

 

Изменено пользователем Dimonchik7
написал не все что хотел
Ссылка на комментарий
Поделиться на другие сайты

В ide для ардуйни врят ли. А если писать по человечески, то можно таймером считать импульсы и убрать костыли в виде delay, залив туда нормальный регулятор.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...