Воскресенье, 24.11.2024, 19:11
Радиосервис - ИЗМАИЛ

Меню сайта

Статистика
Форма входа
Друзья сайта

Форум поддержки программ "Tiny Tools" (CPLD/USB-S/USB-F/USB-SPI EJTAG Tiny Tools)

Электроника на KitPost
Поиск
Наш опрос
Оцените мой сайт
1. Отлично
2. Хорошо
3. Неплохо
4. Ужасно
5. Плохо
Всего ответов: 86
Ссылки по uCoz
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Модератор форума: Alexandr_  
    Инфракрасная паяльная станция своими руками на ARDUINO
    Alexandr_
    Дата: Среда, 08.02.2017, 19:55 | Сообщение # 1        
    Генералиссимус
    Группа: Администраторы
    Сообщений: 814
    Статус: Offline

    Форумчане, куплю-продажу и личные сделки выяснять в личке, либо в новом форуме, этот форум для вопросов по электронной части станции.

    Архив по станции от hominidae с проектом efimsu ->здесь
    Проект Леонида, Leonid0071 "UNO-MAX6675-PC" и его доработки на форуме Амперки -> скачать

    Люби грешников, ненавидь сам грех!
     

    Cinema
    Дата: Четверг, 03.10.2019, 14:19 | Сообщение # 586        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    valentintatchin Так было задумано самим snmar4enko! Эта версия делалась для тех, у кого слишком мощные нагреватели на НИ и на ВИ (например НИ=3кВт, ВИ=1100Вт). Распределено управление поочередно по нечетным и четным полуволнам сетевого напряжения, чтоб можно было станцию подключать в обычную розетку, где допустимая нагрузка на сеть не должна превышать 3кВт. Посмотрите код:
    
    Код
    void halfcycle()  //прерывания таймера
    {
      tic++;  //счетчик
      if ((DimmerUP < tic) && (chet)&&(DimmerUP != 220)) D4_High; //управляем выходом
      if ((DimmerDOWN < tic) && (!chet) && (DimmerDOWN != 220)) D3_High; //управляем выходом
    }

    void  detect()  // обработка внешнего прерывания.
    {
      D4_Low; D3_Low; //логический ноль на выходы
      RestartTimer1();
      tic = 0;     //обнулить счетчик
      chet = !chet; //ЧЕТНОСТЬ ПОЛУВОЛНЫ
    }

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет
     

    valentintatchin
    Дата: Четверг, 03.10.2019, 17:11 | Сообщение # 587        
    Рядовой
    Группа: Пользователи
    Сообщений: 19
    Статус: Offline

    Cinema, Понял. У меня всего 1500 низ и 500 верх + делаю небольшой столик ватт на 800.
    В программировании я не селен, подскажите тогда как убрать четность полуволн или какую версию прошивки использовать?
     

    dscOlga
    Дата: Пятница, 04.10.2019, 18:29 | Сообщение # 588        
    Майор
    Группа: Пользователи
    Сообщений: 83
    Статус: Offline

    Вот версия скетча со стандартным диммером, мощность по 100% для верха и для низа. Детальное описание возможностей в теле скетча. Версия номер 2.1.2
    Прикрепления: Rework_v2.1.2.ino (53.7 Kb)
     

    valentintatchin
    Дата: Суббота, 05.10.2019, 11:55 | Сообщение # 589        
    Рядовой
    Группа: Пользователи
    Сообщений: 19
    Статус: Offline

    dscOlga, Спасибо огромное!!! Прошил, все отлично работает.
     

    fedorchuk007
    Дата: Пятница, 11.10.2019, 10:19 | Сообщение # 590        
    Сержант
    Группа: Пользователи
    Сообщений: 24
    Статус: Offline

    
    Цитата
    Вот версия скетча со стандартным диммером, мощность по 100% для верха и для низа. Детальное описание возможностей в теле скетча. Версия номер 2.1.2

    Закиньте робочие библиотеки
     

    Cinema
    Дата: Пятница, 11.10.2019, 12:55 | Сообщение # 591        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    Цитата fedorchuk007 ()
    Закиньте робочие библиотеки

    LiquidCrystal_I2C.h ставьте через "менеджер библиоткек" в arduino IDE.

    CyberLib.h лежит здесь:
    

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет
     

    dscOlga
    Дата: Пятница, 11.10.2019, 19:38 | Сообщение # 592        
    Майор
    Группа: Пользователи
    Сообщений: 83
    Статус: Offline

    Если это принципиально, вот те которые у меня компилировались, они стандартные
    Прикрепления: libraries.zip (22.4 Kb)
     

    snmar4enko
    Дата: Вторник, 03.03.2020, 21:18 | Сообщение # 593        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата Cinema ()
    Ku=80 вами установленное значение.
    Tp=24 сек. согласно нижнему графику (число секунд между любыми большими двумя горбами на графике ВИ)
    Kp = 0.6 * Ku считаем (0.6*80=48)
    Ki = 2 * Kp / Tp считаем (2*48/24=4)
    Kd = Kp * Tp / 8 считаем (48*24/8=144)
    ЗДЕСЬ НЕ СОВСЕМ ВЕРНО. У нас еще есть время между расчетами. Это 0.25 секунды. Оно влияет только на Ки и Кд. Думаю что коэффициенты в расчете не те.

    Kp = 48
    Ki = 16
    Kd= 36 - с учетом 0.25 секунд. 

    И еще вопрос эти коэффициенты какие учитывают множители  10 100 100? Или множителей нет?

    Теперь про Ku=80. Как выбрали?
    Я когда то писал про тест нагревателя обычным симисторным диммером. Димер грел низ и 150 градусов обеспечивал при непрерывной подаче мощности в 13%. Теперь про Ku. Для данного обогревателя достоточно 15.....

    Kp = 9
    Ki = 2.25
    Kd= 6.75
    И продолжая дальше - когда режим установился и действует только Интегрирующая составляющая к примеру при Ki=1 в режим Система выйдет за 3.25 секунды. А расчетный 2.25 приведет что колебания в 1 градус будут повышать мощность до 15.25% что приведет к вылету. Снова тупик?

    Еще проводил эксперименты Нижний нагрев керамика 120*120 SSR реле и REX C100. Термопару сунул в отверствие внизу чтобы капля термопары касалась нагревательной поверхности. Саморасчет REX c100
    P=12 I=25 D=8. Однако имеют место вылеты на 3-5 градусов. Причем на коэффициентах по умолчанию (с завода) P=30 I=120 D=30  вылетов нету. Не известно какой там пид используется и как коэффициенты учитываются. 

    И еще по поводу последнего скетча 

          lcd.print("  ");
          lcd.setCursor(13, 1);
          lcd.print(profile.dwellTimerStep[editStep]);
          lcd.print("c ");
          if (upSwitchState == HIGH && ( millis() - ms_button) > 200)
          {
            ms_button =  millis();
            profile.dwellTimerStep [editStep]= profile.dwellTimerStep [editStep]+ 1;
            if (profile.dwellTimerStep [editStep]>= 240)
            {
              profile.dwellTimerStep [editStep]= 240;
            }
          }
    - это время стабилизации температурной площадки в конце каждого шага. Зачем ограничение такое большое? Только для верхнего нагревателя. Снятие чипа или запайка - максимум секунд 25.

    70, 50, 30,                                   // PID верха, Kp умноженный на 10, Ki Kd умноженое на 10               
    70, 50, 30,                                   // PID низа, Kp умноженный на 10, Ki Kd умноженое на 10
        
    но в самом ПИД

    byte Pid1(double temp, double ust, byte kP, byte kI, byte kd)
    {
      byte out = 0;
      static float ed = 0;
      e1 = (ust - temp); //ошибка регулирования
      p1 =  (kP * e1) / 10.0; //П составляющая
      integra = (integra < i_min) ? i_min : (integra > i_max) ? i_max : integra + (kI * e1) / 100.0; //И составляющая
      d1 = kd / 100.0 * (temp - ed); //Д составляющая
      ed = temp;
      out = (p1 + integra - d1 < 0) ? 0 : (p1 + integra - d1 > profile.pwr_TOP) ? profile.pwr_TOP : p1 + integra - d1;
      if (Output1>=100 && e1>0 &&integra>0) integra -= e1;
      return out;
    }

    byte Pid2(double temp, double ust, byte kP, byte kI, byte kd)
    {
      byte out = 0;
      static float ed = 0;
      e2 = (ust - temp); //ошибка регулирования
      p2 =  (kP * e2) ; //П составляющая
      integra2 = (integra2 < i_min) ? i_min : (integra2 > i_max) ? i_max : integra2 + (kI * e2) / 1000.0; //И составляющая
      d2 = (kd/10)  * (temp - ed); //Д составляющая
      ed = temp;
      out = (p2 + integra2 - d2 < 0) ? 0 : (p2 + integra2 - d2 > profile.pwr_BOTTOM) ? profile.pwr_BOTTOM : p2 + integra2 - d2;
      if (Output2>=100 && e2>0 && integra2>0) 
      integra2 -= e2;
      return out;
    }

    Тут уже коффициенты 10 100 100. Причем в расчете все значения  работает 8 раз в секунду. Ресурса то Ардуинки хватает ..... но все же ....

    И сам скетч на реальном железе не проверял ..... лень паять.
     

    dscOlga
    Дата: Суббота, 07.03.2020, 23:13 | Сообщение # 594        
    Майор
    Группа: Пользователи
    Сообщений: 83
    Статус: Offline

    Цитата snmar4enko ()
    ЗДЕСЬ НЕ СОВСЕМ ВЕРНО. У нас еще есть время между расчетами. Это 0.25 секунды. Оно влияет только на Ки и Кд. Думаю что коэффициенты в расчете не те.Kp = 48
    Ki = 16
    Kd= 36 - с учетом 0.25 секунд.
     
    Спорное утверждение, слишком странные получаются коэффициенты, а именно Ki = 1; Kd = 576, хотя для инерционного нагревателя...
    Цитата snmar4enko ()
    И еще вопрос эти коэффициенты какие учитывают множители  10 100 100? Или множителей нет?
    Получаемые коэффициенты без множителей.
    Цитата snmar4enko ()
    Теперь про Ku=80. Как выбрали?
    Его не выбирают, его получают экспериментально, т.е Ku это пропорциональный коэффициент при котором система начинает колебаться.
    Цитата snmar4enko ()
    Теперь про Ku. Для данного обогревателя достоточно 15.....
    Мы не выбираем Ku, он есть такой как есть и описывается только конкретной системой. А вот Kp мы выбрать можем, его кстати можно крутить туда-сюда в зависимости от того, какую реакцию системы мы хотим получить.
    Цитата snmar4enko ()
    А расчетный 2.25 приведет что колебания в 1 градус будут повышать мощность до 15.25% что приведет к вылету. Снова тупик?
    Не забывайте про остальные составляющие ибо при колебаниях в 1 градус будут работать все три составляющие ПИД.
    Цитата snmar4enko ()
    Саморасчет REX c100P=12 I=25 D=8. Однако имеют место вылеты на 3-5 градусов. Причем на коэффициентах по умолчанию (с завода) P=30 I=120 D=30  вылетов нету. Не известно какой там пид используется и как коэффициенты учитываются.
    Хреново работает автоподбор коэффициентов, а с завода китайцы вручную подобрали приемлемые параметры.
    Цитата snmar4enko ()
    Зачем ограничение такое большое? Только для верхнего нагревателя. Снятие чипа или запайка - максимум секунд 25.
    Для универсальности, может кто-нибудь будет использовать скетч не по назначению, для барбекю, например.
    Цитата snmar4enko ()
    70, 50, 30,                                   // PID верха, Kp умноженный на 10, Ki Kd умноженое на 10               70, 50, 30,                                   // PID низа, Kp умноженный на 10, Ki Kd умноженое на 10
        
    но в самом ПИД
    Да, в описании косячок остался из прошлых версий.
    В реальности коэффициенты мы видим как Kp/10, Ki/100, Kd/100
    а в скетче всё сложнее, для верха это коэффициенты 10  100  100, для низа 1  1000  10
    Цитата snmar4enko ()
    Причем в расчете все значения  работает 8 раз в секунду. Ресурса то Ардуинки хватает ..... но все же ....
    Это ещё почему, там период 250мс(реальный), т.е 4 раза в секунду.
    Цитата snmar4enko ()
    И сам скетч на реальном железе не проверял ..... лень паять.
    А я пробовал, вроде как работает.
     

    snmar4enko
    Дата: Четверг, 12.03.2020, 20:04 | Сообщение # 595        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата dscOlga ()
    Спорное утверждение, слишком странные получаются коэффициенты, а именно Ki = 1; Kd = 576, хотя для инерционного нагревателя...
    Все потому, что не правильно измеряем данные для вычисления коэффициентов ПИД.
    Нужно задать нагревателю температуру нагрева и получать график процеcса нагрева при Kd=0 и Ki=0, а у нас даже нижний нагреватель греется по термопрофилю .... обычно 1 градус в секунду. Общим нужно или вводить дополнительный режим для измерений, или не страдать фигней.

    Кстати недавно ковырял исходники для паяльника TS-100. Там коэффициенти ПИД для керамики:
    
    Код
    pid.kp          = 15;
        pid.ki          = 2;
        pid.kd          = 1;

    Определить сколько раз на секунду пересчитывается ПИД не смог определить.....Как я понял там Коэффициеи ПИД стабильные но кроме термопары в жале еще есть термосопротивление в ручке и на основе этих двух измерений считается уровень мощности на нагреватель.
    может Kd = 0.576 а не Kd = 576?

    Цитата dscOlga ()
    Хреново работает автоподбор коэффициентов, а с завода китайцы вручную подобрали приемлемые параметры.
    А может  в нас та же ситуация - Я проводил эксперементы с REX-C100, так вот с коэффициентами ПИД с завода одинаково хорошо греет как лампу (жаровку) так и утюг , также и иннакрасную керамику.
    На инфракасном нагревателе гриль от микроволновки (такая крученная спираль в стекляной трубке) - были вылеты, хотя один раз когда термопара потеряла контакт с нагревателем чуть стол не загорелся - система моментально нагрела почти до 500 градусов и чуть стол не загореся. Мощность с запасом .....
    Я к чему веду -может и у нас подобрать 1 раз  ПИД - регулируем то один параметр мощность нагревателя в процентах. И если нагреватель установленное значение температуры будет греть так сказать на линейном участке мощности то и проблем не будет.

    В плане перелетов верха - может оптопар для верха нужно две? Одну в контакт к верхнему нагревателю, другую к запаеваемой BGA микросхеме. Возникает вопрос - никто верх не разбирал к какой то нормально паяльной станции - есть ли там дополнительная оптопара?. Если есть то каким образом соединены (впараллель, последовательно, в одну полярность или встречно), ведь измеритель температуры верха как правило один.

    Цитата dscOlga ()
    Причем в расчете все значения  работает 8 раз в секунду. Ресурса то Ардуинки хватает ..... но все же ....
    Это ещё почему, там период 250мс(реальный), т.е 4 раза в секунду.
    4 раза в секунду на 2 пида = получаем 8 раз.

    Еще хочу привести пример рассуждения одного товарища по поводу ПИД, Только он регулирует мощность а не процент Мощности и мы сможем применить это к примеру для верхнего нагревателя - прикуривателя:
    
    Цитата
    Пропорциональный коэффициент. Я выбрал значение koeffRegTmpPr = 0,5. Это значит, что при ошибке рассогласования 1 C° пропорциональное звено даст 0,5 Вт на элементе Пельтье. Допустим, мы включили нагретый холодильник. Разница между заданной и реальной температурами 10 C°. В этом случае  пропорциональная составляющая мгновенно задаст регулятору мощности 5 Вт.Интегральный коэффициент. Я выбрал koeffRegTmpInt = 0,002. Это значит, что при ошибке рассогласования 1 C° каждые 1 сек выходная мощность будет увеличиваться на 0,002 Вт. За 8 минут она увеличится на 1 Вт. При ошибке рассогласования 10 C° мощность будет увеличиваться в 10 раз быстрее, т.е. на 1 Вт за 50 сек.Скорее это слишком большой коэффициент. В реальной системе я бы сделал его еще на порядок меньше.Дифференцирующий коэффициент. Я задал koeffRegTmpDif = 50. Это значит, что при изменении ошибки рассогласования на 0,1 C° мощность изменится на 5 Вт.С этим коэффициентом не все так просто. Я включил дифференцирующую составляющую только в демонстрационных целях.  Думаю, необходимости в ней в нашей системе нет. Она имеет смысл только в системах с малой инерционность. К тому же не совсем понятно, как она будет работать в нашей системе.Представьте себе. Температура увеличилась на 0,1 C°. Дифференцирующая составляющая выдала уменьшение заданной мощности на 5 вт. Но уменьшение мощности будет сформировано только  в течение одной единицы временной дискретности регулятора, 1 сек. Вряд ли система охлаждения успеет отработать. Еще есть регулятор мощности. В принципе его быстродействие позволяет отработать за такое время, но мы значительно снизили скорость его работы из соображений щадящего режима для модуля Пельтье.Мы можем значительно увеличить дифференцирующий коэффициент. Тогда при медленном регуляторе мощности произойдет следующее. Допустим, при изменении ошибки рассогласования дифференцирующее звено даст такую составляющую, которая уменьшит заданную мощность до 0. Это значение будет держаться в течение 1 сек. Регулятор мощности у нас работает в цикле 20 мс, т.е. 50 проходов за 1 сек. Я хочу сказать, что в этом случае выброс дифференцирующей составляющей в какой-то мере запомнится в интегральном звене. Но как это будет работать, зависит от нескольких коэффициентов.Есть еще проблема с дифференцирующим звеном. Датчик температуры у нас дискретный, с разрешением 0,0625 C°. Как и любой узел преобразования аналоговой величины в цифровую он имеет особенность, связанную со значением выходного кода на границе ступеней преобразования. Код на границах ”скачет” на плюс минус единицу преобразования. В нашем случае значение температуры будет ”дергаться” на 0,0625 C°. Это будет воспринято дифференцирующим звеном и не лучшим образом повлияет на работу регулятора в целом. Ниже я покажу этот эффект.Если кому-нибудь действительно необходим полный ПИД регулятор температуры, то он должен изменить временную  дискретность дифференцирующего регулятора и обработать код измеренной температуры, чтобы исключить ”дергание” на единицу дискретности. Сделать цифровую фильтрацию и ввести гистерезис.

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


    Сообщение отредактировал snmar4enko - Четверг, 12.03.2020, 20:05
     

    dscOlga
    Дата: Четверг, 12.03.2020, 21:12 | Сообщение # 596        
    Майор
    Группа: Пользователи
    Сообщений: 83
    Статус: Offline

    Цитата snmar4enko ()
    Все потому, что не правильно измеряем данные для вычисления коэффициентов ПИД.Нужно задать нагревателю температуру нагрева и получать график процеcса нагрева при Kd=0 и Ki=0, а у нас даже нижний нагреватель греется по термопрофилю .... обычно 1 градус в секунду. Общим нужно или вводить дополнительный режим для измерений, или не страдать фигней.
    Не надо дополнительных режимов, просто установите скорость нагрева на максимум.
    Цитата snmar4enko ()
    Там коэффициенти ПИД для керамики:
    Там нагреватель мелкий и малоинерционный и надо смотреть как ПИД принимает эти коэффициенты, наверняка множители есть.
    Цитата snmar4enko ()
    А может  в нас та же ситуация - Я проводил эксперементы с REX-C100, так вот с коэффициентами ПИД с завода одинаково хорошо греет как лампу (жаровку) так и утюг , также и иннакрасную керамику.
    Я расскажу про паяльную станцию китайскую - Lukey 852D. Выставляю 285 градусов паяльник, она греет и набирает задание затем удерживает градус в градус. Я беру термопару с ИК станции, цепляю к паяльнику и смотрю, а там полный беспредел от 276 до 290 гуляет. При этом на индикаторе ровно 285. Так что делайте выводы сами, что там китайцы в прошивке написали.
    Цитата snmar4enko ()
    Я к чему веду -может и у нас подобрать 1 раз  ПИД - регулируем то один параметр мощность нагревателя в процентах. И если нагреватель установленное значение температуры будет греть так сказать на линейном участке мощности то и проблем не будет.
    Так у нас по-сути параметры ПИД один раз и нужно подобрать, а может я не понял что именно вы имели в виду.
    Цитата snmar4enko ()
    4 раза в секунду на 2 пида = получаем 8 раз.
    Там 2 ПИДа параллельно считают разные параметры.
    Цитата snmar4enko ()
    Еще хочу привести пример рассуждения одного товарища по поводу ПИД, Только он регулирует мощность а не процент Мощности и мы сможем применить это к примеру для верхнего нагревателя - прикуривателя:
    Я видел эту статью, там система несколько другая, как бы из двух регуляторов, не так как у нас. И, кстати, много ошибок там в рассуждениях, особенно про дифсоставляющую и её запоминание в интегральном звене, это околонаучный бред.
    Цитата snmar4enko ()
    И еще вопрос  к писавшему новую целочисленную подпрограмму расчета ПИД: Диффиринцильная составляющая компенсирует Пропорциональную, у нас она тоже с минусом учитывается или нужно температуры для диффиринциальной составляющей местами переставить.
    Дифференциальная составляющая от ошибки у нас зависит. Если ошибка уменьшается составляющая имеет знак минус, если увеличивается то плюс. Всё как по классической теории.
    Цитата snmar4enko ()
    Кто нибудь так же как товарищ в цитате выше проводил анализ.

    Постоянно анализирую все изменения в математике программы, поэтому у нас и цифровой фильтр и полный дискретный ПИД.
     

    snmar4enko
    Дата: Понедельник, 16.03.2020, 08:03 | Сообщение # 597        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата dscOlga ()
    Я расскажу про паяльную станцию китайскую - Lukey 852D. Выставляю 285 градусов паяльник, она греет и набирает задание затем удерживает градус в градус. Я беру термопару с ИК станции, цепляю к паяльнику и смотрю, а там полный беспредел от 276 до 290 гуляет. При этом на индикаторе ровно 285. Так что делайте выводы сами, что там китайцы в прошивке написали.
    Вопрос измерения температуры термопарой остается отрытым, все зависит от контакта между термопарой и нагревателем: из опыта термопара внутри нагревателя (контакт) меряет лучше чем через термопасту снаружи нагревателя ..... не зря придумали нагреватель совмещенный с термопарой типа T12 (TS100, TS80). Такое же решение для нагревателей от переменки 220 вольт - измерение становится очень опасным.


    Сообщение отредактировал snmar4enko - Понедельник, 16.03.2020, 08:35
     

    dscOlga
    Дата: Вторник, 17.03.2020, 17:52 | Сообщение # 598        
    Майор
    Группа: Пользователи
    Сообщений: 83
    Статус: Offline

    Цитата snmar4enko ()
    из опыта термопара внутри нагревателя (контакт) меряет лучше чем через термопасту снаружи нагревателя
    Но при таком измерении мы меряем температуру нагревателя, а не температуру нагреваемого объекта. В Т12 и иже с ними не меняются некоторые важные параметры, такие как расстояние до объекта нагрева, теплоёмкость, теплопередача и др. Для станции такой подход можно применить разве что в алюминиевом нагревательном столе.
     

    Cinema
    Дата: Вторник, 17.03.2020, 20:42 | Сообщение # 599        
    Генерал-майор
    Группа: Проверенные
    Сообщений: 618
    Статус: Offline

    Цитата dscOlga ()
    Для станции такой подход можно применить разве что в алюминиевом нагревательном столе.
    И то с оговорками (на Амперке я намекал).
    На мой взгляд, при безусловном уважении моём, snmar4enko все же отклоняется от прикладного применения теоретических выкладок...
    Идеальный вариант работы с BGA, это когда плата проходит 90-метровую производственную печь, в которой на основных и на критических этапах, посредством большего, чем в наших обсуждаемых контроллерах, числа датчиков и каналов измерения температуры, создается матрица температурных меток. Указанные метки в разы более сложными алгоритмами, на более мощных процессорах, обрабатываются и выдают сигналы управления на гораздо более продвинутые, навороченные системы нагревателей.
    Касаемо наших контроллеров, с их всего двумя каналами контроля температур, с отсутствием закрытой камеры пайки... Ну,... Мне думается, не стОит требовать от городского автомобиля того, что ожидают от большегрузного тягача...

    "Опыт — это то, что получаешь, не получив того, что хотел" © интернет
     

    snmar4enko
    Дата: Среда, 18.03.2020, 18:00 | Сообщение # 600        
    Лейтенант
    Группа: Пользователи
    Сообщений: 68
    Статус: Offline

    Цитата Cinema ()
    snmar4enko все же отклоняется от прикладного применения теоретических выкладок...
    Может я и отклонился от практики ..... но только потому, что у меня LCD1602 припаян на прямую к ардуинке а не через I2C модуль. И перед тем как попробывать очередную прощивку нужно очень потрудится над переписью кода..... 

    Кроме того я веду к тому, что если используем нагреватели, которые наша Ардуино паяльная станция регулирует на  линейном участке (на участке далеком от 0% и 100% мощности) то и коэффициенты ПИД посчитанные единожды будут работать на разных нагревателях ..... Проблемным остается верхний нагреватель - измереяем температуру на BGA чипе, в то время как нагреватель находится в 5-7 сантиметрах над чипом.....
     

    Поиск: