|
16.04.2020, 00:43 | #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; } |
|
12.11.2018, 20:40 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
При чем тут analogWrite(ledPin, HIGH)?
|
12.11.2018, 22:18 | #3 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 |
|
12.11.2018, 23:06 | #4 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Можно взять библиотеку PID и пример для реле
PIDЦитата:
[свернуть] |
|
14.11.2018, 10:05 | #5 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 |
На самом деле, похоже, у меня нет правильного понимания принципа работы данного способа. Я пытаюсь резать полупериод, а надо пропускать полупериоды.
Правильно будет, если за отрезок 100% я возьму 0.5 секунды? или нужно больше? И самое главное: может легче использовать диммер без детектора нуля, но с каким либо сетевым фильтром или стабилизатором? Последний раз редактировалось hoiho; 14.11.2018 в 10:10. |
14.11.2018, 23:13 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Лучше 1-2 сек=100%
С детектором ноля для нагревателя предпочтительней |
17.11.2018, 19:57 | #7 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 |
Все получилось собрать, но в какой то момент симистор начинает самопроизвольно открываться, при том, что подачи на на оптрон никакой нет. Может это быть из-за близости схемы к электропроводке?
Или это вообще проблема из-за rc цепи? Последний раз редактировалось hoiho; 18.11.2018 в 09:39. |
20.11.2018, 18:40 | #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 код:
[свернуть] |
20.11.2018, 23:19 | #9 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Цитата:
Цитата:
|
||
21.11.2018, 17:56 | #10 |
Junior Member
Регистрация: 20.11.2018
Сообщений: 2
Вес репутации: 0 |
|
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|