Собираем станцию : основы регуляторов мощности и бич-версия диммера

Тема в разделе "off.Топик", создана пользователем Surge, 08.11.2016.

  1. buivol135

    buivol135 Пользователь

    Регистрация:
    22.02.2015
    Сообщения:
    410
    Симпатии:
    47
    Где взял такого зверька
     
  2. vitas-iv

    vitas-iv Пользователь

    Регистрация:
    09.12.2012
    Сообщения:
    611
    Симпатии:
    24
    Завтра парни накидаю Вам графиков с нашей Термопрохи. Закину снятие безвинец 1 и 2 уровни. Посадка свинец. Наверно для изучения достаточно будет.
     
    buivol135 нравится это.
  3. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Да мне и для реализации достаточно будет ;)
    Можешь наскринить их софт и описать еще что он может? Набросаю аналог
     
  4. buivol135

    buivol135 Пользователь

    Регистрация:
    22.02.2015
    Сообщения:
    410
    Симпатии:
    47
    В ютубе CoRE они для своей паялки софт выкладывали
     
  5. buivol135

    buivol135 Пользователь

    Регистрация:
    22.02.2015
    Сообщения:
    410
    Симпатии:
    47
    @Surge, сколько за керамику отдал
     
  6. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Нафиг не нужен. Протокол взаимодействия закрытый. Да и я не люблю пользоваться чем-то чего я не понимаю и не могу настроить как мне нужно.
    Я не керамику отдельно брал, я брал варочную панель целиком.
     
  7. buivol135

    buivol135 Пользователь

    Регистрация:
    22.02.2015
    Сообщения:
    410
    Симпатии:
    47
    @Surge, ну ты крут, а целиком зачем
     
  8. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Я не видел, чтобы в магазах продавали стеклокерамику. Знакомых сервисных где бы отдали осколки у меня нет.
    Панель была ушатаная с убитой электроникой, отдали за 1к. Терпимо
     
  9. qqq111www111

    qqq111www111 Пользователь

    Регистрация:
    09.02.2017
    Сообщения:
    1
    Симпатии:
    0
    Продолжение будет?
     
  10. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Еще 3 написано, смотри в списке тем
     
  11. vipok72

    vipok72 Пользователь

    Регистрация:
    04.02.2018
    Сообщения:
    10
    Симпатии:
    0
    А как подключить 2 таких диммера к Arduino Nano? Я так понял нужно у диммера Triac контакт обязательно цеплять или к D2 или к D3, а DET можно подключить в любой цифровой вход, или я не так мыслю? не пинайте я новичок в этом деле
     
  12. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Цеплять ты их можешь пока ноги не закончатся, главное в прошивке измени пины. DET для отслеживания перехода через 0, для него как раз либо 2 либо 3, ибо это дело должно идти через прерывание
     
    vipok72 нравится это.
  13. vipok72

    vipok72 Пользователь

    Регистрация:
    04.02.2018
    Сообщения:
    10
    Симпатии:
    0
    Сделал первую плату, она заработала правильно, но т.к. спаял всё криво решил сделать новую, вроде как всё подключено правильно, но даже при отключенной Arduino (ардуино впаяна в плату, но не запитана) на полную работают галогенки. Из-за чего может быть такое?
    У меня входные резисторы по 30 ком, рядом с Triac - 51 ом, к оптодрайверу идет на 1 ком
     
  14. vipok72

    vipok72 Пользователь

    Регистрация:
    04.02.2018
    Сообщения:
    10
    Симпатии:
    0
    Сделал 2 диммера точно таких же (в прошлый раз оказывается был битый симистор).
    Оба диммера прекрасно работают, но тестил я их раздельно, ибо вместе работают как то неправильно.
    Создал два прерывания, скетч тот же самый но подредактирован под меня, запускаю - лампы работают но на почти полную мощь моргая. Одно прерывание комментирую - работает нормально но только один диммер. К 220 подключил параллельно диммеры. Как заставить это дело работать вместе, в чем подвох?
     
  15. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Для каких целей то ты вмазал 2 прерывания??? У тебя прерывание для того чтобы отработать переход через 0. Дважды его замеряешь чтоли, в разных электросетях? Нет же, розетка одна. Ты очевидно не понял суть работы. Симисторы на обычных ногах и решение о работе двухты должен принимать за одно прерывание
     
    vipok72 нравится это.
  16. vipok72

    vipok72 Пользователь

    Регистрация:
    04.02.2018
    Сообщения:
    10
    Симпатии:
    0
    Блин даже представить не могу как в одном прерывании отработать этот самый переход без параллельной работы каким то образом.
    Суть регулировки в подаче сигнала на некоторое время и ожидании. А как ожидать параллельно и разное время я блин вообще не понимаю. Напишите пожалуйста код.
    Код:
    void tick() {
      int dimtime = (75*b_dimming);  
      delayMicroseconds(dimtime);
      PORTD |= 1<<BOTTOM_TRIAC;
      delayMicroseconds(10);
      PORTD &= ~(1<<BOTTOM_TRIAC);
    }
    Во втором прерывании у меня почти тоже самое:
    Код:
    int dimtime = (75*t_dimming);
    PORTD |= 1<<TOP_TRIAC;
    PORTD &= ~(1<<TOP_TRIAC);
     
  17. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    Ну оно и не будет работать, кто занимается ожиданием в прерываниях?) Там Delay только один, чтобы симистор включиться успел, выключается он сам когда идет переход через ноль. Ожидаение не самоцель же, его выбросить. Считать нужно не милисекундами, а полупериодами. Я же другой код приводил. Куда выкинул распределение по Безье?)) Идем изучать статью, ты все пропустил мимо.

    Код:
    bool top_needed,bottom_needed;
    void tick()
    {
      // Подсчет необходимости включения, распределение Безье
      ...
    
      if(top_needed) PORTD |= 1<<TOP_TRIAC;
      if(bottom_needed) PORTD |= 1<<BOTTOM_TRIAC;
      delayMicroseconds(200);
      PORTD &= ~(1<<TOP_TRIAC);
      PORTD &= ~(1<<BOTTOM_TRIAC);
    }
     
    Последнее редактирование: 21.02.2018
    vipok72 нравится это.
  18. buivol135

    buivol135 Пользователь

    Регистрация:
    22.02.2015
    Сообщения:
    410
    Симпатии:
    47
  19. vipok72

    vipok72 Пользователь

    Регистрация:
    04.02.2018
    Сообщения:
    10
    Симпатии:
    0
    Итак, прошу отнестись с пониманием к недогоняющему.
    Суть, насколько я понял по статье такая:
    В розетке 50 Гц, если все отправляем в нагреватели - 100% мощность.
    Герцы в розетке это та частота с которой меняются полярности в секунду, в России стандарт 50 герц т.е. 50 раз в секунду меняется полярность. Одно изменение полярности это и есть полупериод, суть регулирования мощности по скетчу который приведен в статье на первой странице насколько я понял такая:
    50 герц в секунду = 1 полупериод за ~10 мсек
    10 мсек = 10.000 мксек - это за сколько времени проходит полупериод, это самое время было разделено на 128 зачем то, судя по всему чтобы вычислить процент времени который надо пропустить чтобы добиться нужной мощности. В нашем случае ~1% времени прохождения 1 полупериода получился 75 мксек, от него и пляшем. Далее у нас работает наша ардуина и схема, детектор нуля отлавливает переход через ноль, т.е. начало нового полупериода и сообщает ардуине, тот в свою очередь запускает прерывание которое считает нужную нам мощность в виде времени которое необходимо подождать чтобы в итоге получить собственно то что нам нужно.
    Если я прав - то получается мы тут режем полупериоды за счет именно ожиданий, а ваш код последний я так понял пропускает целые полупериоды и при малых мощностях это все будет моргать, я верно думаю или нет? И все таки дайте ссылку на статью где про Безье говорится пожалуйста а лучше пример скетча, ибо как только не думал но красивого и короткого варианта так и не надумал. Или хотябы примерно как считать...
     
  20. Surge

    Surge Пользователь

    Регистрация:
    25.01.2016
    Сообщения:
    1.183
    Симпатии:
    442
    128 ступеней обрезки одного полупериода, по этому деление на 128. Врубаясь в середине этого самого полупериода ты получаешь те же 50% можности, врубаясь подождав 25% длительности - 75% мощности итд. Чем позже врубишься, тем меньше тока достанется нагревателю (в нуле это ноль). Все что ты привел, оно верно и оно рабочее. Но абсолютно губительно для всего тонкого, что сидит с таким прибором в одной сети. От помех охренеешь, звон будет стоять будь здоров, даже сама спираль галогенок будет звенеть на манер трансформаторной будки. Схему перехода через 0 не просто так придумали,сам подумай. Куда удобнее прыгнуть : в стоящий на остановке автобус или по середине дороги, где он вваливает 80кмч?
    Мерцание вообще не играет роли, стоит ли ради приятности глазу тащить с собой побочки конструкции? Можешь забить на мое мнение, просто время потеряешь и шишек набьешь, вместо принятия чужого опыта.
    Брезенхем нужен только для пропуска полупериодами, для phase-shift его не надо.
    Если решил фазы резать, отпишись, обьясню как и что делать на 2 канала.
     
    Последнее редактирование: 22.02.2018

Поделиться этой страницей