Показано с 1 по 10 из 315

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AC dimmer 220V 50Hz

    Я понял почему так происходит.
    так как у нас соотношение 11:9 то в первом полупериоде в начале и в конце мы захватываем соседний полупериод по 500мкс с каждой стороны , а длительность отсечки рассчитываем с учетом этих хвостов.

    Вот рабочий код.
    PHP код:
    #include <avr/delay.h>  
    int AC_pin 10;  // выход для симистора    
    volatile byte dim 128;    // уровень димирования (0-128)  0 = on, 128 = 0ff    

    void setup()    
    {     
      
    pinMode(AC_pinOUTPUT);           
      
    attachInterrupt(0FrontUpRISING);  //прерывание по изменению уровня с низкого на высокий    
    }    
    // Функция обработки прерывания на подъем      
    void FrontUp()      
    {    
      
    detachInterrupt(0);    
      
    _delay_us(1000+(65*dim));  // отсекаем лишнее 
      
    digitalWrite(AC_pinHIGH);  // включить симистор    
      
    _delay_us(100);      // короткая пауза, чтобы обеспечить включение симистора    
      
    digitalWrite(AC_pinLOW);   // выключение симистора(он выключится когда полупериод достигнет нуля)     
      
    attachInterrupt(0FrontDownFALLING);      
    }      
    // Функция обработки прерывания на спад     
    void FrontDown()      
    {     
      
    detachInterrupt(0);      
      
    _delay_us(65*dim);  // отсекаем лишнее    
      
    digitalWrite(AC_pinHIGH);  // включить симистор    
      
    _delay_us(100);      // короткая пауза, чтобы обеспечить включение симистора    
      
    digitalWrite(AC_pinLOW);   // выключение симистора(он выключится     
      
    attachInterrupt(0FrontUpRISING);      
    }    

    void loop()    
    {  
    dim=64;
     
    // if(dim > 0) {dim--; _delay_ms(50);} else dim=128;  // пример уменьшения яркости лампы    

    Последний раз редактировалось Chip; 22.11.2011 в 23:16.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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