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

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

  1. xake

    xake Нерд

    давайте свой скетч
     
  2. revolover

    revolover Гик

    Пришла идея в голову. кормить скорость, но управлять не мощностью, а максимальной мощностью, которая в обычный ПИД передается. Таким образом обычный пид на уставку нормально зарулит, а тот не даст превысить скорость. Только ПИД скорости на новом шаге нужно обнулять! А то он натикает, пока будет основной ПИД рулить. Только при моем шуме в минус 0,2 градуса и столько же в плюс, получаю ошибки в определении скорости 0,4 градуса, даже не знаю, насколько точно он может ее держать.
    Что с шумами делать? У всех так?
    Или инерционность системы их съест, а ПИД не заблудится?
     
  3. SOLOway

    SOLOway Гик

    Это скетч Yurik-o. Я только либу max6675 заменил с помощью Aleksander1997 на переписанную Dmitrysh.
    Заинтересовала еще запись в скетче, почему там фильтр Калмана не задействован:
    Хочется посмотреть в SerialPortPlotter, как у revolover, например сделано (или в софте, что Dmitrysh переделал), так ли это на самом деле, и насколько сглаженным будет выглядеть график на большом экране ПК...
    Ну, и понятно, что фильтры могут не влезть в UNO, поэтому вся эта затея с максимальным уменьшением размера кода...
    P.S.: Этот код дружит с IDE1.8.5. и не дружит с 1.6.3. Библиотеки использованные - тоже в архиве. В текущем состоянии скетч в ардуинку ещё не загружал, не знаю как выглядит вживую.
     

    Вложения:

  4. revolover

    revolover Гик

    Попробуйте читать температуру 3 раза в сек., сложить три значения, разделить на три и скормить программе вместо калмана, хоть и будет опозздание 0,3 сек. зато все норм будет.
     
  5. Dmitrysh

    Dmitrysh Гик

    Опоздание будет минимум 0,6с. Мах6675 выдает данные каждые 170-220 мс. Раньше 200мс нет и смысла читать, а лучше через 250мс,тогда запаздывание на 3-ем чтении 750мс или 0,75с.
     
  6. Dmitrysh

    Dmitrysh Гик

    У нас же калман, как он шумит? Настройте его по необходимым параметрам и все. Системы у нас инерционные, больших скачков нет, поэтому сглаживать можно и посильнее. Но при этом немного возрастет задержка, что конечно не хорошо. В интернете где то видел методику настройки параметров, там не сложно.
     
  7. revolover

    revolover Гик

    "Выдает данные" абстрактное понятие... да я видел даташит. Но замер времени чтения двух максов показал 60мс... И вроде как данные всегда разные.
    Задержка возрастает много при сильном изменении температуры... да пробовал, строил( не очень понравилось
     
  8. xake

    xake Нерд

    сравните, в "живую" не проверял
    и библиотеку попробуйте
     

    Вложения:

    Последнее редактирование: 20 июл 2018
    SOLOway нравится это.
  9. Dmitrysh

    Dmitrysh Гик

    Ну читать можно и с большей скоростью, вопрос в том что мы читаем?
    Производитель гарантирует заданную точность при времени между чтениями 0,17-0,22с. Это время зависит от скорости АЦП. Можно читать и с большей скоростью, АЦП все равно будет выдавать значения, и да, они будут разные. Но к реальности они будут иметь посредственное отношение. Я, допустим, могу прочитать и через 2мс, но я думаю, что в итоге получу шум.
     
  10. revolover

    revolover Гик

    Об этом я и говорю, что не описана суть дела... может стоит поиграть со временем опроса еще
     
  11. Dmitrysh

    Dmitrysh Гик

    У меня сейчас опрос через 250мс. Пробовал больше - медленный ПИД. Пробовал меньше - иногда неадекватные показания выскакивают. А вообще, послезавтра поставлю эксперимент и посмотрю что там со временем в реальности выходит.
     
  12. revolover

    revolover Гик

    Итак, попробовал. При моих шумах график ровный как струна, но галогенки по свечению "гуляют прилично".
    Думается, что тут больше важен результат)
    Отстраивать ночью нет сил. завтра продолжу.
    Есть сомнения относительно керамики. если алгоритм себя проявит - буду верх делать галоген.
    График прилагаю.
    Скоро переплюнем крутые паялки)))
     

    Вложения:

  13. Eduard1

    Eduard1 Нуб

  14. Un_ka

    Un_ka Гик

  15. b707

    b707 Гуру

    уважаемый. хватит спамить в чужие ветки.
    Польстился на дешевую подделку - расхлебывай теперь сам.
     
  16. SOLOway

    SOLOway Гик

    msi g31m3-f v2.jpg Провел (случайно!) небольшой эксперимент...
    m/b msi g31m3 (картинка из гугла). Плата на нижнем подогреве 5 минут, скраю датчик на плате выдает стабильные 150*С. Включаю ВИ на разогрев на небольшой мощности, стабилизирую по датчику ВИ на 200*С. Далее переношу датчик в свежей капле термопасты на противоположную сторону севера и наблюдаю уже 205*С, затем проделываю еще дважды такую операцию с остальными сторонами чипа и в каждом новом размещении наблюдаю разброс показаний. Возвратив датчик на исходную позицию вижу опять 200*С. Разместил мелкий огрызок припоя прямо на макушке чипа, и такой же по размеру рядом с термопарой ВИ... Когда на чипе припой расплавился, у датчика еще секунд 15 оставался твердым... Вспомнил, что с Pb+ припоем я такое проделывал еще когда первую паялку ваял - подбирал мощность на ВИ, чтоб чип не щелкнул.
    Ну, и резюме - что же мы все-таки измеряем рядом с чипом, даже при условии стабилизации температуры...
    AMTECH.jpg
     
  17. Dmitrysh

    Dmitrysh Гик

    По сути оно так и есть, разброс будет, т.к плата структура неоднородная и соответственно разные её части по разному поглощают и отдают ИК излучение.
    Это не странно, чип ближе к излучателю, на его поверхности температура выше. На сколько я помню полученная мощность ИК пропорциональна квадрату расстояния до излучателя(могу ошибаться, но тенденция такая). Чтобы примерно выровнять температуру обычно на чип ложат кусочек алюминиевой фольги.
    По большому счету нам нужно, чтобы температура чипа не вышла за границы безопасной и при этом не была слишком низкой, чтобы нормально оплавились шары припоя.
    Ну и на последок, если мы посмотрим в даташит на мах6675, то мы увидим что на температурах 0-700 градусов у нас ошибка от -9 до +9 градусов при питании 5 вольт. А вот это уже жестоко.
     
  18. SOLOway

    SOLOway Гик

    Да :( . Перечитал снова PDF. 6720 транзисторов, 12-bit ADC, компенсация холодного спая, малошумящий входной амплифер... А яйца те же, что и у аналоговых усилков термопар, с той лишь разницей, что настроек нет никаких... Сдаётся, что CoRe и по этой причине все в ручном режиме паяют... Получается, что AD7705 с PT100 (пусть и медленными) дают более достоверную информацию...
     
  19. SOLOway

    SOLOway Гик

    Шикарно!!! Экономия составила 9%!!!
    Код (C++):
    Скетч использует 25900 байт (80%) памяти устройства. Всего доступно 32256 байт.
    Глобальные переменные используют 1108 байт (54%) динамической памяти, оставляя 940 байт для локальных переменных. Максимум: 2048 байт.
    Спаял по-быстрому платку переходник для 2,4" TFT. Обнаружил интересное явление, которому не мог сначала найти объяснение - от USB всё работает, но едва подключаю к трансформаторному стабилизированному БП на 5в (делал для тестирования скетчей SNMar4enko, содержит ZCC) - получаю белый экран и... всё... Причем на ZCC с этого БП реакция выходов есть при питании от USB. Белый экран получаю и при питании от брендовой зарядки на 5в. Оказалось всё просто. При питании от 4,75в до 4,2в проблем нет, выше - печаль. Это значит, что переходник придется переделывать - там нет делителей напряжения - есть просто резисторы по 1к, как указано в скетче Yurik-o. Какую схему тогда выбрать?
    Еще в скетче буззер на ТХ0 сидит - кроме полумертвого хрипа я от него ничего не смог услышать, однако перенести его на оставшиеся свободными D12 и D8, возможно помешает то, что они кмк задействованы для дисплея во фруктовых библиотеках.
    P.S.: Кто знает, как влияет величина напряжения питания на ардуинку, и как влияет на периферию?
     

    Вложения:

  20. revolover

    revolover Гик

    Никто не видел готовых решений, как скрестить с нашими термопарами? Там всё-таки 16 bit)))