Друзья сайта |
Форум поддержки программ "Tiny Tools" (CPLD/USB-S/USB-F/USB-SPI EJTAG Tiny Tools)
Электроника на KitPost
|
Наш опрос |
Оцените мой сайт
Всего ответов: 86
|
|
Инфракрасная паяльная станция своими руками на ARDUINO
| |
Alexandr_ | Дата: Среда, 08.02.2017, 19:55 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 813
Статус: Offline
| Форумчане, куплю-продажу и личные сделки выяснять в личке, либо в новом форуме, этот форум для вопросов по электронной части станции.
Архив по станции от hominidae с проектом efimsu ->здесь Проект Леонида, Leonid0071 "UNO-MAX6675-PC" и его доработки на форуме Амперки -> скачать
Люби грешников, ненавидь сам грех!
|
|
|
Пользователи поблагодарившие Alexandr_ за этот пост: |
|
|
dscOlga | Дата: Четверг, 21.02.2019, 17:31 | Сообщение # 466 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Вот просто нижний нагреватель. Грею от 120(некогда охлаждать). Задание 150 градусов, скорость нагрева 1 градус/сек. Небольшой вылет до 151 градуса(допустимо, но буду настаивать). Температура держится в диапазоне 149,8 - 150,6. Как видно колебания меньше 1 градуса. Для малоинерционного галогена и медленной мах6675(4 измерения в секунду) это хороший результат. Кстати мощность низа ограничена 80%. Но это так, больше для проводки чем для результата. Скорость роста температуры у меня можно задавать от 0,1 до примерно 3 градусов/сек, я её регулирую немного не так как у всех, у меня отдельная математика.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
DIM | Дата: Четверг, 21.02.2019, 17:33 | Сообщение # 467 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| пробую верх мощность 80%, и пока все пытаюсь выровнять. завтра видимо уже, сегодня может еще один раз станцию запущу. наверное 180 и 225 разобью в три шага: 180 200 225. это я пытаюсь для снятия сев. моста на моем ноуте настроить безсвинцовый профиль.не хочу загубить почти рабочий ноутбук (нет usb).
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
dscOlga | Дата: Четверг, 21.02.2019, 20:14 | Сообщение # 468 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Обязательно пробуйте, всё должно получится.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
DIM | Дата: Суббота, 02.03.2019, 19:03 | Сообщение # 469 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| сегодня решился подстроить, чет никак у меня маленькие разбросы не получаются. вот график, можно им уже снимать безсвинец, или еще настраивать?
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
dscOlga | Дата: Суббота, 02.03.2019, 19:14 | Сообщение # 470 |
Майор
Группа: Пользователи
Сообщений: 83
Статус: Offline
| Цитата DIM ( ) можно им уже снимать безсвинец, или еще настраивать? По хорошему настраивать нужно, но если очень надо, то и снять чип можно.
|
|
|
Пользователи поблагодарившие dscOlga за этот пост: |
|
|
DIM | Дата: Суббота, 02.03.2019, 19:26 | Сообщение # 471 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| dscOlga, чеж у меня не настраивается? этот график лучше?
Добавлено (03.03.2019, 10:45) --------------------------------------------- все, задолбал меня этот гребанный ПИД....т. ну нет моих нервов больше, ни по науке, ни по методу тыка, он не-на-ст-ра-и-вается! не верюююююю
Сообщение отредактировал DIM - Воскресенье, 03.03.2019, 10:47 |
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
Cinema | Дата: Воскресенье, 03.03.2019, 16:02 | Сообщение # 472 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| DIM dscOlga провёл очень серьёзную хирургическую операцию на версии скетча, имеющей одни корни с используемым вами. Попробуйте привести ваш скетч в порядок, используя информацию из архива. Возможно, трудности с настройкой ПИД явным образом вызваны теми ошибками, которые dscOlga поправил и отразил правки в файле changes.txt, который есть в архиве.
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
DIM | Дата: Воскресенье, 03.03.2019, 17:42 | Сообщение # 473 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| Cinema, спасибо конечно, но мне такое вообще не осилить, да и половины я даже не нашел у себя. вот как то так. не понял к примеру это: 2. counter, secs, curCount стали byte это фраза целиком если да то ее у меня нет, а если это отдельные термины то тогда не понятно зачем эти пункты: 4. startTemp стала byte 5. rampRateStep стала byte и еще, не нашел этого: 8. Вот косячок о котором я писал на форуме. if (millis() > nextRead3) { Output1 = Pid1(Input1, Setpoint1, kp1, ki1, kd1); Output2 = Pid2(Input2, Setpoint2, kp2, ki2, kd2); nextRead3 = millis() + PID_SAMPLING_TIME; }//<---------------------------------------------------------------------------------------- if (!TopStart) Output1 = 0; короче только запутался....
Сообщение отредактировал DIM - Воскресенье, 03.03.2019, 18:16 |
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
Cinema | Дата: Воскресенье, 03.03.2019, 22:04 | Сообщение # 474 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| Цитата DIM ( ) короче только запутался....
Надеюсь, я всё правильно отредактировал. Смотрите скетч, читайте файл ПРАВКИ. Многое совпадает в файле ПРАВКИ с этим релизом. Кое-что не совпадает. Пробуйте скетч.
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
DIM | Дата: Понедельник, 04.03.2019, 00:36 | Сообщение # 475 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| Cinema, обязательно попробую после работы. как уже говорил ранее спс. вперед не говорю, чет примета у меня такая.
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
Cinema | Дата: Понедельник, 04.03.2019, 00:40 | Сообщение # 476 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| DIM Dmitrish ещё несколько граблей исправил, я соответствующим образом поправил и ваш скетч. Этот пробуйте.
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
|
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
DIM | Дата: Понедельник, 04.03.2019, 00:58 | Сообщение # 477 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| я предыдуший прям сейчас ночью попробовал, и вот что там не так на первый взгляд. он не комплимируется пока не добавил строчку #include <Wire.h> далее в этих настройках нет значения ниже 1: устанавливаемскорость нагрева "Верхним Нагревателем" case REFLOW_STATE_MENU_STEP_RAMP: St1 1 St2 1 St3 1 это самый минимум, т.е. о,5 и 0,75 уже не наберешь.
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
Cinema | Дата: Понедельник, 04.03.2019, 01:16 | Сообщение # 478 |
Генерал-майор
Группа: Проверенные
Сообщений: 618
Статус: Offline
| DIM Странно, конечно, но, возможно, в вашем скетче Wire.h как-то всё же задействована, наверное из-за хитрого дисплея - у меня-то он один, а у вас получается два. Ладно, с этим разобрались. Далее по установке скорости роста температуры в шаге. Код //устанавливаем скорость нагрева "Верхним Нагревателем" case REFLOW_STATE_MENU_STEP_RAMP:
if (updateScreen) { lcd2.setCursor(2, 0); lcd2.print("Step "); lcd2.print(editStep + 1); lcd2.print(" Ramp: "); updateScreen = false; } lcd2.setCursor(14, 0); lcd2.print(rampRateStep[editStep]); lcd.print(" "); if (upSwitchState == HIGH && ( millis() - ms_button) > 200) { ms_button = millis(); rampRateStep [editStep]= rampRateStep [editStep]+ 1; if (rampRateStep [editStep]>= 30) //(только целые числа) максимальная скорость роста температуры умноженная на 10 { rampRateStep [editStep]= 30; //(только целые числа) максимальная скорость роста температуры умноженная на 10 } } if (downSwitchState == HIGH && ( millis() - ms_button) > 200) { ms_button = millis(); rampRateStep [editStep]= rampRateStep [editStep]- 1; if (rampRateStep [editStep]<= 1) //(только целые числа) минимальная скорость роста температуры умноженная на 10 { rampRateStep [editStep]= 1; //(только целые числа) минимальная скорость роста температуры умноженная на 10 } } if (okSwitchState == HIGH && !button_state && ( millis() - ms_button) > 200) { ms_button = millis(); button_state = true; } if (okSwitchState == LOW && button_state && ( millis() - ms_button) > 200) { ms_button = millis(); button_state = false; updateScreen = true; if (editStep + 1 == profileSteps) { editStep = 0; reflowState = REFLOW_STATE_MENU_STEP_TARGET; } else { editStep++; } } if (cancelSwitchState == HIGH && ( millis() - ms_button) > 50) { ms_button = millis(); updateScreen = true; editStep = 0; lcd.clear(); lcd2.clear(); reflowState = REFLOW_STATE_IDLE; } break;
должны отображаться цифры от 1 до 30 без дробных частей. Здесь 30=3,0*С/сек, а 1=0,1*С/сек. Так в последней редакции. Так. Я вернул Wire.h и подправил номер дисплея, на который выводится скорость роста температуры в меню. Архив тут.
"Опыт — это то, что получаешь, не получив того, что хотел" © интернет
Сообщение отредактировал Cinema - Понедельник, 04.03.2019, 01:47 |
|
|
Пользователи поблагодарившие Cinema за этот пост: |
|
|
DIM | Дата: Понедельник, 04.03.2019, 01:44 | Сообщение # 479 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| Cinema, странно, но этот кусок кода в предыдущем у меня скетче выглядит так:
выделил что в глаза бросается. надо наверное просто этот кусок подменить из предыдушего?
Сообщение отредактировал DIM - Понедельник, 04.03.2019, 01:47 |
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
DIM | Дата: Понедельник, 04.03.2019, 02:09 | Сообщение # 480 |
Подполковник
Группа: Пользователи
Сообщений: 172
Статус: Offline
| вот можно увидеть разницу здесь:
|
|
|
Пользователи поблагодарившие DIM за этот пост: |
|
|
|