Вентилятор на 12F675

PIC версия программы(разные темы)

Вентилятор на 12F675

Сообщение shundrov (shundrov) » 08 дек 2020, 23:10

Здравствуйте!
Набросал проект управления вентилятором. По техзаданию он должен отработать 8 циклов по 7 минут включен - 30 минут выключен, плюс еще 5 циклов 7 минут включен - 60 выключен. Включаться вентилятор будет симистором BTA139-800e в паре с оптосимистором MOC3063 с детектором "нуля" (порт A2). После старта симистор будет шунтироваться обычным реле с задержкой грубо 120 милесекунд + время срабатывания самого реле (порт A1)
Сейчас для индикации состояния работы использую один светодиод (порт A0) Но хотелось выделить еще один порт на индикацию.
У меня в резерве порты A4 A5. К ним для стабильности можно подключить кварц, и оставить все как есть сейчас. Но можно пойти другим путем. Организовать прерывание по порту (здесь какой лучше выбрать?) сигналом 50Гц от сети (гальваническая развязка меня здесь вообще не парит, более того, планирую запитать всю схему от сети без трансформатора, через конденсаторный блок питания) В итоге я получу свой необходимый еще один порт для индикации и достаточную мне точность прерываний (пока писал, возник еще вопрос, а внешние помехи в таком случае не порвут всю мою затею?)
Отсюда у меня куча вопросов:
Как правильно настроить прерывание по порту, и какой из них выбрать у 12f675?
Корректная схема делителя для подачи сигнала от сети на порт контроллера?
Стоит ли экономить на блоке питания, мне нужны два напряжения - 5 и 12 вольт для реле. Куча аппаратов работает на таких блоках питания. Но все равно стремно)
Ну и тактирование от сети. Как в реале это выглядит? В месте работы этого девайса будет куча других электродвигателей и ХЗ что еще. Может все-таки кварц и забить на все? Ну и какая термостабильность внутреннего генератора? Насколько будет в реале стабильна моя прошивка от работы внутреннего генератора?
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: shundrov
Имя: shundrov
Практикант
Практикант
Информация о пользователе

Re: Вентилятор на 12F675

Сообщение щербатый (щербатый) » 09 дек 2020, 05:25

Приветствую. У нас есть кладезь знаний. И там есть ответы на твои вопросы. Это старый форум. http://flowcode.info/smf/
Задаешь в строке поиска ключевые слова то твоей теме. Ну например:
*от сети*
http://flowcode.info/smf/index.php?action=search2
*тактирование*
http://flowcode.info/smf/index.php?action=search2
*прерывание*
http://flowcode.info/smf/index.php?action=search2
В общем посмотри. Там очень много всего полезного и нужного.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе

Re: Вентилятор на 12F675

Сообщение Taska (Максим) » 09 дек 2020, 05:35

Бп можно собрать на lnk305, схема копеечная но надежная, главное емкости ставить на 450в. Синхронизацию от сети, я бы не рекомендовал, то ам столько мусора иногда бывает. Термо стабильность внутреннего генератора в твоём случае максимум +-1сек за все циклы. Настрой правильно прерывание Таймера, в твоей программе на каждой минуте теряется одна секунда.
Лет 5 назад делал другу термореле для твердотопливного котла, до сих пор работает. Печатку под себя переделай.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение Вячеслав (Вячеслав) » 09 дек 2020, 05:55

shundrov писал(а):Как правильно настроить прерывание по порту, и какой из них выбрать у 12f675?

Есть пример использования прерываний для этого МК. В asm, но с комментариями, можно посмотреть и разобраться конкретно.
Флаги прерываний в PIC12F675.docx

Есть datasheet на этот МК на русском. 1,87 МБ. Стоит иметь под рукой. Ищи.
С продолжительным слежением за временем - только личный опыт, под требования процесса.
Сам использовал отдельный модуль с выводом в 1 сек/ 1мин, как задатчик для этого МК, типа RTC. Это упрощает решение вопроса -"когда".
Если будешь использовать внутр. осциллятор, то не забудь о заводской константе для него при прошивке. Лучше её сохранить и отслеживать в прошивке для конкретного экземрл.
С прямым питанием от сети не связываюсь - опасно мне дается этап отладки.
Про нестабильность осцилла- читай, писано.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение shundrov (shundrov) » 09 дек 2020, 10:01

Настрой правильно прерывание Таймера, в твоей программе на каждой минуте теряется одна секунда... Термо стабильность внутреннего генератора в твоём случае максимум +-1сек за все циклы

Если Вы имеете ввиду частоту прерываний 15,259 Гц, то этот момент меня вообще не беспокоит в данной программе, ровно как и то, что Вы сказали про термостабильность. Но на всякий случай поправлю, при чем скорее всего само прерывание трогать не буду, просто сделаю минуту 59 секунд :shock: Это не хронометр))
Ну а раз погрешность внутреннего осциллятора не будет критична в моем случае, то я могу в полный рост использовать оставшиеся порты для моргания светодиодов)

ЗЫ: Всем откликнувшимся спасибо)
Ник: shundrov
Имя: shundrov
Практикант
Практикант
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение Taska (Максим) » 09 дек 2020, 10:17

Добавь в программу вачдог, вдруг зависнет и молотить все время будет.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение Вячеслав (Вячеслав) » 10 дек 2020, 03:58

Taska писал(а):термореле для твердотопливного котла

Можно посмотреть самою программу? ПП - не интересна.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение Taska (Максим) » 10 дек 2020, 09:20

Для 4 версии.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Вентилятор на 12F675

Сообщение shundrov (shundrov) » 13 дек 2020, 16:32

Добавь в программу вачдог

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

Re: Вентилятор на 12F675

Сообщение Enigm (Enigm) » 13 дек 2020, 16:56

Ну типа можно отслеживать питание, если питание пропало, быстро записываем в еепром о проблеме.
Естественно надо ставить диод и после конденсатор по питанию контроллера., измерять до диода, ну и конденсатор микрофарад так на 100, мне хватало.
Ну и при старте читаем проблему, если есть значит сбой по питанию, если нет то по ватчдогу.
Но постоянно писать в еепром тоже плохо, как бы он не резиновый на циклы.
Можно например после 1000 записей, сменять адреса, что бы на новые ячейки перейти и так далее.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей