Ик паяльная станция на arduino mega 2560. доработка скетча "ars_v2_lilium_jsn" | ч. 2

Тема в разделе "Глядите, что я сделал", создана пользователем NikitOS, 20 сен 2020.

  1. SOLOway

    SOLOway Гуру

    Продолжаем обновлять ветки основной темы.
    Представляю обновлённую версию "ProMini AtMega168p(328p) / 16MHz / 5v и LCD1602A+ 1xMAX6675 + PC(опция) (только канал ВИ! Термостол независимый, какой есть под рукою!)". В шапке скетча подробно расписаны изменения. Обнаруженные ошибки и недомолвки обозначивайте здесь, или мне в ЛС, буду разбираться.
     

    Вложения:

    Последнее редактирование: 19 окт 2020
    dth, Yojiq, Wigga и ещё 1-му нравится это.
  2. Watashi

    Watashi Гуру

    Не встречался, но есть ТАКАЯ платка - детектор напряжения 220в, на ее основе можно сделать детектор нуля.
    Я детектор нуля не использую.
    Вот вариант переделки:
     
    Последнее редактирование модератором: 11 фев 2022
    Деженин нравится это.
  3. SOLOway

    SOLOway Гуру

    Если дисплей как на картинке справа
    problem.jpg
    Возможно, кто-то решится переписать :) И, возможно, это будет новая ветка по мотивам паучка @Watashi , т.е., к примеру, ProMini занимается основной работой станции, а UNO с таким дисплеем обеспечивает графический интерфейс(типа "Low End Nextion") и передачу команд в ProMini.
    Размышляю, а не добавить ли в ветку v.1.3.x возможность переключения между работой с ZCC и работой без ZCC, для тех, кто использует керамические излучатели НИ и ВИ и покупные твердотельные реле(либо самодельные аналоги твердотелок на основе оптотриаков со встроеммым ZCC). Код предложил @Watashi .
     

    Вложения:

    Последнее редактирование: 11 фев 2022
  4. Watashi

    Watashi Гуру

    В посте #3244 написано что приведенная там библиотека "умеет работать с 8ми битными дисплеями под UNO на MEGA2560", надо только правильно ее запустить))
    Но рано радоваться(( 8-ми битный дисплей работает очень медленно на Меге (и на UNO тоже) и именно поэтому он не подходит для станции, сьедает много резурса МК.
    Почему? Как человеку имеющему "навыки в паскале и пятёрке по информатике" могу обьяснить. В 16-битном дисплее данные и команды передаются параллельно с двух портов и все, в 8-битном дисплее данные и команды, как вы поняли, передаются только по байтно и
    ЧТО ОЧЕНЬ СУЩЕСТВЕННО!!! с трех разных портов, это реализовано программно и именно здесь максимальные потери времени на передачу данных в дисплей.
    Как то так ))
     
    Spilberg88, grek_fix, kid_dnk и 2 другим нравится это.
  5. vladjke

    vladjke Нуб

    Спасибо ребята собрал по вашему подобию, работает четко. Заметил пару косяков когда долго работает прога в интерфейсе проскакивают наложение от предыдущих окон, время с RTC слетает иногда.
     

    Вложения:

    • 1.jpeg
      1.jpeg
      Размер файла:
      159,4 КБ
      Просмотров:
      1.427
    • 2.jpeg
      2.jpeg
      Размер файла:
      182,6 КБ
      Просмотров:
      1.431
    • 3.jpeg
      3.jpeg
      Размер файла:
      121,2 КБ
      Просмотров:
      1.429
    • 4.jpeg
      4.jpeg
      Размер файла:
      86,3 КБ
      Просмотров:
      1.394
    Spilberg88 нравится это.
  6. ShVV

    ShVV Гик

    Графа Общие, Загрузка профиля. А лучше посмотрите видео Watashi и текстовый файл про настройку, там все подробно расписано.

    Время 4.50

     
    Последнее редактирование модератором: 11 фев 2022
    Vladimir71 нравится это.
  7. Philippok1981

    Philippok1981 Нерд

    Доброго времени суток
    Вот тоже потихоньку собираю ваш проект .
    Только по запарке спалил свою tenstar robot 2560 купил вместо нее mega2560 esp wifi. Термопары такие использую.https://i.ibb.co/km2R320/IMG-20201206-023554.jpg
    Корпус резал в питерской конторе лазером , каретку на ЧПУ (очень раздражала родная от увеличителя)
    Если кому интересно могу твыложить чертежи в DWG . В корпусе контроллера будет встроен вакуумный пинцет с управлением педалью. Не могу придумать как лучще реализовать работу кулера в ВИ. Хотел сделать чтоб при нагреве слабо дул в сторону нагревателя (думаю что так будет эфективнее).Разделение зон НИ сделал просто выключателями на корпусе. По ходу сборки буду выкладывать фото с описанием. ESP интересно можно как нибудь использовать для связи с компом. Я в програмировании полный ноль поэтому вопросы задаю такие.
     

    Вложения:

    Последнее редактирование: 6 дек 2020
    Watashi и SOLOway нравится это.
  8. SOLOway

    SOLOway Гуру

    @Philippok1981 Серьёзный аппарат получился - с таким пошалить в голову не придёт. Отлично!
    @JagerLipton эту тему ведёт, держим руку на пульсе :)
    По алгоритму кулера ВИ подсказать не подскажу, Ersa не использует вообще обдув ВИ. Где-то на форумах фотки выкладывал подробные, сегодня не нашел ссылок...
    Собрал ваши ссылки на фотки в .txt, кмк - чуть удобнее.
     

    Вложения:

  9. Philippok1981

    Philippok1981 Нерд

    Выкладываю кому интересно DWG и PDF файлы чертежей корпусов станции,контроллера,ВИ и каретки.
     

    Вложения:

    Wzor, Spilberg88 и SOLOway нравится это.
  10. SOLOway

    SOLOway Гуру

    Прогреет, но ожидать придется, и настроить будет сложно, да и станция тоже сильно нагреваться будет
    Предлагаю замутить совместно. Вот начало с моей стороны: пост раз, пост два, и старенькая версия от @Dmitrysh в приложении.
     

    Вложения:

    • nano.zip
      Размер файла:
      22,7 КБ
      Просмотров:
      376
    Последнее редактирование: 11 фев 2022
  11. MasterDums

    MasterDums Нерд

    Работает в Proteus 8.9
    Упс! Удалил один лишний ZCC. Но у меня силовая на МОСФЕТАХ.
     

    Вложения:

    Последнее редактирование модератором: 11 фев 2022
    SOLOway нравится это.
  12. MasterDums

    MasterDums Нерд

    Не тот детектор из схемы удалил. Вот с которым у меня работает и схемы других
    детекторов.
     

    Вложения:

    • 2.1.2 pwm.pdsprj.zip
      Размер файла:
      80,2 КБ
      Просмотров:
      322
    • ZCC.zip
      Размер файла:
      19,3 КБ
      Просмотров:
      377
    SOLOway нравится это.
  13. MasterDums

    MasterDums Нерд

    Это первое что я читал. Схема управлением мосфетом почти аналогична драйверу TLP251 и у меня низ сделан из трех ключей (3 секции по 3 лампы 1500 последовательно) то есть на каждую секцию свой ключ. Транзисторы STW26NM60N при такой нагрузки еле теплые. Да на HCPL3120 может и понадежнее но за три месяца работы на станции пока все норм.
    Да, по ключу на секцию и по деньгам приемлемо.
     
    Последнее редактирование модератором: 11 фев 2022
    SOLOway нравится это.
  14. Watashi

    Watashi Гуру

    можно ))
    вам поможет этот код
    Код (C++):
    void i2c_eeprom_write_byte( int deviceaddress, unsigned int eeaddress, byte data ) {
        int rdata = data;
        Wire.beginTransmission(deviceaddress);
        Wire.write((int)(eeaddress >> 8)); // MSB
        Wire.write((int)(eeaddress & 0xFF)); // LSB
        Wire.write(rdata);
        Wire.endTransmission();
      }
    // ------------------------------
    byte i2c_eeprom_read_byte( int deviceaddress, unsigned int eeaddress ) {
        byte rdata = 0xFF;
        Wire.beginTransmission(deviceaddress);
        Wire.write((int)(eeaddress >> 8)); // MSB
        Wire.write((int)(eeaddress & 0xFF)); // LSB
        Wire.endTransmission();
        Wire.requestFrom(deviceaddress,1);
        if (Wire.available()) rdata = Wire.read();
        return rdata;
      }
     
    где deviceaddress это адрес вашей памяти на шине I2C
    Я думаю что потенциально есть как минимум еще три варианта:
    на ESP 8266 или ESP32 с веб-интерфейсом
    на STM32
    на смартфоне под андроид
     
    Последнее редактирование модератором: 11 фев 2022
    grek_fix и SOLOway нравится это.
  15. Wigga

    Wigga Нерд

    к сожалению я полный ноль в программировании , и по этому я обратился сюда , с просьбой переделать, так как сам не понимаю что делать вообще:( вот что у меня изначально получилось
     

    Вложения:

    • due.jpg
      due.jpg
      Размер файла:
      1,6 МБ
      Просмотров:
      733
    Последнее редактирование модератором: 28 авг 2021
  16. SOLOway

    SOLOway Гуру

    ... тем временем сам я кручу-верчу свои любимые ветки для Mega328p. На основе проектов для Proteus, размещенных здесь @MasterDums , собираю свой под LCD2004. И пока не готово это всё дело, предлагаю протестировать обновлённый релиз v1.3.3. Прелесть его в том, что наконец 1.3.3-1.3.4-1.3.5 воссоединились, собрав в себе почти все самые последние фишки и обновления взрослых версий, конечно же в рамках возможностей выбранного мною микроконтроллера. Шапка скетча максимально нашпигована инфой об этом релизе, но и здесь выложу под спойлером.
    v1.3.4_Dmitrysh _____14 профилей по 4 шага в каждом.
    Номер профиля отображается на дисплее в 16-ричном формате!
    v1.3.3 в редакции @SOLOway от 10-12-2020 с выбором версии ПИД для
    "тугих"/"шустрых" НИ в реализации @geleos27 и @Dmitrysh.
    Тестирование проводится на платах arduino NANO и ProMINI, на которых есть pins A6 & A7 !!!
    Задание уставки НИ от 80°C до 330°C.
    Максимальное число шагов профиля ограничено 4.
    Профили теперь сохраняются в виде структуры, по предложению Watashi.
    Добавлено обнуление integra, integra2, p1, p2, d1, d2.
    Исправлена невозможность завершения профиля при задании длительности любого шага равной 0 сек.
    Появилась возможность инициализации "тестового примерного" профиля в режиме IDLE,
    при нажатии CANCEL 5+ секунд, при этом текущий профиль перезапишется значениями из "тестового примерного".
    Появилась возможность задавать в меню минимальное и максимальное
    значение мощности ВИ в процентах для каждого шага профиля.
    Поправлено отображение надписи "RUN!" - в статусе ПРЕДНАГРЕВ НИ не отображалась.
    Добавлена проверка на корректность ввода температуры по шагам,- последующая
    температура не должна быть меньше предыдущей.
    Во второй строке при задании мощности ВИ по шагам выводится номер шага.
    В режиме IDLE можно включать/отключать охладители платы нажатием кнопки ВПРАВО,
    теперь охладитель не стартует автоматом по окончании профиля.
    Перед компиляцией:
    а). Есть выбор варианта ПИД для НИ (для инерционных/для быстрых)-
    (по умолчанию - логика ПИД НИ - по примеру geleos27 для очень инерционных
    излучателей на НИ, обсуждение на стр.209-210. Появились дополнительные переменные
    и коэффициенты, которые тоже нужно подбирать. Смотрите строки:
    (byte kf2 = 60; //Значение множителя К для Сопротивления изменению t° (f = friction))
    (static const byte buff_depth = 8; //глубина буфера 4 = 1сек., 8 = 2сек. MAX 250, увеличение кушает память).
    Логика ПИД ВИ (и для "быстрых" НИ) заменена на предложенную @Dmitrysh в посте #3009:
    "работать не по конечному значению ошибки, а по измерению температуры.").
    Если НИ на линейных галогеновых лампах - закомментировать строку #define LongBottomPid 1.
    При настройке ПИД смотрите ВНИМАТЕЛЬНО на величину делителей,
    проставленных в функциях ПИД НИ и ВИ для составляющих P.I.D.
    б). Есть выбор между обычными одиночными (5 штук) кнопками и
    аналоговой резистивной клавиатурой с 5-ю кнопками, аналоговая - на А7.
    Если кнопки одиночные - закомментировать строку #define resist_keyboard 1
    в). Есть выбор работы с прерыванием от схемы ZCC, или с прерыванием по таймеру.
    При работе с прерыванием от схемы контроля перехода напряжения сети через ноль (ZCC),
    параметры для attachInterrupt нужно задать под свою версию схемы (FALLING или RISING)в
    конце блока void setup(), а также указать пин подключения схемы 2, или 3
    (строки #define SetInterrupt перед секцией ПИД).
    г). Появилась функция преднагрева НИ при старте пайки до 50°С с мощностью 25% по
    датчику НИ на плате,- эти значения меняются только в теле скетча перед компиляцией:
    Температуру преднагрева задаем в строке (if (tc2 >= 50) //Преднагрев до 50°С по датчику НИ),
    Мощность преднагрева задаем в строке (Output2 = 25; //Мощность НИ на этапе ПРЕДНАГРЕВ).
    В планах есть организация преднагрева для ВИ, эта версия пишется с учетом пожеланий владельцев
    керамических излучателей для НИ и для ВИ.
    д). По умолчанию на монитор компьютера/ноутбука выводятся графики температура/время
    (а в процессе настройки станции также и графики влияния состовляющих PID НИ)
    в программу SerialPortPlotter, модифицированную @geleos27:
    https://drive.google.com/drive/folders/1MJODRkzjEhu9_pDdhrgusmGDYtArU51c
    Если нравится программа irsp© от @Dmitrysh (в ней старт графиков синхронизирован со стартом пайки),
    а не SerialPortPlotter - закомментировать строку #define SerialPortPlotter 1
    Традиционно выражаю благодарность @Dmitrysh , @Watashi , @geleos27 за поддержку проектов, за помощь и подсказки. Также традиционно напоминаю гостям и участникам - без ваших замечаний я могу никогда не узнать о выявленных вами недочётах, ошибках и некорректно работающих участках кода :)
    UPD.: Обнаружил и исправил 2 ошибочки. Перезалил архив. а) Раньше аналоговая клавиатура была на А0, теперь на А7, а в сетапе забыл поменять на А7:
    Код (C++):
    #ifdef resist_keyboard
      pinMode(A7, INPUT);
    #endif
    б) В основном использую аналоговую клавиатуру, и в блоке кода управляющего охладителем плат с помощью кнопки ВПРАВО не добавил для одиночной кнопки:
    Код (C++):
    //---управляем охладителем платы кнопкой ВПРАВО
          butt = !digitalReadA(rightSwitchPin);
          butt = !digitalRead(rightSwitchPin);
          if (butt == 0 && butt_flag == true && ( millis() - ms_button) > 200)
          {
     

    Вложения:

    • 101220.zip
      Размер файла:
      15,9 КБ
      Просмотров:
      311
    Последнее редактирование: 11 фев 2022
    dth, grek_fix и Sema нравится это.
  17. SOLOway

    SOLOway Гуру

    Если такой, как в видео (под видео есть ссылка на него на али), то, на дату написания этого поста, увы и ах. Позже @Watashi переписал библиотеку и вопрос положительно разрешился!

     
    Последнее редактирование: 18 фев 2023
    grek_fix нравится это.
  18. LessNICCKoff

    LessNICCKoff Гик

    Привет.

    Добавил изменения в версию 1602 присвоил ей имя: Rework_v3_pwm

    Изменения:
    //Циклическая прокрутка в меню
    //Выведены настройки профилей и ПИД в разные пункты настроек
    //Удержание кнопки вверх 2с. настойки термопрофиля
    //Удержание кнопки вниз 2с. настройки ПИД
    //Старт по верхней термопаре
    //Первая уставка ВИ температура старта ВИ
    //первое значения ramp в профиле скорость нагрева НИ
    //Первое значение температуры ВИ это уставка старта ВИ
    //cancel включение-выключение охлаждения в простое
    //мягкий старт, убрана вспышка при включении нагревателей


    Вопрос: необходимость добавлять температуру в конце профиля? Скажем чип ещё не поплыл а профиль подходит к концу и подкинуть ещё 5 градусов спасло бы ситуацию.
    По поводу китайской керамике. У всех пятно максимального нагрева смещено от центра. Единственный выход это делать паузы длиннее для прогрева керамического ВИ. Несколько раз чип реально криво садился. Перешел на галогеновые лампы 150 ватт 4 штуки.

    Косяк нашелся в скетче перезалил.
     

    Вложения:

    Последнее редактирование модератором: 11 фев 2022
  19. SOLOway

    SOLOway Гуру

    Эту ошибку вы совершили, потому что не прочитали пост #69
    Хотя... Если вы НЕ планируете работать с чипами видеокарт, просто с большими чипами, с длинными разъемами, а отдадите этот заработок конкурентам, то почему-бы и нет :) Вкратце - одинаковой температуры термопятно как в его центре, так и по краям, при таких размерах, будет только если очень низко размещать излучатель над чипом. Т.к. в центре под чипом всегда будет горячее, чем по краям, а вы еще и сверху то же самое организуете, качество пайки может быть хреновым, а чип может и испустить дух.
    Даже википедия с вами не согласна! Будь они такими, как вы о них думаете, промышленно не выпускали-бы, не появился-бы пост #4729 , и этот тоже. Возможно, пригодится вам пост #4229 .
    И ещё важнейшая информация по кварцу и стеклокерамике собрана в посте #3864 .
     
    Последнее редактирование: 13 дек 2020
  20. grek_fix

    grek_fix Нерд

    Тут смотря для каких целей. Я не первый год вынашиваю наполеоновские планы, в них лежат два сменных нагревателя: 60*60 для небольших плат (мобильные телефоны, приставки всякие) и 120*120 для плат размером побольше (буки, матери от стационаров), разъемов и т.д.
    Планирую 4 термопары для лучшего контроля происходящего:
    1. В нижнем нагревателе
    2. В верхнем нагревателе
    3. Под платой
    4. Рядом с выпаиваемым элементом
    И спасибо за наставление:)
    Кстати ,если кому интересно приложу пару фотографий нагревателя.
    Да уж, не могу не согласиться, информации вагон и маленькая тележка, глаза разбегаются. А с телефона вообще тяжело понять, что и где находится. Даже сам пишу это сообщение и оно мне уже кажется флудом. Для меня было бы удобно, если бы было 2 темы, одна для проектов, вторая для их обсуждения.
    По делу. Секретов никаких быть не может в кругу энтузиастов априори. Влияния никакого на существующий скетч естественно не будет. Пока что доп сенсоры будут носить информативный характер. Для коррекции нужно перечитать великое множество литературы, на кое время ограничено. Может на пенсии время появится:)
    Я с одним tft разбирался только дня три. А сегодня ЭВРИКА! UTFT работает с контроллерами ili9327 и ili9488 только в 16 битах, а дисплеи с распиновкой в 8бит. Соответственно скетч от @Watashi под данные дисплеи не прокатит, ибо как раз используется библиотека UTFT. Спасибо вам за намёк и даташитам за подробности. Придётся отказаться от сенсора временно и пользоваться либо джойстиком, либо кнопками.
    Как соберу станцию, постараюсь собрать все воедино (от железа до системы управления). Дабы пригодилось новичкам в этом нелёгком деле.
    IKN_204_500W_UP_1.jpg IKN_204_500W_BOTTOM_1.jpg
     
    Последнее редактирование модератором: 11 фев 2022