![]() |
|
![]() |
#1 | |
Junior Member
Регистрация: 16.04.2020
Сообщений: 3
Вес репутации: 0 ![]() |
![]() Цитата:
У меня на STM32 заработало примерно так: Код:
htim3.Instance = TIM3; htim3.Init.Prescaler = 7199; htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 9999; while (1) { p=99; //проценты мощности i=p*100-1; TIM3->CCR1=i; } |
|
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
При чем тут analogWrite(ledPin, HIGH)?
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#4 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Можно взять библиотеку PID и пример для реле
PIDЦитата:
[свернуть] |
|
![]() |
![]() |
![]() |
#5 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
![]()
На самом деле, похоже, у меня нет правильного понимания принципа работы данного способа. Я пытаюсь резать полупериод, а надо пропускать полупериоды.
Правильно будет, если за отрезок 100% я возьму 0.5 секунды? или нужно больше? И самое главное: может легче использовать диммер без детектора нуля, но с каким либо сетевым фильтром или стабилизатором? Последний раз редактировалось hoiho; 14.11.2018 в 10:10. |
![]() |
![]() |
![]() |
#6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Лучше 1-2 сек=100%
С детектором ноля для нагревателя предпочтительней |
![]() |
![]() |
![]() |
#7 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
![]()
Все получилось собрать, но в какой то момент симистор начинает самопроизвольно открываться, при том, что подачи на на оптрон никакой нет. Может это быть из-за близости схемы к электропроводке?
Или это вообще проблема из-за rc цепи? Последний раз редактировалось hoiho; 18.11.2018 в 09:39. |
![]() |
![]() |
![]() |
#8 |
Junior Member
Регистрация: 20.11.2018
Сообщений: 2
Вес репутации: 0 ![]() |
![]()
Всем привет. Спсб автору за статью.
Схему повторил, работает отлично. Добавил в код OLED дисплей (Ini). Создал простой счетчик. При попытке вывода, появилось мерцание (Loop#2). Если закомментировать display.print (Loop#1), все отлично. Подскажите в чем проблема? I2C конфликтует с прерыванием? Кто-то не успевает? Как заставить OLED дисплей выводить информацию, без какого-то влияния на диммер? Ini: Развернуть для просмотраPHP код:
[свернуть] Loop#1 Развернуть для просмотраPHP код:
[свернуть] Loop#2 Развернуть для просмотраPHP код:
[свернуть] |
![]() |
![]() |
![]() |
#9 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#10 |
Junior Member
Регистрация: 20.11.2018
Сообщений: 2
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
Здесь присутствуют: 134 (пользователей: 0 , гостей: 134) | |
|
|