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

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

Статус темы:
Закрыта.
  1. Yojiq

    Yojiq Гик

    Мне завтра печатку под реле рисовать - может две релюхи можно программно исключить, ведь это не сложно тому кто понимает как код останавливать на этапе простоя что бы SSR были отключены без реле :cool:
     
  2. bgnt

    bgnt Нуб

    Для 3Д принтеров на Ардуино есть программа определения настроек ПИД нагревателя. Может получится использовать? Моя станция пока не собрана

    Делается это следующим образом, в программеPronterfaceнеобходимо подключиться к принтеру

    [​IMG]

    и дать команду

    [​IMG]

    Где M303 - команда калибровки, E0 - хотэнд, C10 - количество циклов нагрева-охлаждения, S260 - типичная температура работы сопла.

    Принтер 10 раз прогоняет нагрев хотэнда после этого выдает значения Kp, Ki, Kd. Прописываем эти значения в эти прошивку:

    [​IMG]
     
  3. CLON2

    CLON2 Нерд

    Не получится... Исходного кода нет... Протокола обмена нет... Алгоритм не описан... - "Черный ящик" заточенный под 3d принтеры. Легче свою такую программу написать, чем разбираться с чужой... К тому же коэффициенты зашитые в программе для тестирования экструдера 3d принтера явно будут сильно отличатся от разнообразных "городушек" с мощностями от 600Вт до 5кВт и при этом разнообразии примененных для постройки ИК нагревателей материалов. Для этой цели вполне хватит построение и запоминание графиков нагрева на ПК и кучи свободного времени для многократных экспериментов.
     
    SOLOway нравится это.
  4. Yojiq

    Yojiq Гик

    Управление в отдельной коробочке
     

    Вложения:

    • KIMG0049.jpg
      KIMG0049.jpg
      Размер файла:
      1,9 МБ
      Просмотров:
      1.257
    Vladimir71 и SOLOway нравится это.
  5. CLON2

    CLON2 Нерд

    Выглядит красиво, вопрос только оно там не задохнется? Как с нагревом? Или там нет задней стенки?
     
  6. Yojiq

    Yojiq Гик

    Задняя стенка в процессе, греться там не чему, даже бп делают без вентиляции, а здесь кренка, мега и два светодиода, так что в путь господа !
     

    Вложения:

    • KIMG0050.jpg
      KIMG0050.jpg
      Размер файла:
      1,8 МБ
      Просмотров:
      1.275
    SOLOway нравится это.
  7. SOLOway

    SOLOway Гуру

    @Yojiq Самое сложное, полагаю, будет заключаться в пристыковке к вашей коробочке обвязки - спикера, max6675, силового и ZCC модулей... В этом плане LDZ немного выигрышнее смотрится
     
    Последнее редактирование: 31 мар 2020
  8. max232

    max232 Нуб

    Доброго времени суток! Получил дисплей и кнопки, подключил к меге 2560 прошился (скетч пост #294) - запустилось )))) Но при настройке любого профиля если выбрать кол-во шагов 3, то именно на шаг: 3 верхний нагреватель вылазит глюк - мощность нагревателя мин 123%3. Если попытаться его редактировать, то появляется шаг:4 и так до шаг:11 после этого ардуинка перезагружается. Может было у кого-нибудь и как решили проблему?
     
  9. Yojiq

    Yojiq Гик

    я бы пробовал перешивать скетч ...
     
  10. max232

    max232 Нуб

    бесполезно, все тоже самое в сотый раз
     
  11. mrzevs

    mrzevs Нерд

    подтверждаю, перезаливка не помогает.
    Может кто знающий посмотрит, в чем проблема. Сам только начал разбираться.
     
  12. WAT58

    WAT58 Нерд

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

    Вложения:

    • DELPHI.zip
      Размер файла:
      457,6 КБ
      Просмотров:
      344
  13. SOLOway

    SOLOway Гуру

    @WAT58 Вот этот пост оттуда не прокатит? "
    0
    По идее фонарь при выдергивании USB должен пропасть, если поменять
    if ComPort1.Connectedthen
    begin
    ComPort1.WriteStr(S);
    ListBox1.Items.Insert(0,'Sent: '+ S);
    end;


    на

    if ComPort1.Connectedthen
    begin
    try
    ComPort1.WriteStr(S);
    ListBox1.Items.Insert(0,'Sent: '+ S);
    except
    ListBox1.Items.Insert(0,'Connection problem');
    end;
    end;


    В основную ветку добавлять не буду, потому что во-первых, если отвалился порт, куча окошек — это самая мелкая из неприятностей, которые произойдут, а во-вторых, при тренировке выдергивания на шнурке Prolific получил синий экран."
    P.S.: Вашу доработку не пробовал -катастрофическая нехватка времени, + выше народ про косяки скетча отписывал :(
     
    Последнее редактирование: 31 мар 2020
  14. WAT58

    WAT58 Нерд

    Это не прокатывает,при этом изменении ошибка компиляции.
    Я.не спец в делфи,но чисто интуитивно чую,что при потере связи с портом ,
    как то надо остановить таймер,чтобы не тикал и по идее будет один фонарь,
    а то он тикает окна и сыплются. но как это реализовать???
     
  15. Dmitrysh

    Dmitrysh Гуру

    Я делал так.
    В теле программы функция для таймера выглядит так:
    Код (C++):
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
      I  : Integer;
    begin
      if BottomBufLen < 600 then BottomBufLen := BottomBufLen + 1;
      for I := BottomBufLen downto 2 do
      begin
        BottomBuf[I] := BottomBuf[I-1];
      end;
      BottomBuf[1] := StrToInt(Edit1.Text);
      if TopBufLen < 600 then TopBufLen := TopBufLen + 1;
      for I := TopBufLen downto 2 do
      begin
        TopBuf[I] := TopBuf[I-1];
      end;
      TopBuf[1] := StrToInt(Edit2.Text);
      DrawGraph;
      DrawPane;
    end;
    И немного правим библиотеку порта CPORT.pas а именно комментируем строки в процедуре TCustomComPort.CallException:

    Код (C++):
    procedure  TCustomComPort.CallException(AnException:Word; const WinError:Int64 =0);
    var winmessage:string;
    begin
      if Assigned(FOnException) then
      begin
        if WinError > 0 then //get windows error string
        try  Win32Check(winerror = 0);  except on E:Exception do WinMessage:=e.message; end;
        FOnException(self,TComExceptions(AnException),ComErrorMessages[AnException],WinError, WinMessage);
      end
    //    else
    //    if WinError > 0 then raise EComPort.Create(AnException, WinError)
    // else raise EComPort.CreateNoWinCode(AnException);

    end;
     
  16. WAT58

    WAT58 Нерд

    Спасибо за наводку,поправил библиотеку-фонарей нет.
    В принципе для визуального контроля термопрофиля неплохо подходит
    Кому интересно вот подправленный вариант:
     

    Вложения:

    • Heater.zip
      Размер файла:
      457,4 КБ
      Просмотров:
      397
  17. Yojiq

    Yojiq Гик

    WAT58 какой скетч и железо ?
     
  18. WAT58

    WAT58 Нерд

    Скетч с 8 страницы Atmega2560,чуть изменил под себя
    управление реле размера стола инверсное через NPN транзистор,
    В скетче изменено все что связано с реле на инверсное
    тк управлять напрямую с ардуинки что-то стремно
    Низ-кварц 4шт x 500вт (249x64mm) накрыт стеклокерамикой
    термопара под стеклом, иначе инерция большая
    Верх-кварц 500вт (82x64mm)
    Включение реле верха P4-115C

    if (tc1 == 115){
    digitalWrite(P4_PIN, HIGH);
    tone(buzzerPin, 1045, 500); //звуковой сигнал

    Включение верха-116С

    if (tc1 >= 116 && !TopStart) TopStart = true; //если температура низа вышла на уставку включаем верхний нагреватель

    да и2 твердотелки 40 и 25 китайских ампер
    правда коротнул верх случайно SSR-25 вылетело моментом,
    разобрал внутри симистор на 4А (хотя по дашиту при 50гц действительно-25А)
    Заменил на 25амперный,все работает
    Вот где-то так
    В скетче конечно есть неб косяки,но не существенно
    В общем спасибо автору за направление для творчества
     

    Вложения:

    • V3-5_graph.zip
      Размер файла:
      1,5 МБ
      Просмотров:
      475
    bgnt и Yojiq нравится это.
  19. SOLOway

    SOLOway Гуру

    @WAT58 Можете ещё немного поправить интерфейс? - правую часть разместить снизу "паровозиком", а окно графиков расширить. Больше наглядности станет, да и размер окна проги автор сделал не масштабируемым :(.
     
    Последнее редактирование: 31 мар 2020
  20. WAT58

    WAT58 Нерд

    Да не спец я в делфи (при масштабировании там сплошной геморой),может Dmitrysh (пост#534) поможет
    да и окно мощности очень красиво выглядит-как его расположить "паравозиком",
    ну а график в общем дает представление о ходе термопрофиля
    чего там еще можно определить?
    Мне кажется,что окно мощности при отладке дает больше информации
    т.к.видно как работают нагреватели и можно для компенсации инерционности
    оперативно менять Pmax и Pmin
    У меня стеклокерамика ,при расположении термопары низа сверху платы ,
    заскоки более 50С,поэтому пришлось прятать термопару под керамику и все ОК.
    Правда если начинать греть с холодного состояния -низ разогревается до 115С долго минут 5,
    но если предварительно разогреть на 5 режиме,а потом ставить плату,то все почти идеально
    Да,про автомасштабирование нашел интересную ссылку:
    http://www.delphisources.ru/pages/faq/base/autoscale_form.html
    Может кто вставит куды надо
     
Статус темы:
Закрыта.