ARDUINO Написание скетча для двух ds10b20 и шим выхода. С управлением двумя энкодерами.

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
ОТРЕДАКТИРУЙТЕ ПОСТ СОГЛАСНО ПРАВИЛ РАЗДЕЛА В ТЕЧЕНИИ 12 ЧАС, ИЛИ БУДЕТ БАН
Всем привет. По железу есть все равно как и умение паять и разводить. По коду силен не сильно но, пид прикрутить к датчикам и серве умею.
Имеем : коллекторный двиг 12 в , 50 Вт. Пара ds18b20 в гермоколбе, экран двухстрочный без i2c. Пару энкодеров куплю по необходимости.
Требуется : написать код или помочь в написании. Код не сильно сложен, но мой начинающий мозг похоже сломался)).
Цель: один из датчиков тупо выводит t°c на экран с точностью до 0.1, второй так же выводит на экран температуру но, и является управляющим для выходного шим. Температура в рост обороты мотора тоже растут. Вроде все не оч сложно но!!
Во первых : пид и никак иначе. Мотор, крутит шестеренчатый насос который гоняет воду. Система очень чувствительна к изменению скорости перекачки вплоть до 1% от (0 -255). По этой причине должен быть изменяемый гистерезис по выходу шим по принципу мин и макс. Для чего нужны 2 энкодера? Я рассматриваю два режима работы: 1.: ручной- энеодером задаю обороты мотора с шагом в 1 единицу от 0 до 255. И вижу на экране обе температуры и выход шим в %
2.: автоматический- после того как нажимается один из энкодеров, показания t управляющего термодатсика вносятся в пид как ( требуемое значение), именно те показания которые были на момент нажатия! Но сам датчик продолжает передавать на экран реальные значения. Пид считает и на оутпут кидает шим с учётом мин и макс. Второй энкодер нужен как раз для изменения гистерезиса шим от 0 до 5. То есть, если на момент нажатия уровень шим был в 125 и гистерезис установлен 1 то соответственно управление будет лежать в диапазоне от 124 до 126.
Плюс нужна возможность вносить температуру аварии. То есть при достижении которой на любой из пинов ардцино придет +5. Собственно все. Почта для связи [email protected], имя Александр. Пишите обсудим донат.
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
Печаль. Возможно аналоговый ntc на 10 ком? Или шумы все соберёт? Длинна кабеля от платы до термистора 1,5 - 2 метра

Мой диапазон измерений от 0 до 102 °с
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
Печаль. Возможно аналоговый ntc на 10 ком? Или шумы все соберёт? Длинна кабеля от платы до термистора 1,5 - 2 метра
термисторов огромное множество, у каждого своя погрешность измерения. Кроме этой погрешности на значение будет влиять погрешность измерения АЦП. Соответственно, чем погрешность ниже - тем цена выше.
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
@IamNikolay, допустим цифры будут совсем истинны но, этого хватит для полноценной работы схемы?

@Refick,не совсем истинны***
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@Refick, как сказать?! ПИД - сложная система, как в программировании, так и в настройке, а, учитывая
Система очень чувствительна к изменению скорости перекачки вплоть до 1% от (0 -255).
и
не совсем истинны
то на реализацию уйдет много времени, но все равно показания будут не стабильны.
Вероятно дешевле будет найти готовый вариант.
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
А что вы понимаете под готовым вариантом?

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

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
@Refick, контроллер температуры с ШИМ выходом
На али я смотрел много разных но ни один из них не имеет гистерезиса. Либо от 0 до 255 либо обратно в полном диапазоне

@IamNikolay,при чем, подкинул ds к пид констрейном ограничил мин и макс, в ручную задал температуру и все работает. Но это не совсем что мне нужно. Как то недодельно))

@Refick,и собственно таким образом коэффициент пид подобрал.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,185
1,280
Москва
Либо я дурак, либо что то не пойму. Гистерезис работает с реле. Т.е. если температура опустилась ниже нижнего уровня, включить обогреватель. если поднялась выше верхнего уровня - выключить обогреватель. Наоборот с охлаждением.
ПИЖ же регулирует мощность обогревателя. Через тот же ШИМ сигнал. Т.е. нормальная темепратура - нагрев 0, не нормальная . в зависимости от остывания включается определенная мощность нагревателя (с охлаждением наоборот).
Как вы хотите что бы гистерезис работал с ПИД ?
Хотя может так как я сделал на малинке: как только температура поднялась выше 60 градусов начинает дуть вентилятор, и дует он с мощностью вычисляемой от 58 градусов. Потому как опустившись ниже 58 вентилятор выключается. Это имелось ввиду ? Думаю с водой так не надо делать, лучше ее гнать с минимальной скоростью какой то.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
по идеи, гистерезис там не нужен, т.к., в идеале, при правильно настроенном ПИД, колебания температуры -->0 и ШИМ практически не меняется
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
@Старик Похабыч,
Возможно я не совсем верно оперирую терминами но имелось в виду под гистерезисом некая разность в диапазоне которой происходит регулировка уровня шим. Я не знаю как у Вас на распбери но вариант с температурой от и до мне не подходит. Есть необходимая температура которая не всегда должна быть именно 98°с (к примеру) исходя из раствора она может быть и 70 и 89 и 102°с . Почему важна столь тонкая точность в шим- потому что раствор поддерживает свою нужную температуру проходя через теплообменрик и тем самым нагревается. И именно скорость потока и регулирует температуру. Резкие и большие скачки скорости приведут к необратимым процессам и порче реагентов.

@IamNikolay,именно, но для приведения всей системы в баланс требуется время, вся система очень инертна но при этом дискретность должна быть минималонрй потому как нечастые опросы ds и редкое обновление шим приводят к перерегулировке равно как и резкие, высокие скачки шим
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
Почему важна столь тонкая точность в шим- потому что раствор поддерживает свою нужную температуру проходя через теплообменрик и тем самым нагревается. И именно скорость потока и регулирует температуру.
может тогда вам нужно контролировать не температуру, а скорость потока?!

теплотехнический расчет теплообменника есть?
какое в нем движение жидкости? ламинарное или турбулентное? а также скорость?
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
@IamNikolay,есть опорная температура. Есть некие подобранные обороты насоса - мотора. Задача - удержать температуру изменяя скорость работы насоса в пределах 124 - 126.
Так возможно?
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@Refick, могу предположить что у вас идет экзотермическая реакция, те обороты, что вы подобрали (при ШИМ 124-126) будут работать только если система изолирована, в противном случае этого диапазона может не хватить и температура выйдет за пределы
 

Refick

✩✩✩✩✩✩✩
11 Май 2021
9
0
@IamNikolay,именно! Так и есть. Я сам определяю какие именно процессы проходят в данное время и меняю тн гистерезис по шим. Более того , за некоторое время мне уже стало понятным какой диапазон необходим для конкретных реагентов.
Вопрос за малым. Написать код)