Друзья сайта |
Форум поддержки программ "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_ за этот пост: |
|
|
DIM | Дата: Четверг, 02.05.2019, 05:12 | Сообщение # 541 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| привет всем. с первомаем! устал биться с кодом. хочу что бы каждый из четырех профилей носил имя. перерыл весь гугл, перепробовал кучу всего (естественно по аналогии, а не сам придумал), в общем ума не хватает. а так хочется иметь название профиля а не цифру.
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
snmar4enko | Дата: Четверг, 02.05.2019, 08:00 | Сообщение # 542 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Для четырех трудно!
А по сути названия для двух профилей есть свинцовый и безсвинцовый Pb+ и Pb-. Уже не помню как программировал свои 14 профилей. Но с шагом в 5 градусов, вроде как 7 безсвинцовых и 9 свинцовых получалось.
Есть еще сушка - но не вник в ее суть - может для нее не нужно выделять профиля.
Еще тупо нижний подогрев - ну пока код не дописан - такого профиля пока нет.
Кстати памяти EEPROM пока достаточно и без труда можно хранить номер профиля в памяти - при включении профиль что и при выключении. Номер профиля можно не отображать на экране потому как температуры верхнего и нижнего нагревателей уже отображаются до старта профиля.
Еще, чем больше мучаю Ардуинку тем больше прихожу к выводу, что ПИД для нее нужен только один и рулить она будет только верхом. Низ проще рулить простым симисторным диммером или схемой на подобии:
Делал регулятор по первой схеме - на термопаре К типа, но выход как в схеме 2, первый оптосимистор с включением по 0 и симистор коммутации нагревателя включал в сеть 220 вольт последовательно с нагревателем.
Принцип очень прост: напряжение с термопары смешивается с напряжением коррекции комнатной температуры - далее усиливается до величин чтобы 200 градусам соответсвовало напряжение на вольтметре двум вольтат - такой себе индикатор температуры. Далее напряжение сравнивается с опорным - высталенная так сказать температура. Если в первой схеме конденсатор 100N между 5 и 7 выводами ОУ отсоединить и присоединить между 6 и 7 то получаем ПИД с интегральной характеристикой. Схему можно запитать от сети через конденсатор (реактивное сопротивленние расчитаное на ток 10-20 мА, естественно добавить диод на другую полуволну).
P.S. Да и что мешает греть по профилю, подаем с ардуино ЦАП опорное напряжение (задаем температуру) вместо подстроечного резистора а схема сама все дальше сделает. Фактически это упрощение нагрузки на ардуинку. ПИД, измерение температур MAX6675 - больше нет необходмости. Цена такого упрощения - ардуина работает в слепую. Хотя нет. Если напряжение пропорциональное температуре подавать на АЦП ардуины то будем иметь данные температур ....
Сообщение отредактировал snmar4enko - Четверг, 02.05.2019, 13:27 |
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
Cinema | Дата: Четверг, 02.05.2019, 12:41 | Сообщение # 543 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Цитата snmar4enko ( ) прихожу к выводу, что ПИД для нее нужен только один и рулить она будет только верхом.
Уже реализовано - смотрите пост # 495
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
Cinema | Дата: Четверг, 02.05.2019, 13:20 | Сообщение # 544 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Цитата snmar4enko ( ) проводил эксперименты на доступном нижнем нагревателе - на 1 кВт подошве утюга
Не все платформы утюгов одинаково полезны Полагаю, у вас тяжелая литая, типа моей: http://radioservice.at.ua/forum/23-27-3085-16-1523175377 Моя попытка настроить китайский ПИД-регулятор REX-C100 с термопарой на поверхности платформы утюга - с треском провалилась... У меня изначально термопара прижата снизу платформы, в углублении в центре - вот с ней на этом REX-C100 удалось картину получить приемлемую, хотя и далёкую от идеала.
Когда термопары НА платформе - смотрите жуть:
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
snmar4enko | Дата: Четверг, 02.05.2019, 14:26 | Сообщение # 545 |
Лейтенант
Группа: Пользователи
Сообщений: 68
Статус: Offline
| Сорри ребята. Форум даже на данный момент вычитал не весь .....
С кодом возится почти нет времени. Да уже и подзабыл какая переменная за что отвечает. Нужно заново вникать а времени нет.
Весь разговор к тому, что от нагревателей нагревается корпус нашей паяльной станции, мощность нагревателей порой собирается колоссальная и чтобы обеспечить нужный нам нагрев нужна небольшая подводимая мощность - а в случае фазового управления симистором это очень короткие импульсы. В самом микропроцессоре (Ардуино) прошиты фьюзы контроля питания, что малейшые пульсации дают сбой. Общим такое гнобление Ардуинки со всех сторон выдвигает ряд новых требований для обеспечения нормальной работы нашей паяльной станции. А мы что делаем .... разносим нагреватели и сам контролер по разным корпусам (меньшим в размерах) при этом силовые ключи стоят очень близко к самой ардуинке и если не предусматриваем экран между ними хотя бы из алюминиевого радиатора на котором стоит силовой ключ то помеха временами такая, что даже на LCD экране крякобяки, сама ардуинка то зависает то перегружается. Далее измерение температуры MAX6675 очень боится любых потенциалов на термопаре. А они в непосредсвенной близости а особенно в контакте с нагревателем очень часто наводятся или передаются через контакт с нагревателем. .... И это еще не все проблемы.
А на счет прошлых мною оглашенных двух схем и ардуинки как UART связи с компом в котором используются только два ЦАП и 2 АЦП подумайте. Хотя в качестве ЦАП можно использовать и ШИМ с RC фильтром, что сильно упрощает код. Хотя к паяльной станции еще присоединять и комп или - это по моему слишком. Такое можно себе позволить лишь 1-3 раза или больше если и монитор и комп(типа неттопа) висят на стене и не загромождают стол.
Кстати - та схема от 936 паяльника неплохо работает, как подмешать туда пайку по термопрофилю может даже без ардуинки? Есть идеи?
P.S. А подошва утюга у меня масивная, верх к низу приклеен на какой то красно-коричневый термопроводящий клей.
|
|
|
Пользователи поблагодарившие snmar4enko за этот пост: |
|
|
dscOlga | Дата: Четверг, 02.05.2019, 18:39 | Сообщение # 546 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Цитата snmar4enko ( ) Низ проще рулить простым симисторным диммером или схемой на подобии
А чем ПИД не угодил-то? Ресурсов хватает, памяти ещё пока достаточно, чёткое регулирование низом, есть возможность добавить управление с ПЭВМ. Зачем городить аналоговую схему с её заморочками и недостатками, если есть возможность программно всё организовать. А использование ЦАП это вообще фантастическая идея. У ардуины на борту нет "железного" ЦАП, значит нужно либо внешний либо отводить целый порт под R2R+затраты кода. По моему мнению сейчас надо проработать алгоритм для управления высоко инерционными нагревателями и спокойно рулить ими используя два ПИД регулятора.Добавлено (02.05.2019, 18:40) ---------------------------------------------
Цитата DIM ( ) устал биться с кодом. хочу что бы каждый из четырех профилей носил имя. перерыл весь гугл, перепробовал кучу всего (естественно по аналогии, а не сам придумал), в общем ума не хватает. а так хочется иметь название профиля а не цифру. Напишите подробнее как именно вы хотите назвать профили и где их выводить.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
Cinema | Дата: Четверг, 02.05.2019, 19:15 | Сообщение # 547 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| dscOlga Приветствую! Подскажите, пожалуйста, по (теперь уже сильно измененной) v2.0.9 от snmar4enko Я немного причесал её и принял решение переименовать, т.к. очень много вами там изменено... Не понимаю вот что: В скетче значения коэффициентов делятся на сотни и десятки, затем в каком виде записываются в EEPROM? А затем в каких размерностях выводятся на дисплей? Запутался совсем... Ведь выставить в меню можно каждый от 0,00 до 25,50. А это сколько для P и сколько для I, D... Ещё в этой версии не побежден опасный глюк - если ZCC ушёл в астрал или работает некорректно, а при этом СЛУЧАЙНО нажать старт - НЕМИНУЕМО включается ВИ и кнопка CANCEL его НЕ выключает - помогает только полное отключение питания контроллера. Галогенки-то сразу заметишь, а керамику и кварц - вряд ли... Похожий глюк с НИ вы помогли искоренить.
Теперь о программе new heater. В релизе v1.3.4 с вашей помощью удалось синхронизировать старт графиков со стартом профиля, в представленном в этом посте у меня это не получилось. Программа выводит названия только первых 4-ёх профилей из имеющихся 14-ти. Как бы я мог представить вывод в этой программе названий произвольного количества профилей? - Наверное так: В папке с запускным файлом самой программы находится текстовый документ, в котором столбиком расположены номера профилей, а напротив этих номеров, через пробел или т.п., например, в кавычках, записаны названия профилей, которые программа будет выводить при переключении их кнопками на контроллере... Тогда, сколько-бы профилей ни разместили в памяти контроллера - имя каждого будет выведено программой...
А вообще для меня самое ценное в программе - графики, индикация реальных температур (платы и у чипа) и лог. Всё остальное - мне не важно.
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
Сообщение отредактировал Cinema - Суббота, 04.05.2019, 19:00 |
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
DIM | Дата: Четверг, 02.05.2019, 19:40 | Сообщение # 548 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| dscOlga приветствую!
Цитата dscOlga ( ) Напишите подробнее как именно вы хотите назвать профили
к примеру так: 1й профиль SnPb, 2й - NoPb, 3й - SnPb, 4й - NoPb, что для меня будет означать: 1 - свинцовый профиль пайка, 2 -безсвинцовый пайка, 3 - свинцовый съем, 4 - безсвинец съем. как то так.
Цитата dscOlga ( ) и где их выводить.
после PTN: там потом я названия уже сам смогу поправить на другие если что. вот мой скетч (напомню, у меня не обычный дисплей):
Сообщение отредактировал DIM - Четверг, 02.05.2019, 19:43 |
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
dscOlga | Дата: Четверг, 02.05.2019, 22:22 | Сообщение # 549 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Цитата DIM ( ) к примеру так: 1й профиль SnPb, 2й - NoPb, 3й - SnPb, 4й - NoPb, что для меня будет означать: 1 - свинцовый профиль пайка, 2 -безсвинцовый пайка, 3 - свинцовый съем, 4 - безсвинец съем. как то так. Вот вам один из вариантов. В переменной profile_name в кавычках имена профилей по порядку. Имена можете менять, но длина всех имён должна быть одинаковая.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
DIM | Дата: Пятница, 03.05.2019, 04:40 | Сообщение # 550 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| dscOlga, спасибо! то что нужно, вы просто волшебник.
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
Cinema | Дата: Пятница, 03.05.2019, 12:44 | Сообщение # 551 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Ещё одна версия переработанного релиза REWORK_LCD1602_v2.0.9 snmar4enko. Эта версия может выводить графики в программу с открытым исходным кодом serial port plotter
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
dscOlga | Дата: Пятница, 03.05.2019, 20:30 | Сообщение # 552 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Цитата Cinema ( ) Не понимаю вот что: В скетче значения коэффициентов делятся на сотни и десятки, затем в каком виде записываются в EEPROM? А затем в каких размерностях выводятся на дисплей? Запутался совсем... Ведь выставить в меню можно каждый от 0,00 до 25,50. А это сколько для P и сколько для I, D... В скетче 2.1.0 коэффициенты kP kI kD поступают в ПИД в таком виде, как мы их видим на экране. Обычно размерность коэффициентов следующая: kP - как правило, это целые числа(в нашем случае 0.0 - 25.5), kI - от тысячных до десятых(в нашем случае 0.00-2.55), kD - от сотых до единиц(в нашем случае 0.00-2.55). В EEPROM коэффициенты записываются в виде целых чисел 0-255. Для ПИД регулятора мы эти целые коэффициенты делим на 10 или на 100(kP делим на 10, kI и kD делим на 100). Всё просто.
Цитата Cinema ( ) Ещё в этой версии не побежден опасный глюк - если ZCC ушёл в астрал или работает некорректно, а при этом СЛУЧАЙНО нажать старт - НЕМИНУЕМО включается ВИ и кнопка CANCEL его НЕ выключает - помогает только полное отключение питания контроллера. Скорее НИ должен шпарить, посмотрю в протеусе что и как.
Цитата Cinema ( ) В релизе v1.3.4 с вашей помощью удалось синхронизировать старт графиков со стартом профиля, в представленном в этом посте у меня это не получилось. Это тоже гляну.
Цитата Cinema ( ) Программа выводит названия только первых 4-ёх профилей из имеющихся 14-ти.Как бы я мог представить вывод в этой программе названий произвольного количества профилей? - Наверное так: В папке с запускным файлом самой программы находится текстовый документ, в котором столбиком расположены номера профилей, а напротив этих номеров, через пробел или т.п., например, в кавычках, записаны названия профилей, которые программа будет выводить при переключении их кнопками на контроллере... Тогда, сколько-бы профилей ни разместили в памяти контроллера - имя каждого будет выведено программой... Хорошая идея, я попробую.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
valentintatchin | Дата: Суббота, 04.05.2019, 09:56 | Сообщение # 553 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Добрый день. Может кто сталкивался, у меня не запускается ардуна с подключенным детектором ноля. Если после загрузки подключить то ардуина работает нормально. Смотрел на осциллографе,импульсы идут вроди правельные. Схема детектора из архива.
|
|
|
Пользователи поблагодарившие valentintatchin за этот пост: |
|
|
Cinema | Дата: Суббота, 04.05.2019, 12:43 | Сообщение # 554 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Dmitrysh Я подружил вашу irsp.exe со скетчем snmar4enko! Теперь графики стартуют с запуском профиля. Пока названия профилей не соответствуют прописанным в скетче, но это не так уж важно. Мощность ВИ и НИ программа показывает разделенную на 2, не знаю, зачем это сделано, но, полагаю, это вот тут "int(Output1 / 2), int(Output2 / 2)": Код sprintf (buf, "OK%03d%03d%03d%03d%03d\r\n", int(Output1 / 2), int(Output2 / 2), tc1, tc2, currentProfile); // вывод на комп через UART Serial.print(buf); // ВЫВОД графиков на ПК
snmar4enko Посмотрите ваш модифицированный скетч - теперь там удобно сгруппированы переменные и сделаны пояснения к ним по-русски.
valentintatchin попробуйте код и прогу из архива в этом посте. Увидел ваш вопрос и спаял навесом ZCC точно, как в архиве. Для чистоты эксперимента использовал другую платку ProMini:
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
valentintatchin | Дата: Суббота, 04.05.2019, 19:00 | Сообщение # 555 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Cinema, Спасибо за ответ. Прошил прошивкой из предложного Вами архива но все равно не стартует с детектором ноля. У меня собрано на arduino nano, что было под рукой. Распаял на макетке, пробовал разные БП, навесил кондеров по питанию но все безрезультатно. Уже проскакивает идея сделать задержку на реле для включения детектора после загрузки ардуины.
|
|
|
Пользователи поблагодарившие valentintatchin за этот пост: |
|
|
|