Фазоимпульсное управление
|
|
Broka |
Дата: Сб, 09.04.2016, 17:10 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Доброго времени всем! На днях хотел попробовать управлять симистором именно этим способом с помощью контроллера ( Pic16F628A , такие просто есть ) Захотел сделать Терморегулятор с симисторным выходом и управлением симистора фазоимпульсным методом .... А , также применить LCD 16Х2 на который выводить: 1) Часы в реальном времени ..2) Выходную мощность регулятора от 0 - 100% ).. ну и собственно температуру с датчика DS18B20.... Из моей затем ни чего не выходит и сейчас расскажу почему: Синхронизация с сетью сделана по порту RB.0 ( прерывание INTE включено ) , также задействовано прерывание по TMR0 ( для часов ) , ни чего нового не изобрёл., Но всё дело в том , что например зайти в меню я не могу пока включена синхронизация с сетью , то есть идут прерывания по RB.0 ...контроллер занимается только этим . Вот и не могу понять как заставить его во время основной работы ( прерывание по RB.0 ) выполнять ещё и другие команды... Примеры взяты с сайта , форум читал , но ничего не понял по этому поводу.... Кусок программного кода прилагаю... Может кто нибудь подсказать как это реализовать.... Обещаю выложить проект на все общее обозрение On_Interrupt GoTo Int_Pw GoTo Main Int_Pw: Context Save If INTF = 1 Then DelayUS Gh PulsOut PORTB.1,50,High EndIf INTF = 0 Context Restore
Main: Gh = Kp *( SetTemp - TempIND ) If Gh < 50 Then Gh = 50 If Gh >= 8400 Then Gh = 8400 Print At 1,1,Dec2 HOUR,text,Dec2 MINUTES,$20,Dec1 TempIND," ",Dec4 Gh 'If PORTA.1 = 0 Then Cls:DelayMS 2000:GoTo Ust_vr GoSub TERMO_Convert GoTo Main ' Возврат на начало основной программы
Наладчик КИП и А
Сообщение отредактировал
Broka - Сб, 09.04.2016, 17:18
|
|
|
|
mikhail09p |
Дата: Сб, 09.04.2016, 20:32 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Не нужно в прерывании делать задержек. Уже об этом не раз говорили. Посмотрите во вложении, там неплохой принцип регулирования. Покрутите RV6 и посмотрите, как меняется угол открывания тиристора - жёлтый луч. Зелёный - переход через "0".
|
|
|
|
dimvad |
Дата: Сб, 09.04.2016, 20:40 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
80
Замечания:
±
На сайте с 20.07.2012
Статус:
Offline
|
Если нагреватель инерционный, ну там печи тэны утюги, то лучше делать медленный ШИМ. Я вот людям делал устройство, в состав которого входит регулятор мощности. Так как греть нужно долго, а сеть гуляет, то мощность стабилизируется. Период ШИМ и, соответственно, прерываний -1сек, так что все датчики, энкодеры, меню и куча всего без проблем работают. Опять же вывод мощности на экран делается просто, а с фазовым управлением все это дело надо линеаризовать, т.е делать муторные математические вычисления, или впихивать градуировачную таблицу. Вот Вам кусок этого проекта, может найдете что-нибудь полезное.
|
|
|
|
anatol |
Дата: Сб, 09.04.2016, 21:40 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Неудачный выбор контроллера и метода. По внешнему сигналу перехода через нуль (одно прерывание) организуется отсчет фазы. В этот момент ПИК только ждет конца подсчета. (Организовать доп действия чревато из-за изменения фазы в процессе регулировки). По окончании подсчета даем сигнал на симистор и работаем с индикатором и клавой. Простите, это сколько в градусах займет. Т.е. минимальный уровень регулирования, потому что " По внешнему сигналу перехода через нуль (одно прерывание)". Всего времени 10 миллисекунд. При 20мгц кварце один такт = (20\4=5)=0,2 мксек.... Думаю при оотлаженной программе пределы регулировки будут 95-40%.
|
|
|
|
Broka |
Дата: Сб, 09.04.2016, 22:50 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
dimvad, Спасибо большое за проект , я делал регулировку на ШИМ..... работает хорошо , без проблем Это было давно.. Когда на борту у Pic есть аппаратный ШИМ , намного проще всё это придумать. Просто хотел попробовать..... Именно фазоимпульсное управление , да ещё и LCD.... , но уже перехотел........ anatol, Спасибо за то , что расписал по времени ......в принципе догадывался о проблеме с этим не удачным способом регулирования......... , я как всегда себе на ж....... Приключений найду! mikhail09p, тебе тоже спасибо большое.... , Как то дружно здесь ....всегда если надо помогут! А , то ведь есть такие форумы....ой её её.... Без зазрения совести на хутор ......посылают! Ладно.....спасибо ребята.... Сделаю с ШИМ регулированием и на микросхеме КР1182ПМ. Делал такое уже давно....
Наладчик КИП и А
|
|
|
|
mikhail09p |
Дата: Вс, 10.04.2016, 21:37 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Цитата микросхеме КР1182ПМ Да делай на контроллере! Посмотри проэкт, что я тебе дал! от 0 до 100% ! Просто! КР1182ПМ мне не нравится, не надёжная.
|
|
|
|
dimvad |
Дата: Вс, 10.04.2016, 22:25 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
80
Замечания:
±
На сайте с 20.07.2012
Статус:
Offline
|
Цитата Посмотри проэкт, что я тебе дал! А где сам проект, чего-то я его не вижу.Добавлено (10.04.2016, 22:25) --------------------------------------------- Broka , а если алгоритм Брезенхема прикрутить, там линейное регулирование, нет помех в сеть и проще там все.
|
|
|
|
mikhail09p |
Дата: Пн, 11.04.2016, 08:09 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Блин, я и не заметил, что не прикрепился файл. После смены оформления сайта поплохело не только внешнему виду. А жаль, раньше тут веселее было. Попробую ещё раз выложить. Прикрепил. И вот то же: https://yadi.sk/d/2sCU2Hhrqruir
|
|
|
|