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

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

  1. revolover

    revolover Гик

    Приветствую Вас!
    Узнали?)))
    Давненько я не заглядывал... большие перемены в жизни и деятельности.
    Как вы ребятки, достигли за это время желаемого? Свою станцию не отдал, не продал никому Стоит))). Даже пачка ноутов лежит под перепайку года 2... Что-то манит меня к этому делу, душевно как-то. Да времени нет(( Теперь я так называемый лазерщик. Проще, прибыльнее, и мое второе увлечение - дерево.
    Сейчас небольшая история... чудо ли...
    Купил однажды ноут, 17" асер с матовым экраном , второе поколение "I" за копейки. Прогрев показал видюху. Кинул на шкаф, как обычно. Но в один день решил, что прекрасный ДЕЛ, который у меня стоит в кухне, сильно бликует и напрягает глаза. Достал со шкафа этот асер, поставил вместо "дела", чисто посмотреть, как оно, лучше ли будет. Думал, хоть денек после прогрева поработает. И вот проходит больше года на прогретом чипе, дел продан давно. Артефакты и не стартует... На него уже давно лежит чип.
    Вернусь чуть назад. Паялку оставил на тот момент, чтоб впаять купленный чип на этот ноут.
    И вот он момент, можно паять, но малые кричат мультики давай (а пацанов у меня уже трое!) Паялки нет рядом - грею... и вот уже больше года наверно работает. Паялка ждет своего часа.
    А я думаю, может что-то свыше мне не дает избавиться от ПС... Стоит, накрыта тряпочкой, готовая служить верой и правдой.
    Да, пишу с того ноута, у которого прогрев на уровне ремонта....
    ПЫ.СЫ.:Знаю. обещал продолжить дело. но не пинайте, такие перемены в жизни произошли, что у нас у смертных такие, думал, только в кино показывают, и меня такое не затронет. Но УВЫ(
     
    Последнее редактирование модератором: 12 фев 2022
    SOLOway нравится это.
  2. tik-tak

    tik-tak Нерд

    Раскомментирoвал Serial, залил скетч @Watashi Svs_V09.
    Клавиатуру на А5 не видит.Питание Клавиатура получает от отдельного блока питания.
    09:22:09.989 -> не прочитались часы
    09:22:10.024 -> не прочитались часы
    09:22:10.057 -> не прочитались часы
    09:22:10.091 -> не прочитались часы
    09:22:10.125 -> не прочитались часы
    09:22:10.194 -> не прочитались часы
    09:22:10.228 -> не прочитались часы
    09:22:10.262 -> не прочитались часы
    09:22:10.297 -> не прочитались часы
    В общем, получилось запустить аналоговую 5-кнопочную Клавиатуру, когда Arduino Mega2560 соединена с Компом посредством УСБ Кабеля - тогда все 5 Клавиш работают.
    Но когда Arduino Mega2560 получает напряжение от внешнего Блока Питания 12В - тогда работает только 1 Клавиша направо. Подсоединяю снова через УСБ кабел опять все 5 Клавиш работают. Это Проблемы с Напряжением. Ура) Работает Клава) 3 дня потратил и одну Eeprom 24С02 спалил) Вместо 5В дал 12В.
    // ожидаемые значения для псевдо-кнопок
    #define SetRIGHT 0
    #define SetUP 145
    #define SetDOWN 329
    #define SetLEFT 505
    #define SetSELECT 750
    Куда мне этот код ввести? КЛавиатура работает не стабильно(
    bytekey(){
    intval=analogRead(0);
    if(val<50)return1;
    elseif(val<150)return2;
    elseif(val<350)return5;
    elseif(val<500)return4;
    elseif(val<800)return3;
    elsereturn0;
    }
    // the setup routine runs once when you press reset:
    voidsetup(){
    // initialize serial communication at 9600 bits per second:
    Serial.begin(9600);
    }

    // the loop routine runs over and over again forever:
    voidloop(){
    // read the input on analog pin 0:
    intsensorValue=analogRead(A0);
    // print out the value you read:

    Serial.print(key());
    Serial.print(" ");
    Serial.println(sensorValue);
    delay(1); // delay in between reads for stability
    }
    // ожидаемые значения для псевдо-кнопок
    #define SetRIGHT 0
    #define SetUP 145
    #define SetDOWN 329
    #define SetLEFT 520
    #define SetSELECT 760
    Arduino mega2560 работает от 2 блоков питания 5 вольт и 12 Вольт.
    Потом запитаю от блока компа ATX. Возьму также 12 Вольт через Штекер ардуино а 5 Вольт для периферии, ну или лучше найду USB Kabel, разрежу и запитаю полностью всю байду 5 Вольт от ATX PC.
    [​IMG]
    [​IMG]
     

    Вложения:

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

    SOLOway Гуру

    Чтобы правильно использовать ATX:

    Практика показала, что достаточно мощности БП от DVD-проигрывателя, если не запитывать помпу и освещение.
     
    tik-tak нравится это.
  4. freizi

    freizi Нерд

    Не углядел наличие пластика в одном из разъемов при пайке платы, пластик предательски вытек на нагреватель и при остывании растекшаяся жижа изогнулась и вырвала часть нагревателя. Ух, кое-как собрал эту кикихту паяльником с оплеткой... собственно, вопрос знатокам - глазурь как-то возможно восстановить?
    photo_2021-03-23_02-12-31.jpg
    Ладно, просто прошелся гравером и наждачкой, теперь хоть не так заметно :)
    photo_2021-03-23_20-42-38.jpg photo_2021-03-23_20-42-00.jpg
     
    Последнее редактирование: 23 мар 2021
  5. Enso

    Enso Нерд

    Всем доброго дня. Разбирал свои завалы и наткнулся на корпус промышленной индукционной плиты. Может кому то пригодится под паялку. Фотки ниже.
    Правда она чумазая, нужно будет отмывать , а так почти готовый корпус.
     

    Вложения:

    Vladimir71 и SOLOway нравится это.
  6. Lod_To

    Lod_To Нерд

    Удалось запустить дисплей 3,95_480+320(Shield_MAR3953), на упаковке ili9488, который только на 8 bit, с проектом Watashi. http://www.lcdwiki.com/3.95inch_Arduino_Display-Mega2560. UTFT библиотека найденная в сети с инициализацией ili9327_8.
    библиотека URTouch-master c калибровкой #define CAL_X 0x00254F5AUL, #define CAL_Y 0x03DB0100UL, #define CAL_S 0x0013F1DFUL.
    На здоровье :)
     

    Вложения:

    Последнее редактирование модератором: 12 фев 2022
    Vladimir71, kostyn60 и Artemm.KA нравится это.
  7. Veles

    Veles Нуб

    такая же проблема такой же огрызок-дисплей 8 бит, как у @umter , можно ли его подключить, или его на выброс?
    как внедрить этот тач не работает тачь со скечем svs_v09 , какой скетч подходит? У вас там названия даже разные - у вас URTouch, а в скетче svs_v09 Touchscreen.
    он у меня и стоит такой URTouch myTouch( 52, 53, 51, 50, 44); // для дисплея ST7796S
    использован тач библиотеки, но как его подключить, у него UTFT взят и работает дисплей, а вот тач - нет, он писал:
    "Удалось запустить дисплей 3,95_480+320(Shield_MAR3953), на упаковке ili9488, который только на 8 bit, с проектом Watashi. http://www.lcdwiki.com/3.95inch_Arduino_Display-Mega2560. UTFT библиотека найденная в сети с инициализацией ili9327_8.
    библиотека URTouch-master c калибровкой #define CAL_X 0x00254F5AUL, #define CAL_Y 0x03DB0100UL, #define CAL_S 0x0013F1DFUL."
     

    Вложения:

    • UTouch.zip
      Размер файла:
      458,1 КБ
      Просмотров:
      262
    Последнее редактирование модератором: 12 фев 2022
  8. Veles

    Veles Нуб

    к тому что с его скетчем не работает, ошибка потому что названия разные, а у вас в скетче что такое же меню как и у svs_v09? или вы изменили скетч? и надо ваш качать? если да то дайте ссылку на скетч, вот меняю все, ставлю ваш тач и ошибка в скетче
    Arduino: 1.8.5 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
    In file included from E:\IC\ST\ik\Svs_V09\Svs_V09.ino:21:0:
    sketch\Touch.h:14:28: fatal error: TouchScreen.h: No such file or directory
    #include <TouchScreen.h>
    ^
    compilation terminated.
    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
    и что мне нужно сделать у меня же на атмеге 2560 я менял и так и сяк ошибка верху писал что нужно поменять в скече?
    Код (C++):
    // -------------------------------
    #if defined(SetTouch1) || defined(SetTouch2)   // если используется тач
      #define Set_Touch
    #endif
    // -------------------------------
    #ifdef SetTouch2
      #include <URTouch.h>
      // URTouch      myTouch(48, 50, 51, 46, 2);    // это мой дисплей для дуе
      URTouch      myTouch( 52, 53, 51, 50, 44);  // для дисплея ST7796S
        int xpok, ypok;         //screen coordinates
    #endif
    // -------------------------------
    #ifdef SetTouch1                  // Тач аналоговый
      #include <TouchScreen.h>
      uint8_t YP = A0;   // must be an analog pin, use "An" notation!
      uint8_t XM = A1;   // must be an analog pin, use "An" notation!
      uint8_t YM = A2;   // can be a digital pin
      uint8_t XP = A3;   // can be a digital pin
      uint8_t SwapXY = 0;
      #define MINPRESSURE 20
      #define MAXPRESSURE 1000
      #define SWAP(a, b) {uint16_t tmp = a; a = b; b = tmp;}

      TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
      TSPoint tp;

      uint16_t TS_LEFT = 900;
      uint16_t TS_RT  = 125;
      uint16_t TS_TOP = 940;
      uint16_t TS_BOT = 95;
      int xpok, ypok;         //screen coordinates
      uint8_t Orientation = 3;     //PORTRAIT

    void SetPinTouch1() {
      pinMode(XM, OUTPUT);
      pinMode(YP, OUTPUT);
      pinMode(XP, OUTPUT);
      pinMode(YM, OUTPUT);
    }
    #endif
    взял я вашу библиотеку и тачь менял все что можно ошибка как только ставлю ваш тач библиотеку URTouch ту убрал вашу поставил
    и понятно же будет ошибка
    ура!!! спасибо друг!! ты бог)) яб сам не догадался. Все заработало, спасибо всем !!!
     
    Последнее редактирование модератором: 12 фев 2022
  9. SOLOway

    SOLOway Гуру

    @Veles , приветствую!
    Простите, но ваша манера оформлять сообщения выдаёт в вас неуравновешенную, нервозную натуру, отсутствие знаков препинания заставляет думать не об ответе на ваши вопросы, а пытаться понять смысл того, о чем вы пишете. Здесь уместно подчеркнуть, что весьма недурна расхожая фраза "правильно заданный вопрос содержит в себе 50% ответа". Успокойтесь, пожалуйста!
    Итак:
    1.) Оформите подпись (можно ориентироваться на мою и @LessNICCKoff ).
    2.) Изложите подробно условия в которых произошла ситуация, по поводу которой вы хотите задать вопрос. Сюда включите в т.ч. взаиморасположение излучателей, платы и датчиков. Если имеется возможность приложить фото/видео/графические материалы по проблеме (и не по проблеме - для общего представления о конструктиве при ответах вам) - обязательно сделайте это. Если не получается прикрепить к сообщению, или к нескольким подряд сообщениям из-за ограничений форума, то разместите материалы в облачном хранилище и укажите в публикуемом сообщении прямые ссылки на эти материалы.
    3.) Пройдите опросник, размещённый @geleos27 в этом посте.
    4.) Прикрепите к сообщению используемый ЛИЧНО вами скетч, если он отличается от авторского, и приложите используемые библиотеки, либо укажите на них прямые ссылки. Если вами выбран контроллер по проекту уважаемого @Watashi , обязательно укажите особенности ваших дисплея и тачскрина!
    5.) Перед публикацией сообщения, проверьте орфографию и пунктуацию.
    6.) Если вы не являетесь носителем русского языка, пожалуйста, приложите к публикуемому вами сообщению, переведённому с помощью онлайн-переводчика, текст сообщения на вашем родном языке, или на иностранном, которым вы хорошо владеете. Из-за несовершенства онлайн-перевода часто теряется смысл, текст на вашем родном языке может сильно облегчить понимание сообщения.
    Перечисленные пункты никаким образом не заменяют и не отменяют глобальные правила форума и являются дополнительными для приведения этой темы в порядок.
    Всех благ!
     
    Последнее редактирование: 21 мар 2022
    hacjka, Beto и tik-tak нравится это.
  10. SOLOway

    SOLOway Гуру

    Правильное решение, можно и по 7-8 мм. Всё равно вы плату не на верхнюю плоскость патронов R7s будете устанавливать, а существенно выше, к тому же отражатель под лампами организуете. Как следствие, из-за переотражения и конвекции, картина по всему полю корыта с лампами заметно улучшится. Недавно разговаривал с человеком, который в своё время делал нижники на заказ, внешне напоминающие Магистровские, только с галогенками. Он рассказал, что использовал 2 группы по 4 лампы последовательно и покупной контроллер MYPIN с покупным же SSD DA И ни один нижник к нему за эти годы не вернулся в ремонт.
     
    Последнее редактирование: 12 фев 2022
  11. ShVV

    ShVV Гик

    У меня корыто 25x23 стоят 6x1500 и с низом никаких проблем, а вот верхний ик керамика меня не устраивала поменял на QP1/3 и стало все идеально. Чтобы в профиль попадал вверх приходилось его слишком низко опускать, сейчас расстояние 5см от bga
    Я под него еще корпус сделал, что бы крепить удобно было и провода не торчали.
    Успехов вам!
     

    Вложения:

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

    Watashi Гуру

    Я в теме высказал желание поковыряться с таким дисплеем так сказать лично)), поскольку заочно уже пытался запустить и не получилось сразу, а человек, с кем я общался, пропал.
    Но благодаря @kostyn60 дисплей у меня появился. Пара дней работы и библиотека UTFT_Rus_281 работает и с этим дисплеем))

    Этот дисплей использует для обмена данными порт С (а не А, как обычно бывает) надо а файле
    "C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\hardware\avr\HW_AVR_defines.h"
    строки привести к такому виду
    #define USE_8BIT_ON_MEGA 1 // use 8 bit bas
    // #define USE_8BIT_ON_MEGA 0 // use 16 bit bas

    Вызов такой: UTFT myGLCD(ILI9488_8, 38, 39, 40, 41);

    Ранее в этой библиотеке не использовался механизм экономии памяти, хотя он и присутствовал. Это файл memorysaver.h, в нем надо ЗАКОММЕНТИРОВАТЬ строчки с названием дисплея, который вы будете использовать.

    Библиотеку прилагаю.
    ПЫСЫ: Ускорило работу библиотека которую нашел @Veles, Спасибо ему за это.
     

    Вложения:

    SOLOway, hacjka, kostyn60 и 2 другим нравится это.
  13. Watashi

    Watashi Гуру

    Tohid_mirrir problams.jpeg
    Tohid_HX8357B.png
    Вам надо в файле библиотеки UTFT C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\tft_drivers\HX8357B\initlcd.h
    найти строки
    LCD_Write_COM(0X0036);
    LCD_Write_DATA(0X000a); //КъЖБІОКэ
    LCD_Write_DATA(0x003B); //єбЖБІОКэ
    оставить только
    LCD_Write_COM(0X0036);
    LCD_Write_DATA(0X000a); //КъЖБІОКэ
    Нужно сначала сделать:
    C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\hardware\avr\HW_AVR_defines.h"
    строки привести к такому виду
    // #define USE_8BIT_ON_MEGA 1 // use 8 bit bas
    #define USE_8BIT_ON_MEGA 0 // use 16 bit bas
    В файле "C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\memorysaver.h"
    исправить строчки
    #define DISABLE_ILI9488 1
    // #define DISABLE_HX8357B 1 // QDTFT Module for 3.2 inch IPS 320X480
    Вызов в скетче Svs_V09 такой: UTFT myGLCD(HX8357B, 38, 39, 40, 41);
    Это сделали?
    Да, я удалил эти две строчки
    Посмотреть вложение 23215
    Watashi_o.jpg

    Нужно не удалять, а вставить
    LCD_Write_COM(0X36);
    LCD_Write_DATA(0X0С);

    пробуйте
     

    Вложения:

    • initlcd.h
      Размер файла:
      2,5 КБ
      Просмотров:
      165
    Последнее редактирование модератором: 13 фев 2022
    Tohid нравится это.
  14. ShVV

    ShVV Гик

     

    Вложения:

    • ZCC_PC817C.jpeg
      ZCC_PC817C.jpeg
      Размер файла:
      49 КБ
      Просмотров:
      403
    Последнее редактирование модератором: 12 фев 2022
    SOLOway нравится это.
  15. Lod_To

    Lod_To Нерд

    Здесь похожая проблема решена.
    http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-8#post-125749
    Еще здесь подобное.
    ARDUINO - Страница 116
    http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1464624&viewfull=1#post1464624
    и здесь
    Отображение на дисплее в зеркальном варианте | iarduino - Робототехника | ВКонтакте
    https://vk.com/topic-61717348_36187473
     
    Последнее редактирование модератором: 12 фев 2022
    Tohid и SOLOway нравится это.
  16. Watashi

    Watashi Гуру

    попробуйте еще вариант
     

    Вложения:

    • initlcd.h
      Размер файла:
      2,2 КБ
      Просмотров:
      184
    Tohid нравится это.
  17. Tohid

    Tohid Нуб

    Решено со следующим изменением
    LCD_Write_COM(0X36);
    LCD_Write_DATA(0X48);
    Tohid_HX8357B.jpeg
    Можно ли начать со следующего экрана?
    Screen Size : 2.4 inch
    Resolution : 240 x 320
    LCD Color : 65k
    LCD Driver : 9325
    Interface : 8080 8 data bit with 4 control bits
    Touchscreen : 4 Wire Resistive Touchscreen
     

    Вложения:

    Последнее редактирование модератором: 13 фев 2022
  18. Watashi

    Watashi Гуру

    Надо сделать:
    1. в файле C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\hardware\avr\HW_AVR_defines.h"
    изменить на
    #define USE_UNO_SHIELD_ON_MEGA 1
    2. выбрать имя контроллера дисплея с 8бит из списка строки с 86 по 143
    C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\UTFT.h
    3. Вызов UTFT myGLCD(<display model>,A5,A4,A3,A2);
    4. В файле "C:\Users\WatashiPC\Documents\Arduino\libraries\UTFT_Rus_281\memorysaver.h"
    // #define DISABLE_<display model> 1

    Пробуйте))
     
    Tohid нравится это.
  19. SOLOway

    SOLOway Гуру

    Просматривал код в посте #314 , и родил вопрос по участку кода, в котором case REFLOW_STATE_PRE_HEATER (ПРЕДНАГРЕВ) переходит в case REFLOW_STATE_BOTTOM_PAUSE (ПАУЗА).
    Код (C++):
    case REFLOW_STATE_PRE_HEATER:
          myGLCD.setFont(BigFontRus);
          myGLCD.setColor(VGA_RED);
          myGLCD.textRus("ПРЕДНАГРЕВ",20, 300);
          Output2 = 3;
          if (cancelSwitchState == HIGH && ( millis() - ms_button)>60)
          {
            ms_button =  millis();
            Output2=0;
            reflowState = REFLOW_STATE_COMPLETE;
          }
          if (millis() - previousMillis > 5000)
            {
             myGLCD.setFont(BigFontRus);
             myGLCD.setColor(VGA_BLACK);
             myGLCD.textRus("ПРЕДНАГРЕВ",20, 300);
             Output2 = 0;
             //bottomTemp=tc2;
             reflowState = REFLOW_STATE_STEP_RAMP;
            }
       
        break;

        case REFLOW_STATE_BOTTOM_PAUSE:
          if ((millis()-previousMillis)>120000)
          {
            previousMillis = millis();
            TopStart = true;
            myGLCD.setFont(BigFontRus);
            myGLCD.setColor(VGA_BLACK);
            myGLCD.textRus("ПАУЗА 120 СЕК",20, 300);
            reflowState = REFLOW_STATE_STEP_RAMP;
          }
     
          if (cancelSwitchState == HIGH && ( millis() - ms_button)>60)
               {
                ms_button =  millis();
                digitalWrite(P1_PIN, LOW);
                digitalWrite(P2_PIN, LOW);
                digitalWrite(P3_PIN, LOW);
                digitalWrite(P4_PIN, LOW);
                updateScreen = true;
                reflowStatus = REFLOW_STATUS_OFF;
                reflowState = REFLOW_STATE_COMPLETE;
               }
        break;

    //рампа для нижнего нагревателя
        case REFLOW_STATE_BOTTOM_STEP_RAMP:
    В приведенном участке кода ПРЕДНАГРЕВ переходит в состояние reflowState = REFLOW_STATE_STEP_RAMP, и следующий этап ПАУЗА тоже переходит в состояние reflowState = REFLOW_STATE_STEP_RAMP. А мне кажется, что ПРЕДНАГРЕВ сначала должен перейти в состояние reflowState = REFLOW_STATE_BOTTOM_PAUSE? Вопрос адресую в том числе и @hacjka , т.к. это дополнение @Dmitrysh ввёл по его просьбе.
    P.S.: Еще вопрос ко всем - кто-нибудь выносил задание типа преднагрева НИ и параметров для преднагрева НИ, а также размера паузы, перед стартом ВИ, в общее меню? Речь о версиях @Dmitrysh . Или никому не надо?
     
    Последнее редактирование: 30 апр 2021
  20. SOLOway

    SOLOway Гуру

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