Jump to content

    

ivainc1789

Свой
  • Content Count

    1181
  • Joined

  • Last visited

Community Reputation

0 Обычный

About ivainc1789

  • Rank
    Профессионал
  • Birthday 03/15/1972

Контакты

  • Сайт
    http://
  • ICQ
    70705306
  1. Разобрался с Д компонентой. Все нормально считается. Не учел, что OCR1A 16р регистр, 16р ШИМ. Поэтому коэффициенты ПИД без маштабирования для картриджа T12 будут довольно большими, у меня получились: Kp = 900, Ki = 2.5, Kd = 1200. Период апдейта регистра 8ms. Работает нормально, но просадка по температуре все же +-2 градуса при касании полигона. Ищу способы улучшения...
  2. Как минимум два способа "компенсации": 1. Просто предположим, что комнатная температура это 23 градуса и она стабильна для холодного спая картриджа T12. 2. Китайцы в паяльниках устанавливают термистор, видимо как раз для компенсации. ИМХО, это лишнее, т. к. температура в ручке все же меняется очень слабо и постепенно, а колебания измеренного значения температуры например в течении пяти минут на плюс минус пять градусов для паяльников имхо не критичны... Обязательно попробую. Сдается мне без гистерезиса вряд ли заработает как надо...
  3. Да, спасибо, я это уже уяснил и доказал экспериментом на стенде. Загвоздка теперь только в том, что Д составляющую оказалось не так-то просто настроить, даже учитывая что провал температуры при касании жалом полигона легко видеть на измерителе температуры (у меня к Меге8) подключены 3 7сегм индикатора. OCRd = Kd * (Told - T), где Told - температура на предыдущем шаге, т. е. 8ms назад. Как Kd не увеличивай, вклад этой составляющей увидеть не удается. Сейчас я пытаюсь найти ошибку в программной части, но пока тщетно...
  4. Я был бы признателен, если бы вы рассказали о вашей реализации. Потому что как показали и мои эксперименты, ПИД для паяльника не то что не нужен - просто я пока считаю, что он не работает как хотелось бы, т. к. Д компонента практически бесполезна у меня или я еще не до конца понял/настроил теорию/практику. К сожалению, не могу похвастаться таким желанием. Есть желание оттолкнуться от практики, чтобы понять теоретическую часть в общих чертах. Практически, как только я выполнил OCR1A = Kp * E все сразу заработало как предполагалось. И даже удалось настроить И компоненту и понять, что нужно вовремя сбрасывать интегратор. Но Д компонента пока слишком сложна в настройке: она влияет очень слабо, т. к. температура не способна (ИМХО) за 8ms сколь нибудь значительно измениться. Увеличение Д коэфф не особо помогает. Конечно, я мог бы увеличить период регулирования например до 100ms, но это же понятное дело, за такое время температура может и провалиться значительно... Пока не готов сказать, какие есть тут решения... И это при том, что реакция на эти провалы как раз и наиболее важна.... Возможно, какой нить ON/OFF метод действительно может оказаться... даже эффективнее... Сейчас на стенде паяльник T12 с Ali работает на Меге8 и сделано все пока с применением флоат переменных, картриджи к нему якобы 75Вт (верится с трудом). Уставка устаканивается довольно быстро и тут еще требуется настройка и есть идеи, но реакция на касание полигона самодельной платы (нет металлизации и внутр слоев) приводит к падению температуры на 4 градуса в течение примерно 3сек и как только отрываю от платы - идет восстановление до +3 над уставкой в течение примерно тех же 3сек. Такие результаты не могут меня устроить... Tanya, вы как напишете, у меня сразу начинаются бессонные ночи! ))) Можно вас попросить применить (и по возможности пояснить) написанное к условиям моей конкретной задачи?
  5. То есть, если я правильно понял вышесказанное применительно к озвученным условиям задачи нужно записать так: OCR1A = Kp * E. И результат при E >= 0 напрямую записывать в OCR1A каждые 8ms, а при E < 0 (перегрев) просто держать OCR1A = 0 (нагреватель полностью выключен)? Если так, то да, будет некоторый постоянный недолет до уставки (смещение). И тогда все встает на свои места... Правильно ли я понимаю, что если включить остальные компоненты (I и D), то при E < 0 (перегрев) знак OCRp = Kp * E становится важен ибо теперь OCR1A = OCRp + OCRi + OCRd (с проверкой на границы, конечно)?
  6. Возникла необходимость и желание ознакомиться с ПИД регуляторами. Проблемы не заставили себя долго ждать... Предположим, нужно сделать простой регулятор для паяльника. Берем ATmega8 и определяем 16р. OCR1A для управления нагревателем. OCR1A=0 и нагреватель выключен, OCR1A=65535 и нагреватель включен на полную мощность. Естественно, программируем 16р. ШИМ. Также я сделал измерение температуры жала. Итак, каждые 8ms программа получает данные о текущей температуре, рассчитывает ПИД и определяет новое содержимое OCR1A, выдавая на нагреватель соотв мощность... А вот и проблемы: 1. Рассмотрим работу P регулятора. I и D выключены. Вроде все должно быть просто: OCR1A = OCR1A + Kp * E, где E = Tu - T; (Tu - уставка, T - текущая температура). Такая формула работает только в том случае, если T находится вблизи уставки. Т. е. задача сделать предварительный нагрев должна рассматриваться как отдельная задача... Тогда почему теория говорит о некоем смещении, которое свойственно P регулятору в установившемся режиме? Лично я его не наблюдаю! Температура у меня четко держится на уровне уставки с небольшими отклонениями на 1 градус максимум. Все соответствует вышеприведенной формуле, если преднагрев уже сделан. Если же не сделан, то имеем очень сильный "перелет" уставки, после чего все устаканивается... Вместе с тем, моя BGA паяльная станция построенная на ПИД контроллере REX100 (нижний подогрев) при выключенных I, D компонентах ведет себя несколько мудро: она предугадывает приближение к уставке, причем как сверху так и снизу и соответствующим образом управляет релейным выходом. Конечно, наверное я так тоже могу сделать, но вот вопрос - где тут заканчивается теория и начинается творчество разработчика? Где долбаное смещение? Как его увидеть? Уже потратил несколько часов, собрал макет, но есть ощущение, что теорию я не понимаю... 2. Попытки использовать интегральную (I) составляющую также ни к чему хорошему не привели. Малейшее ее влияние сильно замедляет систему и реакция на изменения температуры становится вялой. Она как бы не нужна здесь... 3. Чудо под названием D дифференциальная составляющая практически не может работать: с таким малым периодом (8ms) температура не успевает измениться значительно и соотв эта компонента если и влияет то очень слабо... Если увеличить период, то проигрываем в быстрой реакции из-за снижения частоты управления.. Итак, получается что проблема регулятора паяльника тупо вырождается в простой П регулятор с аккуратным преднагревом до уставки... И вот я думаю, прав ли я?
  7. AD18

    и я вот тоже хочу не использовать, но не могу. Ставить ради этого 17 версию - времени катастрофически нет! Есть же parameter manager, там видны и быстро редактируются все эти алиасы но ECO не применяет изменения для библиотек! Не могли бы вы попробовать у себя, только именно в AD18.1.7? Может сбой какой...
  8. AD18

    Я конечно дико извиняюсь, но в панели SCHLibrary AD18.1.7 нет раздела Alias!
  9. AD18

    AD18.1.7. Подскажите, как удалить элиасы компонентов в проекте библиотеки? Я так понимаю, нужно это делать через Parameter Manager проекта библиотеки, там есть все эти параметры, но удалять их ECO не хочет, пишет schematic parameters not available. Если удалять параметры обычного проекта, все работает нормально, а вот для библиотеки не работает...
  10. ELITAN.RU

    А можно ли поинтересоваться лично у вас, электронная база указанного контрагента является ли полным клоном сайта Элитан по ассортименту? Если я не нашел у них нужный компонент, значит он отсутствеут и на сайте Элитана?
  11. AD18

    Возможно мелочь, но для меня критично, т. к. работаю на ноуте. В AD18.1.6 стало опять невозможно поместить панели в продолжение строки меню - мешают три идиотские кнопки Pref, Notifications, Sign in, расположенные в правом углу дисплея на строке основного меню. Уж как я их только не пытался убрать и освободить место, чтобы использовать его для расположения необходимых панелей - в каждом релизе снова и снова кто-то из разрабов блокирует эту возможность. Простыми человеческими средствами их никак не убрать, а при рестарте они еще и могут размножаться. Почему их не сделать как обычную панель? Включил/выключил... AD славится своим якобы highly customizable интерфейсом, но на деле такие вот мелочи просто бесят!
  12. Вопросы начинающих 2017 г.

    ЦитатаOutJob Ни о чем не говорит. Там куча разделов. И в каждом можно по разному. В котором идет речь? Documentation Output -- Там Draftsman рулит. Он видит контур Да, у меня в OutJob/Documentation Output несколько выводов на печать настроено. До 17.1 все было нормально и кипауты не печатались, а контур платы печатался. После 17.1 на печать стали вылетать кипауты и мне пришлось разбираться... С Draftsman я в ближайшее время связываться не планирую, слава Богу - хватает всего стандартного. То есть выхода два: или делать доп мех слой и отображать туда контур платы и выводить этот мех слой на печать или просто не делать на плате кипауты со свойством All layers. Ну просто нет слов... Лучше и проще второй вариант...
  13. Вопросы начинающих 2017 г.

    Цитата(Владимир @ Oct 28 2017, 23:41) Контур платы никогда ни на каком слое не определялся. Он сам по себе. Но его можно создать специальными средствами. Поясню еще раз. У меня на плате есть стандартные кипауты со свойством All layers и контур платы в 17.1 - это тоже ТЕПЕРЬ кипаут с этим же свойством! Соответственно в OutJob выводится все сразу, а нужно вывести только контур платы. Как это сделать?
  14. Вопросы начинающих 2017 г.

    И все же не могу разобраться с board shape после нововведений 17.1. Теперь контур платы и стандартные keepout объекты размещаются на одном слое и я не могу их различать при выводе в OutJob. В OutJob нужно вывести контур платы но не выводить все прочие стандартные кипауты на плате... Пока вижу только один путь: сделать контур платы в мех слое, затем отразить его как keepout треки на слой keep-out, далее при выводе в OutJob запретить вывод слоя keepout и разрешить вывод контура платы из мех слоя. Если это единственно правильный путь, то... нафига такой геморрой придуман???
  15. Цитата(Владимир @ Oct 13 2017, 14:22) Правый клик Net Action там нужные команды Это то я знаю, но указанная функция заявлена хелпом, но на деле не работает? Не порядок!