Главная › Форумы › Конструкторское бюро › Автоматизация › Автоматика LuckyBox › Управление мощностью ТЭНа 2
Помечено: Сборка РМ
-
АвторСообщения
-
16.02.2021 в 00:22 #79590
Всем привет!
Обнаружинась проблема: в процессе ректификации вышел из строя контроллер лакибокса. Контроллер регулятора ТЭНа перестал получать инфу о мощности и остался на 100%. Клапана подачи воды и отбора закрылись, датчики безопасности не могли сработать т.к. Автоматика отключена. Пары спирта начали сифонить через ТСА но не успевали стравливаться и поэтому начало расти давление. Кран отбора по пару закрыт т.к. отбор осуществлялся по жидкости. Ещё несколько минут и не известно что могло случиться. Слава Богу я был в это время возле оборудования в противном случае мог бы случиться серьезный пожар или что то подобное, т.к. ТЭН продолжал бы работать до последнего. Необходим алгоритм отслеживания входных данных и если таковые отсутствуют в течение 5 секунд, перейти на ручное управление и сбросить мощность на «0». Что скажете?
16.02.2021 в 14:29 #79611А скажу так: если оставляешь аппарат без присмотра, то ему необходима ГБ, независимая от контроллера. Простой термовыключатель.
А предложение рубить мощь не позволит пользоваться РМ в ручном режиме. А ведь его применение выходит за рамки ЛБ.
16.02.2021 в 14:31 #79613Не согласен. Если РМ работал под управлением ЛБ и не получил очередного пакета данных пять раз подряд, то сбросив его в ручной режим, мы никак не повлияем на дальнейшее управление им в ручную, но обеспечим аварийное отключение ТЭНа. после сброса можно спокойно добавить в ручную и работать. В чем проблема? А городить ещё одну автоматику, контролирующую основную автоматику, это бред. Просто нужно правильно написать алгоритмы работы.
ПыСы а зачем автоматика если не оставлять без присмотра?16.02.2021 в 15:40 #79617В принципе согласен, защиту от пропадания связи надо реализовать. Тем более что в переделанной плитке Сяоми я это использую, там при каждом входящем пакете данных по UART “взводится” таймер на 30 сек. и при пропадании связи все вырубится. Будет свободное время, подправлю.
16.02.2021 в 17:27 #79625Сергей, тогда задействуй для такого режима какой-нибудь вход нано. Если он в земле – работаем по старому алгоритму. Если на питании – то с контролем поступления пакетов. Ну или наоборот.
Потому как РМ есть где применить и помимо автоматики, в смешаном режиме.
16.02.2021 в 18:32 #79631при каждом входящем пакете данных по UART “взводится” таймер на 30 сек.
Спасибо! Но на мой взгляд 30 сек слишком много, за такое время уже может произойти что нибудь нехорошее. 5-6 сек вполне достаточно, чтобы определить что связь отсутствует и исключить пропадание 1-3 пакетов из-за ошибок. А если через 5 сек сбросится мощность но после этого связь восстановиться, то он опять перейдёт в автоматический режим и установит необходимую мощность.
16.02.2021 в 18:39 #79633Сергей, тогда задействуй для такого режима какой-нибудь вход нано.
Зачем? Если Вам не нравиться такой режим работы не меняйте прошивку и все останется по прежнему. Но такой алгоритм ничего не меняет для смешанного использования. Ручной режим будет работать как и работал и автоматический без изменений, разница только в том что при переходе от автоматического к ручному мощность обнулится. Что это меняет по сути?
16.02.2021 в 21:31 #79642Проверить полярность диода (как и его работоспособность), попробовать подобрать номинал резистора R15 от 4,7 кОм до 270 Ом. У меня и с номиналами приведенными в схеме все работает. Если победить не получится, пиши, дам чуть более сложную схему уже с согласованием уровней 3,3 – 5 вольт.
.
Дайте пожалуйсто схемку , не могу их подружить , уже накормил их этими резисторами и диодами 2 раза из десяти включений белый экран .
17.02.2021 в 05:07 #7966217.02.2021 в 08:21 #79666ГБ на термовыключателе и дифавтомат в любом случае нужно ставить, ибо если симистор прошьёт, то будет все равно по какому алгоритму работает мк. Только опторазвязку на выключатель надо обязательно. ИМХО
17.02.2021 в 22:12 #79704Будет свободное время, подправлю.
Сергей, я не волшебник, я только учусь, но имеет ли право на жизнь такой кусок кода РМ для сброса мощности при пропадании связи?
static unsigned long prevDataTime = 0; // время получ. последнего пакета
void loop(void) {
// сброс мощности если пропала связь по UART
if (dotRX < 100) {
prevDataTime = millis();
}
else if ((prevDataTime != 0) && (millis() – prevDataTime > 5000)) {
prevDataTime = 0;
userPowerSet = 0;
}17.02.2021 в 23:18 #79709Сергей, я не волшебник, я только учусь, но имеет ли право на жизнь такой кусок кода РМ для сброса мощности при пропадании связи?
Вполне.
Из сервисного, я бы еще и на дисплей вывел сообщение об ошибке связи до момента либо восстановления связи, либо нажатия кнопок + / –p.s. А зачем переменная prevDataTime именно static? 🙂 Это конечно абсолютно ни на что не повлияет, но лучше привыкать лишнего в коде не писать.
18.02.2021 в 00:24 #79712А зачем переменная prevDataTime именно static?
Да, это мой косяк, просто изначально написал эту переменную в loop, а потом перенес и не убрал static.
Из сервисного, я бы еще и на дисплей вывел сообщение об ошибке связи до момента либо восстановления связи, либо нажатия кнопок + / –
Думаю это уже лишнее, тут и так некоторые кричат, что мол сброса не надо))) Перестанут моргать точки и сразу станет понятно, что нет связи.
Спасибо за ответ. Перезалью попробую.
18.02.2021 в 07:54 #79730Перезалью попробую.
Не забудь после успешных испытаний прошей с народом поделиться 😉
С уважением, Dmitriy.
Линк на прошивки18.02.2021 в 20:48 #79743Не забудь после успешных испытаний прошей с народом поделиться
Как скажете))) я еще кое что там переделал – поменял выводы энкодера, чтобы крутя по часовой мощность увеличивалась а не уменьшалась. Так что если надо пишите в личку кому какую.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.