Jump to content

Palxta

Регулятор мощности на pic16f628a

Recommended Posts

Третий день бьюсь над созданием регулятора мощности.

Идея такая. Кнопочками выбираем от 0 до 100 уровень мощности, на выходе светодиод и т.д..... скажем при установке 90% светодиод 90 периодов времени светит , 10 периодов нет. Вроди как просто, но при попытке создания, тот светодиод ведет себя не адекватно, то 50*50 периодов  включается, то как задано...

разные пути пробовал, не выходит ничего....

Принцип строил такой;

КНОПКИ

if k1 = 0 and k2 = 1 then
must = must + 1

if must > 100 then must = must - 1
endif
if k1 = 1 and k2 = 0 then
must = must - 1

if must < 20 then must = must + 1
endif

write 5, must
 PAUSE 10
 Mrab = must
 mpau = 100- must
return

отсчет периодов (м - включение в 1 по программе, out - светодиод,  must - переменная установки вых. мощности, mrab - переменная времени работы, mpau- переменная паузы)

if m = 1 then
     if mpau >0 then
     mpau = mpau - 1
     out = 0
     endif
     if mrab = 0 then
     mpau = 100 - must
     mrab = must
     endif
     if mpau = 0 then
     mrab = mrab - 1
     out = 1
     endif
     
endif

Share this post


Link to post
Share on other sites
 

Ща создаю схемку в протеусе с 7ми сегментником, и прошивку... чуть позже выложу

Share this post


Link to post
Share on other sites
 

в 628 контроллере встроен аппаратный модуль ШИМ, поэтому с ним проблем вообще не должно быть проблем.

Share this post


Link to post
Share on other sites
 
 
 

Оч. интересно... но только учусь, сейчас как раз изучаю прерывания... сложно пока) хочу перейти на пик 676

Share this post


Link to post
Share on other sites
 

Да ничего сложного там нет. Просто нужно разобраться. 

Для расчёта таймеров на винду есть программа PIC Timer Calculator. Есть сайты, где можно рассчитать частоту или период срабатывания таймеров. Либо их задать, и получить всё настройки. 

Прерывания у всех PIC-ов одинаковые, отличие лишь в наличии или отсутствии тех или иных устройств внутри микроконтроллеров. Например Timer2 или Timer3 отсутствует в 628 и 676 микроконтроллере. 

В 676 есть аналоговый вход, есть и прерывание, связанное с ним. 

На 16f84, 16f628, 12f629, 12f675 есть даташиты на русском языке. Рекомендую их почитать. Там расписаны всё регистры, что за что отвечает. 

Всё что там написано распространяется и на остальные микроконтроллеры микрочип. 

Share this post


Link to post
Share on other sites
 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
  • Create New...