Ик паяльная станция на arduino. общие вопросы.

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

  1. Yojiq

    Yojiq Гик

    Последнее редактирование модератором: 22 дек 2022
    -=Z=-, revolover, Vinyla и 2 другим нравится это.
  2. Vinyla

    Vinyla Нуб

    Zdravstvujte, vsiotaki kakuju Vy shemu ispolzujete dlia opredelenija nulia v seti 220V? Sposibo za otvet (izvinite za latinskije)
    Здравствуйте, всё таки какую Вы схему используете для определения нуля в сети 220В?
     
    Последнее редактирование модератором: 12 окт 2021
  3. Krupikus

    Krupikus Нерд

    Я тут видео по вашим материалам сделал, схему полную нарисовал, да и как настраивал тоже снял. Думаю может быть полезным для новичков. Скетч добавил свой переделанный не сочтите за наглость :)

     
    Последнее редактирование модератором: 9 ноя 2021
    Ezhoff, SOLOway, Vinyla и ещё 1-му нравится это.
  4. Ezhoff

    Ezhoff Нуб

    В первой части, на схеме подключения всех частей, указано не верное подключение детектора нуля, он должен подключаться к PIN2, а не к PIN1, на котором висит SERIAL выход. Еще без детектора нуля, реле вообще не включаются. Сам долго разбирался, но сейчас все заработало.
     
    Последнее редактирование модератором: 28 авг 2021
  5. SOLOway

    SOLOway Гуру

    В этой теме обсуждаем общие вопросы по постройке и наладке инфракрасных (IR) и гибридных (IR + Hot Air) паяльных станций, физические и химические процессы при бесконтактной пайке. А также приветствуются вопросы и предложения по конструкции узлов и корпусных частей станций.
    Здесь не возбраняются вопросы новичков в освоении начального уровня работы с платформой arduino, которая выбрана основой для контроллеров, управляющих станциями, если эти вопросы возникают в процессе изготовления и настройки обсуждаемых здесь устройств.
    Основная тема, чрезвычайно насыщенная информацией, находится вот тут.
    Продолжение основной темы - вот тут.
    В теме-продолжении посты без полезного содержания будут удаляться. Важные посты и информация из этой темы будут продублированы во второй части основной темы.
    Для тех, кто интересуется темой бесконтактной пайки вообще, предлагаю посмотреть на несложное, достаточно функциональное приспособление, активно используемое мною (ВНИМАНИЕ! Сайт и форум по представленной далее ссылке сделан на http:// , перед посещением настоятельно рекомендую установить в используемый вами браузер дополнение/расширение - блокировщик рекламы, во избежание нежелательных редиректов и прочей "шевелёнки".) http://radioservice.at.ua/forum/3-41-4540-16-1595881041
     
    Последнее редактирование: 9 ноя 2021
  6. SOLOway

    SOLOway Гуру

  7. SOLOway

    SOLOway Гуру

    Всё-таки по проекту mvm_ksaa немного заметок сделаю. Файлы проекта можно скачать и у меня.
    В ПО есть возможность подключить USB-микроскоп, или web-камеру, а также управлять блоком вентиляторов охлаждения платы после пайки. Здесь в архиве под постом версия основного скетча от skayp606 с введенным им ZCC и его версии плат печатных, но уточню - mvm_ksaa использовал самодельные аналоги твердотельных реле со встроенным в оптотриак ZCC.
    По-поводу протокола общения скетча с ПО процитирую автора:
    Может, кто подскажет, как перевести скетч mvm_ksaa на работу с MAX6675, сохранив работу скетча с его программой для ПК?
     

    Вложения:

    • MyWorkStation.ino
      Размер файла:
      3,5 КБ
      Просмотров:
      403
    • FanForStation.ino
      Размер файла:
      364 байт
      Просмотров:
      364
    • TROLOLO.zip
      Размер файла:
      44,9 КБ
      Просмотров:
      415
    Последнее редактирование: 3 окт 2020
  8. SOLOway

    SOLOway Гуру

    Попалась на глаза ещё одна версия библиотеки для энкодеров. Скачать можно на GitHub.
    Проекты корпусов станций, найденные в интернете:
    в Autodesk Fusion 360. (см. архив);
    в картинках симпатичное решение;
    в формате SolidWorks.
    P.S.: Участник нашей темы из Великобритании @atagunov ссылается на наши материалы в англоязычном форуме. Люди проявляют заинтересованность, однако самый главный барьер, отталкивающий желающих присоединиться к проектам в наших темах - русский язык на дисплеях и при комментировании кода. Предлагайте решения, давайте вместе пытаться сделать проекты интернациональными!
     

    Вложения:

    Последнее редактирование: 9 окт 2020
  9. SOLOway

    SOLOway Гуру

    Т.к. не всегда под рукой есть компоненты, модули и платы arduino, необходимые для тестирования скетчей, обратил взор на симуляторы, в частности на Proteus 8. Библиотеки arduino, а также проект для симуляции LCD 2004 i2c, которые мне попались на просторах интернета, прилагаю к этому посту. Читал, что есть проблемы с симуляцией MAX6675, пока не проверял. Поддержите, кому интересно - это расширит аудиторию темы и поднимет популярность обсуждаемых проектов. Также приложил файл со ссылками на зарубежные радиолюбительские форумы, кто знает другие - прошу дополнять.
     

    Вложения:

  10. SOLOway

    SOLOway Гуру

    Последнее редактирование: 12 окт 2021
  11. chirokiy77

    chirokiy77 Нерд

    Кто нибудь пробовал подключать к порту ардуино два в параллель твердотельных реле?
     
    SOLOway нравится это.
  12. SOLOway

    SOLOway Гуру

    Правильный вопрос! Я подключал. Мои экземпляры SSR-40DA не перенагружают порт. Руководствовался даташитом на Fotek, а именно - вот этой страницей. У нас не 12в, а около 5в, поэтому до предельных 20мА для порта ардуинки еще есть запас. Как обычно - прежде чем слепо довериться даташиту, Самостоятельно Измерьте Ток, Потребляемый Конкретно Вашим Экземпляром Китайского SSR При Подаче На Его Вход 5в.
     
  13. SOLOway

    SOLOway Гуру

    Рискну ответить, ибо тема животрепещущая :) Нет ни у кого. Код интерфейса занимает почти весь объем кода скетча, поэтому никто не станет переписывать его, возможно, даже за вознаграждение. Я попытался переписать версию скетча из начала основной темы и через неделю чуть не забуХал. Отчасти по причине такой сложности, @geleos27 вовсе отказался от использования дисплея в своём проекте.
    Как передовая (но это не точно!!!) версия, на текущий момент, может рассматриваться тема взаимодействия контроллера станции с мобильным устройством на android (смартфон, планшет), которой хотел заняться @JagerLipton #4926
    Есть наработки в этом направлении и у @Watashi. Возможно, найдутся участники, способные заинтересовать @JagerLipton и @Watashi рассказать о ходе их экспериментов во второй части основной темы, или здесь.
    Однако, надежда ещё не может считаться умершей! В посте о Proteus я привел список найденных мною зарубежных радиолюбительских форумов. Если есть желающие поддержать мой призыв из вот этого поста к интернационализации проектов основной темы - дерзайте! Участники из Молдовы, Великобритании, Турции и некоторых иных стран, уже есть в основной теме, есть попытки перевода скетчей на английский язык.
     
    Последнее редактирование: 12 окт 2021
  14. SOLOway

    SOLOway Гуру

    У @Watashi вся актуальная информация о его версии находится в его подписи.
    Все ветки темы представлены в посте #2454
    Шапка основной темы с важной информацией в посте #1. Наработки по своему проекту @geleos27 разместил на GitHub, в его подписи и во второй части основной темы здесь.
    Версии с крайними правками, допиливаемые в основной теме @Dmitrysh , лежат в постах #4319 и #4716
    Обновлённая программа для ПК, с которой работают версии @Dmitrysh , в посте #4015
     
    Последнее редактирование: 12 окт 2021
  15. SOLOway

    SOLOway Гуру

    Это форки одной и той же версии v.4_EX. Основной релиз её в посте #3662
    Дальнейшие действия с этим релизом производились по просьбам конкретных участников. Так, в #4319
    стало возможным создавать 15 профилей и выводить их названия, а также добавилась возможность прибавлять во время пайки температуру нижних излучателей.
    В #4716 Профилей 5, как в #3662 Однако, появилась возможность предварительного разогрева нижних излучателей заданной мощностью до заданной температуры (по датчику на краю платы). Этот разогрев производится ДО старта профиля, но ПОСЛЕ нажатия кнопки старта пайки. Из особенностей - параметры разогрева не задаются через основное меню, а жестко заданы в скетче (можно изменять до заливки скетча в плату). Эта функция помогает владельцам станций, в которых нижние излучатели, например, керамические, обладающие высокой инерцией, а также излучатели, плотность мощности на единицу площади излучения которых не дотягивает до рекомендованных 4,0-2,5Вт/см.кв.
    Напомню, что обкатана версия v.4_EX на станциях, нижний излучатель которых собран на линейных галогенных лампах 1500w/230v, включенных в 3, или в 4 группы, по 3 штуки последовательно. И верхний излучатель должен иметь как можно меньшую инерционность. Для защиты электрической сети, силовой схемы станции и ламп от ударных токов, в v.4_EX введен для нижних излучателей преднагрев в течении 5 секунд на 3% мощности, в результате холодные спирали ламп увеличивают при повышении температуры своё сопротивление и соответственно снижается величина действующих токов. Тем не менее, запрета на использование иных типов излучателей, отвечающих требованиям 4,0-2,5Вт/см.кв нет, нужно будет иметь ввиду, что, возможно, понадобится изменить делители в функциях ПИД в скетче (они не задаются через основное меню).
    Кроме того, программa irsp© @Dmitrysh позволяет задавать параметры контроллеру с клавиатуры ПК, оставляя при этом возможность автономного управления станцией, без подключения к компьютеру.
     
  16. k008

    k008 Нерд

    Ещё вопрос, может подскажете. Компилируя код @Dmitrysh, выскакивают ошибки/предупреждения. При чём ошибки на вид достаточно мелкие:
    Код (C++):

    sketch_TFT-320x480_dimer_PC_revolver_Dmitrysh_v4_EX.ino:451:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
      myGLCD.textRus("`",155, 115);
     
    Такую ошибку рекомендуют исправлять так:
    Код (C++):
    myGLCD.textRus(String("`"),155, 115);
    Но пока не понял почему в таком варианте не печатается последний символ

    То же самое касается и
    Код (C++):
    sketch_TFT-320x480_dimer_PC_revolver_Dmitrysh_v4_EX.ino:546:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
               myGLCD.print("ERORR",360, 140);
     
    Такие ошибки:
    Код (C++):
    libraries\UTFT\DefaultFonts.c:375:151: note: (near initialization for 'BigFontRus')
    libraries\UTFT\DefaultFonts.c:375:156: warning: excess elements in array initializer
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x7F,0xFF, //   //135

    libraries\UTFT\DefaultFonts.c:375:156: note: (near initialization for 'BigFontRus')
    libraries\UTFT\UTFT.cpp:91:33: warning: 'character_rus' initialized and declared 'extern'
    extern uint8_t character_rus[104] =
                                     ^
    libraries\UTFT\UTFT.cpp:104:1: error: too many initializers for 'uint8_t [104] {aka unsigned char [104]}'
    };
    ^
    libraries\UTFT\UTFT.cpp:106:33: warning: 'code_byte_lcd' initialized and declared 'extern'
    extern uint8_t code_byte_lcd[104] =
     
     
  17. k008

    k008 Нерд

    Итого, UTFT чинится так (возможно и не совсем правильное решение с типом переменных):
    1. В строке 1047 файла UTFT.cpp, меняем тип переменной в первом параметре, с byte на uint8_t
    было
    Код (C++):
    void UTFT::tftChar(byte c, int x, int y);
     
    стало
    Код (C++):
    void UTFT::tftChar(uint8_t c, int x, int y);
     
    2. В строке 271 файла UTFT.h, меняем тип переменной в первом параметре, с byte на uint8_t
    было
    Код (C++):
    void tftChar(byte c, int x, int y);
     
    стало
    Код (C++):
    void tftChar(uint8_t c, int x, int y);
     
    При этом проблем с компиляцией не было, когда тип переменной был char.

    3. По всему скетчу добавляем String к первому параметру
    Код (C++):
    myGLCD.textRus("`",155, 115);
    myGLCD.print("ERORR",360, 140);
    Код (C++):
    myGLCD.textRus(String("`"),155, 115);
    myGLCD.print(String("ERORR"),360, 140);
    В таком варианте, компилируется с 1 предупреждением и без ошибок:
    Код (C++):
    warning: enumeration value 'REFLOW_STATE_ERROR' not handled in switch
     
  18. SOLOway

    SOLOway Гуру

    А если так попробовать (без правок библиотеки)? На плате не проверял - надо собирать ...

    Код (C++):
        //Настройка экрана Рабочий режим
          if (updateScreen) {
            myGLCD.clrScr();
            myGLCD.setFont(BigFontRus);
            myGLCD.setColor(VGA_SILVER);
            //myGLCD.textRus("`",155, 115);
                     myGLCD.textRus((char *)"`",155, 115);
            //myGLCD.textRus("`/с",175, 133);
                     myGLCD.textRus((char *)"`/с",175, 133);
            //myGLCD.textRus("`/с",175, 245);
                     myGLCD.textRus((char *)"`/с",175, 245);
            //myGLCD.textRus("`",155, 227);
                     myGLCD.textRus((char *)"`",155, 227);
         
            //myGLCD.textRus("`",450, 123);
                     myGLCD.textRus((char *)"`",450, 123);
            //myGLCD.textRus("`",450, 235);
                     myGLCD.textRus((char *)"`",450, 235);
     
  19. k008

    k008 Нерд

    Проверю, но в интернете многие жалуются на кривую UTFT.

    Опять же, char - 1 символ ('q'), а вот "q" - это уже string (который объявляется не явно, при использовании char)

    Код (C++):
    void UTFT::textRus(char *st, int x, int y) //char *str = "Мощность";
    void UTFT::textRus(String st, int x, int y)  //st => "Привет мир!"
    void UTFT::textRus(char ch[], int length, int x, int y) //char temperatura[]={'Т','о','к',',','А'};
     
    То есть в библиотеке уже как бы есть различие буквы и строки. Вот мы в явном виде и говорим, что у нас именно строка
     
  20. SOLOway

    SOLOway Гуру

    Я, кстати, на IDE 1.6.3 таких предупреждений не вижу, они появились при компиляции в более свежих IDE. Наверное, саму IDE "подтянули" под текущие стандарты C++.
    3662_IDE 1.6.3.jpg