Перейти к содержанию

Помогите разобраться с прерываниями


oleg88135

Рекомендуемые сообщения

Хочу самостоятельно написать прогу под PIC12F629 для управления тиристором(симистором) с целью регулировать нагрузку. Просмотрел готовые разработки, везде используют прерывания. Самостоятельно разобраться не смог (плохо учился в школе), объясните, в чем смысл. Заранее благодарен неравнодушным и более смышленым.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Смысл в том, что процессор прерывает исполнение основного кода и переходит по адресу 04h, в котором программным путем (опросом флагов) определяет того, кто это прерывание вызвал. При этом разрешение глобального прерывания (GIE) отключается автоматом, и его нужно включить после выполнения всех действий. Си это делает сам, в асм это делают командой retfie.

Изменено пользователем Zhuk72
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А покурить тему не пробовали ? - https://yandex.ru/yandsearch?text=фазоимпульсное управление тиристором&lr=2&clid=2186620
Зачем это всё переписывать тут ?
В сети просто огромное кол-во информации по этой теме. И картинки, и диаграммы, и чего только нет ...

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, oleg88135 сказал:

Непонятно, как это помогает реализовать задержку для обрезки синусоиды(фазоимпульсный метод)...

Что такое фазоимпульсный метод? Это подача импульса отпирания тиристора (симистора) в определенный момент от "начала" полупериода синусоиды. И тут возникают следующие вопросы в плане реализации на микроконтроллере:

- как отследить "начало" полупериода?
- как реализовать "определенный момент" от начала?
- как сформировать импульс нужной длительности?

И для решения всех этих вопросов достаточно удобно использовать прерывания. Подаем ограниченную по току синусоиду на вход микроконтроллера, и получаем прерывание в момент, когда напряжение равно нулю (а нулю напряжение в сети равно как раз в момент "начала" полупериода). Запускаем таймер на некоторое время, например, 5 мс, и он сгенерирует нам прерывание как раз через 5 мс от начала полупериода - вот вам и "нужный" момент. Теперь включим выход и запустим таймер на 100 мкс и по прерыванию выключим выход - вот вам и импульс управления в 100 мкс.

А без прерываний это было бы совсем не так просто и красиво реализовывать.

Изменено пользователем ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Зацикливать в данном случае надо то, что не требует прерываний: например, обслуживание кнопок, при помощи которых будет изменяться фаза отпирания тиристора. То есть в цикле непрерывно ведется опрос кнопок и корректировка фазы, а остальное - по прерываниям.

Прерывания на то и прерывания, что прерывают основной цикл работы по мере надобности.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @korsaj Так сейчас вчитывался ещё раз и ничего как то на ум так и не идёт. Сложновато получается. Данную функцию да тем более с массивами на сравнение я точно не осилю.
    • Собрал тиристорное зарядное. И не совсем понятно как измерять его ток заряда. Вот так показывают два неплохих мультиметра на измерении постоянного тока  (уверен что стрелочный покажет то же самое )   но , Мы же понимаем , что после тиристора идёт не постоянный ток , а импульсный  и вот такое теперь показывают мультиметры в режиме измерения переменного тока  один РМС, другой не рмс.   Что считать правдой ?
    • А чего бы не поставить рядом с DS18B20 некрупный конденсатор между VDD и GND? 
    • Я вскрываю металлической линейкой. Очень часто у таких блоков есть паз вдоль шва, туда вставляю линейку по всей длине шва и как рычагом вскрываю корпус. Если вначале немного промять корпус вдоль шва (бывает достаточно пальцами), то шансы легко вскрыть значительно увеличиваются.
    • При включении в ранее опубликованном виде устройство стало генератором. Частота до 140кГц, на индуктивности размах (от мин. до макс.) до 20В при напряжении на испытуемом БП ~3В. Добавил несколько конденсаторов, в том числе как рекомендовали Z_VIP и Starichok. Немного изменил номиналы резистора в компараторе. Удалил шунтирующее сопротивление на резисторе регулятора тока. Компаратор буду еще отлаживать - в приведённой ниже схеме срабатывает при 4В, но не не отпускает при отсутствии напряжения.  Ограничение тока выставил на 4А. Регулировка тока плавная от 0 до  4А. Выставленный ток стабильный при изменении напряжения от 1В до 10В. Напряжение выше 10В пока не поднимал. Ниже 0,95В ток снижается пропорционально напряжению. Схема в приложении. Все изменения-дополнения делал на существующей плате навесным монтажом. Позже выложу актуальную разводку. Отлаживал с транзисторами AP60T30 (ранее выкладывал фото транзисторов на радиаторе) - без обдува при комнатной температуре длительно держат 20Вт (10В, 2А) при температуре радиатора ~40гр.C. Приобрёл транзисторы IRFP460. С радиатором пока не определился. Схема и фото отладки на текущий момент времени. На фото стрелочный прибор - амперметр с током полного отклонения 6А. и в DipTrace:  
    • Ведь этож надо... такое совпадение. И я тоже делаю без сверлений. Более того, прилагаю фото имеющихся у меня  "хоть чуток острых предметов", несмотря на наличие которых, столь несложный и общедоступный  способ зачистки, к.м.к.  имеет право на демонстрацию в данной теме. Вдруг кому-то пригодится... Тем более, что тема простаивает аж с марта, будто на белом свете нет ничего, что можно было бы сюда  разместить,  хотя бы для сведения. 
×
×
  • Создать...