Четверг, 28.03.2024, 14:50
Радиосервис - ИЗМАИЛ

Меню сайта

Статистика
Форма входа
Друзья сайта

Форум поддержки программ "Tiny Tools" (CPLD/USB-S/USB-F/USB-SPI EJTAG Tiny Tools)

Электроника на KitPost
Поиск
Наш опрос
Оцените мой сайт
1. Отлично
2. Хорошо
3. Неплохо
4. Ужасно
5. Плохо
Всего ответов: 86
Ссылки по uCoz
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Модератор форума: Alexandr_  
    Форум » Паяльные станции » Инфракрасная паяльная станция на ARDUINO » Инфракрасная паяльная станция своими руками на ARDUINO (Инфракрасная паяльная станция своими руками на ARDUINO)
    Инфракрасная паяльная станция своими руками на ARDUINO
    Alexandr_
    Дата: Среда, 08.02.2017, 19:55 | Сообщение # 1        
    Генералиссимус
    Группа: Администраторы
    Сообщений: 813
    Статус: Offline

    Форумчане, куплю-продажу и личные сделки выяснять в личке, либо в новом форуме, этот форум для вопросов по электронной части станции.

    Архив по станции от hominidae с проектом efimsu ->здесь
    Проект Леонида, Leonid0071 "UNO-MAX6675-PC" и его доработки на форуме Амперки -> скачать

    Люби грешников, ненавидь сам грех!
     

    snmar4enko
    Дата: Суббота, 07.04.2018, 10:31 | Сообщение # 61        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    В основном тестил на китайском ARDUINO PRO MINI, возможно глюки только моего.
    На счет выводов - совершенно верно - если не будет хватать можно дисплей по I2C шине перекоммутировать. Еще продается Модуль LCD1602 с кнопками. Кнопки работають по потенциалу на аналоговый вход с АЦП. Получается что еще 3 вывода освободим. такое видил кажись в недоделанном проекте EFIMSU.
    Как писал выше - если к компьютеру не будем подключать - то можно отключить SERIAL (Serial.begin(9600);) и применить для верхнего нагревателя например D1 а для вентилятора ускорения охлаждения D0.
    Когда переписывал код под LCD1602 и ARDUINO Nano (pro mini) цель была снизить цену и получить как минимум тоже по функционалу. Два термодатчика на самом деле даже вредят - получается когда включается верхний нагреватель - то его температуру меряет и нижний термодатчик - соответственно снижение температуры нижнего нагрева если он управляется только по ШИМ. А это чревато искривлением паяемой платы. В плане твердотельного реле - то даже MOS3023 тоже оно, за исключением максимального тока 1А, а что мешает дополнить симистором BTA41 и тремя резисторами - получаем 40А SSR, схем в инете полно - получаем два реле по цене одного. Да и модуль I2C для индикатора LCD увеличивает стоимость индикации в 1.5 раза. В плане дальнейшего снижения стоимости в качестве нижнего подогревателя можно использовать старый утюг (их в наших хозяек валяется бывает даже не один - то кабель сгорел, то терморегурятор прокрутили в непонятное состояние,  то бьется током)
     

    Cinema
    Дата: Воскресенье, 08.04.2018, 09:16 | Сообщение # 62        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    Цитата snmar4enko ()
    когда включается верхний нагреватель - то его температуру меряет и нижний термодатчик
    Это от неправильной установки датчика НИ!!! Датчик НИ ставят вне зоны действия ВИ!, т.е. как можно дальше от датчика ВИ, например на дальнем краю платы. Если плата маленькая, эту проблему решают размещением на НИ другой ненужной платы, примерно в габаритах паяемой, и датчик НИ устанавливают на этой дополнительной плате!
    Бонус:
    Прикрепления: 5676662.jpg (96.7 Kb) · 7070420.jpg (103.2 Kb)

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет
     

    snmar4enko
    Дата: Понедельник, 09.04.2018, 17:11 | Сообщение # 63        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Скетч версии 1.3.4
    Добавил инициализацию памяти EEPROM при загрузке. Внес 4 профиля, два для свинцовой пайки, два для безсвинцовой. Можно инициализировать при 8ми секундном нажатии Cancel. 
    Установки теперь по 5ти секундном нажатии OK. PID коэффициенты теперь общие для всех профилей, но разные для нижнего и верхнего нагревателей. Так как PIDы в память не записывались более 255, и при больших коэффициентах начинался возбуд то привел их до значений от 0 до 25.5 
    Идикатор китай LCD1602 и Arduino nano поддерживается
    Прикрепления: ARDUINO_REWORK_.rar (7.9 Kb)
     

    snmar4enko
    Дата: Понедельник, 09.04.2018, 22:04 | Сообщение # 64        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Скетч версии 1.3.5
    Переработал режим нижнего нагрева - начинается с фактической температуры TOP термодатчика.
    Температура что задается инициируется на месте отображения верхнего термопрофиля.
    При настройке необходимо настраивать температуру нижнего нагревателя и температуру первого термопрофиля верхнего нагревателя одинаковыми.
    По достижению температуры шага - стабилизация на время заданное в Dwell каждого шага. Следовательно если температуру последнего шага необходимо удержать 15 секунд то соответственно устанавливаем Dwell = 15. 
    Добавил будильник в начали этапа стабилизации последнего шага. Необходим чтобы начинать снимать чип или смотреть как поплыл.
    Термопрофили инициализации памяти поправил под выявленные режимы настройки работы устройства. Оказалось что 3х шагов достаточно если режим охлаждения самоходом.

    Вопрос по работе PID: Для чего учитывать ошибку er1 и er2 ? 
    И второй: Я установил одинаковые коэффициенты PID для обеих нагревателей но сами значения OUTPUT верхнего нагревателя скачут (из серии пока измеренная температура намного меньше заданной два цикла включено а один выключено, бывает что три включено и 2 выключено .... и так повторяется).
    Прикрепления: 9572448.rar (8.1 Kb)
     

    snmar4enko
    Дата: Вторник, 10.04.2018, 12:16 | Сообщение # 65        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Скетч версии 1.3.6

    Инициализацию памяти вынес в отдельную функцию.
    Количество профилей расширил до с 4  до 14.
    Первые 7 - безсвинцовые, с 8 го по 14  безсвинцовые.

    Как упоминал ранее первая температурная цель верхнего нагревателя должна равняться температуре нижнего подогрева.

    По второй температурной цели верхнего нагревателя определяем свинцовая или безсвинцовая пайка и соответственно рисуем правей номера профиля  + (если свинцовая) и - (если безсвинцовая).

    Добавил знак градуса цельсия и где можно дорисовал.

    В режиме IDLE убрал информацию про текущий шаг STEP.

    В режиме пайки номер шага вывожу правее RUN.

    Поправил задания цели PID регулирования первого шага для обеих нагревателей.
    Тестируйте, ищите ошибки ....
    Прикрепления: 2672484.rar (8.6 Kb)
     

    Alexandr_
    Дата: Вторник, 10.04.2018, 13:54 | Сообщение # 66        
    Генералиссимус
    Группа: Администраторы
    Сообщений: 813
    Статус: Offline

    snmar4enko, проверенный вариант потом добавлю в шапку, ждем отзывов по работе. smile
    Люби грешников, ненавидь сам грех!
     

    snmar4enko
    Дата: Вторник, 10.04.2018, 16:08 | Сообщение # 67        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Скетч версии 1.3.7

    Немного изменил подписи TOP и BOTTOM heater на графические значки.
    Если профиль включаем 10-14 то немного портит картинку нижнего нагревателя.
    если профили нумеровать в шестнадцатиричной системе - то есть номер вплоть до 15 занимает одно поле то картинку не портим -  Скетч версии 1.3.8
    Перерисовал знак градуса цельсия.

    Обнаружил что если нагреватели греются быстрее то и процесс пайки сокращается по времени. Выход ограничивать мощность нагревателя в настройках.
    Возможно еще это из за того, что если PID устанавливает мощность больше 50% то нагреватель включается, если меньше 50 % то выключается полностью.

    Изредка по клавише Cancel меньше чем 8 секунд нажатия обнуляет память.
    Прикрепления: 6500432.rar (8.7 Kb) · 6370848.rar (8.7 Kb)
     

    snmar4enko
    Дата: Четверг, 12.04.2018, 10:25 | Сообщение # 68        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Скетч версии 1.3.9

    Убрал часть кода во время прерывания по детектору нуля сетевого напряжения. Напоминаю, что сам детектор двухполупериодный, то есть прерывания 100 раз в секунду. Увеличил быстродействие. Максимальные мощности верхнего и нижнего нагревателя применил как установку PID выходных лимитов.

    Обнаружил ложные включения верхнего нагревателя пока не нагрет нижний. Оказалось, что после вычисления PID и до проверки флага включения верхнего нагревателя есть код  .... совместил строки вместе. Также есть ложные срабатывания если для  ШИМ выхода использовать вывод со встроенным светодиодом (D13).

    Если шагов пайки больше 3 и температуры первых шагов меньше температуры нижнего нагревателя то шаги фактически объединяются. Практически греется нижний нагреватель до установленной температуры нижнего нагревателя, и только по 10 градусному приближению включается верхний.

    В IDLE режиме определение +(свинцового) и -(безсвинцового) профиля определяется по температуре предпоследнего шага пайки.

    PID коэффициенты уменьшил и в настройках привел до значений от 0 до 2.55
    Прикрепления: 8636744.rar (8.7 Kb)


    Сообщение отредактировал snmar4enko - Четверг, 12.04.2018, 10:41
     

    fedorchuk007
    Дата: Пятница, 13.04.2018, 16:20 | Сообщение # 69        
    Сержант
    Группа: Пользователи
    Сообщений: 24
    Статус: Offline

    Автору огромное спасибо,может кто прикрутит
    Прикрепления: Heater.zip (257.5 Kb)
     

    Cinema
    Дата: Пятница, 13.04.2018, 20:16 | Сообщение # 70        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    fedorchuk007 Когда размещаете чужой файл, имейте совесть, укажите где вы его взяли! Эту программу дорабатывал Dmitrysh в той теме. Если уж вы в той теме были, должны понимать, что ресурсы mega328 не безграничны, там прикручено к Mega2560 - и то подглючивает.
    Читайте это сообщение:
    
    Вставляйте указанные там строки в скетч snmar4enko.
    Описание буфера можете вставить так:
     
    Код
    //myPID2.SetSampleTime(100);
      }

    int i = 0;
    char buf[32];
    void loop()
    {
      //Считываем состояние кнопок управления
      upSwitchState = digitalReadA(upSwitchPin);
      Затем компилируйте и пробуйте с софтом. О результатах здесь сообщайте.
    P.S.: Во избежание холивара на тему "в архиве  Heater.zip вирус!" Докладываю - ресурс virustotal.com признал архив безвредным! Мой SEP х64 ругается, но толком так и не может объяснить свою нелюбовь к нему smile (просто внёс в исключения и успокоил его).

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет
     

    Cinema
    Дата: Пятница, 13.04.2018, 22:13 | Сообщение # 71        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    snmar4enko, какая у вас платка pro mini? Их разновидностей, как выяснилось, целая горсть наберётся. У меня такая (34pin):

    В связи с этим, вопрос о подключении буззера:
    
    Код
    byte buzzerPin = 18;
    он физически на pin32 самой atmega328p (на pin2 платки) повешен или все-таки на А4 платки? Дисплей с i2c займет A4(SDA) и A5(SCL).
    Память платки на исходе sad . :
    
    Код
    Sketch uses 26 480 bytes (86%) of program storage space. Maximum is 30 720 bytes.
    В платку зашит китайцами древний загрузчик...
    Прикрепления: 9250574.png (287.3 Kb)

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет

    Сообщение отредактировал Cinema - Пятница, 13.04.2018, 22:45
     

    snmar4enko
    Дата: Суббота, 14.04.2018, 17:47 | Сообщение # 72        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата fedorchuk007 ()
    Автору огромное спасибо,может кто прикрутитПрикрепления: Heater.zip(257.5 Kb)
    Внимательней надо быть - и хотя бы основний файл в шапке форума изучить
    Цитата Alexandr_ ()
    Архив по станции от hominidae с проектом efimsu ->здесь
    Ваше предложение уже есть в папке Arduino, с копией скетч.txt и скетч тот же.txt
    Единственное что там полезно может быть - работа с компьютером по UART,  в нашем случае для рисования графика пайки.

    Цитата Cinema ()
    какая у вас платка pro mini?
    Общим есть несколько : такая как у вас на рисунке, еще с дополнительним выводом корпуса GND между D9 и  A4  - единственное на что я смотрел чтобы стоял 5 Вольтовый 328 проц и кварц на 16 мгц. Остальное по барабану.

    Цитата Cinema ()
    В связи с этим, вопрос о подключении буззера:
    Код
    byte buzzerPin = 18;
    В скетче выводы микроконтроллера используются как цифровые, соответственно нумерую тоже так. D2-D13 надписи на плате соответствуют, а выводы D14-D21 соответствуют подписанным на плате A0-A7. В итоге  byte buzzerPin = 18; соответствует D18 или он же  A4. Забегая на перед - A5 (D19) использую в качестве выхода регулятора TOP Heater. Эти выводы используются в качестве I2C шины при подключению дисплея через PCF8574AT или подобный переходник. Но с другой стороны освобождаются D4-D9 - на которые можно переназначить клавишы, бузер и выход TOP регулятора нагрева - если угодно.

    Цитата Cinema ()
    Память платки на исходе . :
    Код
    Sketch uses 26 480 bytes (86%) of program storage space. Maximum is 30 720 bytes.
    В платку зашит китайцами древний загрузчик...
    Ну здесь есть еще почти 4 килобайта - так как переписывая код мы что-то убираем, что-то добавляем пока терпимо. Тут более важен следующий параметр - сколько использовано ОЗУ. У нас он чуть перевалил за половину - а это даже отлично. Смущает древний загрузчик - перешей, ... и где факт что в 2560 или UNO тоже не с древним загрузчиком. 
    Кстати скетч хоть и удалось впихнуть в нано, про мини - что мешает его влить в те же 2560 или UNO. Дерзайте.

    И на последок - использование подключения дисплея напрямую уменьшает использование флеш памяти в частности библиотека include Wire.h;, библиотека LCD индикатора почти не меняет размер:

    Скетч использует 24214 байт (78%) памяти устройства. Всего доступно 30720 байт.
    Глобальные переменные используют 1141 байт (55%) динамической памяти, оставляя 907 байт для локальных переменных. Максимум: 2048 байт.

    Добавлено (14.04.2018, 17:47)
    ---------------------------------------------
    Хочу поднять вопрос о целесообразности PID регулирования. Почему стал такой вопрос? Все началось с того что не понятно какие коэффициенты установить. Для этого даже библиотеку изучал PID_v1. В общих чертах все понятно:

    Измеряется ошибка, то есть разность между установленной и измеренной температурой и вычисляется мощность выхода - грубо говоря в процентах 0-100. Выходная мощность состоит из трех составляющих

    Пропорциональная, то есть Kp умноженный на измеренную ошибку. Эта составляющая самая быстрая, но при увеличении Kp возникает колебание. Объясню про колебание: к примеру у нас коэффициент 20 а нужно нагреть на 1 градус, Мощность увеличивается на 20 процентов, к примеру нижний нагреватель 1800вт а 20 процентов это 380вт, которые за короткий промежуток перегревают допустим на 5 градусов. В следующем цикле эта ошибка в 4 градуса умноженная на наш коэффициент 20 уменьшает мощность - 80% наверняка полностью выключает обогрев. Соответственно остывание, ошибка в + включение обогрева на 100 процентов. И так далее.
      
    Интергральная (Интеграл, сума накопленных значений)  Сума нынешнего и прошлых Kd умноженного на ту же измеренную ошибку. Причем все эти значение еще умножается на время измерения. По умолчанию оно составляет 0.1 секунду. Если я правильно изучил библиотеку PID то при Ki=10 получается что если ошибка +1 градус то мощность циклически  регулятора увеличивается на 1 процент. При этом значение запоминается. При слишком большом Ki  получаются перелеты и недолеты температурных целей но стабильней идет нагрев.

    Диффиринциальная составляющая как и пропорциональная не накапливается а вычисляется  пропорционально разности ошибок с прошлым временем. значение еще разделяется на время диффиринцирования, то есть время между вычисления PID таже 0.1 секунда. К примеру если Kd=0.1 то при уменьшении ошибки на 1 градус будет притормаживаться мощность на 1%, то есть к примеру когда будем приближаться к температурной цели то будет снижение мощности -  такой себе компенсатор перелета. Но он при этом и недонагрев делает во время ступенчатости посекундного нагрева.

    Теперь смотрим дальше - ввиду того что, у нас ключи коммутирующие нагреватели имеют малое быстродействие то мощность по факту преобразуется в 0 и 1 (выключено- включено). Теоретически это ШИМ но малый по частоте : 1 гц. Но так как PID пересчитывается чаще то практически не работает. Это тоже коэффициент но плавающий 1-10. Еще есть ограничение по мощности нагревателей. Это тоже коэффициент учитываемый по PID. 

    Если соединить все вместе то получается что система сравнивает температуру с заданным образцом и если измеренная меньше то включить обогрев, если больше то выключить обогрев. Ничего не напоминает? Возбуд при завышении коэффициента Kp.
    Так целесообразно городить такую кучу кода PID регулирования? Если оно не работает?

    Что дальше? проанализировал изначальний материал  

    Цитата Alexandr_ ()
    Архив по станции от hominidae с проектом efimsu ->здесь
    с проекта efimsu вытянул код Dimmer регулирования, немного упростил его доработал на одно прерывание - для демонстрации регулировка от подстроечника 10 ком края GND и +5в, средина на A0, один выход на светодиод D13, второй D19 (F5) на наш регулятор ключ:

    
      

    На D2 второй не забудьте подать 100 гц импульсы синхронизации от сети. Работает. Решит проблему PID регулирования. Но нада встроить код в нашу ИК станцию. И еще я испытывал регулятор на семисторе BTA41-600 через оптопару-семистор MOS3063. Так вот сто получилось - сразу работало - а через некоторое время  MOS3063 переставала передавать команду включения. При этом если программиовал опять старой прошивкой  REWORK работа возобновлялась. Причина - наверно нехватка быстродействия. На SSR реле не побывал, но возможно что оно от таких импульсов даже сгорит. Использовать полевой транзистор с диодным мостом быстродействия хватит -но возможно схема привяжется к сети и будет бить током больно но аккуратно.
     

    Cinema
    Дата: Суббота, 14.04.2018, 23:01 | Сообщение # 73        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    snmar4enko Замечу, что вы, вероятно, не учитываете характеристики различных типов нагревателей.  Алгоритм PID регулирования хорош для замкнутой системы со стабильными параметрами, например бойлер. В нашем случае (бесконтактная пайка с использованием ИК  излучения) задача представляет собой следующий набор условий: а) передать всей паяемой плате тепловую энергию, величиной несколько ниже, чем надо для расплавления припоя, при том, что плата должна поглотить максимальное количество подводимой нами энергии (минус потери на конвекцию и компромисс между временем воздействия высоких температур на компоненты и максимальной скоростью поглощения тепловой энергии платой) и обеспечить невозможность резких изменений достигаемой и достигнутой температуры вплоть до окончания процесса пайки, б) создать в зоне пайки условия, необходимые для отработки флюсом действий, заложенных его производителем и описанных в его даташите, в) обеспечить плавный прирост температуры в зоне пайки, необходимый для достижения гарантированного расплавления припоя, избегая превышения разницы температур между температурой всей платы и зоной пайки более 100-50*С и организовать стабилизацию конечной температуры (ликвидуса) на заданное вручную время. Ни в какой из моментов пайки не должно быть резких скачков подводимой тепловой энергии и резких изменений температур. В этом ключе стабилизация температуры в конкретных временнЫх точках (полках) вполне адекватно может отрабатываться PID алгоритмом. Увы, всё хорошо только до тех пор, пока мы не столкнемся с суровой действительностью: нет идеальных плат и нет идеальных излучателей тепла с нулевой инерционностью :). Не существует универсального и при этом просто реализуемого способа управлять галогенками и чугунными электроконфорками с одинаковым результатом. Даёшь интеллектуальные диммеры!!! :). Работа по профилям мощности не так проста, как может показаться - там может быть и десяток временнЫх точек, на которых дискретно изменяют подводимую к излучателям мощность и длительность действия мощностей может быть завязана как на температуру, так и на время воздействия.
    Если к платформе утюга подвести, например, 90в, она через длительное время нагреется до какой-то температуры и остановится прирост этой температуры, но нагрев будет происходить о-о-очень долго и корпус за это время тоже сильно нагреется, что вызовет дискомфорт и вероятность получения ожогов при работе, гораздо лучше запитать на короткое время платформу от 230в, а затем уже от 90в. У меня был аналоговый блок управления ИК станцией:

    P.S.: дисплей с i2c для меня не прихоть - он есть такой купленный когда-то, посему, и из-за лени распаивать сборку, в ваш скетч вкрутил его :). Wire.h, да, неизбежность, потому и возник вопрос о прошивке в pro mini загрузчика типа optiboot, размером всего в 512 байт, взамен прожорливого штатного.
    Прикрепления: 3911224.jpg (72.0 Kb)

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет

    Сообщение отредактировал Cinema - Воскресенье, 15.04.2018, 08:08
     

    snmar4enko
    Дата: Воскресенье, 15.04.2018, 10:47 | Сообщение # 74        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата Cinema ()
    Замечу, что вы, вероятно, не учитываете характеристики различных типов нагревателей.  Алгоритм PID регулирования хорош для замкнутой системы со стабильными параметрами, например бойлер.
    Я двумя руками за PID регулирование  - но оно у нас не работает!!!!!!!!!!!!!!
    Медленный ШИМ с периодом 1 секунда. Значения PID регулирования в регулятор подставляются 100 раз в секунду. Теоретически к примеру если ПИД устанавливает мощность 20% то 20 раз включится и 80 раз будет выключен, причем включение - выключение  могут произвольно чередоваться. PID должен опрашивается согласно его библиотеке 10 раз в секунду, фактически 3-100 раз в секунду. Полноценная работа ШИМ регулятора когда опрос ПИД 1 раз в секунду. Тогда и будет идеальная работа программы. Но не забываем про инерционность нагревательных элементов (Утюг, инфракрасная керамика, лампы). Они медленно нагревают плюс медленная отработка ПИД (1 раз в секунду) что мы получим если на первом и третьем этапах пайки необходимо обеспечивать нагрев со скоростью 1 градус в секунду. Прошу также учесть что что если время увеличено в 10 раз от номинального то Интегральная составляющая в 10 раз больше, а Диффиринциальная в 10 раз меньше. Уменьшение - фиг с ним. А вот Диффиринциальная составляющая  может стать всемогущей. К примеру мы установили Ki чтобы увеличивало на 1% при 1 градусе разности. Увеличение времени в 10 раз меняет эту составляющую на 10% мощности при 1 градусе ошибки. Если наш термопрофиль требует увеличивать на градус в секунду то при следующем опросе PID ошибка градусов будет 1.5 или более. Соответственно добавка 15% мощности к прошлым 10%. Нижней нагреватель у меня 1.8 квт, 25% мощности это 450вт - не хилый нагрев получаем с некоторым опозданием.

    Случай когда опрос ПИД приближается к 100 разам в секунду -  ШИМ практически не работает - получается как бы разрыв цепи регулирования. Параллельно с этим Интегральная составляющая выростает в 10 раз. Ее значение немного меньше чем Диффиринциальная составляющая при 1 секундном опросе. Но все равно ощутимо.
    А разыв цепи регулирования увеличивает ошибку и соотвественно изменение выходного параметра ПИД.


    Сообщение отредактировал snmar4enko - Воскресенье, 15.04.2018, 10:49
     

    snmar4enko
    Дата: Воскресенье, 15.04.2018, 13:49 | Сообщение # 75        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Встроил код :
    Скетч новый - 2.0.0 - решил открыть новую ветку, чтобы в старой можно было дописывать ....
    Получилась как бы фазовая модуляция как для симисторов (тиристоров). Нет ограничений для посылки слишком короткого импульса на управление. А это может быть опасно для регулирующего элемента - поэтому начальные испытания на лампочке  75-100вт. Как писал ранее короткие импульсы у меня MOS3063 не пропускает просто на симистор. В случае SSR реле пробуйте на свой страх и риск - ведь у него есть параметр время включения. Пробуйте ...... может где-то не убрал не использованную переменную.
    Также добавил свои библиотеки.

    Использование прошивки 2.0.0 вместе с твердотельным реле, которое поддерживает фазовое управление

    Даташит http://deltronics.ru/images/manual/FOTEK/SSR_manual(rus).pdf

    и то есть вход переменный резистор и источник тока- нужно городить еще схему преобразования потенциала 5в в эмуляцию тока или сопротивления .... для реле
    Прикрепления: 2726661.rar (8.6 Kb) · libraries.rar (20.2 Kb)


    Сообщение отредактировал snmar4enko - Воскресенье, 15.04.2018, 13:51
     

    Форум » Паяльные станции » Инфракрасная паяльная станция на ARDUINO » Инфракрасная паяльная станция своими руками на ARDUINO (Инфракрасная паяльная станция своими руками на ARDUINO)
    Поиск: