Т.е. после 346 град. продолжает ползти температура вверх?
Начиная с 300 град, вижу, что мощность равна 0.00, т.е. симистором никто не управляет и он должен быть закрыт.
Так и должно быть. Симистор чудит, что ли, иначе откуда нагреву взяться?
Возможен, конечно, выброс перерегулирования вверх, при достижении заданной температуры, но не столько, и затем температура должна снижаться.
ЗЫ. Такие длинные логи лучше в спойлер пихать - устанешь проматывать ))
Частотомер говорит 100Гц с начала, далее частота падает. Светодиод на ноги D8 и GND говорит то-же самое. Импульсы прекращаются после набора температуры. Скорее всего дохлый симистор. Не закрывается видимо...
Решил свою проблему. Ребята, убедительная просьба: Никогда не подключайте 5 ногу MOC302X к 4-й или 6-й, даже если на ней написано NC. Геморой тот ещё...
Где-то в этой теме я читал про то что при большой разнице между текущей и вновь измененной температурой фена, станция впадает в [!].
У меня сейчас такая ситуация: 250 набирает смело, но медленно. До 200 быстро. До 350 делает так:
1) Идет набор до ~240
2) Мееееедленно позет вверх по градусам
3) За 1 минуту работы доползает до 290
4) Доползла до 300 и в защиту
Температура настроена. Что из сопла то и на калибровочном термометре.
Сейчас даже до 300 не дошла. Вырубилась на 270.
Сейчас провел опыты небольшие с постепенным набором температуры. Отключилась на 315.
Добрый вечер, нашел 2 штуки OMI-SS-212DM , с 6 контактами как на изображении, подскажите можно его запихнуть вместо 2х реле которые стоят в схеме, насколько я понял мое 2х канальное или нужна именно 2 одноканальных, az8-1ch-24dea не могу найти на али ? Спасибо
при большой разнице между текущей и вновь измененной температурой фена, станция впадает в [!].
В последней версии это закомментировано и не работает. Только мо макс-мин (обрыв/кз ТП).
Цитата:
Отключилась на 315.
Закомментируйте, для пробы, в процедуре WorkWithHotAir() кусок кода между комментариями
/* Additional protection, if the temperature is not changed within 3 secs */
и
/* Turn ON relay */
Только строку
uint16_t delta = ABS(SetHotAirT, GetHotAirT);
не комментируйте, она нужна ниже.
Скорее всего защита срабатывает из-за медленного набора температуры.
По медленному набору температуры. Попробуйте в места, где включается фен и регулируются температура и обороты фена вставить строку
integral = 0;
А что бы пошустрее набирало при высоких и не сильно перерегулировало при низких, то замените процедуру HA_PI() на чуть доработанную -
void HA_PI() {
int err = SetT - GetT;
float tmp_power = ((Kp * err) + (Ki * integral));
float max_power = 50;
if (SetT < 200) max_power = 30;
if (tmp_power < max_power && tmp_power > 0.0) integral += err;
HApower = constrain(tmp_power, 0.0, max_power);
CalctImpulseControl();
}
ЗЫ. В скайп стукнул - тишина.
snake9x пишет:
или нужна именно 2 одноканальных
Нужны два одиночных реле. Я свои выдрал из дохлой автосигнализации, поэтому и использовал 12-вольтовые.
Вроде похожие на эти. Недавно на али брал такие, на 24 вольта, распиновка совпадает, по размеру, вроде чуть меньше, нужно померять.
посидел порисовал дорожки которые в результате вышли толще конденсаторов (брал 0805) плюнул и заказал в ЧиД (не реклама ибо с ценами там ппц) нормальные выводные резисторы и конденсаторы в управляющие цепи...
рисую под них черновой вариант (надеюсь угадать с размерами деталей) и возникает вопрос:
вот по этой схеме
по красному пути пойдет ток до 5А (если не прав то поправьте, пожалуйста) а какие токи пойдут по синему и зеленому путям?
Да и правильно ли я проложил пути тока на схеме?
P.S. Еще раз прошу простить за достаточно детские вопросы, раньше собирал все модулями. Пока разбираюсь с ПС уже изучил больше теории чем знал раньше... один eagle почти месяц вертел пока более-менее разобрался
У меня все силовые дороги шириной 2мм. Но платы я делаю не с маской. Всю силу я по верху проливаю оловом равномерно. Как-то так...
Синюю и красную дорисуй до С8 и С6. Там сила тоже нужна. Да и R7 и С4 тоже закрась.
Если делать маску и не лудить дороги, я думаю что для зеленой надо будет около 2.5мм, а синяя и красная и по 2 пойдет... Но лучше проливать дороги оловом.
Синюю и красную дорисуй до С8 и С6. Там сила тоже нужна. Да и R7 и С4 тоже закрась.
до маски мне как до марса, это вообще первое травление будет. интересно с какого раза выйдет?)
а по цветным дорогам: там напряжение роли не играет (в ширине дорожки) , важна сила тока. по синему пути пойдет ток для вентилятора фена, он там не большой. по зеленому нареватель фена ток больше, но никак не 4А (дорожка в 2мм стандартной толщины), ну не очень уверен, но 4Ах220В=880 ватт многовато для него
красная дорожка тут ток самый большой будет, на старте нагрева около 6А вроде в теме писали.
про дорисовать: исхожу из того что тока через диод и конденсаторы (синяя и красная) в нормальном режиме не будет. А вот R7 и C4 наверное соглашусь с вами.
Возможно, все написаное мною неверно. "я не волшебник, я только учусь")
Потестил сегодня свою "пятиэтажку"... Заметил одну интересную особенность. Если задать температуру до 350 градусов, то фен без напрягов набирает и держит ее. Если дать около 370, станция набирает температуру, начинает стабилизироваться на заданом значении и уходит в защиту. Странно как то.
Закомментируйте, для пробы, в процедуре WorkWithHotAir() кусок кода между комментариями
/* Additional protection, if the temperature is not changed within 3 secs */
и
/* Turn ON relay */
Только строку
1
uint16_t delta = ABS(SetHotAirT, GetHotAirT);
Пробовал делать по Вашей подсказке. Повылазила куча ошибок при компиляции и я забросил эту идею.
По медленному набору температуры. Попробуйте в места, где включается фен и регулируются температура и обороты фена вставить строку
1
integral = 0;
Тут немного не допёр... Извиняйте. С коддингом у меня: -3
ЗЫ: В скайпе топикстартера не увидел. Имя пользователя в Skype = имени пользователя на форуме;
по красному пути пойдет ток до 5А (если не прав то поправьте, пожалуйста) а какие токи пойдут по синему и зеленому путям?
Красный путь - нагреватель паяльника, сопротивление холодного нагревателя при комнатной температуре ~2.5-3.5 ом, при нагреве увеличивается. Значит, ток через холодный нагреватель при 24В питании какой будет? Непродолжительное время, конечно, но нужно всегда рассчитывать с запасом, что бы дорожки не превращались в предохранители...
Синий - вентилятор фена. На вентиляторе написано 0,25А.
Зелёный - нагреватель фена. Указана мощность (насколько помню) 700 ватт. Делите на 220. Также, не постоянного потребления, только при разогреве.
Красный путь - нагреватель паяльника, сопротивление холодного нагревателя при комнатной температуре ~2.5-3.5 ом, при нагреве увеличивается. Значит, ток через холодный нагреватель при 24В питании какой будет?
9,6А будет. по калькуляторам ширина дорожки должна быть 6,8мм, тут проблема в том что мосфет который я взял имеет растояние между крайними контактами 6 мм. В общм решил не выкаблучиваться и довериться практике (сделать как Umkalabговорил, дорожки по 2мм и залудить их, там где паяльник пожирнее)
Вчера наконец то дождался подстроечники и стал настраивать станцию. Прошивку залил вер 1.2. Начал с канала паяльника. Регулируется и настраивается все нормально. Правда при включении паяльника температура на жале по измерительному термометру растет медленнее чем на термопаре паяльника. И настроить это не получается. И еще выставляю например температуру 160 и включаю паяльник. На индикаторе измеренная температура растет и пакозывается 170-172 после может падать до 160, а может появиться [!]. Нажимаю на кнопку выключения паяльника без длительного удержания. [!] исчезает и далее температура держится 160 на ингдикаторе и на измерительном термометре. Что это такое? Может кто подскажет. Или я не правильно отрегулировал канал. Операционник LM358.
/* if used not rail-to-rail OPA, then uncomment it */
#define LM358
Эта строчка в начале скетча разкомментирована?
У меня кстати тоже наблюдается подобная беда. Паяльник начинал калибровать только когда прогреется, ~ 1 минуту времени после установки температуры. Наплавлял олово на жало и подтыкал термопару прям в олово.
[!] - это защита. Чего-то программе не нравиться в данных поступаемых с операционника.
Правда при включении паяльника температура на жале по измерительному термометру растет медленнее чем на термопаре паяльника. И настроить это не получается.
Как вы представляете себе настроить инерционность передачи температуры, да ещё и при наличии воздушного зазора между жалом и нагревателем? Даже при устоявшейся температуре жала и совпадении её с температурой термодатчика внутри нагревателя, при касании места пайки, температура жала может очень и очень сильно отличаться. Т.е. температура жала уже упала градусов на 10-30, а внутренний термодатчик этого не видит из-за воздушного зазора жало-нагреватель. В этом плане, картриджи Т12 более совершенны.
Цитата:
И еще выставляю например температуру 160 и включаю паяльник. На индикаторе измеренная температура растет и пакозывается 170-172 после может падать до 160, а может появиться [!].
Скорее всего отрабатывает динамическая доп. защита. Там хрень полная.
Залейте пока этот скетч, в нём эта защита отключена.
Срочное критическое замечание для всех версий.
Закомментируйте в процедурах SolderOff() и HotAirOff() строки с MemSolder() и MemHotAir(), соответственно.
Проглядел я, однако, что постоянно пишется в EEPROM, если канал выключен. "Запоминалки" можно перенести чуть выше, под скобку, что бы при защите запоминалось или вообще убрать, тогда запоминаться будет только при ручном выключении или по таймеру.
Доработка ниже (в шапке и в пред. сообщении доработано) -
/* Solder full off */
void SolderOff() {
analogWrite(pinSolderPwm, 0);
D5_Low;
delay_ms(100);
D4_Low;
if (S_PROT) {
S_PROT = false;
Beep(1000);
MemSolder();
}
}
/* HotAir full off */
void HotAirOff() {
D8_Low;
delay_ms(30);
D7_Low;
if (HA_PROT) {
HA_PROT = false;
Beep(1000);
MemHotAir();
}
}
Последний файл 1.2 правильный? Просто при сравнении старого 1.2 и нового присутствуют намного больше изменений, чем указано в посте. Просто всё бывает.... а если последний 1.2 файл "правильный", то что ещё менялось? или просто косметика и оптимизация?
что ещё менялось? или просто косметика и оптимизация?
Фактически, всё началось с "изобретения" защит. Я их вынес в отдельную функцию, возвращающую код ошибки, т.к. их получилось около 5 штук и что бы не гадать о причине срабатывания. Планировалось выводить код (номер) ошибки вместо [!]. Что-то, вроде получилось, что-то не очень, но в один момент компилятор послал меня в лес, сказав, что память в 168-й Атмеге не резиновая. Вернул всё "взад" и прошерстил, до кучи, код, поудалял лишние переменные и кое-что немного изменил. В процессе и заметил, что при выключенном канале постоянно выполняется запоминание уставок. Этот косяк с самой первой версии, оказывается там был...
В общем, дико ай эм сорри, если чо ))
ЗЫ. Процедура HA_PI() там в двух версиях, одна закомментирована. Последняя, типа, с "адаптивным" ограничителем максимальной мощности при наборе Т. Как бы, низкая заданная Т - небольшая мощность, высокая - соответственно. Преследовалась цель уменьшить выброс при малых Т и ускорить набор на высоких. Графики получились такие (можно сравнить с графиками в шапке), но нужно ещё поэкспериментить, поэтому и закомменчена -
К примеру... для LCD библиотеки заменено init на begin, и файл сразу выдал ошибку, библиотека не понимает, знач нужна другая, зачем?
Потому, что дисплей в проекте "просто фен" со старой библой не работал. Скачал с ГитХаба новую - тоже выдало ошибку, как оказалось, разница в инициализации дисплея. Новая библа работает в обоих проектах. В принципе, всё. Вот, что забыл, сейчас обновлю в архиве библиотеку для дисплея.
К Атмел Студии подключена 1.6.5 и с дисплеем ПС работала нормально. В ней же компилю с этой же библой для дисплея 1602 проекта для фена - фигвам, не все символы отображаются. С новой библой, в той же 1.6.5, всё нормально с обоими дисплеями.
Есть ещё 1.6.7 версия. Более новыми не пользуюсь.
Температуру выставил на 300 градусов.
Вот чего написало:
Т.е. после 346 град. продолжает ползти температура вверх?
Начиная с 300 град, вижу, что мощность равна 0.00, т.е. симистором никто не управляет и он должен быть закрыт.
Так и должно быть. Симистор чудит, что ли, иначе откуда нагреву взяться?
Возможен, конечно, выброс перерегулирования вверх, при достижении заданной температуры, но не столько, и затем температура должна снижаться.
ЗЫ. Такие длинные логи лучше в спойлер пихать - устанешь проматывать ))
Про ЛОГ я понял. Про симистор тоже. Да, температура растет. Завтра буду менять семистор и смотреть обвязку. В скайп не стукните? :)))
Если только в текстовом режиме - нет камеры и микрофона. Просто пользуюсь обычно телефоном ))
Более чем достаточно.
Убедиться бы ещё, что при Power = 0 и импульсы управления не идут на оптосимистор.
В скайп стукну, только сперва скачаю его ))
Убедиться бы ещё, что при Power = 0 и импульсы управления не идут на оптосимистор.
Сейчас частотомером гляну...
Частотомер говорит 100Гц с начала, далее частота падает. Светодиод на ноги D8 и GND говорит то-же самое. Импульсы прекращаются после набора температуры. Скорее всего дохлый симистор. Не закрывается видимо...
Скорее всего.
Решил свою проблему. Ребята, убедительная просьба: Никогда не подключайте 5 ногу MOC302X к 4-й или 6-й, даже если на ней написано NC. Геморой тот ещё...
Где-то в этой теме я читал про то что при большой разнице между текущей и вновь измененной температурой фена, станция впадает в [!].
У меня сейчас такая ситуация: 250 набирает смело, но медленно. До 200 быстро. До 350 делает так:
1) Идет набор до ~240
2) Мееееедленно позет вверх по градусам
3) За 1 минуту работы доползает до 290
4) Доползла до 300 и в защиту
Температура настроена. Что из сопла то и на калибровочном термометре.
Сейчас даже до 300 не дошла. Вырубилась на 270.
Сейчас провел опыты небольшие с постепенным набором температуры. Отключилась на 315.
Добрый вечер, нашел 2 штуки OMI-SS-212DM , с 6 контактами как на изображении, подскажите можно его запихнуть вместо 2х реле которые стоят в схеме, насколько я понял мое 2х канальное или нужна именно 2 одноканальных, az8-1ch-24dea не могу найти на али ? Спасибо
В последней версии это закомментировано и не работает. Только мо макс-мин (обрыв/кз ТП).
Закомментируйте, для пробы, в процедуре WorkWithHotAir() кусок кода между комментариями
/* Additional protection, if the temperature is not changed within 3 secs */
и
/* Turn ON relay */
Только строку
не комментируйте, она нужна ниже.
Скорее всего защита срабатывает из-за медленного набора температуры.
По медленному набору температуры. Попробуйте в места, где включается фен и регулируются температура и обороты фена вставить строку
А что бы пошустрее набирало при высоких и не сильно перерегулировало при низких, то замените процедуру HA_PI() на чуть доработанную -
ЗЫ. В скайп стукнул - тишина.
Нужны два одиночных реле. Я свои выдрал из дохлой автосигнализации, поэтому и использовал 12-вольтовые.
Вроде похожие на эти. Недавно на али брал такие, на 24 вольта, распиновка совпадает, по размеру, вроде чуть меньше, нужно померять.
Отдельная тема "про фен" - тут.
Пардон. Уже в кровати. Половина первого. Завтра на работе буду, обязательно спишемся.
Только если вечером. На моей работе не спишешься ))
OlegK, можно ли в качестве резисторов на 39 Ом и 240кОм взять вот такие:
https://www.chipdip.ru/product0/9000190239
Смущает "Макс.рабочее напряжение,В 250"
Я бы составил каждый из пары, последовательно, тогда точно будет надёжно.
Я бы составил каждый из пары, последовательно, тогда точно будет надёжно.
с 240кОм проблемы нет, 2 по 120 кОм, а вот с 39Ом... 2 по 20Ом? некритично?
Абсолютно некритично.
ЗЫ. При использовании СМД при высоких напряжениях учитывайте зазор между точками с разными потенциалами. Что бы не пробило, в общем. Для справки вот.
ЗЫ. При использовании СМД при высоких напряжениях учитывайте зазор между точками с разными потенциалами. Что бы не пробило, в общем. Для справки вот.
о как, учту, спасибо. И проводники на плате в 3 мм в силовой цепи тоже нужно бы не забыть...
Изменил только процедуру. Все стало работать корректно. Но все равно иногда в защиту уходит...
/* HotAir PI regulator */
//void HA_PI() {
// int err = SetHotAirT - GetHotAirT;
// float TempPower = ((Kp * err) + (Ki * integral));
// if (TempPower < 30.0 && TempPower > 0.0) integral += err;
// HAPower = constrain(TempPower, 0.0, 30.0);
// Serial.println(HAPower);
// CalctImpulseControl();
//}
void HA_PI() {
int err = SetHotAirT - GetHotAirT;
float MaxPower = 50;
float TempPower = ((Kp * err) + (Ki * integral));
if (SetHotAirT < 200) MaxPower = 30;
if (TempPower < MaxPower && TempPower > 0.0) integral += err;
HAPower = constrain(TempPower, 0.0, MaxPower);
CalctImpulseControl();
}
ЗЫ. При использовании СМД
посидел порисовал дорожки которые в результате вышли толще конденсаторов (брал 0805) плюнул и заказал в ЧиД (не реклама ибо с ценами там ппц) нормальные выводные резисторы и конденсаторы в управляющие цепи...
рисую под них черновой вариант (надеюсь угадать с размерами деталей) и возникает вопрос:
вот по этой схеме
по красному пути пойдет ток до 5А (если не прав то поправьте, пожалуйста) а какие токи пойдут по синему и зеленому путям?
Да и правильно ли я проложил пути тока на схеме?
P.S. Еще раз прошу простить за достаточно детские вопросы, раньше собирал все модулями. Пока разбираюсь с ПС уже изучил больше теории чем знал раньше... один eagle почти месяц вертел пока более-менее разобрался
У меня все силовые дороги шириной 2мм. Но платы я делаю не с маской. Всю силу я по верху проливаю оловом равномерно. Как-то так...
Синюю и красную дорисуй до С8 и С6. Там сила тоже нужна. Да и R7 и С4 тоже закрась.
Если делать маску и не лудить дороги, я думаю что для зеленой надо будет около 2.5мм, а синяя и красная и по 2 пойдет... Но лучше проливать дороги оловом.
платы я делаю не с маской
Синюю и красную дорисуй до С8 и С6. Там сила тоже нужна. Да и R7 и С4 тоже закрась.
до маски мне как до марса, это вообще первое травление будет. интересно с какого раза выйдет?)
а по цветным дорогам: там напряжение роли не играет (в ширине дорожки) , важна сила тока. по синему пути пойдет ток для вентилятора фена, он там не большой. по зеленому нареватель фена ток больше, но никак не 4А (дорожка в 2мм стандартной толщины), ну не очень уверен, но 4Ах220В=880 ватт многовато для него
красная дорожка тут ток самый большой будет, на старте нагрева около 6А вроде в теме писали.
про дорисовать: исхожу из того что тока через диод и конденсаторы (синяя и красная) в нормальном режиме не будет. А вот R7 и C4 наверное соглашусь с вами.
Возможно, все написаное мною неверно. "я не волшебник, я только учусь")
Потестил сегодня свою "пятиэтажку"... Заметил одну интересную особенность. Если задать температуру до 350 градусов, то фен без напрягов набирает и держит ее. Если дать около 370, станция набирает температуру, начинает стабилизироваться на заданом значении и уходит в защиту. Странно как то.
Закомментируйте, для пробы, в процедуре WorkWithHotAir() кусок кода между комментариями
/* Additional protection, if the temperature is not changed within 3 secs */
и
/* Turn ON relay */
Только строку
1
uint16_t delta = ABS(SetHotAirT, GetHotAirT);
Пробовал делать по Вашей подсказке. Повылазила куча ошибок при компиляции и я забросил эту идею.
По медленному набору температуры. Попробуйте в места, где включается фен и регулируются температура и обороты фена вставить строку
1
integral = 0;
Тут немного не допёр... Извиняйте. С коддингом у меня: -3
ЗЫ: В скайпе топикстартера не увидел. Имя пользователя в Skype = имени пользователя на форуме;
Красный путь - нагреватель паяльника, сопротивление холодного нагревателя при комнатной температуре ~2.5-3.5 ом, при нагреве увеличивается. Значит, ток через холодный нагреватель при 24В питании какой будет? Непродолжительное время, конечно, но нужно всегда рассчитывать с запасом, что бы дорожки не превращались в предохранители...
Синий - вентилятор фена. На вентиляторе написано 0,25А.
Зелёный - нагреватель фена. Указана мощность (насколько помню) 700 ватт. Делите на 220. Также, не постоянного потребления, только при разогреве.
Попробуйте сперва это залить.
Вчера в 19:45. Вбил ник, высветился Михаил Б. Отправил запрос. Тишина.
"Это" - обязательно попробую. Только завтра.
Повторите запрос пожалуйста.
Красный путь - нагреватель паяльника, сопротивление холодного нагревателя при комнатной температуре ~2.5-3.5 ом, при нагреве увеличивается. Значит, ток через холодный нагреватель при 24В питании какой будет?
9,6А будет. по калькуляторам ширина дорожки должна быть 6,8мм, тут проблема в том что мосфет который я взял имеет растояние между крайними контактами 6 мм. В общм решил не выкаблучиваться и довериться практике (сделать как Umkalab говорил, дорожки по 2мм и залудить их, там где паяльник пожирнее)
Вчера наконец то дождался подстроечники и стал настраивать станцию. Прошивку залил вер 1.2. Начал с канала паяльника. Регулируется и настраивается все нормально. Правда при включении паяльника температура на жале по измерительному термометру растет медленнее чем на термопаре паяльника. И настроить это не получается. И еще выставляю например температуру 160 и включаю паяльник. На индикаторе измеренная температура растет и пакозывается 170-172 после может падать до 160, а может появиться [!]. Нажимаю на кнопку выключения паяльника без длительного удержания. [!] исчезает и далее температура держится 160 на ингдикаторе и на измерительном термометре. Что это такое? Может кто подскажет. Или я не правильно отрегулировал канал. Операционник LM358.
/* if used not rail-to-rail OPA, then uncomment it */
#define LM358
Эта строчка в начале скетча разкомментирована?
У меня кстати тоже наблюдается подобная беда. Паяльник начинал калибровать только когда прогреется, ~ 1 минуту времени после установки температуры. Наплавлял олово на жало и подтыкал термопару прям в олово.
[!] - это защита. Чего-то программе не нравиться в данных поступаемых с операционника.
Строка разкоментирована. К стати в старой версии (Вер. 1.1) такого не замечал.
Как вы представляете себе настроить инерционность передачи температуры, да ещё и при наличии воздушного зазора между жалом и нагревателем? Даже при устоявшейся температуре жала и совпадении её с температурой термодатчика внутри нагревателя, при касании места пайки, температура жала может очень и очень сильно отличаться. Т.е. температура жала уже упала градусов на 10-30, а внутренний термодатчик этого не видит из-за воздушного зазора жало-нагреватель. В этом плане, картриджи Т12 более совершенны.
Скорее всего отрабатывает динамическая доп. защита. Там хрень полная.
Залейте пока этот скетч, в нём эта защита отключена.
Срочное критическое замечание для всех версий.
Закомментируйте в процедурах SolderOff() и HotAirOff() строки с MemSolder() и MemHotAir(), соответственно.
Проглядел я, однако, что постоянно пишется в EEPROM, если канал выключен. "Запоминалки" можно перенести чуть выше, под скобку, что бы при защите запоминалось или вообще убрать, тогда запоминаться будет только при ручном выключении или по таймеру.
Доработка ниже (в шапке и в пред. сообщении доработано) -
Срочное критическое замечание для всех версий:
Добавлена поддержка энкодера по схеме из поста #870 и схемой подключения из поста #877
Управление осуществляется так:
Короткое нажатие на энкодер - выбор режима
Длительное нажатие на энкодер - включение/отключение режима
Шаг по часовой - увеличение выбранного значения
Шаг против часовой - уменьшение выбранного режима
Сброс счетчиков "до отключения" осуществляется концевиками фена и паяльника
Новости моей мечты... Эх...
Срочное критическое замечание для всех версий....
Последний файл 1.2 правильный? Просто при сравнении старого 1.2 и нового присутствуют намного больше изменений, чем указано в посте. Просто всё бывает.... а если последний 1.2 файл "правильный", то что ещё менялось? или просто косметика и оптимизация?
Качайте это: https://yadi.sk/d/wiaeqQOsrPv86
Тут всё уже исправленно
Фактически, всё началось с "изобретения" защит. Я их вынес в отдельную функцию, возвращающую код ошибки, т.к. их получилось около 5 штук и что бы не гадать о причине срабатывания. Планировалось выводить код (номер) ошибки вместо [!]. Что-то, вроде получилось, что-то не очень, но в один момент компилятор послал меня в лес, сказав, что память в 168-й Атмеге не резиновая. Вернул всё "взад" и прошерстил, до кучи, код, поудалял лишние переменные и кое-что немного изменил. В процессе и заметил, что при выключенном канале постоянно выполняется запоминание уставок. Этот косяк с самой первой версии, оказывается там был...
В общем, дико ай эм сорри, если чо ))
ЗЫ. Процедура HA_PI() там в двух версиях, одна закомментирована. Последняя, типа, с "адаптивным" ограничителем максимальной мощности при наборе Т. Как бы, низкая заданная Т - небольшая мощность, высокая - соответственно. Преследовалась цель уменьшить выброс при малых Т и ускорить набор на высоких. Графики получились такие (можно сравнить с графиками в шапке), но нужно ещё поэкспериментить, поэтому и закомменчена -
Срочное критическое замечание для всех версий....
... или просто косметика и оптимизация?
К примеру... для LCD библиотеки заменено init на begin, и файл сразу выдал ошибку, библиотека не понимает, знач нужна другая, зачем?
Подскажите пожалуйста, как связать это:
С этим:
Чтобы было хорошо...
Потому, что дисплей в проекте "просто фен" со старой библой не работал. Скачал с ГитХаба новую - тоже выдало ошибку, как оказалось, разница в инициализации дисплея. Новая библа работает в обоих проектах. В принципе, всё. Вот, что забыл, сейчас обновлю в архиве библиотеку для дисплея.
Потихонечку доезжаю:
Библиотеку в архиве обновил. Старая LiquidCrystal_I2C1602V1 удалена. Заодно LCD.init на LCD.begin исправил.
В какой версии Arduino собираете? А та были проблемы отображения по i2c из за версии arduino.
1.6.5
К Атмел Студии подключена 1.6.5 и с дисплеем ПС работала нормально. В ней же компилю с этой же библой для дисплея 1602 проекта для фена - фигвам, не все символы отображаются. С новой библой, в той же 1.6.5, всё нормально с обоими дисплеями.
Есть ещё 1.6.7 версия. Более новыми не пользуюсь.
OlegK, свяжите пожалуйста вот это:
Вот с этим:
Я вижу что мне осталось немного... Прошу Вас помочь мне в осуществлении моей задачи.
Вот чесслово, некогда - на работу сегодня в ночь идти. Накидал навскидку, не проверял. Как-то так -
А вот так не пойдет?