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

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

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

    Dmitrysh Гуру

    Тут вы, конечно, правы. У меня опыт настройки ПИД не очень большой, поэтому я использую литературу или чужой опыт.
    В том-то и дело, что он не выходит, а точнее не стабилизируется и не колеблется. Он делает так - хочу стабилизируюсь, хочу поколебаюсь немного, хочу рвану градусов на 10 вверх, а потом вернусь назад и ещё разные вариации из тех что описал.
    А вот тут я соглашусь с автором. Надо, конечно, анализировать, но чем быстрее мы получаем и обрабатываем данные, тем быстрее у нас наступит стабилизация.
    А как вы собираетесь достичь этих 0,5%. На сколько я помню, у вас силовая с детектором нуля,т.е вам нужен скетч с димером. А там регулировка 1%.
     
  2. revolover

    revolover Гик

    1% = 1 полупериоду за 1 секунду, если алгоритм настроить на 2 секунды 1 полупериод = 0,5%. Я не вникал, но должно получиться.
     
  3. Dmitrysh

    Dmitrysh Гуру

    Как так? Увеличивая время опроса вы в точности не теряете и не выигрываете, просто замедляете систему. При 2сек у вас будет тот же 1%. Это зависит от количества значений градаций мощности. У вас включаются или выключаются полупериоды. Полупериодов в 1сек 100шт и соответственно 100% мощности. Для большей точности установки мощности нужно дробить полупериод, а это уже низкочастотный шим, или фазовое управление.
    Я считаю, что и на димере при 1% должны получится хорошие результаты.
     
  4. SOLOway

    SOLOway Гуру

  5. revolover

    revolover Гик

    1 секунда = 100 полупериодов, 1 полупериод в 1 сек=1%
    2 секунды = 200 полупериодов, 1 полупериод в 2 секунды = 0,5%
    У меня на холодильнике 0,1% через симистор.
    Как-то так
     
  6. Dmitrysh

    Dmitrysh Гуру

    За эти 2 секунды вы можете менять мощность только 1 раз
     
  7. revolover

    revolover Гик

    Естественно. но это не смущает.
     
  8. Dmitrysh

    Dmitrysh Гуру

    Я имею в виду вы не можете установить мощность в 0,5%.
     
  9. revolover

    revolover Гик

    Могу) Если текущий алгоритм не позволяет - свой напишу, не вижу в этом проблем.
     
  10. revolover

    revolover Гик

    Самая гадость, это код по чтению/записи eeprom (((
    Времени сейчас нет всё переделать. А текущий не дееспособен, что-то с адресами видимо напутано. Все переменные у меня сейчас байты. Все байты eeprom = 1, но при чтении ряд параметров для третьего шага выводит левые значения.
    Вникать в этот код сложно, постоянная работа с графикой размазала чтение/запись профиля на сотни строк.
    Кто может попробовать у себя в скетче прописать в профиль верха три шага, потом их прочитать? Особенно значения третьего. Может в каком-то другом скетче правильно всё.
    И как вы проводили первую настройку профилей? Пока не прописал весь eeprom единицами - там жуткая каша была в значениях.
     
  11. Dmitrysh

    Dmitrysh Гуру

    Дело не в алгоритме, дело в железе, оно вам не позволяет. У вас (ssr+zcc) - такая конфигурация позволяет только 1%. Да не заморачивайтесь вы с этими процентами. Давайте пробовать доводить то что есть.
     
  12. Dmitrysh

    Dmitrysh Гуру

    У меня все работает, если не писать более 255.
    У меня постоянно 3 шага и все пишется и читается.
    Сначала, да, ручками. А потом я с компа все грузил, ибо так удобнее. Плюс программа проверяет введенные значения на корректность и в случае неверных значений ставит по умолчанию.
     
  13. revolover

    revolover Гик

    Видимо мы про разные скетчи. Вижу только отправку данных в порт в скетче. Или софт умеет напрямую с eeprom работать?
    начал менять переменные editstep как в другом скетче было, в настройках записываются и читаются норм, но в режиме пайки начинаются глюки, как время появится - буду смотреть...
     
  14. revolover

    revolover Гик

    Я когда свою софтину писал, профили прописывались значениями по умолчанию при первом запуске.
    Было удобно)
     
  15. revolover

    revolover Гик

    Кстати всегда считал что ардуинка более юзерфренди чем например мк atmega + cvAVR. Но работа с eeprom меня удивила, все по номерам байтов... в cvavr можно непосредственно переменные задавать с типом eeprom и не париться куда ее записывать, хотя есть минус - убрал, добавил переменные, и вся адресация сместилась, приходилось заново устройство отстраивать.
     
  16. Dmitrysh

    Dmitrysh Гуру

    Да скетчи разные. Софт напрямую с eeprom работать в принципе через com не может. Ранее я писал как модифицировать скетч под работу с компьютером, и скетч вылаживал, правда скетч править надо, там есть проблемы.
    Какой у вас скетч? Я использовал sketch_TFT-320x480_dimer_V3-2 и не было с eeprom проблем никогда и глюков откровенных не было, просто пид дурил.
    Вариант мк atmega + cvAVR мне больше нравиться, но переписывать библиотеку экрана и переферии мне не очень хочется. Да и не всем легко повторять и модифицировать будет такой проект.
     
  17. Dmitrysh

    Dmitrysh Гуру

    Ищите ошибку в том коде в котором вы что-то меняли. Насколько я помню на eeprom ещё никто не жаловался. Да там две строчки кода, в принципе не работать не может.
     
  18. revolover

    revolover Гик

    Глючный этот sketch_TFT-320x480_dimer_V3-2_plus_hominidae_PC_soft_from_Dmitrysh
    Глюки даже в оригинале, без моих изменений - проверял

    Скетч sketch_TFT-320x480_dimer_V3-2 работает вроде норм

    В notepad++ посмотрел разницу скетчей, в основном работа с переменной editStep отличается(не считая аналоговых кнопок). участки кода перенес со скетча в скетч, вроде стало лучше, позже буду тестить.
     
  19. SOLOway

    SOLOway Гуру

    Просто многие не потрудились отписываться в теме. Я тоже слажал :).
    Так как есть - у меня не заработало ни с одним из скетчей корректно. Варианты ардуиновского железа были разные. Настроить не смог ни с одним скетчем (большая вероятность, что сам виноват). Предполагаю, что промышленная реализация PID крайне отличается от ардуиновских библиотек, ибо промышленные китайские клоны REX-C100 легко адаптируются под разные нагреватели. Правда по-прежнему, необходимость попасть в точку с мощностью vs инерционностью нагревателей остаётся.
    Есть идеи, как реализовать НИ с PID -регулированием на digispark (ATtiny85)? Пусть всё остальное делает ардуина ВИ - контроль температуры, выполнение шагов, вывод графики на LCD, защиты, трансляцию чего надобно в com-порт...
     
  20. Dmitrysh

    Dmitrysh Гуру

    Тяжеловато на нем реализовывать. Ног маловато. По сути 4 всего функциональные. А как управлять, передавать задание, включать/выключать?
     
Статус темы:
Закрыта.