Цитата:
	
	
		
			
				
					Сообщение от  Admin
					 
				 
				Это для нагревателя подойдет, а мотор с пропусками не будет работать 
			
		 | 
	
	
 Ваша правда. Чуть разобравшись с кодом, написал такой проверочный скетч:
	Развернуть для просмотра
	
	PHP код:
	
		
			
#include <CyberLib.h>
int  j=1, zcross=0;
volatile int k=1, i=1, pot;
void setup() 
{ 
Serial.begin(115200);
  D3_In; //энкодер счетчик
  D7_In; //энкодер поворот
  D8_Out;  //Настраиваем порты на выход
  D4_Out;  //Настраиваем порты на выход
  D2_In; //настраиваем порт на вход для отслеживания прохождения сигнала через ноль
  attachInterrupt(0, zero_crosss, RISING);  // прерывание на D2 
} 
void zero_crosss() 
{ 
  zcross++;                                     //Считаем два полупериода (целую волну - Герц)
  if (zcross>1) 
  {
    if (j>k) {j=1;D4_Low; D8_Low;}                             //Сбрасываем счетчик периодов, закрываем симистор, тушим лед    
    i++;                                        //Счетчик пакетов
    if (i>=pot)     //Пропускаем пакеты или нет. Если map=1, то каждый пакет с волнами идет на симистор. Если 100, то только каждый сотый...
    {
      D4_High; D8_High;                         //Открываем симистор, поджигаем лед
      j++;                                      //Счетчик волн в пакете 
      if (j>k) i=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_Out; D3_Low;D3_In;} // Энкодер против часовой
 if ((digitalRead(3)==1)&&(digitalRead(7)==0)) {k=constrain(k++,2,98);D3_Out; D3_Low;D3_In;} // Энкодер по часовой
 Serial.print("Пакет непрерываных волн D4 (периодов) = "); Serial.print(k);
 Serial.print("   Пропускаем волн (периодов) = "); Serial.println(pot);
} 
		
	
 [свернуть]
 
 
В нем можно регулировать как пропуски периодов, так и их длительность. 
По итогу мотор крутится без гула, но рывками. Особенно интересные звуки когда ставишь цикл с соотношением 1 период в работу, 1 период на пропуск 

Со срезанием волны э/двигатель работает плавнее. А на определенных частотах гула вообще не слышно...
	Цитата:
	
	
		
			
				
					Сообщение от  Admin
					 
				 
				резистор 39 Ом, конденсатор 0,01 мкФ . Но от помех в сети он не сильно поможет 
			
		 | 
	
	
 А что поможет? Если поможет конечно...
А может фильтр от какого-нибудь розеточного "пилота"?
	Цитата:
	
	
		
			
				
					Сообщение от  Admin
					 
				 
				Инфракрасным датчиком препятствий Считать ничего не нужно. Например если в течении 1 сек. лог1 или лог0 , то значит вентилятор не крутится 
Или второй вариант импульсами от датчика препятствий обнулять таймер  
			
		 | 
	
	
 Да тут логика понятна, будем пробовать