помогите придумать уравнение
- Войдите на сайт для отправки комментариев
Пнд, 08/11/2021 - 21:06
всем привет, ломаю голову как придумать уравнение для ардуины... есть переменные, производительность подающего механизма, калорийность топлива, время паузы, верхнее ограничение мощности, нижнее ограничение мощности. на выходе нужно получить цикл работы. то есть программа должна посчитать сколько нужно сделать время подачи для получения определенной мощности.
Иногда проще не искать уравнение, а забить всё в таблици. А промежуточные значения апроксимировать.
exel?
Массив данных int[1,2,3......] или string[....]
А что, сначала в Excel, потом когда цифры перед глазами и алгоритм будет как на ладони.
А что, сначала в Excel, потом когда цифры перед глазами и алгоритм будет как на ладони.
если в эксель забить он и формулу нарисует )))
если в эксель забить он и формулу нарисует )))
это не настоящая формула
Ищи. Где-то здесь была программка для твердотопливного котла. Не помню сколько годов назад. Точно была. И вопрос как у тебя.
на ноль делить нельзя
никто на ноль и не делил
ардуина какая?
nano
nano
в Нано во второй и четвертой скобке твоей формулы всегда будет ноль, а ты на эти скобки делишь.
а как быть?
а как быть?
я точно не знаю, это ж твоя формула.
Только помни, что контроллер по умолчанию считает в целых числах, когда оба операнда целые. Поэтому
выражение N / M всегда ноль, если N < M
Если же ты хочешь, что бы выражение давало вещественное число - надо один из операндов сделать вещественным. И так во всех выражениях, где у тебя деление.
Кроме того, надо следить за переполнением - то есть чтоб результат помещался в границы выбранного для него типа.
Например, вот этот код в ардуино даст неверный(с точки зрения арифметики) результат:
потому что 33 * 3000 = 99000. что больше максимального значения для int = 32767
и таких нюансов много
Смародина, объяви все переменные типа float. Когда добъешся нужного результата по вычислениям, тогда пробуй оптимизировать, если это будет нужно.
У меня еще есть подозрение, что Smarodina считает 0,001163 дробным числом.
А вообще я начинаю решать задачи сзаду)) короче с ответа.
Что нужно получить на выходе? "посчитать сколько нужно сделать время подачи" - это правильно.
Коэф = требуемая / максимальная мощность.
Максимальная относительная мощность= макс. подача / (макс.подача + пауза)
Ну и так далее...
пробовал, считает, но ответ не верный выдает...
пробовал, считает, но ответ не верный выдает...
Если ответ неверный, то и расчет неверный. А если ответ верный, то это еще не значит что решение верно. И такое бывает.
Вот формула
время_подачи = Р*пауза / (Рмакс-Р); где
Рмакс - максимальная мощность котла при непрерывной подаче топлива при условии полного сгорания в Вт
Рмакс= пр_п_м * к_т * КПД; в Вт
пр_п_м - производительность подающего механизма в г/с
к_т - калорийность топлива в Дж/г
КПД- КПД котла = 0.7-0.8
Р - расчетная необходимая мощность, которая должна быть всегда меньше Рмакс в Вт
пауза - время в сек
Можно упростить задачу, и считать всё для определённого постоянного промежутка времени,
наиболее удобного для конкретного котла.
Например, для каждого часа:
P.S. Добавлю, что kwt это мощность, с которой должен работать котёл в данный промежуток времени.
Рассчитывается отдельной формулой, исходя из задач, показаний датчиков, и.т.д.
Если ответ неверный, то и расчет неверный. А если ответ верный, то это еще не значит что решение верно. И такое бывает.
Вот формула
время_подачи = Р*пауза / (Рмакс-Р); где
Рмакс - максимальная мощность котла при непрерывной подаче топлива при условии полного сгорания в Вт
Рмакс= пр_п_м * к_т * КПД; в Вт
пр_п_м - производительность подающего механизма в г/с
к_т - калорийность топлива в Дж/г
КПД- КПД котла = 0.7-0.8
Р - расчетная необходимая мощность, которая должна быть всегда меньше Рмакс в Вт
пауза - время в сек
У Вас практически идеальная формула но, как я понял, нужен гетерезис и для него надо использовать минимальную мощность. Но вот херня - я не вижу в задаче обратной связи.
У Вас практически идеальная формула но, как я понял, нужен гетерезис и для него надо использовать минимальную мощность. Но вот херня - я не вижу в задаче обратной связи.
А зачем гистерезис?
Как я понимаю,а ТС пусть проясняет.
Минимальная мощность нужна чтоб топливо не потухло между подачами.
Обратная связь обязательна, если делается на ардуино, а не просто таймер подачи. Датчик Т на котел (можно два-выход и обратка). Плюс датчик Т на радиатор, если есть подмес. Плюс датчик Т на улицу.