Сперва ближе к теме. Задачи контроллера фена и контроллера паяльника достаточно схожи. Из-за каких отличий прошивка фена еще не готова? Из-за работы над стабилизацией оборотов турбины, из-за изменений алгоритма термостабилизации или по еще каким-то причинам? И можно чуть подробнее о алгоритме стабилизации оборотов?
Цитата:
Для таких простых проектов в исходниках всё завёрнуто так, что понять ничего не смог. И комментариев нет. Короче говоря, для меня там толку ноль.
Да, не люблю комментировать. Предпочитаю писать "самодокументируемый" код. В принципе, сам я в подобном коде ориентируюсь достаточно легко, в том числе и в чужом. Никаких проблем "сам через полгода не поймешь" также не возникает. Впрочем, этот вариант в любом случае не хуже, чем все то же самое, но без исходников, как было в этой теме до появления описания алгоритма. Ну и в принципе, разговор все же шел не о моих проектах, а о вопросе выкладывания исходного кода, являющегося одной из самых существенных частей конструкции. Опять же, схема штука не более понятная, чем код, а комментарии к ней у многих отсутствуют. В том числе и здесь. Может, и она бесполезна? Насчет "завернуто" - разве что в таймере, сделанном на основе диспетчера задач. Программатор структурно весьма прост и даже немного прокомментирован. Про гуглкод уже сказали, ну и там прикладные проекты под винду, а не встраиваемые.
Цитата:
Появилось что-то законченное - выложил с исходниками
Я так понял, DSS-90 уже закончена, допиливается DFS-90. Почему бы тогда было не выложить исходники на нее?
Видимо это потому, что я строго говоря не прошу "дайте мне исходник, пожалуйста". Я скорее хочу понять, почему человек, делясь своей конструкцией (а не просто выложив фоточки с текстом "смотрите какую я штуку собрал") выкладывает схему (по сути по своей - исходник для электронной конструкции), но не выкладывает исходники, являющиеся для конструкции на микроконтроллере тем же, чем для конструкции без него является схема. Я более-менее понимаю Volly - он дает прошивку для конкретной цели - оживить паяльную станцию, а не делится конструкцией. Но тут - не понимаю.
А вот другой вопрос можно и переформулировать. Уважаемый Ничегонеработает, расскажите пожалуйста, как работает алгоритм стабилизации оборотов турбины.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
У фена тепловое сопротивление датчик-сопло зависит от потока воздуха. Поэтому в алгоритм стабилизации температуры нужно вносить поправку. К тому же, для разных потоков воздуха нужны разные коэффициенты PID. Пока не знаю, на какой компромисс пойти. Работа над такими проектами, как фен и паяльник, очень затратна по времени, так как нужно накапливать множество экспериментальных графиков, а после каждого цикла нагрева приходится долго ждать, пока всё остынет.
Vga писал(а):
И можно чуть подробнее о алгоритме стабилизации оборотов?
Из потребляемого тока двигателя с помощью полосовой фильтрации выделяется сигнал пульсаций переменного тока с частотой коммутации обмоток двигателя турбины. Эта частота в 4 раза выше частоты вращения крыльчатки. Затем формируется прямоугольный сигнал с TTL-уровнями, который подается на микроконтроллер. В контроллере производится измерение частоты этого сигнала методом reciprocal counting. Заданная и измеренная частота подается на PID-регулятор. На выходе регулятора формируется значение, которое задает коэффициент PWM в схеме питания двигателя. Как-то так.
Vga писал(а):
Опять же, схема штука не более понятная, чем код, а комментарии к ней у многих отсутствуют. В том числе и здесь. Может, и она бесполезна?
Да, без описания схема бесполезна. Но я не собирался оставлять её без описания. После окончания проекта я планировал написать статью. У меня уже есть 25 страниц в Word, не считая рисунков. Но проект пока не закончен, и конца работе не видно, так как я натолкнулся на трудности, для преодоления которых не хватает моей квалификации.
Vga писал(а):
Я так понял, DSS-90 уже закончена, допиливается DFS-90
Нет, прошивка DSS-90 тоже пока не готова. Просто хоть как-то она работает. Но её работа меня решительно не устраивает. Как по качеству термостабилизации, так и по эргономике. И я не знаю, что дальше делать, как исправить недостатки. По термостабилизации многократно задавал вопросы (например, здесь: http://leoniv.livejournal.com/109908.html), ответы сводились в основном к "выкини плохой паяльник". По эргономике меню тоже нет пока нормального решения. Пользоваться станцией ужасно неудобно. У меня идеи кончились. Вот с чем-чем, а с меню могли бы и помочь, ведь многие из читателей этой ветки являются потенциальными пользователями этой станции. Так фиг, всё приходится обдумывать самому. Обидно. А Вы - исходники...
Но я не собирался оставлять её без описания. После окончания проекта я планировал написать статью. У меня уже есть 25 страниц в Word, не считая рисунков.
Что ж, это объясняет. Единственное, что я могу добавить - некоторым, вроде меня, такие вещи достаточно интересны даже в недоработанном виде без объяснений, поэтому есть определенный смысл выложить на данном этапе не только схему, но и исходники. И фиг с ним, что они недопилены, недочесаны и/или недокомментированы.
Цитата:
По эргономике меню тоже нет пока нормального решения. Пользоваться станцией ужасно неудобно.
А подробнее? Как сделано (я видел картинку, но по ней непонятно), чем не устраивает? Из органов управления только энкодер с кликом?
Ну и по поводу собственно термостатирования. Здесь я даже не знаю, надо проводить эксперименты. Но похоже, что особо хороших результатов не получить при такой конструкции паяла, т.к. даже японские паяльники вроде Den-On SS8200 страдают проблемой залипания на полигонах. Несколько сгладить ее удается только улучшением теплопередачи (более крупная грелка и жало, как у соломона), увеличением теплоемкости жала либо увеличением запаса по температуре. Не зря в дорогих станциях применяются всевозможные фокусы - термодатчик в кончике жала, интегрированная в жало грелка (т.к. хороший прижим керамической грелки к съемному жалу реализовать по видимому невозможно), а то и вовсе как у metcal - температура задается точкой кюри материала жала. Даже у Quick 203, где нагревается прямо жало (она индуктивная), а термодатчик прижимается к жалу почти у кончика, просадка температуры при пайке составляет порядка 20 градусов.
Впрочем, с другой стороны, люкеевским паялом после доработки (чтобы грелка доставала до конца дырки в жале) при температуре кончика в простое порядка 280С вполне хорошо паять платы, проблемы возникают только на полигонах без термоперехода. Доработать надо хотя бы потому, что термопара в кончике и жало ее будет охлаждать, если она будет касаться дна отверстия. Еще лучше поискать вариант с тру-керамикой. Помимо лучших свойств (форсированный нагрев за счет высокого ТКС грелки, большая долговечность) она гораздо прочнее механически и ее спокойно можно прижимать к дну отверстия, тогда как китайский нихром при этом очень легко сломать.
Но намного лучше не будет. Я не видел не липнущих к полигонам термостатированных паял, а пробовал я МАГИСТР Ц20-А3 (керамика, прижим жала винтом), SS8200 (керамика, япония, жало достаточно плотно вставляется в отверстие трубчатой керамической грелки), люкей, нонейм-с-dealextreme (нихромо-слюдяная грелка, прижим винтом, дикая теплоемкость и жала, и грелки).
С программной точки зрения - можно попытаться определять начало пайки полигона и форсировать в этот момент. Но... У некоторых станций кстати есть профили - насколько агрессивно будет нагреваться жало. Для пайки полигонов например - агрессивный нагрев с большим овершутом. Для пайки мелкой термочувствительной детальки - плавный нагрев без овершута.
Я собрал DSS-90 в то время,когда было её обсуждение на другой ветке форума, но практически ею не пользуюсь по той простой причине,что не смог привыкнуть к тормозам вечного жала.... После чего собрал DSS-25,разработанный этим же автором и забыл проблемы.... Если нужно пропаять что то массивное или на большом полигоне - для этого под рукой 40ка ватный паяльник с 8ми миллиметровым жалом и по фиг все алгоритмы....
К примеру - на этой картинке д-пак и мини д-паки можно было при желании пропаять клином 3.2, спорить не стану,пробовал,но гораздо проще и красивее сделать 40ка ватным паялом,о котором писал...
Последний раз редактировалось VeryLazyCat Пт янв 06, 2012 12:38:18, всего редактировалось 1 раз.
Впрочем, с другой стороны, люкеевским паялом после доработки (чтобы грелка доставала до конца дырки в жале)
Вот сколько ни проводил замеров, никакой разницы не увидел, есть зазор, или нет. Сделал вывод, что основной поток тепла от нагревателя к жалу идет через боковую поверхность, а термопара все равно в основном получает тепло прямо от нагревателя через стержень. Форма дна отверстия в жале и форма кончика нагревателя не позволяет получить контакт значительной площади. Этим, наверное, и объясняется нулевая эффективность вдвигания нагревателя в жало.
Vga писал(а):
С программной точки зрения - можно попытаться определять начало пайки полигона и форсировать в этот момент. Но... У некоторых станций кстати есть профили - насколько агрессивно будет нагреваться жало. Для пайки полигонов например - агрессивный нагрев с большим овершутом. Для пайки мелкой термочувствительной детальки - плавный нагрев без овершута.
Вот здесь я не понимаю. Овершут может быть только при начальном разогреве. Во время работы температура датчика стоит, как вкопанная, она же находится в петле регулирования. Опишите, пожалуйста, более подробно, как нужно действовать для получения этих самых профилей.
Vga писал(а):
Единственное, что я могу добавить - некоторым, вроде меня, такие вещи достаточно интересны даже в недоработанном виде без объяснений, поэтому есть определенный смысл выложить на данном этапе не только схему, но и исходники. И фиг с ним, что они недопилены, недочесаны и/или недокомментированы.
Этого делать категорически нельзя. Потом будут на меня показывать пальцем и говорить, что выкладывает нерабочие конструкции. Выкладывать можно только конфетки, которые отлично работают.
Vga писал(а):
А подробнее? Как сделано (я видел картинку, но по ней непонятно), чем не устраивает? Из органов управления только энкодер с кликом?
Да, только энкодер с кнопкой. Меню сейчас такое (рис. 1). Была идея сделать такое (рис. 2). Первое на практике дико раздражает. Второе пока не пробовал, но надежд на успех мало.
Вложения:
Комментарий к файлу: рис. 2 Menu_new.gif [18.39 KiB]
Скачиваний: 2393
Комментарий к файлу: рис. 1 Menu.gif [46.96 KiB]
Скачиваний: 1778
Этого делать категорически нельзя. Потом будут на меня показывать пальцем и говорить, что выкладывает нерабочие конструкции. Выкладывать можно только конфетки, которые отлично работают.
Ты ведь уже выкладиваешь. И ее уже повторяют. Так какая разница, что ты к этому еще исходный код добавишь? Ты же не объявляешь ее готовой конструкцией, а прямо говоришь - недопилено, на сечас вот так: <архивчик с схемой и кодом>. А в мире софта, особенно опенсорсного, это и вовсе общая практика. Множество уже юзабельных проектов имеют версию в духе 0.1.14, 0.4.56 - что прямо говорит о недопиленности. Но оно уже полезно.
Цитата:
Вот здесь я не понимаю. Овершут может быть только при начальном разогреве.
В момент начала пайки жало охлаждается. Затем охлаждается и термодатчик. Регулятор это обнаруживает и повышает мощность для компенсации. Так вот мощность можно повысить так, чтобы вернуть температуру точно к требуемому уровню, а можно повысить резко, чтобы вкачать тепло в жало и компенсировать его охлаждение. При этом грелка разумеется нагреется заметно выше температуры уставки.
И вот еще один интересный вопрос... А попробуй сымитировать работу китайской станции. Не особо шустрый отклик и гистерезисная ключевая стабилизация. Температура грелки будет далеко не столь стабильна, но не исключено, что работать оно будет лучше - за счет овершутов при работе такого стабилизатора.
Про меню. Во первых, я не понял обозначений. Возможно, лучше все же описать текстом. Типа "после включения станции поворот меняет температуру. По клику станция переходит в режим настройки P (я не понял, что это)". Кроме того, самый важный вопрос - что именно раздражает?
Ну и еще вопрос. Возможно, не стоит экономить на органах управления? В моем варианте например 6 кнопок - три аналог твоего энкодера и еще три - для прочих задач. Скорее всего, это будут пресеты.
Это просто форум. Здесь я помещаю материалы только с одной целью - найти помощь в сложившейся трудной ситуации. А "выложить" в моем понимании - это опубликовать статью. Пока все мои опубликованные конструкции имеют подробное описание схемы и исходники.
Vga писал(а):
в мире софта, особенно опенсорсного
Опен сорс для меня - знак плохого качества. Не хочу, чтобы меня ассоциировали с бесплатными продуктами.
Vga писал(а):
В момент начала пайки жало охлаждается. Затем охлаждается и термодатчик
Как термодатчик может охлаждаться, если он в петле обратной связи? Нет никакого охлаждения датчика. Оно может быть только тогда, когда мощность нагревателя достигла максимальной, но тут уже ничем не поможешь. В динамике, конечно, есть небольшие колебания, но в статике температура датчика всегда одна и та же. Независимо от того, прижато жало к полигону или находится в воздухе. При этом температура кончика жала может отличаться более, чем на сотню градусов.
Vga писал(а):
Так вот мощность можно повысить так, чтобы вернуть температуру точно к требуемому уровню, а можно повысить резко, чтобы вкачать тепло в жало и компенсировать его охлаждение. При этом грелка разумеется нагреется заметно выше температуры уставки.
Как это описать алгоритмически? Мощность регулирует PID. Можно, конечно, его настроить так, чтобы работал с выбросами, но тогда процесс установления имеет вид затухающих колебаний. Температура всё равно колеблется вокруг уставки.
По теории, уставку нужно динамически менять, добавляя к заданному пользователем значению поправку, равную произведению мгновенной мощности нагревателя (а это и есть поток тепла) на тепловое сопротивление жала (что можно задать как константу). Но с таким алгоритмом паяльник не стартанет - мощность в начале нагрева полная, уставка поднимется немыслимо и никогда не будет достигнута. То же самое будет после сильного охлаждения паяльника, например, мокрой губкой при чистке.
Vga писал(а):
И вот еще один интересный вопрос... А попробуй сымитировать работу китайской станции
Вот и я пришел к выводу, что все алгоритмы, реализованные "по уму", работают хуже китайских. Тогда проект нужно просто закрывать.
Vga писал(а):
Про меню
Задачи меню нужно разделить на важные, менее важные и совсем не важные.
По опыту самым частым действием в меню является переход в Standby и обратно. У меня сейчас так: например, паяльник временно не нужен. Хочу уменьшить его температуру. Инстинктивно кручу энкодер влево, при этом температура медленно уменьшается (шаг - градус), и больше к ней нельзя будет вернуться - после регулировки она запоминается на пресете 0. Это раздражает. А чтобы перейти в Standby мне сейчас надо нажать кнопку, а затем повернуть энкодер. Потом нажать, или не нажать. Неочевидно, что делать дальше. Эта неопределенность тоже раздражает. Шаг в градус раздражает. Хочется сделать 5 или 10. Но правильно ли так урезать точность устройства?
После Standby важными функциями являются пресеты. Наверное, хватит трех (в фирменных станциях часто для них предусмотрены отдельные кнопки). Вот я и хотел в новой версии меню основной функцией энкодера сделать переход Standby -> Preset 1 -> Preset 2 -> Preset 3. Но теперь не устраивает то, что я не вижу значения температуры, к которому перехожу. Хотя, если сделать шаг 10 градусов, пресеты, наверное, вообще не нужны.
Следующая по важности функция - задание пресетов. Ну и самая маловажная - задание компенсации жала (если такое когда-нибудь будет), таймеров и т.д.
Vga писал(а):
Ну и еще вопрос. Возможно, не стоит экономить на органах управления? В моем варианте например 6 кнопок - три аналог твоего энкодера и еще три - для прочих задач. Скорее всего, это будут пресеты.
Увы, железо уже готово, все патчи возможны только в софте.
я вот, честно, не очень понял, о какой точности в +-1град. может идти речь, если стабилизируется только температура датчика на нагревателе, а на жале она гуляет в огромных пределах, в зависимости от того, куда сливается тепло. Мое мнение, что шаг в 10град вполне достаточен, да и вряд ли для пайки может быть актуальна разница, например, между 240 и 246град
В таком случае попробуй так. После включения ручка регулирует температуру. Шаг в один градус тащемта не нужен. Я бы сделал 5 градусов. Для стенд-бай - долгое нажатие. Короткое - переход в меню пресетов. Выбор пресета - краткое или долгое нажатие, смотря по нужности следующих уровней меню. Второй вариант нажатия - переход на следущий уровень меню. На нем и последующих - одно из нажатий (короткое или длинное) - принять, второе - на следущий уровень. Возврат к отображению и регулировке температуры - по таймауту (кроме пресета, когда возврат в режим выполняется при выборе пресета).
Еще один вариант - по второму варианту нажатия в меню пресетов переходить в собственно меню. Тогда ручка - выбор пункта меню, нажатие - его активация. Upd: Соответсвенно, после активации пункта меню поворот - его настройка, нажатие - принятие, долгое нажатие - отмена. Долгое нажатие в меню - выход из него. Ну и опять же возврат отовсюду в режим показа температуры по таймауту. Upd2: Такой вариант не оставляет варианта "создание пресета" в меню пресетов. Но это редкая операция и ее просто нужно вынести в отдельный пункт более глубокого меню.
Как термодатчик может охлаждаться, если он в петле обратной связи?
Это же и есть принцип работы термостабилизатора. Датчик охлаждается -> система слежения отрабатывает ошибку и повышает мощность -> датчик возвращается к температуре уставки. Изменяя динамику отработки ошибки можно добиться и выброса. Или динамически менять уставку для компенсации теплового сопротивления жала. Тот вариант который на старте будет мешать - можно отрабатывать отдельным правилом. Хотя говорят прошивки Volly держат температуру как вкопанную, и при этом я не слышал в их адрес нареканий типа "паять невозможно". Так что возможно ты слишком требователен и желаемое невозможно без смены паяльника на более совершенный. Не зря же с появлением бессвинцовки начались все эти пляски с жалами-картриджами и так далее.
Цитата:
Здесь я помещаю материалы только с одной целью - найти помощь в сложившейся трудной ситуации.
Я всего лишь предлагаю поместить на один материал больше, только и всего.
я вот, честно, не очень понял, о какой точности в +-1град. может идти речь
Конечно, ни о каком 1 градусе речь идти не может. И на практике это не надо. Но не скажут ли пользователи: "Эта станция - отстой, температуру позволяет регулировать только с точностью 5 градусов. А вот Lukey-702 - 1 градус"?
Vga писал(а):
После включения ручка регулирует температуру. Шаг в один градус тащемта не нужен. Я бы сделал 5 градусов. Для стенд-бай - долгое нажатие. Короткое - переход в меню пресетов ...
Как вариант, можно попробовать. Будет удобно, или нет, покажет только практика. Когда будут готовы прошивки с разными меню, выложу. Кто собрал станцию, сможет проверить.
Vga писал(а):
Это же и есть принцип работы термостабилизатора. Датчик охлаждается -> система слежения отрабатывает ошибку и повышает мощность -> датчик возвращается к температуре уставки. Изменяя динамику отработки ошибки можно добиться и выброса
Выброса, конечно, добиться можно. Но что толку? В установившемся режиме температура датчика постоянна. В то время как при пайке массивных деталей мощность нужно повышать и держать её повышенной. Но по показанию датчика ничего сказать невозможно.
Vga писал(а):
Или динамически менять уставку для компенсации теплового сопротивления жала. Тот вариант который на старте будет мешать - можно отрабатывать отдельным правилом
Все попытки придумать такое правило зашли в тупик. Такая ситуация может возникнуть не только при начальном нагреве, но и в процессе работы.
Vga писал(а):
говорят прошивки Volly держат температуру как вкопанную
Говорят. Но он не дает исходники, поэтому посмотреть, как сделано у него, невозможно.
Vga писал(а):
ты слишком требователен
Я провел измерения. Очевидно, что нужно делать - динамически менять уставку. Дело стало за конкретным алгоритмом. Я его придумать не смог. Но не смог и доказать, что составить его невозможно. Вот и вожусь пока с этим проектом. В конце прошлого года он меня достал, бросил на год. Теперь снова приступил. Но уже опять начинает доставать собственное бессилие.
уставку нужно динамически менять, добавляя к заданному пользователем значению поправку, равную произведению мгновенной мощности нагревателя (а это и есть поток тепла) на тепловое сопротивление жала (что можно задать как константу). Но с таким алгоритмом паяльник не стартанет - мощность в начале нагрева полная, уставка поднимется немыслимо и никогда не будет достигнута. То же самое будет после сильного охлаждения паяльника, например, мокрой губкой при чистке.
Нужно всего-навсего ограничить максимальное отклонение уставки. А по мере прогрева (при старте, или после чистки) мощность будет снижаться, соответственно будет снижаться "добавка" к уставке. Возможно, в некоторых местах это приведёт к перерегулированию, но мне кажется это не страшно. Ещё наверное следует допускать только положительное значение "добавки". В общем, тут есть над чем подумать, нужно сделать аналог "отрицательного выходного сопротивления", чтобы скомпенсировать имеющееся тепловое сопротивление жала
В то время как при пайке массивных деталей мощность нужно повышать и держать её повышенной.
КМК, кратковременный выброс мощности тут тоже роль сыграет. Но хз.
Цитата:
Говорят. Но он не дает исходники, поэтому посмотреть, как сделано у него, невозможно.
В том числе поэтому я не одобряю closed source. Если таки интересует - могу предложить три пути: 1) Спросить у Volly не непосредственно сорцы, а описание алгоритма. 2) Скормить прошивку дизассемблеру и раскурить. 3) Volly выкладывал исходники старой версии прошивки где-то в теме. Хотя мог уже удалить, но у меня они вроде где-то лежат.
Чего Вы так привязались со своим "дай исходники"? Это считай законченное изделие, к нему будет прошивка. Исходники - это совсем другая песня, и автор не обязан разбрасывать их кому попало. Да и какой Вам с них толк? Поучиться? Поучитесь на чём-то другом.
Vga писал(а):
Если таки интересует - могу предложить три пути: 1) Спросить у Volly не непосредственно сорцы, а описание алгоритма. 2) Скормить прошивку дизассемблеру и раскурить. 3) Volly выкладывал исходники старой версии прошивки где-то в теме. Хотя мог уже удалить, но у меня они вроде где-то лежат.
1) Вот сами и спросите, а потом передайте топикстартеру. Как Вам такой вариант? 2) Это весьма муторное и практически всегда неблагодарное занятие. 3) Можете разобраться в них, выудить оттуда алгоритм, и выложить (или передать лично топикстартеру)?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения