![]() |
|
|
|
|
#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,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
При чем тут analogWrite(ledPin, HIGH)?
|
|
|
|
|
|
#3 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
|
|
|
|
|
|
#4 | |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Можно взять библиотеку 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,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Лучше 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,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
|
||
|
|
|
|
|
#10 |
|
Junior Member
Регистрация: 20.11.2018
Сообщений: 2
Вес репутации: 0 ![]() |
|
|
|
|
![]() |
| Здесь присутствуют: 12 (пользователей: 0 , гостей: 12) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|