Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Фазоимпульсное управление
Фазоимпульсное управление
Broka Дата: Сб, 09.04.2016, 17:10  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 253
Репутация: 9   ±
Замечания:   ±
На сайте с 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
ЯНДЕКС Дата: 09.04.2016
mikhail09p Дата: Сб, 09.04.2016, 20:32  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Не нужно в прерывании делать задержек. Уже об этом не раз говорили.
Посмотрите во вложении, там неплохой принцип регулирования. Покрутите RV6 и посмотрите, как меняется угол открывания тиристора - жёлтый луч. Зелёный - переход через "0".
dimvad Дата: Сб, 09.04.2016, 20:40  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

Если нагреватель инерционный, ну там печи тэны утюги, то лучше делать медленный ШИМ.  Я вот людям делал устройство, в состав которого входит регулятор мощности. Так как греть нужно долго, а сеть гуляет, то мощность стабилизируется. Период ШИМ и, соответственно, прерываний -1сек, так что все датчики, энкодеры, меню и куча всего без проблем работают. Опять же вывод мощности на экран делается просто, а с фазовым управлением все это дело надо линеаризовать, т.е делать муторные математические вычисления, или впихивать градуировачную таблицу. Вот Вам кусок этого проекта, может найдете что-нибудь полезное.
Прикрепления: PWR_STAB.rar (83.4 Kb)
anatol Дата: Сб, 09.04.2016, 21:40  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Неудачный выбор контроллера и метода. По внешнему сигналу перехода через нуль (одно прерывание) организуется отсчет фазы. В этот момент ПИК только ждет конца подсчета. (Организовать доп действия чревато из-за изменения фазы в процессе регулировки). По окончании подсчета даем сигнал на симистор и работаем с индикатором и клавой. Простите, это сколько в градусах займет. Т.е. минимальный уровень регулирования, потому что " По внешнему сигналу перехода через нуль (одно прерывание)". Всего времени 10 миллисекунд. При 20мгц кварце один такт = (20\4=5)=0,2 мксек....
Думаю при оотлаженной программе пределы регулировки будут 95-40%.
Broka Дата: Сб, 09.04.2016, 22:50  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 253
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

dimvad
Спасибо большое за проект , я делал регулировку на ШИМ..... работает хорошо , без проблем
Это было давно..   Когда на борту у Pic есть аппаратный ШИМ , намного проще всё это придумать.
Просто хотел попробовать..... Именно фазоимпульсное управление , да ещё и LCD....  cool , но уже перехотел........  
anatol,  Спасибо за то , что расписал по времени ......в принципе догадывался о проблеме с этим не удачным способом регулирования.........  smile , я как всегда себе на ж....... Приключений  найду!
mikhail09p,  тебе тоже спасибо большое.... , Как то дружно здесь ....всегда если надо помогут!
А , то ведь есть такие форумы....ой её её.... Без зазрения совести  на хутор ......посылают!
Ладно.....спасибо ребята.... Сделаю с ШИМ регулированием и на микросхеме  КР1182ПМ.
Делал такое уже давно....


Наладчик КИП и А
mikhail09p Дата: Вс, 10.04.2016, 21:37  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Цитата
микросхеме  КР1182ПМ
Да делай на контроллере! Посмотри проэкт, что я тебе дал! от 0 до 100% ! Просто!
КР1182ПМ мне не нравится, не надёжная.
dimvad Дата: Вс, 10.04.2016, 22:25  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline


Цитата
Посмотри проэкт, что я тебе дал!
 А где сам проект, чего-то я его не вижу.

Добавлено (10.04.2016, 22:25)
---------------------------------------------
Broka , а если алгоритм Брезенхема прикрутить, там линейное регулирование, нет помех в сеть  и проще там все.

mikhail09p Дата: Пн, 11.04.2016, 08:09  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Блин, я и не заметил, что не прикрепился файл. После смены оформления сайта поплохело не только внешнему виду. А жаль, раньше тут веселее было.
Попробую ещё раз выложить.
Прикрепил. И вот то же: https://yadi.sk/d/2sCU2Hhrqruir
Прикрепления: Faze_8_kanal.rar (38.0 Kb)
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Фазоимпульсное управление
  • Страница 1 из 1
  • 1
Поиск: