Друзья сайта |
Форум поддержки программ "Tiny Tools" (CPLD/USB-S/USB-F/USB-SPI EJTAG Tiny Tools)
Электроника на KitPost
|
Наш опрос |
Оцените мой сайт
Всего ответов: 86
|
|
Инфракрасная паяльная станция своими руками на ARDUINO
| |
Alexandr_ | Дата: Среда, 08.02.2017, 19:55 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 814
Статус: Offline
| Форумчане, куплю-продажу и личные сделки выяснять в личке, либо в новом форуме, этот форум для вопросов по электронной части станции.
Архив по станции от hominidae с проектом efimsu ->здесь Проект Леонида, Leonid0071 "UNO-MAX6675-PC" и его доработки на форуме Амперки -> скачать
Люби грешников, ненавидь сам грех!
|
|
|
Пользователи поблагодарившие Alexandr_ за этот пост: |
|
|
fedorchuk007 | Дата: Воскресенье, 29.04.2018, 09:49 | Сообщение # 121 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Добрый день snmar4enko ,возникла проблемма с скетчем 2.0.6, Неработает бузер(пины менял,нет результата) Плата arduino uno
|
|
|
Пользователи поблагодарившие fedorchuk007 за этот пост: |
|
|
snmar4enko | Дата: Воскресенье, 29.04.2018, 15:39 | Сообщение # 122 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Генерация звука в версии 2.0.6 работает через библиотеку CyberLib, нужно править и строки CyberLib.cpp, ищите код
Код //***************Beep от 50 до 2000Гц**************** void beep(uint16_t dur, uint16_t frq) { //dur=(1000/frq)*dur; //расчет длительности бипа uint16_t per=500000/frq; //длит. полупер в мкс dur=dur/(per/250)*2; for(uint16_t i=0; i<dur; i++) { D18_High; delay_us(per); D18_Low; delay_us(per); } } - D18_High; и D18_Low; Меняем пин 18 на ваш. Не забываем сохранить. После компилируем. Обратите внимание, что в самом скетче нет упоминания вывода Пищалки. Также необходимо чтобы не было конфликта выводов.....
Еще поправили библиотеку для BEEP как D9_Beep(dur, frq) - библиотеку выкладываю.
Сообщение отредактировал snmar4enko - Понедельник, 30.04.2018, 06:16 |
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
fedorchuk007 | Дата: Среда, 02.05.2018, 11:32 | Сообщение # 123 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Спасибо,библиотеку поправил,всё ок)
|
|
|
Пользователи поблагодарившие fedorchuk007 за этот пост: |
|
|
snmar4enko | Дата: Воскресенье, 06.05.2018, 12:13 | Сообщение # 124 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Хорошо что получилось ...... но где результаты фактических тестов пайкой, на каких нагревателях какие коэффициенты ПИД, какие ограничения по мощности, может какие другие температурные цели, паузы в конце шага, другое количество шагов, .... были ли вылеты температур особенно на последнем шаге .....
Или почти у всех картошка в мае?Добавлено (06.05.2018, 12:13) --------------------------------------------- Скетч версии 2.0.7 (для симмисторов без детекции нуля - фазовое управление)
Еще оптимизировал код, особенно функцию инициализации памяти EEPROM. Результат:
Скетч использует 20472 байт (66%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 707 байт (34%) динамической памяти, оставляя 1341 байт для локальных переменных.
Да - на последок - светодиод на выходах мощности ардуины действительно хорошая вещь. Напомню у меня последовательно соединен резистор 200ом, светодиод, и светодиод MOS3023. Можно так же как в параллельном проекте от KSAA просто светодиод с последовательным резистором - и все это на выход мощности ардуины. Так вот в данной версии cкетча, по крайней мере на моих нагревателях значения Kp завышено. И выше упомянутый контрольный светодиод очень хорошо сигнализирует: на установившемся значение мощности - определенная яркость свечения и присутствие колебания (незначительное повышение и понижение яркости с определенной частотой - периодично). Особенно это видно когда нижний нагреватель вышел на финишную прямую - наши 150 градусов.
Так что Тестируйте и пишите какие коэффициенты ПИД у вас получились .....
|
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
Cinema | Дата: Воскресенье, 06.05.2018, 17:52 | Сообщение # 125 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| snmar4enko Приветствую! Мне показалось, что Скетч версии 2.0.7 (для симмисторов без детекции нуля - фазовое управление) не смог закрепиться в вашем сообщении # 124 Возможно, я ошибаюсь... А посмотрите, пожалуйста, что за такая библиотека для управления кнопками:
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
Сообщение отредактировал Cinema - Воскресенье, 06.05.2018, 17:56 |
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
snmar4enko | Дата: Понедельник, 07.05.2018, 05:50 | Сообщение # 126 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Действительно слетел - выкладываю 2.0.7
|
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
fedorchuk007 | Дата: Вторник, 08.05.2018, 21:03 | Сообщение # 127 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Картошку посадил,принялся за тесты...
|
|
|
Пользователи поблагодарившие fedorchuk007 за этот пост: |
|
|
Cinema | Дата: Среда, 09.05.2018, 09:50 | Сообщение # 128 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| При использовании ШИМ в 2,5кГц возможно управление нагревателями способом, оговоренным и доработанным тут: Если ограничиться мощностью НИ в 1600Вт и ВИ в 600-800Вт и использовать старт термопрофиля с момента достижения НИ температуры в 50-70*С (ставить плату на НИ при его температуре в 50-70*С), должно хорошо работать, IMHO. И сеть бытовую не перегрузим, и можно ручной термостат для НИ будет замутить, например, для групповой сушки чипов...
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
Сообщение отредактировал Cinema - Среда, 09.05.2018, 09:56 |
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
snmar4enko | Дата: Среда, 09.05.2018, 14:53 | Сообщение # 129 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Цитата Cinema ( ) При использовании ШИМ в 2,5кГц возможно управление нагревателями способом, оговоренным и доработанным тут -это скорей подходит к станции пользователя KSAA (параллелльный форум).
На других форумах начитал следующее: для эффективного регулирования ПИД необходимо выбрать время за которое ПИД регулирует - к примеру нам необходимо чтобы шаг роста на 1 градус отрабатывал за 0.5 секунды. ПИД для установки стабильного значения мощности на выходе требует 10-100 периодов. То есть время опроса ПИД (время интегрирования и время диффиринцирования) 5-50 милисекунд. (20-200Гц). А оно у нас аж 1 секунда. И появилось оно когда сделал привязку опроса к времени .....
Далее - за это время (между опросами ПИД) необходимо чтобы ШИМ отрегулировал мощность (как минимум 100 значений - 100%) - то есть длина импульса 1 деления 50-500 микросекунд (2-20 кГц). А это никакой симмистор (твердотельное реле) не потянет - следовательно необходимо отвязываться от перехода нуля и регулировать полевыми транзисторами.
Но вернемся к нашему фазовому регулированию. Мощность пропорциональна площади между нулем и огибающей синусоиде. Поэтому некоторые в похожих случаях применяют функцию арккосинуса: к примеру вычисленную ПИД мощность делят на 50, отнимают 1, умножают на 9900 и делят на ПИ.
Получают время в микросекундах для задержки включения тиристора от перехода через ноль. Для этой цели используют прерывания от встроенного таймера - но у нас два регулятора и время может быть разным. Но нужно подумать как это можно пристроить. И еще у нас на симмистор импульс держится до конца полупериода - а у других ограничен 100 микросекундами. Из за этого происходило ложное включение нагревателей у fedorchuk007 из за проблем в детекции нуля.
Сообщение отредактировал snmar4enko - Среда, 09.05.2018, 15:06 |
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
snmar4enko | Дата: Среда, 09.05.2018, 16:30 | Сообщение # 130 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Скетч версии 2.0.8
Уменьшил время опроса ПИД до 50 микросекунд. Проработал переменную flag для нижнего нагревателя. Убрал биения Timer1 до сетевого полупериода.
Перевел LCD1602 на I2C шину. Теперь и другие выводы переназначены: кнопки D6 D7 D8 D9 нагреватели нижний D3 и верхний D4 прерывание с сети D2 осталось и термодатчики тоже. Вентиляторы внутренний D15 и внешний D16 Пищалка на D5 (Cyber.lib выкладываю)
|
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
Cinema | Дата: Среда, 09.05.2018, 16:33 | Сообщение # 131 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Очень непросто для меня все это...:(
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
Сообщение отредактировал Cinema - Среда, 09.05.2018, 16:35 |
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
snmar4enko | Дата: Среда, 09.05.2018, 18:03 | Сообщение # 132 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Есть проблема?
Или что то не понятно?
Или что-то не так работает и нужно исправить?
К тому же присмотритесь к скетчу в позапрошлом моем посте ...... практически паяльная станция на один нагреватель - немного код поправить и можно сделать на 2 нагревателя, к тому же ПИД самостоятельный и можно избавиться от библиотеки PID_v1
Да и чуть ранее писал про то как уменьшить ток ключей, в частности транзисторных - примеру если добились небольших токов то можно первичку компьютерных блоков питания использовать - диодные мосты там на 4-6 ампер, транзисторы 13007 или 13009 на 7 и 9 ампер соотвественно, оптопары 2 шт типа P817 есть ..... так что можно что то на кулибничать для регулировки нагревателей
Сообщение отредактировал snmar4enko - Среда, 09.05.2018, 18:54 |
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
mon | Дата: Среда, 09.05.2018, 20:16 | Сообщение # 133 |
Подполковник
Группа: Модераторы
Сообщений: 191
Статус: Offline
| Цитата snmar4enko ( ) На других форумах начитал следующее: для эффективного регулирования ПИД необходимо выбрать время за которое ПИД регулирует - к примеру нам необходимо чтобы шаг роста на 1 градус отрабатывал за 0.5 секунды. ПИД для установки стабильного значения мощности на выходе требует 10-100 периодов. То есть время опроса ПИД (время интегрирования и время диффиринцирования) 5-50 милисекунд. (20-200Гц). А оно у нас аж 1 секунда. И появилось оно когда сделал привязку опроса к времени ..... Я так понял вы до сих пор не поняли для чего нужен ПИД,вы подсовываете ему в качестве аргументов заданную и текущию температуры,а пытаетесь стабилизировать скорость роста температуры в участках профиля ? Естественно функция ПИД пытается стабилизировать температуру,а не скорость.И с приблежением заданной температуры, будет происходить замедление роста температуры.А чего вы ждали? тут не форумы читать нужно,а назначение ПИД.Цитата snmar4enko ( ) Далее - за это время (между опросами ПИД) необходимо чтобы ШИМ отрегулировал мощность (как минимум 100 значений - 100%) - то есть длина импульса 1 деления 50-500 микросекунд (2-20 кГц). А это никакой симмистор (твердотельное реле) не потянет - следовательно необходимо отвязываться от перехода нуля и регулировать полевыми транзисторами. Вообще ничего не понял,проблемно сделать фазовую регулировку с шагом 0-100? я вам могу точно сказать можно от 0-1000.
Цитата snmar4enko ( ) Но вернемся к нашему фазовому регулированию. Мощность пропорциональна площади между нулем и огибающей синусоиде. Поэтому некоторые в похожих случаях применяют функцию арккосинуса: к примеру вычисленную ПИД мощность делят на 50, отнимают 1, умножают на 9900 и делят на ПИ. С таким подходом,для avr-ок это называется однозадачность,паузы в прерывании,деление на ПИ....это уже переход на arm.
|
|
|
Пользователи поблагодарившие mon за этот пост: |
|
|
snmar4enko | Дата: Четверг, 10.05.2018, 07:20 | Сообщение # 134 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Цитата snmar4enko ( ) На других форумах начитал следующее: для эффективного регулирования ПИД необходимо выбрать время за которое ПИД регулирует - к примеру нам необходимо чтобы шаг роста на 1 градус отрабатывал за 0.5 секунды. ПИД для установки стабильного значения мощности на выходе требует 10-100 периодов. То есть время опроса ПИД (время интегрирования и время диффиринцирования) 5-50 милисекунд. (20-200Гц). А оно у нас аж 1 секунда. И появилось оно когда сделал привязку опроса к времени ..... Я это писал не для того чтобы вы сделали вывод что я не понимаю как работает ПИД. А для того что все взаимосвязано. Если правильно выбраны коэффициенты ПИД то рано или поздно наступит установившийся режим ПИД. Так вот этот установшийся режим наступает за 10, а чтобы наверняка за 100 циклов вычисления ПИД. Время через которое вычисляется ПИД совпадает с временем диффиринцирования и интегрирования составляющих ПИД регулятора. Теперь про ШИМ или фазовый регулятор: его период должен быть меньше или равен периоду опроса ПИД. Штатный ШИМ микроконтроллера имеет 256 значений. Соотвественно минимальное единичное значение ШИМ (период) эквивалентен частоте 25.6 кгц. И такой импульс способен полноценно отработать только транзистор. В симмистора быстродействие раз в 10 меньше. Я не спорю - для фазового управления можно шкалу мощности растянуть и от 0 до 1000. Но это только нагрузит Ардуинку и увеличит размер скетча ..... эффекта не даст (смотрите в даташите параметр время включения (открытия)).
Да и часть скетча я опубликовал для примера ..... как другие делают (может у них более правильный подход). К тому же если ПИД без Д составляющей встроить в наш скетч - будет еще уменьшение размера скетча..... и никаких arm применять не нужно будет.
|
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
mon | Дата: Четверг, 10.05.2018, 20:07 | Сообщение # 135 |
Подполковник
Группа: Модераторы
Сообщений: 191
Статус: Offline
| snmar4enko, Зачем вам 8bit таймер,что у вас за мк? там нет 16bit таймера? Вот осциллограммы эмуляции в протеусе,1процент открытия,50процентов и 95 процентов открытия симистора. Шаг 0-1000.Желтым это импульсы перехода через 0,синим выход на оптрон moc. При одном проценте длительность импульса примерно 1us это шаг 1,а 95 процентов -длительность импульса составляет около 7.5ms соответственно.всё прекрасно работало в живую,кроме функции фазовой регулировки,мк выполнял функции 2-х ПИД, динамическая индикация,1-write,кнопки.использовался int rc на 8Mhz. Tgt скажем у bt139 номинально -2us,что вполне укладывается в рамки управления от с шагм 0-1000.
Сообщение отредактировал mon - Четверг, 10.05.2018, 20:35 |
|
|
Пользователи поблагодарившие mon за этот пост: |
|
|
|