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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2020, 19:53   #941
Renzo
Junior Member
 
Регистрация: 21.02.2020
Сообщений: 3
Вес репутации: 0
Renzo is an unknown quantity at this point
Cool

Цитата:
Сообщение от Admin Посмотреть сообщение
Это для нагревателя подойдет, а мотор с пропусками не будет работать
Ваша правда. Чуть разобравшись с кодом, написал такой проверочный скетч:

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

PHP код:
#include <CyberLib.h>
int  j=1zcross=0;
volatile int k=1i=1pot;
void setup() 

Serial.begin(115200);
  
D3_In//энкодер счетчик
  
D7_In//энкодер поворот
  
D8_Out;  //Настраиваем порты на выход
  
D4_Out;  //Настраиваем порты на выход
  
D2_In//настраиваем порт на вход для отслеживания прохождения сигнала через ноль
  
attachInterrupt(0zero_crosssRISING);  // прерывание на D2 


void zero_crosss() 

  
zcross++;                                     //Считаем два полупериода (целую волну - Герц)
  
if (zcross>1
  {
    if (
j>k) {j=1;D4_LowD8_Low;}                             //Сбрасываем счетчик периодов, закрываем симистор, тушим лед    
    
i++;                                        //Счетчик пакетов
    
if (i>=pot)     //Пропускаем пакеты или нет. Если map=1, то каждый пакет с волнами идет на симистор. Если 100, то только каждый сотый...
    
{
      
D4_HighD8_High;                         //Открываем симистор, поджигаем лед
      
j++;                                      //Счетчик волн в пакете 
      
if (j>ki=1;                             //Сбрасываем счетчик пакетов
    
}
    
zcross=0;                                   //Сбрасываем счетчик полупериодов
    
}


void loop()   

 
pot=map(analogRead(0),0,1023,100,1); // Показания потенциометра
 
if ((digitalRead(3)==1)&&(digitalRead(7)==1)) {k=constrain(k--,2,98);D3_OutD3_Low;D3_In;} // Энкодер против часовой
 
if ((digitalRead(3)==1)&&(digitalRead(7)==0)) {k=constrain(k++,2,98);D3_OutD3_Low;D3_In;} // Энкодер по часовой
 
Serial.print("Пакет непрерываных волн D4 (периодов) = "); Serial.print(k);
 
Serial.print("   Пропускаем волн (периодов) = "); Serial.println(pot);

[свернуть]


В нем можно регулировать как пропуски периодов, так и их длительность.
По итогу мотор крутится без гула, но рывками. Особенно интересные звуки когда ставишь цикл с соотношением 1 период в работу, 1 период на пропуск
Со срезанием волны э/двигатель работает плавнее. А на определенных частотах гула вообще не слышно...

Цитата:
Сообщение от Admin Посмотреть сообщение
резистор 39 Ом, конденсатор 0,01 мкФ . Но от помех в сети он не сильно поможет
А что поможет? Если поможет конечно...
А может фильтр от какого-нибудь розеточного "пилота"?

Цитата:
Сообщение от Admin Посмотреть сообщение
Инфракрасным датчиком препятствий Считать ничего не нужно. Например если в течении 1 сек. лог1 или лог0 , то значит вентилятор не крутится
Или второй вариант импульсами от датчика препятствий обнулять таймер
Да тут логика понятна, будем пробовать
Renzo вне форума   Ответить с цитированием
Старый 21.02.2020, 21:08   #942
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

В идеале нужен такой фильтр
Нажмите на изображение для увеличения
Название: фильтр.jpg
Просмотров: 128
Размер:	33.5 Кб
ID:	5204
Admin вне форума   Ответить с цитированием
Старый 21.02.2020, 22:44   #943
Renzo
Junior Member
 
Регистрация: 21.02.2020
Сообщений: 3
Вес репутации: 0
Renzo is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
В идеале нужен такой фильтр
Вложение 5204
Если в продаже нет готового решения, собрать не сложно. Знать бы еще номиналы...
Renzo вне форума   Ответить с цитированием
Старый 21.02.2020, 23:20   #944
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Цитата:
Сообщение от Renzo Посмотреть сообщение
Если в продаже нет готового решения, собрать не сложно. Знать бы еще номиналы...
Во многих ATX БП от ПК такие фильтры уже встроены
В древних БП они на отдельной плате монтировались
Admin вне форума   Ответить с цитированием
Старый 16.04.2020, 00:43   #945
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 вне форума   Ответить с цитированием
Старый 17.04.2020, 00:17   #946
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

На MOC3061 как диммер работать не будет, вернее будет неприятно мерцать и при этом иметь всего 2 ступени яркости 100% и 50%
Потому, что MOC3061 имеет встроенный детектор ноля и он сможет регулировать только пропуском полупериодов. Так, что не вводите людей в заблуждение
Лучше покажите видео как у Вас работает на MOC3061, очень интересно посмотреть
Admin вне форума   Ответить с цитированием
Старый 17.04.2020, 17:36   #947
leninxxx
Junior Member
 
Регистрация: 16.04.2020
Сообщений: 3
Вес репутации: 0
leninxxx is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
На MOC3061 как диммер работать не будет, вернее будет неприятно мерцать и при этом иметь всего 2 ступени яркости 100% и 50%
Потому, что MOC3061 имеет встроенный детектор ноля и он сможет регулировать только пропуском полупериодов. Так, что не вводите людей в заблуждение
Лучше покажите видео как у Вас работает на MOC3061, очень интересно посмотреть
Ну что началось-то? Нормально вроде сидели... )

Я всего-лишь сказал что девайсом на MOC3061 можно управлять через ШИМ генератор.

Если быть точным, то при схеме со встроенным детектором 0 ступеней мощности всего две - вкл и выкл. Мы же пропускаем полупериод, следовательно мощности в момент пропуска нет совсем, а так как миинимальный период пропуска вполне заметен глазу - 10мс, то о диммировании осветительных приборов не может быть и речи. 50% мощности выглядят как равномерное моргание лампы раз в секунду.
Видео выложу позже.

Теперь в раздумьях - нагревателю от такого режима работы не будет плохо? или все-таки лучше сделать нормальное диммирование с обрезанием синусоиды?
Есть у кого-нибудь опыт длительного использования?
leninxxx вне форума   Ответить с цитированием
Старый 17.04.2020, 21:06   #948
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Нагревателю ничего не будет. ПИД регуляторы температуры, работают годами в таком режиме и имеют большой разброс времени вкл/выкл от 0,5 сек до 10 сек
Admin вне форума   Ответить с цитированием
Старый 29.04.2020, 23:39   #949
leninxxx
Junior Member
 
Регистрация: 16.04.2020
Сообщений: 3
Вес репутации: 0
leninxxx is an unknown quantity at this point
По умолчанию

Обнаружил, вдруг, что в линейке BTA есть SNUBBERLESS™. Вы такие не использовали? Как они себя показали, на самом деле можно отказаться от снаббера?

И еще вопрос, посмотрел на фото Вашего диммера. Увидел диодный мост.
Если не секрет, зачем он там?
leninxxx вне форума   Ответить с цитированием
Старый 30.04.2020, 21:14   #950
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Цитата:
Обнаружил, вдруг, что в линейке BTA есть SNUBBERLESS™. Вы такие не использовали?
Нет не пробовали, нужно проверить.

Цитата:
И еще вопрос, посмотрел на фото Вашего диммера. Увидел диодный мост.
Если не секрет, зачем он там?
для того , что бы контроллеру передавались как положительные, так и отрицательные полупериоды
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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