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

Тема в разделе "Arduino & Shields", создана пользователем vector99, 7 дек 2016.

  1. SOLOway

    SOLOway Гик

    Утюг тоже за счет испарения не перегревается на низких мощностях? :) А духовка, когда пирожки печем? :)
    "по-мощности" (maxlabt):
     
    Последнее редактирование: 11 июл 2018 в 14:52
  2. revolover

    revolover Гик

    Если выключить утюг во время нагрева, какое-то время температура еще будет повышаться(перегрев). а в духовке почти прямой нагрев от газа в маленьких количествах тоже будет и там тоже влага в пирожках) сухие - горелые я не люблю;)
     
  3. Dmitrysh

    Dmitrysh Гик

    С утюгом вообще все очень сложно. Я снимал характеристики нагрева, там затухающий колебательный процесс, медленно переходящий в позиционное регулирование с гистерезисом. Вылеты на первых итерациях значительные. Об этом знают любители качественной ЛУТ.
     
  4. SOLOway

    SOLOway Гик

    Ну, я пользую REX-C100 (самый дешманский - за 366руб. - урезаный, да еще и с "левой" нестандартной прошивкой) через SSR подключенный к толстой подошве советского 1кВт утюга. Термопара освобождена от гильзы (случайно сломал) и прижата к подошве почти в середине со стороны ТЭНа. Автонастройку сделал и по достижении уставки вылет +5*С, на 20сек, затем стабилизируется на уставке. Это я еще "ручками" не подстраивал ПИД.
     
  5. Dmitrysh

    Dmitrysh Гик

    А вы посмотрите отдельным измерителем температуры, что там удерживает с100. По моему опыту китайские регуляторы мухлюют. Допустим на моей паяльной станции Luckey я выставляю температуру фена 330 градусов. Она красиво по индикатору греется и стабилизируется на 330. Затем я меряю нашей станцией, что-же там оно стабилизирует. Так вот, при достижении уставки наблюдается значительный перелёт а потом колебания возле точки уставки +/- 20-30 градусов. При этом на индикаторе ровно 330 градусов. Это вызывает сомнение, а стабилизирует ли китайский регулятор или просто показывает нам то что мы хотим видеть.
     
  6. SOLOway

    SOLOway Гик

    Я попробую снять видео с контролем двумя внешними термометрами - самому стало интересно :).
     
  7. Yojiq

    Yojiq Нерд

    если говорить о 702 модели то там множество прошивок и у некоторых вылет больше 30 градусов при первом переходе точки стабилизации
     
  8. revolover

    revolover Гик

    Ага... Так я и успокоился(
    [​IMG]
    Скоро с этой приблудой буду как пилот в самолете.... "...чип не вижу - иду по приборам"(с)
     
    Последнее редактирование: 11 июл 2018 в 19:22
    SOLOway нравится это.
  9. revolover

    revolover Гик

    Получилось от глюков избавиться?
     
  10. and-payalnik

    and-payalnik Нерд

    глюк графики остался.
    самоотключение профиля проверю позже. надеюсь поможет
     
  11. revolover

    revolover Гик

    а переменные сменили на byte?
    И фотку глюка в студию, если можно
     
  12. revolover

    revolover Гик

    Сегодня скопилась кучка вопросов к публике:
    -В ардуинке есть прерывания по таймеру(думаю есть, но весь гугл израсходовал на другие вопросы)?
    -Второй. Одного меня раздражает меню настроек внешне и относительно громадного кода?
    -Третий вытекает из второго. Может его переписать?
    Далее. в eeprom можно успешно грузить struct ! В struct можно сохранять весь профиль, причем писать не только byte, а хоть массивы сивмволов, а возможно и строки и double и float, а из созданного типа можно создать массив и хранить профилей сколько влезет в eeprom. Не нужно будет добавлять кучу кода для добавления профиля, просто добавить из меню...
    Само меню организовать хоть вертикальным списком, с возможностью движения в обратном направлении(кнопки up и down).
    справа от списка - значение пункта, которое можно редактировать кнопками < > просто располагаясь на нужном пункте. сохранение - OK или просто сммещение на другой пункт.
    да, нужно организовать и подменю, профили из такого и будут отстраиваться.
    -Вот и назрел вопрос четвертый. Есть ли среди нас тот, который это способен воплотить?

    Почему это так важно?
    -Можно реально использовать устройство самостоятельно и хранить в нем всё нажитое, хоть -под каждый размер платы.
    -Проще редактировать профили.
    -Добавление дополнительных настроек с развитием проекта.
    - Чуть не забыл главное! Нормальный код! Избавление от глюков...
     
    Последнее редактирование: 11 июл 2018 в 23:39
  13. Dmitrysh

    Dmitrysh Гик

    А в mega2560 есть? Как вы думаете? Правильно, есть, значит и в ардуино тож имеется. Есть 2 8-битных, 4 16-битных и один реального времени с отдельным резонатором. Так говорит даташит. Таймер0 используется для отсчета millis, остальные значит в полном вашем распоряжении. Я использую таймер1 для реализации низкочастотного шим(фазовое управление). В интернете есть библиотеки для работы с таймерами. Я допустим использовал библиотеку TimerOne. Проблем никаких, все как будто вы программируете обычную мегу8, допустим.
    Я думаю, что у каждого свое мнение по данному вопросу. Я, например, параметры с компьютера задаю, мне так быстрее и удобнее.
    Можно, но я думаю код будет больше и работать будет медленнее. А ещё структуру тяжело прокидывать через ком порти потом её парсить. Но вопрос оставляю открытым, ибо это чисто мое мнение.
    Удаляемся от главного. Надо сначала алгоритм управления закончить, а дальше можно по всякому. Как у вас, кстати, с настройкой?
    Что касается меня, я больше по математике, экспериментам, электронике и вылавливанию багов.
     
  14. revolover

    revolover Гик

    Вот от главного и отвлекаюсь, когда код вверх-вниз кручу... хоть и в npp в две области работаю. А сейчас остро встают вопросы о хранении в eeprom дополнительных параметров, например отрицательного kD для задержки роста. Или заоны действия полноценного ПИД после этого плавного роста. И, И и И...
    Почему больше? у нас сейчас для задания параметров на каждом пункте чтение кнопок... это должна быть функция... А перерисовка экрана? итп. Нужно всё упрощать. Думаю, что относительно меню код реально сократится. Память сэкономим, скорость? А что скорость значит при сохранении параметров?... И будет ли дольше...
    И я не думаю, что структуру наполнить из компорта будет проблема.

    Возможности шире! Названия профилей в eeprom - легко!

    Круто - не тогда, когда удобно с компа, а когда встаёт вопрос: "а зачем тут комп?" (с)
    Ардуинка хоть и слабый но комп)
    Я всегда стремлюсь во всех устройствах уйти в автономность. Хотя бы из принципа, как люди, которые хотят уйти от работодателя....
     
  15. revolover

    revolover Гик

    Я бы написал сам, но не знаю с какой стороны подойти. Переделывать сложнее чем с начала писать. Может попробую написать код по профилям, а потом туда перенести основную часть. Только мне тяжело, я недавно (несколько дней назад) столкнулся с этим скетчем, точнее с его кодом, как и со скетчами в целом. У меня в голове не отложится никак суть переменных, постоянно смотрю, что и зачем, "нифига интуитивно не понятно" (с). Кто давно с этим кодом - тому проще. И у меня сейчас считанные часы свободного времени. Скоро не будет возможности сидеть, как сейчас.
     
  16. revolover

    revolover Гик

    Кстати, если кто может мой код испытать на плате - буду признателен, могу кинуть последний. У меня с собой только "мозг" паялки. Нагреватели в километрах от меня. У меня даже сейчас интернет мобильный, нормального нет.... а как появится всё - не будет возможностей.
     
  17. Dmitrysh

    Dmitrysh Гик

    Вылаживайте, испытаем. Я из вашего выложенного себе пид компоненты вытянул, все работает. Расчет пид в прерывание закинул. Тайминги ещё не смотрел.
     
  18. Dmitrysh

    Dmitrysh Гик

    Тут я согласен, можно подужать код.
    А в чем проблема сохранить? Используйте eeprom.put и eeprom.get.
    А вот тут как раз и проблема. Структуру из ардуино в комп в принципе легко, а вот назад загнать намного проблемнее, ибо буфер всего 64 байта. Даже для того что сейчас уже не хватает, я двумя пакетами перекидываю.
    Да, автономность это хорошо, но на время настройки компьютер позволяет сократить время работы с параметрами. Да и лог вести на компе очень удобно.
     
  19. revolover

    revolover Гик

    Добавилось только информативно: скорость роста, график температуры.
    Убавилось(уменьшилось) лишнее, на мой взгляд.
    И подстроился под свои термопары в реальных условиях не проигрывают, а шумов меньше в 2-3 раза.
    Что делал - не понимал, некогда было вникать в шумодав. Экспериментально, методом научного,
    подобрал числа... даже понимаю, что они не нормальные, но так меня устраивает больше
     

    Вложения:

  20. Dmitrysh

    Dmitrysh Гик

    Вырежьте все меню настроек и останется сама программа управления. Она не такая уж и большая. По сути
    REFLOW_STATE_STEP_RAMP - рампа(рост температуры с заданной скоростью)
    за ним
    REFLOW_STATE_STEP - ожидаем пока температура выйдет на заданную
    затем
    REFLOW_STATE_STEP_DWELL - полка в конце каждой точки профиля
    и далее по кругу пока не пройдем все точки.
    Ну и критическая секция где считаем пид и управляем нагревателями:
    reflowStatus == REFLOW_STATUS_ON