ИК паяльная станция на Arduino Mega 2560. Доработка скетча "ARS_v2_Lilium_JSN"

Тема в разделе "Глядите, что я сделал", создана пользователем Jalnin, 2 ноя 2012.

  1. Yojiq

    Yojiq Гик

    Коллеги !
    Я наконец приближаюсь к завершению и уперся в PID
    Не получается у меня понять доки которые у нас тут выкладывали, кто может поясните -
    максимум хочу увидеть 2 строчки по каждому пункту
    Спасибо . viber image.jpg viber image2.jpg
     
  2. Leonid0071

    Leonid0071 Нерд

    Я наконец понял )) что у нас с вами бессмысленный спор, а бесмысленный он потому, что методы регулирования у меня и вас разные...
    Я не задаю нагревателю конкретный % мощности, а регулирую только время включения/выключения (в импульсном режиме "на полную мощность" всякий раз), поэтому в моем случае всякие переходы через 0 вообще "без разницы", поскольку после замера температуры ПИД (на основании предыдущего замера и величины ошибки) принимает решение о том - включить/выключить и на какой период реле управления нагрузкой, адаптируясь как под нагреватель так и под скорость регулирования, при этом если при следующем замере "цель" будет "не достигнута" время включения увеличивается/уменьшается (вплоть до постоянного включения/выключения)...
    в результате ошибка -+ 2 градуса, что лино меня "за глаза" устраивает

    и при этом лично у меня стоят реле с контролем перехода через 0 (но я даже и не задумывался об этой их характеристеке)
    http://www.deltronics.ru/product/fotek/series2_222.html?vkl=har-vkl
     
    Последнее редактирование: 23 сен 2018
  3. SOLOway

    SOLOway Гик

    Leonid0071 В режиме "ПИД по температуре". Возможно ли в вашей разработке ввести защиту от такого? Для меня такая ситуация вовсе не теоретическая - щелкали чипы на отрегулированных станциях, на которых не один десяток чипов запаян! Чаще всего это происходило из-за тесноты в мастерской, когда кто-то шевелил провода или сам стол со станцией. Буду признателен.
     
  4. SOLOway

    SOLOway Гик

    Вы про какие доки?
     
  5. Dmitrysh

    Dmitrysh Гик

    У нас с вами очень даже конструктивный спор.
    Вы не задаёте, а ваш ПИД задаёт, только косвенно. Ваш ПИД выдаёт на нагрузку(нагреватель) процент времени в пределах 1 секунды когда она должна быть включена. Т.е если ПИД выдал 650, это значит, что нагрузка включена 650мс из 1 сек или 65%мощности.
    Наш скетч делает тоже самое, только используется алгоритм Брезенхема для равномерного распределения импульсов включения по периоду.
    потому что
    Я и раньше не сомневался что работать ваш вариант будет. Кстати у LDZ тоже нет ZCC.

    У меня вопрос другой и не один.
    1. Почему у вас температуру получаем 2 раза в секунду, а ПИД считаем 4 раза в секунду?
    2. Почему в библиотеке ПИД вы поменяли вычисление диф составляющей, а SampleTime оставили прежним 100мс, при том что вы обращаетесь к ПИД через 250мс?
     
  6. Yojiq

    Yojiq Гик

    нашел еще один файл, вроде бы немного разобрался, будем пробовать
     

    Вложения:

    Последнее редактирование: 23 сен 2018
  7. Yojiq

    Yojiq Гик

    SOLOway & Dmitrysh
    - Господа, у меня пока я в тестах пидом первое значение "P" ни как не влияет на скорость прогрева, я выставлял значения от 0 до 100, а вот уровнем мощности это легко поддается регулировке.
     
  8. Dmitrysh

    Dmitrysh Гик

    Покажите скетч
     
  9. Yojiq

    Yojiq Гик

    скетч с 69 страницы
     

    Вложения:

  10. Leonid0071

    Leonid0071 Нерд

    В общем, сделал так:
    если 2 последних замера температуры отличаются от предыдущего значения больше чем на x градусов (задается в конфиге) и если стоит галочка соответствующего контроля (внизу картинки профиля пайки), то процесс пайки вырубится...
    Обновлено 02102018 (изменены графики и расчет интервалов)
    https://my-files.ru/is58s0
    (пароль:12345)
     
    Последнее редактирование: 2 окт 2018
    DjDecibel и SOLOway нравится это.
  11. Dmitrysh

    Dmitrysh Гик

    Нормальный скетч, должен работать. Влияние Р вы увидите только при приближении температуры к уставке. Дело в том, что даже при Р=1, задании 130 и стартовой температуре 25 на выходе только по пропорциональной составляющей 100% плюс интегральная. Поэтому для более плавного выхода на заданную температуру все срезают мощность сверху.
     
  12. Leonid0071

    Leonid0071 Нерд

    это бы-ло-бы правдой если не было-бы инерции нагревателя, реактивных составляющих и прочее, а так это про "сферического коня в вакууме"...
    В общем я предлагаю закончить, поскольку и с предыдущими вашими обоснованиями я не сильно согласен, каждый всеравно останется при своем мнении, да и важен в конечном итоге - только конечный результат, я его наглядно покажу в следующем своем ролике на графиках, заоодно сравнив разные типы нагревателей для верха (пока печки нормальной нет, сделаем про "лампочки").

    1. Это как раз - учет инерции направления движения процесса (на "кривых" китайских термодатчиках)
    2. А вот тут, да, у себя в библиотеке я поменял, а в той что выложил - забыл ...
     
  13. Yojiq

    Yojiq Гик

    Не могу найти номер пина куда клава подключается
    revolover_V3-4

    Код (C++):
    //--------настройка кнопок управления------------------------------------

    //#define A_PINS_BASE 100 // номер с которого начинается нумерация наших "псевдо-кнопок".
     
    #define PIN_RIGHT 100
    #define PIN_UP 101
    #define PIN_DOWN 102
    #define PIN_LEFT 103
    #define PIN_SELECT 104
    struct A_PIN_DESC{ // определяем  структуру которой будем описывать какое значение мы ожидаем для каждого псевдо-пина
       byte pinNo; // номер пина
       int expectedValue;// ожидаемое значение
    };
    A_PIN_DESC expected_values[]={ // ожидаемые значения для псевдо-кнопок
       { PIN_RIGHT,509},
       { PIN_UP,144},
       { PIN_DOWN,331},
       { PIN_LEFT,0},
       { PIN_SELECT,745}
    };
     
  14. SOLOway

    SOLOway Гик

    А0.
    Не забудьте убрать из скетча этот кусок: http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-81#post-176650
    Чтобы работал выбор размера стола - пост @Dmitrysh: http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-83#post-177321
    - пост @Dmitrysh: http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-81#post-176511
    Ещё одна поправка от @Dmitrysh: http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-68#post-170572
     
    Последнее редактирование: 6 окт 2019
    Yojiq нравится это.
  15. Yojiq

    Yojiq Гик

    Выполнил все что указали, протестирую и отпишусь.
     

    Вложения:

  16. Yojiq

    Yojiq Гик

    Скажите мне пожалуйста.
    - Кто нибудь использует все 4 реле силовые.
    я понимаю подключение через них размер стола 2 и 3 реле, а 1 и 4 не вижу смысла вообще в них, так же мне кажется что управлять реле проще когда на выходе Меги лог 1 и одним транзистором коммутировать обмотку реле (с уровнями попробую сам разобраться).
    ?
     
  17. Leonid0071

    Leonid0071 Нерд

     
    SOLOway нравится это.
  18. Yojiq

    Yojiq Гик

    В общем то подчеркнуть в данном видео можно только то что гнаться за точностью больше чем 1-2 градуса просто нет смысла
    Как и все остальное приходит только с опытом.
    маленький офтоп - сегодня с еще одним товарищем общался он комбик удачно запаял, когда я спросил что за паялка у него, он никому не говорит (держит в тайне), но мне прислал фото :):D:cool: и оно работает !
     

    Вложения:

    • Пашка.jpg
      Пашка.jpg
      Размер файла:
      191,7 КБ
      Просмотров:
      323
  19. SOLOway

    SOLOway Гик

    Ну, это у него ещё крутой набор :)
    Я начинал вот с этого: http://www.rom.by/forum/Samodelnyj_nizhnij_podogrev
    плюс б/у Lukey 852D старой версии.
    А фен строительный только на этой неделе куплю - старый клей и краску сдирать с потолка и стен :)
     
  20. Dmitrysh

    Dmitrysh Гик

    Я использую.
    Можно вообще без реле, просто полным столом "жарить". Ну а по поводу смысла смотрите. Допустим по какой-то причине у ардуины "залипли" или сгорели ножки выходов или одна из них и подтянулась к +5в. Соответственно нагреватель(ли) жарит по полной. Срабатывает защита по перегреву, реле отключают нагреватели. А у вас нет реле 1 и 4. Значит у вас одна секция низа и(или) верх как жарили так и жарят. В общем смысл какой-то такой. Это моя версия, у автора скетча может быть иная логика.
    Я тоже так считаю, но для совместимости с оригиналом у себя оставил все как есть.