Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.11.2018, 19:32   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше
Admin вне форума   Ответить с цитированием
Старый 12.11.2018, 19:59   #2
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше
Так правильно будет?

Развернуть для просмотра


int dimmer_vol = 0; //Время срабарывания пина
void loop(){
dimmer();
}
int dimmer() {
if (millis() - lasttime > dimmer_vol) {
analogWrite(ledPin, HIGH);
}
[свернуть]
hoiho вне форума   Ответить с цитированием
Старый 16.04.2020, 00:43   #3
leninxxx
Junior Member
 
Регистрация: 16.04.2020
Сообщений: 3
Вес репутации: 0
leninxxx is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше
На самом деле ШИМ на MOC3061 и без PC814 работать будет. Нужно только параметры таймера задать подходящие.

У меня на 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;
  }
При базовой частоте 72МГц, длина такта - 1 сек, для другой частоты - надо менять прескалер.
leninxxx вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 41 (пользователей: 0 , гостей: 41)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:53. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика