Dimonchik7

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

25 сообщений в этой теме

Dimonchik7    0

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borodach    1 841

Такие темы надо размещать в разделе "Куплю" ... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
7 часов назад, Dimonchik7 сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Dimonchik7    0

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

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

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

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

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

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

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

итд.

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

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

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

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

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

 

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DmitryS    28
12 часа назад, Dimonchik7 сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
snn_krs    45
12 hours ago, Dimonchik7 said:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
12 часа назад, Dimonchik7 сказал:

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

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

 

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

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

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

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

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

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

 

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

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

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

 

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

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vovka    30
7 часов назад, snn_krs сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768

А AVR давно тоже микрочиповские, если что...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
snn_krs    45
2 hours ago, Vovka said:

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

Posts.jpg.eee4830a8b29a0468911a516f6eb8714.jpg

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
10 часов назад, snn_krs сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
10 часов назад, Alexeyslav сказал:

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

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

 

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

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

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

 

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

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633
В 23.03.2018 в 08:29, BARS_ сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 239

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 239

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dimonchik7    0

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

только с меньшим гистерезисом, а не удержать обороты строго 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
дописал сообщение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
13 часа назад, Dimonchik7 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dimonchik7    0
3 часа назад, BARS_ сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768
17 часов назад, Dimonchik7 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dimonchik7    0

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

Датчик оборотов сделан на датчике коленвала с двс (датчик холла),на маховике 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
написал не все что хотел

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    768

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

Поделиться сообщением


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...

  • Похожие публикации

    • Автор: Xwerty
      Увидел такую схему (на ютуб) шим регулятора напряжения. скажите, чтобы использовать её как регулятор оборотов моторчика на +24V, надо что то доработать? читал коменты под видео, пишут что 555 горит при подключении моторчика.
       

    • Автор: Fox Stalker
      Помогите хотя бы теоретически, существует ли возможность  в педаль от швейной машины добавить обратную связь по току, не внося изменений в саму педаль, а подключая дополнительный блок в разрыв одного из проводов (ноль, фаза, выход)
    • Автор: azatey85
      Здравствуйте! Есть двигатель от стиральной машинки, у нее 13000 оборотов в минутку. Нашел схемку ( http://mashmaster.ru/oboroty-dvigatelya-stiralnoj-mashiny/) одну на уменьшение оборотов, вот хочу ее собрать, НО есть одно условие можно ли как нибудь прикрутить к ней дисплей (например от калькулятора или еще от чего нибудь)  на текущие обороты.
      И еще пару вопросов (так как я новичок в этом деле. но прикрутить детали смогу без особых усилий):
      1. Хорошая ли это схема? или же нет?
      2. Знает ли кто нибудь другую схему (НО чтобы была с дисплеем)
    • Автор: visitory
      Есть схема реобаса( регулятора вращения вентилятора) на таймере 555. В качестве ключа применяется N канальный мосфет. Возможно ли в таком случае использовать LC фильтр для фильтрации сигнала? ( и куда его втулить?)
      Или фильтрация сигнала возможна только после P ( 2 рисунок) канального транзистора в силу того что N ( рисунок 1)  канальный включен в минусовую цепь питания?
      Рисунок 1 полностью рабочая схема. 
      Рисунок 2 ( дополнил фильтром и проверил в протеусе, работает)
      Хочу спросить Вашего мнения насчет этого?
      И какую схему более целесообразно использовать для данного решения?
      Схему для рис.2 в протеусе прилагаю 

       
      AnalogReobasP-Nchannel work version.DSN
      Рисунок 2.bmp
    • Автор: Юрий 160589
      Плата регулировки оборотов без потери мощности для коллекторных двигателей.
      С помощью данной платы можно регулировать обороты двигателя без потери мощности.
      Подходит для:
        - Бетономешалка,
        - Медогонка,
        - Гриндер,
        - Наждак,
        - Точило,
        - Солома резка,
        - Устройства для вращения массивных предметов,
        - Газонокосилка,
        - Токарные станки,
        - Дровокол,
        - Гончарный круг,
        - Различные станки где необходима регулировка оборотов без потери мощности.
      Электрорадиокомпоненты, платы регулировки оборотов двигателя без потери мощности.
      Цена: 2000 р.
      Высылаем в любой город первым классом!
       
      Телефон: 8 918 320 09 25
      Сайт: Регулятор оборотов
      Видео: Электроплата