Очередная паяльная станция

Miamin
Offline
Зарегистрирован: 29.02.2016

Олег может паяльником T12 займетесь, тема та интересная)) Если честно жду ваш проект с его реплизацией.

Umkalab
Offline
Зарегистрирован: 09.01.2017

Наблюдаю данную тему достаточно долго. Складывается такое ощущение что люди, которые собирают это устройство, совершенно не знакомы с радиотехникой, электроникой, построением схем и прочими прелестями этого ремесла.

Есть же готовые платы уже. Бери трави да паяй. Нет же... Я вот тут изменил, тут недопаял, тут перепутал... А потом: Олег, помоги!!! Тут шкварчит, тут жужжит, тут в защиту уходит...

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Miamin пишет:
Олег может паяльником T12 займетесь, тема та интересная

Да, как раз на бумажке сижу, рисую.
Думаю, что с релейной защитой делать, оставлять или нет - специфика другая совсем...

Umkalab пишет:
Наблюдаю данную тему достаточно долго.

Ну, тут да, если есть опыт - рули, куда хочешь, нет - лучше по протоптанному, иначе неизбежны заморочки.

usverX
Offline
Зарегистрирован: 24.08.2016

Umkalab пишет:
Наблюдаю данную тему достаточно долго. Складывается такое ощущение что люди, которые собирают это устройство, совершенно не знакомы с радиотехникой, электроникой, построением схем и прочими прелестями этого ремесла. Есть же готовые платы уже. Бери трави да паяй. Нет же... Я вот тут изменил, тут недопаял, тут перепутал... А потом: Олег, помоги!!! Тут шкварчит, тут жужжит, тут в защиту уходит...

Ну я данный проект использую для воспоминания тому что учили и дополнения этих знаний, изучения орла(Eagle), ЛУТа и тд... Потом буду уже пробовать что то более сложное. С ЛУТ я конечно намучился, еле подобрал бумагу, перевел раза с 10 наверное) сейчас плавно собираю и распаиваю. Завтра намечено очередное приключение, буду пытаться паять SMD, чувствую весело будет

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

usverX пишет:
еле подобрал бумагу, перевел раза с 10 наверное)

Я печатаю на фотобумаге для струйников, прожариваю утюгом и тихонько отрываю насухую.
Весь тонер остаётся на плате. Можно и отмачивать, но тогда придётся плёнку зубной щёткой вычищать между близко расположенными дорожками/пятаками.

atweaker
Offline
Зарегистрирован: 09.12.2016

Umkalab пишет:

Значит так.

Вот фото печатной платы из редактора: https://cloud.mail.ru/public/9215/u2Zjx1NLp

Вот схема платы с энкодером: https://cloud.mail.ru/public/Mtsq/XWpY9C1mr

Вот печатная плата. Нужно зеркалить!!! https://cloud.mail.ru/public/DbP2/BY4av4kt3

Вся толпа в архиве: https://cloud.mail.ru/public/FqzS/AcKr3hqMu

Внешний вид платы энкодера: https://cloud.mail.ru/public/4RPr/FFLAfCoH5

Уважаемый Umkalab,
в Вашей схеме печатной платы присутствует пищалка (нога 8 - 74HC14), а также выход на buzzer (нога 11 - 74HC14). Скажите, выход на buzzer и резистор (10к) можно "выкинуть" или он в коде задействуется (или выход просто игнорировать)? Спрашиваю, так как делаю все на СМД элементах. Главную плату собрал и буду тестить...
Насчет скайпа - я довольно поздно дома появляюсь, проэкт на компьютере, камера и микрофон на ноутбуке... ну если сам не разберусь - то потревожу. Спасибо заранее.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

atweaker пишет:
выход на buzzer и резистор (10к) можно "выкинуть" или он в коде задействуется (или выход просто игнорировать)?

Если пищалка не используется, можно оставить пин в "воздухе", ничего не подключая, т.е. "просто игнорировать". Можно пойти дальше и вычистить из кода всё, что относится к звукоизвлечению.

atweaker
Offline
Зарегистрирован: 09.12.2016

Но тогда будет один пьезоизлучатель на платине энкодера, выход "buzzer", а также еще один Ваш на главной платине.

Первый наверно пикает в такт с энкодером, про Ваш тоже понятно, а вот про выход... и куда его присоединять на Вашей платине (или игнорировать = стереть из лайоута) вот в чём мой вопрос?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

atweaker пишет:
вот в чём мой вопрос?

To be or not to be that is the question... Нифига, в общем, я не понял )))

Umkalab
Offline
Зарегистрирован: 09.01.2017

Всем привет! Если кто успел заметить то у меня платы свои. Рисовал я их сам, размещал элементы сам, всё вобщем сам кроме самой идеи. Спасибо ещё раз Олегу! Молодец человек! Прибор радует глаз и греет душу...

To atweaker: Это и есть один и тот же буззер. Просто он вынесен на плату энкодера чтобы не "бикать" из глубины а сигналить так сказать "в лицо".

Я просто запитал его через триггеры от 14 которые не используются. Вместо транзистора по схеме автора. В данном решении чтобы не цеплять пищалку напрямую к ноге дуины и не напрягать ее изнутри, сделана эта конструкция. Резистор на 10К нужен чтобы не появлялись наводки по линии BUZZER во время прошивки Дуины. 

По поводу Скайпа. Я по работе обязан быть там. Так-что... На микрофон и камеру не претендую. Просто чат.

 
 
Umkalab
Offline
Зарегистрирован: 09.01.2017

Покажите печатку хоть... Помогу чем смогу

Кстати, пищалка у меня с генератором внутри. Работает от 5 вольт.

atweaker
Offline
Зарегистрирован: 09.12.2016

Привет, так это и есть Ваша разработка (Encoder Schematics.JPG).
Спасибо за обьяснение, просто стрелка не в ту сторону нарисована (у Вас выход как управление пищалкой... но она уже наплате :)))

atweaker
Offline
Зарегистрирован: 09.12.2016

atweaker пишет:
вот в чём мой вопрос?

Восклицательный знак в конец предложения.... а иначе смешно выходит.

Отбой :)

Umkalab
Offline
Зарегистрирован: 09.01.2017

Эт я понял уже что Вы по стрелке ориентировались... Данным действом обозначал разъем для подключения к основной плате.

Так, выкладываю печатку одного из "этажей" своей "пятиэтажки". На плате размещены пара полевиков с симистором и управление к ним.

Управление полевиками построено на TLP250, управление симистором на MOC3021.

https://cloud.mail.ru/public/EWhn/MW1GAFuho

Пока без подписи элементов. Схема автора. Будут фото процесса но потом. 

kupsw
Offline
Зарегистрирован: 25.03.2016

Вот и я собрал настроил на прошивке 1.2. Все работает. Решил потестировать версию 1.4. Когда включил, то температура раньше была 24, а с версией 1.4 стала показывать на 20 градусов больше и на паяльнике и на фене. На выходе операционника на 1 ноге что при версии 1.2 что при версии 1.4 напряжение одинаковое. Тоже самое и на 8 ноге. Что это может быть? Или в версии 1.4 как то по другому считает. Операционник LM358. В скетче все высталено для этого операционника. Или для версии 1.4 надо заново настраивать?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

kupsw пишет:
с версией 1.4 стала показывать на 20 градусов больше и на паяльнике и на фене.

Не должно завышать, да ещё и настолько, я там ничего не трогал в преобразовании...

kupsw
Offline
Зарегистрирован: 25.03.2016

Олег Спасибо. Я уже это понял и разобрался.

P. S. У меня там и было LM358. Я что то не понял. Когда коментирую строку //#define LM358,  то все становится правильно. Что то наверно перепутано в скетче?

 

Все я разобрался. Я при настройке на версии 1.2 в скетче не изменил и настраивал не для LM. Извените за невнимательность.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Фуф, напугал ))

kupsw
Offline
Зарегистрирован: 25.03.2016

Олег там в версии 1.2 измененной, где тоже есть //#define LM358 ниже по программе тоже было LM385. А я этого не заметил. В версии 1.4 появились ошибки типа !3. А что они означают (расшифровка цифр) или где об этом почитать? А то я посмотрел по форуму что то пропустил наверно.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

kupsw пишет:
В версии 1.4 появились ошибки типа !3. А что они означают (расшифровка цифр) или где об этом почитать?

Это тестовая версия, про защиты ещё нигде не расписывал. Но придётся восполнить, тем более, что в теме про КПФ аналогичные защиты используются. Ну и что бы лишних вопросов не было, что за номер выпал. В общем, защиты для фена и паяльника в функциях byte HADoProtect() и byte SDoProtect(), соответственно. Рассмотрим защиты фена. Функция защиты возвращает код 0, если всё в норме и код от 0 до 7, по ситуации:

0. Всё в порядке.
1. Защита от критического повышения температуры (макс. рабочая + 20 град. - т.е. 420 для паяльника и 470 для фена). В основном, может отработать при обрыве в канале измерения. К примеру, провод оборвался на термодатчик или неисправность измерительного ОУ. Оно, как бы, не опасно, т.к. при этом выход регулятора обнулится и физически нагрева не должно быть, но есть ситуация, когда контакт может быть неустойчивым и работа будет некорректной. Также, может возникнуть пробой регулирующего элемента, в этом случае всё серьёзнее и выполняется подстраховка одной из защит по перегреву, что описаны ниже.
Данная защита введена всегда и удалять её не рекомендуется.
Код -

/* Crytical protection: high overheat or thermocouple value is not valid or wire break */
    if (GetHotAirT > max_hotair_temp + 20) {
        HAProtectionOut();
        return 1;
    }

2. Защита по низкой температуре (измеренное значение ниже 10 град.). Это свидетельствует также о неисправности в канале измерения (к примеру замкнулись провода с термодатчика или неисправность измерительного ОУ). В этом случае, автоматика будет думать, что нужно греть на максимуме, что само-собой ни к чему хорошему не приведёт.
Данная защита введена всегда и удалять её не рекомендуется.
Код -

/* Crytical protection: thermocouple value is not valid or wires short circuit */
    if (GetHotAirT < 10) {
        HAProtectionOut();
        return 2;
    }

3. Защита по относительно небольшому перегреву (превышение над заданной на 20 град.).
Эта защита автоматически выводится при изменении задания "вниз" и вводится при подтягивании измеренной температуры к заданной + 15 град. При изменении задания вверх защита не выводится. Может сработать при излишнем перерегулировании (более 20 град.) вверх.
Является необязательной, можно удалить/закомментировать, если считаете, что не требуется.
Код -

/* Overheat protection */
    if (ha_f1 && GetHotAirT > SetHotAirT + 20) {
        ha_f1 = false;
        HAProtectionOut();
        return 3;
    }

    if (ha_f2 && GetHotAirT < SetHotAirT + 15) {
        ha_f1 = true;
        ha_f2 = false;
    }

4. Защита при повышении температуры на +10 град относительно заданной.
Вводится в работу только при достижении точки стабилизации (два коротких бипа) и выводится из работы при выходе из режима стабилизации. Является необязательной, можно удалить/закомментировать, если считаете, что не требуется.
5. то же, что п. 4, только срабатывает на понижение -10 град, относительно задания. Разделены они только для того, что бы можно было их опознавать. Является необязательной, можно удалить/закомментировать, если считаете, что не требуется. Для паяльника не имеет смысла, да и вообще, нужна ли, нужно ещё помыслить.
Код -

/* Deviation themperature protection +/- 10 degrees */
    if (HA_temp_stable) {
        ha_f3 = true;
    }
    if (ha_f3) {
        if (GetHotAirT > SetHotAirT + 10) {
            HAProtectionOut();
            return 4;
        }
        if (GetHotAirT < SetHotAirT - 10) {
            HAProtectionOut();
            return 5;
        }
    }

6. Защита при падении температуры и "от зависания температуры". Условие - в течении неск. секунд, если температура падает или "стоит" и она ниже заданной и мощность больше 0.
Т.е. условия, когда станция работала, но внезапно перестала греть, к примеру, по причине обрыва регулирующего элемента или нагревателя. По зависанию (гипотетический случай) - некая неисправность измерительного ОУ. Недостаток - не сработает, если зависнет именно в точке стабилизации, что, думается, маловероятно.
Защита выводится из работы при достижении режима стабилизации и вводится автоматически при выходе из него. Является необязательной, можно удалить/закомментировать, если считаете, что не требуется.

7. Защита при неконтролируемом нагреве. Частично дублирует п.3, но тот не сработает, если было изменено задание вниз, температура ещё не спустилась до значения ввода защиты в работу и произошёл пробой регулирующего элемента. Должна успеть "поймать ситуацию" до срабатывания п.1
Защита выводится из работы при достижении режима стабилизации и вводится автоматически при выходе из него. Является необязательной, можно удалить/закомментировать, если считаете, что не требуется.
Код -

    /* Advanced protection: the themperature falls down щк not changed & power > 0 */
    /* & */
    /* Advanced protection: the themperature rise up & power < 0 */

    if (!HA_temp_stable) {
        static uint16_t prev_t;
        static byte t_cnt = 0;
        static byte t_cnt2 = 0;
        static boolean ha_ctrl = true;

        if (ha_ctrl) {
            prev_t = GetHotAirT;
            ha_ctrl = false;
            prevHAcontrol = millis();
        }

        if (!ha_ctrl && millis() - prevHAcontrol > 1000) {
            ha_ctrl = true;

            if (HAPower > 0.0) {

                /* themperature falls or not changed */
                if (prev_t >= GetHotAirT && GetHotAirT < SetHotAirT) {
                    t_cnt++;
                    if (t_cnt == 5) {
                        HAProtectionOut();
                        t_cnt = 0;
                        return 6;
                    }
                } else t_cnt = 0;

            } else { //HAPower == 0.0

                /* themperature rise */
                if (prev_t < GetHotAirT && GetHotAirT > SetHotAirT) {
                    t_cnt2++;
                    if (t_cnt2 == 5) {
                        HAProtectionOut();
                        t_cnt2 = 0;
                        return 7;
                    }
                } else t_cnt2 = 0;
            }
        }
    } else prevHAcontrol = millis();
kupsw
Offline
Зарегистрирован: 25.03.2016

Спасибо. Олег а Вы с кнопками в версии 1.4 делали что нибудь? А то в этой версии по сравнению с предыдущей они стали какими то заторможенными. Т. Е. например чтобы увеличить или уменьшить температуру, у меня по крайней мере так стало, нужно нажать на кнопку и на секунду зафиксировать. прозвучит сиглал и показания изменятся. Если этого не сделать, то показания не меняются. Или так и было задумано?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

kupsw пишет:
Олег а Вы с кнопками в версии 1.4 делали что нибудь?

Ничего не делал.

Цитата:
А то в этой версии по сравнению с предыдущей они стали какими то заторможенными.

У меня, вроде, без тормозов работает, я бы сразу стал ковырять...
Тормозит, если регулировать температуру в обоих состояниях (вкл/выкл) или в каком-то одном?
Ну и для статистики, кто залил 1.4 пусть тоже отпишется про есть ли тормоза.

Цитата:
Или так и было задумано?

Нет, конечно, не должно.

kupsw
Offline
Зарегистрирован: 25.03.2016

Когда резко нажимаешь кнопки увеличения или уменьшения температуры что для паяльника, что для фена показания могут измениться, а могут и не измениться. А когда нажимаешь плавно, то меняются нормально. В предыдущей версии мне кажется что нажимаешь резко, что плавно всегда срабатывала. Вот я и спросил. На выходных после того как настрою оба канала, попробую вернуть версию 1.2 и проверить. Завтра не получится буду на работе в ночь.

P.S. Не стал ждать выходных. Залил старый скетч вер 1.2. На мой взгляд отклик кнопок как мне кажется чуть шустрее. В принципе это не так уж и важно. У меня возникла другая ситуация. Выставляю температуру 300 градусов для паяльника и включаю, то показания температуры по измерительному термометру и по табло станции доходят до 316 градусов и начинают падать до 310 и включается !6. Нажимаю кнопку включения паяльника идет нагрев уже до 305-307 градусов, потом падает до 296 градусов, потом подымается до 304,  потом начинает скакать в пределах 296-305 градосов по индикатору станции (напряжение на выходе LM358 тоже меняется от 1.386В-1.412В) и через какое то время включается !6. И цикл повторяется. Что это может быть? На других температурах пока не пробовал.

P.S. Попробовал на выставлять 200 градусов, 250 градусов. В общем колебания температуры паяльника на индикаторе от выставленной -5 - +6 градусов. В первых версиях было как то стабильней.

 

pter
Offline
Зарегистрирован: 15.02.2016

Здраствуйте,с кнопками была проблема в скетче 1.2,но в версии 1.4 вроде бы их нет завтра напишу точнее.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

kupsw пишет:
Что это может быть?

Попробуйте опыт - закомментируйте для паяльника строку s_error = SDoProtect(); и посмотрите, изменится ли реакция на кнопки и качество регулирования.

aleksandr23uam
Offline
Зарегистрирован: 22.01.2017

Доброй ночи! Подскажите от куда можно взять скейтч v.1.4 под дисплей 20*04?
Спасибо!

kupsw
Offline
Зарегистрирован: 25.03.2016

OlegK пишет:

Попробуйте опыт - закомментируйте для паяльника строку s_error = SDoProtect(); и посмотрите, изменится ли реакция на кнопки и качество регулирования.

По кнопкам стало еще хуже. Даже когда на плате корочу контакты кнопок, то необходимо нажать и зафиксировать на не более 1сек. А по показаниям. Диапазон отклонений показаний стал -4 +6. Да и когда при первом включении паяльника заметил, что температура к примеру выставлена 250 градусов, а показания что по индикатору, что по измерительному термометру доходит до 250 и подымается выше на 20-25 градусов, а потом падает до 250 и показания на индикаторе скачут от выставленной на -4 +6. А по измерительному термометру показания отличаются максимум -2 +2 градуса.

P.S. Из за этой нестабильности у меня постоянно вылетает !6.

kupsw
Offline
Зарегистрирован: 25.03.2016

aleksandr23uam Сообщение 979

aleksandr23uam
Offline
Зарегистрирован: 22.01.2017

Спасибо.

aleksandr23uam
Offline
Зарегистрирован: 22.01.2017

#979 тестовый скетч, там пусто

kupsw
Offline
Зарегистрирован: 25.03.2016

aleksandr23uam пишет:
#979 тестовый скетч, там пусто

Да действительно. Значит автор почему то их удалил.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Удалил из-за проявления у kupsw тормозов при опросе кнопок и болтанки температуры. В общем, до выяснения.
Выяснить особо пока не удаётся, т.к. на прямой вопрос
"Тормозит, если регулировать температуру в обоих состояниях (вкл/выкл) или в каком-то одном?"
ответа не получено. Также, не понятно, какие результаты после комментирования строки (сообщение в #1025), как я просил.
В общем, пока не ясно, куда копать, вроде кроме защит я работы контроллеру не добавлял, не думаю, что этим ему добавилось много работы. По крайней мере, что добавилось тормозов и болтанки у себя я не отмечаю.

kupsw пишет:
P.S. Из за этой нестабильности у меня постоянно вылетает !6.

Закомментируйте эту секцию защиты, не будет вылетать.

Пока рекомендую использовать любую предыдущую версию, которая больше всего устраивает.

pter
Offline
Зарегистрирован: 15.02.2016

Здраствуйте,OlegK как я и писал проблема у меня с кнопками была в скетче 1.2 в этом скетче проблем нет и болтанки температуры тоже нет, специально увеличивал работу по таймеру  до 40 минут температура остается как после стабилизации и еще вопрос к автору почему он изменил в теме"Контроллер паяльного фена" работу фена по геркону,заранее благодарю за ответ.

kupsw
Offline
Зарегистрирован: 25.03.2016

OlegK пишет:

Также, не понятно, какие результаты после комментирования строки (сообщение в #1025), как я просил.

Я Вам ответил сообщение 1027.

OlegK пишет:

Выяснить особо пока не удаётся, т.к. на прямой вопрос
"Тормозит, если регулировать температуру в обоих состояниях (вкл/выкл) или в каком-то одном?"
ответа не получено.

Мне это не понятно "если регулировать температуру в обоих состояниях (вкл/выкл) или в каком-то одном".

А по поводу кнопок я имел в виду, что при плавном нажатии все нормально, а при резком нажатии може сработать, а может нет.

По поводу нестабильности. На фене все нормально. А вом на паяльнике не так стабильно, може это из -за самого паяльника. Там тоже термопара используется. А в программев расчетах это как то влияет если в паяльнике не терморезистор, а термопара?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

kupsw пишет:
Я Вам ответил сообщение 1027.

Защиты "разрослись", поэтому, теоретически могли добавить каких-либо тормозов, но только при работе канала (в другое время этот код не выполняется). Комментирование указанной строки должно было исключить это влияние. Что и просил проверить. По идее, стать ещё хуже просто не могло, по определению. Стало бы или лучше или не изменилось. Поэтому я не понял, проверили вы или нет. Но если действительно стало хуже, остаётся чесать репу и искать причины, а для этого мне нужно это воспроизвести.

Цитата:
Мне это не понятно "если регулировать температуру в обоих состояниях (вкл/выкл) или в каком-то одном".
Я думал, что понятно написал - если подать питание на станцию, но не включать фен или паяльник, то температуру можно выбирать и регулировать. Если включить фен или паяльник, то её (температуру) тоже можно регулировать. И если всё отключено, то не выполняется куча кода, которая может вызывать тормоза.
Поэтому ожидалось, что будут проверены варианты -
-тупят кнопки всегда, независимо включен канал или выключен
-тупят, когда выключен
-тупят, когда включен

Цитата:
А по поводу кнопок я имел в виду, что при плавном нажатии все нормально, а при резком нажатии може сработать, а может нет.

Вроде врубился, о чём речь (навело словом "резко"). Попробовал у себя резкие тычки и спокойные нажатия. Да, при резких тыках не срабатывают, а при спокойных всё нормально. Надо поковырять, почему.
Конденсаторы параллельно кнопкам стоят?

Цитата:
А в программев расчетах это как то влияет если в паяльнике не терморезистор, а термопара?

Не влияет, тут больше разница в нагревателях и динамике нагрева. Выше я написал, попробуйте уменьшить коэффициент пропорциональности для паяльника. 20-30, к примеру. Высокое значение может вызывать болтанку. С величиной 50 у меня так -

 

 

 

kupsw
Offline
Зарегистрирован: 25.03.2016

OlegK пишет:

Вроде врубился, о чём речь (навело словом "резко").

Да именно это я и имел в виду. В первых версиях при резком нажатии срабатывало лучше. По крайней мере мне так показалось. И я это перепроверил.

OlegK пишет:

Не влияет, тут больше разница в нагревателях и динамике нагрева. Выше я написал, попробуйте уменьшить коэффициент пропорциональности для паяльника. 20-30, к примеру. Высокое значение может вызывать болтанку. С величиной 50 у меня так -

А на кокой странице это было. А то просмотрел 10 страниц назад и не нашел или пропустил. А этот коэффициент пропорционадбности один для канала фена и паяльника или он раздельный для фена свой, для паяльника свой?

pter
Offline
Зарегистрирован: 15.02.2016

Нет коэффициент для паяльника и фена разные

для паяльника #define sKp 50

для фена #define Kp 1.0

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Скетч 1.4 Вроде бы пофиксил кнопки.

atweaker
Offline
Зарегистрирован: 09.12.2016

Спасибо!!!

alevladol
Offline
Зарегистрирован: 21.10.2016

Тоже хочу поблагодарить OlegK за его паяльную станцию, за его труды.

У меня тоже была проблема с кнопками, загрузил вчерашний скетч, все стало отлично. Спасибо! 

aleksandr23uam
Offline
Зарегистрирован: 22.01.2017

Заказал пока ЛСД, нано у меня уже есть. Буду собирать!!! С смд начал работать не так давно.... одного простого паяльника не достаточно для сборки смд плат. Спасибо, огромное, автору за проделанный труд, во благо желающим обзавестись паяльной станцией! А также за помощь по сборке, развитие и модернизацию проекта! Спасибо!

kupsw
Offline
Зарегистрирован: 25.03.2016

OlegK пишет:

Вроде бы пофиксил кнопки.

Олег спасибо. В этом скетче кнопки работают нормально не важно как жмешь на них резко или плавно.

У меня вопрос к тем кто использует LM358. У кого какой коэффициент пропорциональности? А то я пробовал  от  1 до 10 и 20, и 30, и 50, и даже 100. Разницы что то не заметил. Заметил только когда идет нагрев, то напряжение на выходе операционника канала паяльника растет плавно, а когда доходит до выставленной температуры, то начинает скакать на +-0,03В.

И еще заметил, если выставляешь температуру ниже 180 градусов, то разброс показаний меньше, а если ставишь от 200 и выше, то разброс показаний увеличивается. На 350 градусах диапазон разброса доходит до 17 градусов.

Umkalab
Offline
Зарегистрирован: 09.01.2017

Запишу видео завтра, скину сюда.

MkTwo
MkTwo аватар
Offline
Зарегистрирован: 28.08.2016

kupsw пишет:

У меня вопрос к тем кто использует LM358. У кого какой коэффициент пропорциональности? А то я пробовал  от  1 до 10 и 20, и 30, и 50, и даже 100. Разницы что то не заметил. Заметил только когда идет нагрев, то напряжение на выходе операционника канала паяльника растет плавно, а когда доходит до выставленной температуры, то начинает скакать на +-0,03В.

И еще заметил, если выставляешь температуру ниже 180 градусов, то разброс показаний меньше, а если ставишь от 200 и выше, то разброс показаний увеличивается. На 350 градусах диапазон разброса доходит до 17 градусов.

нужно строить график зависимости, он получается линейный, получаешь формулу вида "y=ax+b" и пишешь её в GetHotAir, брать просто коэффициент усиления нельзя

MkTwo
MkTwo аватар
Offline
Зарегистрирован: 28.08.2016

kupsw пишет:

У меня вопрос к тем кто использует LM358. У кого какой коэффициент пропорциональности? А то я пробовал  от  1 до 10 и 20, и 30, и 50, и даже 100. Разницы что то не заметил. Заметил только когда идет нагрев, то напряжение на выходе операционника канала паяльника растет плавно, а когда доходит до выставленной температуры, то начинает скакать на +-0,03В.

И еще заметил, если выставляешь температуру ниже 180 градусов, то разброс показаний меньше, а если ставишь от 200 и выше, то разброс показаний увеличивается. На 350 градусах диапазон разброса доходит до 17 градусов.

нужно строить график зависимости, он получается линейный, получаешь формулу вида "y=ax+b" и пишешь её в GetHotAir, брать просто коэффициент усиления нельзя

у меня вот 2 вопроса появилось, возможно всё пофикшено в новых версиях скетча - не смотрел... в общем:

1) когда убавляешь температуру сразу на градусов 40-50, то срабатывает защита от перегрева, получается нужно ждать пока фен охладится до приемлемых пределов и жать кнопку включения - так и должно быть?

2) по факту каждое выключение идёт запись данных в EEPROM, верно? это получается не жалеем мы память-то, циклы записи ограничены... может сделать(или уже сделано?) чтение перед записью и сравнение с записываемой величиной? и если они равны - не записывать?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

MkTwo пишет:
брать просто коэффициент усиления нельзя

Думаю, речь шла о регулировании, а не о показаниях.

Цитата:
когда убавляешь температуру сразу на градусов 40-50, то срабатывает защита от перегрева

Какая версия прошивки? В 1.4, по идее, такого уже не должно быть.

Цитата:
по факту каждое выключение идёт запись данных в EEPROM, верно?

Можно и сравнивать, конечно, перед записью.
А можно посчитать количество циклов перезаписи и разделить на среднее количество выключений за день и на количество дней в году.
Применительно к числу циклов 100000 у меня получилось 13,5 лет
А если почитать тут, то вообще всё не так уж и страшно.

MkTwo
MkTwo аватар
Offline
Зарегистрирован: 28.08.2016

OlegK пишет:

Цитата:
когда убавляешь температуру сразу на градусов 40-50, то срабатывает защита от перегрева

Какая версия прошивки? В 1.4, по идее, такого уже не должно быть.

Цитата:
по факту каждое выключение идёт запись данных в EEPROM, верно?

Можно и сравнивать, конечно, перед записью.
А можно посчитать количество циклов перезаписи и разделить на среднее количество выключений за день и на количество дней в году.
Применительно к числу циклов 100000 у меня получилось 13,5 лет
А если почитать тут, то вообще всё не так уж и страшно.

1) версия старая, копировал и правил скетч месяцев 5-6 назад, ещё в сентябре, так что скорее всего ещё не сделано было... ок, буду смотреть новый скетч

2) про память так и подозревал конечно, но то чувство, когда знаешь что память с каждым включением-выключением портится...))

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

MkTwo пишет:
но то чувство, когда знаешь что память с каждым включением-выключением портится...))

Уломал ))
Пока можно воткнуть самостоятельно:

uint16_t last_HotAirT, last_SolderT;
byte last_RPM;

/* Read last parameters from memory procedure */
void MemRead() {
    SetSolderT = EEPROM_int_read(0);
    if (SetSolderT < min_solder_temp || SetSolderT > max_solder_temp)  {
        SetSolderT = default_temp;
        last_SolderT = SetSolderT;
    }
    SetHotAirT = EEPROM_int_read(4);
    if (SetHotAirT < min_hotair_temp || SetHotAirT > max_hotair_temp) {
        SetHotAirT = default_temp;
        last_HotAirT = SetHotAirT;
    }
    SetHotAirRPM = EEPROM_int_read(8);
    if (SetHotAirRPM < min_rpm || SetHotAirRPM > max_rpm) {
        SetHotAirRPM = default_rpm;
        last_RPM = SetHotAirRPM;
    }
}

/* Write last used solder themperature to memory procedure */
void MemSolder() {
    if (last_SolderT != SetSolderT) {
        EEPROM_int_write(0, SetSolderT);
        last_SolderT = SetSolderT;
    }
}

/* Write last used HotAir themperature and fan r.p.m. to memory procedure */
void MemHotAir() {
    if (last_HotAirT != SetHotAirT) {
        EEPROM_int_write(4, SetHotAirT);
        last_HotAirT = SetHotAirT;
    }
    if (last_RPM != SetHotAirRPM) {
        EEPROM_int_write(8, SetHotAirRPM);
        last_RPM = SetHotAirRPM;
    }
}

В прошивку КПФ тоже добавлю.

leg42
Offline
Зарегистрирован: 04.03.2016

Озадачился таким вопросом. Имеется LCD Keypad shield с 6 кнопками на борту. Возможно ли приладить к Вашей станции? фото по ссылке

.http://arduino.ru/imce?app=ckeditor%7Csendto%40ckeditor_fileUrl%7C&CKEditor=edit-comment&CKEditorFuncNum=2&langCode=ru

 

 

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

leg42 пишет:
Имеется LCD Keypad shield с 6 кнопками на борту. Возможно ли приладить к Вашей станции?

Возможно, оно может и возможно...
1. Дисплей придётся "оборудовать" расширителем портов на PCF8574, что он заработал через I2C.
2. Переписать процедуру опроса кнопок применительно к аналоговым кнопкам + реализовать для них распознавание длинных и коротких нажатий.
3. п.2 придётся претворять в жизнь самостоятельно (всмысле, без меня), ибо ни лишнего времени, ни желания у меня не имеется.

Может проще раздобыть сразу нужные детальки, а шилд оставить для другого проекта или для макетирования?

ЗЫ. Фото по ссылке не удалось увидеть, но что такое вы имели в виду представляю.