Урок 43. Разработка контроллера элемента Пельтье. Программа верхнего уровня. Проверка, настройка устройства.

Основное окно

В уроке представлю программу верхнего уровня для диагностики и настройки контроллера. Расскажу о начальной проверке работы устройства.

Предыдущий урок     Список уроков     Следующий урок

Контроллер элемента Пельтье достаточно сложное устройство. Режим его работы определяется несколькими коэффициентами и технологическими параметрами, которые могут быть заданы при компиляции программы.

 

К тому же контроллер управляет системой охлаждения, механические параметры и конструкция которой также в значительной степени влияют на комплексную работу устройства. Технологические параметры контроллера должны быть выбраны исходя из:

  • энергетических параметров контроллера: выходной мощности, тока, напряжения;
  • конструктивных параметров охлаждающей системы;
  • специфических требований к холодильнику: скорость регулирования, точность, стабильность и т.д.

Для мониторинга состояния контроллера и охлаждающей системы в целом я разработал программу верхнего уровня ”Монитор Ардуино контроллера элемента Пельтье”.

 

Программа ”Монитор Ардуино контроллера элемента Пельтье”.

Программа позволяет:

  • наблюдать состояние контролера и всей системы охлаждения в реальном времени;
  • регистрировать основные параметры и выводить результаты в виде графиков, диаграмм;
  • производить полную диагностику контроллера.

Приложение работает под управлением ОС:

  • Windows 95;
  • Windows 98;
  • Windows XP;
  • Windows 7.

На остальных операционных системах не пробовал.

 

Установка программы.

Для установки приложения необходимо:

  • Загрузить архив ArduinoRef_1_1.zip.
  • Распаковать содержимое в рабочий каталог. Можно оставить ArduinoRef_1_1.

Приложение состоит из следующих файлов.

ArduinoRef_1_1.exe Испоняемы файл
Conf.txt Конфигурация, содержит номер COM порта
arrow.bmp
arrow2.bmp
Bird.bmp
Cross.bmp
Pencil1.bmp
Пиктограммы

Все эти файлы должны находиться в рабочей папке.

Список файлов

Устанавливать программу не требуется. Достаточно просто запустить файл ArduinoRef_1_1.exe.

 

Подключение контроллера к компьютеру.

Обмен данными между контроллером и компьютером происходит через COM порт. Порт может быть виртуальным или реальным. Удобнее всего использовать виртуальный порт, который создает на компьютере драйвер платы Ардуино. Arduino IDE запускать не надо.

Но существуют и другие варианты связи контроллера с компьютером: мосты USB/UART, интерфейсы RS232 с преобразователями уровней. Подключение контроллера к компьютеру достаточно подробно описано в уроке 24. Про связь через мост USB/UART PL2303 написано по этой ссылке. Информации у  меня на сайте на эту тему много. Как-нибудь попробую собрать ее в одной статье на форуме сайта.

В результате подключения платы на компьютере должен появиться COM порт. Его номер можно посмотреть: Панель управления -> Система -> Диспетчер устройств -> Порты (COM и LPT)

Проверка номера COM порта

Программа работает с COM портами 1 – 9. Если сформировался порт с большим номером, то его необходимо изменить. Как это сделать, можно посмотреть по этой ссылке.

 

Первый запуск.

Перед любым запуском программы на компьютере уже должен быть создан виртуальный COM порт. Порт создается при подключении платы к компьютеру. Т.е. прежде всего, необходимо контроллер подключить к компьютеру.

Теперь запускаем файл ArduinoRef_1_1.exe. В файле конфигурации задан какой-то номер порта. Программа попытается открыть его при запуске. Если такого порта не существует, она выдаст сообщение об ошибке.

Предупреждение

Нажмите “OK”. Откроется основное окно программы.

Окно программы при ошибке обмена

Обмен невозможен. Данных нет. Вместо параметров будут прочерки. Светодиод ”Обмен с компьютером” будет светиться красным цветом.

Надо задать номер порта. Выберите в меню (сверху) закладку “Выбор порта”. Откроется окно.

Окно выбора номера COM порта

Задайте номер порта для своей платы. Напротив каждого порта указано его состояние.

Теперь можно закрыть окно. Заданный COM порт сохранится в файле конфигурации. Задавать номер порта при каждом запуске программы не надо.

Если все работает правильно, то раз в секунду зеленым цветом должен мигать кружок-светодиод  ”Обмен с компьютером”. Он мигает в момент приема от контроллера новых данных. Отсутствие мигания или красный цвет говорят о нарушении обмена компьютера с контроллером.

Основное окно монитора

Все подписано и интуитивно понятно. Параметры, полученные из контроллера, отображаются синим цветом.

 

Регистратор.

В программе существует регистратор, который позволяет наблюдать динамику изменения основных параметров контроллера. Регистратор запускается автоматически при запуске программы. Запись значений параметров происходит с дискретностью 1 секунда. При выходе из программы данные регистрации пропадают.

Регистрирует следующие параметры:

  • заданную температуру в камере;
  • измеренную температуру в камере;
  • температуру радиатора горячей стороны модуля Пельтье;
  • интегральную часть регулятора температуры;
  • пропорциональную часть регулятора температуры;
  • дифференцирующую часть регулятора температуры;
  • заданную мощность (выход регулятора температуры);
  • электрическую мощность на элементе Пельтье;
  • значение ШИМ.

Для того чтобы посмотреть результаты регистрации необходимо нажать закладку меню ”Регистратор”.

Окно регистратора

  • Включить и отключить отображение отдельных параметров можно ”птичками” внизу окна.
  • Отчертив область сверху-направо- вниз, удерживая левую кнопку мыши нажатой можно увеличить масштаб.
  • “Схватив” за поле диаграмм левой кнопкой мыши можно перемещать его.
  • Отчертив область снизу-направо- вверх, удерживая левую кнопку мыши нажатой можно вернуть исходный  масштаб.

 

Проверка работы контроллера.

Я думаю, что последовательность должна быть такой.

Прежде всего, необходимо подключить контроллер к компьютеру, не включая блок питания 12 В. В этом режиме, плата получает питание от USB компьютера. Питание силовой части регулятора отсутствует.

Загрузить скетч программы в плату Ардуино. Я поменял дифференцирующий коэффициент на значение 5.. (значения чисел в формате float надо писать с точкой).

Проверить работоспособность контроллера:

  • датчиков температуры;
  • кнопок;
  • индикатора;
  • связь с компьютером;
  • Проверить включение/выключение вентилятора и отработку ошибки перегрева. Для этого надо нагреть датчик температуры радиатора .

Программа ”Монитор” должна показывать примерно такие параметры. Все, что задано в контроллере кнопками или константами должно отображаться правильно. Заданную температуру необходимо задать меньше измеренной.

Основное окно монитора

Реальная мощность должна быть равна 0.

Регулятор температуры сформирует заданную мощность на максимальном заданном уровне (у меня 7 Вт). Интегральная часть будет линейно увеличиваться.

ШИМ будет увеличиваться,  пока не станет максимальным (255).

Диаграммы

Далее следует проверить регулятор мощности.

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

Устанавливаем небольшую мощность, например 6 Вт. И включаем блок питания 12 В. Устройство должно отработать заданную мощность 6 Вт на реальной нагрузке.

Программа Монитор

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

Окно регистратора

Ток измеряется с низкой разрешающей способностью. Поэтому при малых значениях тока на диаграмме выходной мощности есть выбросы, даже в те моменты, когда ШИМ стабилен.

В этом режиме надо:

  • Проверить то, что правильно заданы измерительные коэффициенты. Т.е.
    • реальное напряжение на выходе соответствует измеренному контроллером;
    • ток потребления регулятора соответствует измеренному;
    • реальная мощность на выходе соответствует измеренной. Только надо помнить, что измеряется мощность потребления регулятора, а не выходная.  Погрешность может быть 5-10%. Я писал об этом в уроке 36.
  • Проверить работу регулятора мощности во всем рабочем диапазоне.
  • Проверить динамические параметры регулятора мощности и выбрать интегральный коэффициент.

При оценке устойчивости регулятора мощности главным критерием является то, что в установившемся режиме ШИМ изменяется на 1.

Теперь можно посмотреть, как работает регулятор температуры.

Вот как ведут себя регуляторы при включении питания.

Диаграммы

Пропорциональное звено сразу дает 4 Вт. Интегральная часть плавно увеличивается. Регулятор мощности отрабатывает, то, что ему задано.

 

В этом окне регистратора показано поведение регуляторов при изменении заданной температуры. Когда заданная температура увеличивается, уменьшается ошибка рассогласования, мгновенно уменьшается пропорциональная часть. При заданной температуре выше реальной, пропорциональная часть становится отрицательной, а интегральная плавно стремиться к 0.

Диаграммы

Дифференцирующая составляющая включена только в демонстрационных целях. Я писал, что в рабочем проекте ее следует отключить.

Дальше надо отлаживать систему на реальном объекте – холодильнике. Честно скажу, что когда я это сделаю - не знаю. Может никогда.

Разработку я вел больше в учебных целях. Хотел продемонстрировать этапы написания и отладки программы для реального, достаточно сложного проекта.

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

И еще. Программа верхнего уровня предназначена не для научных исследований, а для отладки контроллера. Она сделана на скорую руку, отображение диаграмм происходит через стандартный компонент Borland C++ Builder. Возможно, не хватает таких функций регистратора, как сохранение данных на компьютере и просмотр с редактированием. Пожалуйста, не сравнивайте программу, написанную за 2 вечера с каким-нибудь моделирующим или исследовательским пакетом, на который 2 года целый институт работал. Для диагностики и отладки устройства функций вполне достаточно.

 

В следующем уроке я собираюсь доработать программное обеспечение контроллера,  для того чтобы основные технологические параметры хранились в EEPROM платы Ардуино и могли быть изменены с помощью программы верхнего уровня без участия Arduino IDE. Так как это сделано в контроллере холодильника на PIC контроллере.

Предыдущий урок     Список уроков     Следующий урок

7 комментариев на «Урок 43. Разработка контроллера элемента Пельтье. Программа верхнего уровня. Проверка, настройка устройства.»

  1. Эдуард, подскажите можно ли будет изменять параметры через терминалку, то есть без участия Arduino IDE и программы верхнего уровня.

    • А что значит через терминалку? В ближайшее время сделаю вариант, в котором можно будет менять параметры с помощью программы верхнего уровня, без участия Arduino IDE и без компиляции программы.
      На форуме сайта есть тема про требования к контроллеру холодильника. Можете там написать, что вы думаете по этому поводу.

  2. С огромным удовольствием прочитал все уроки по разработке контроллера ! Спасибо за столь полное, подробное и интересное изложение.
    Самому захотелось сделать какой-нибудь маленький холодильничек, а еще лучше термокамеру, чтоб не только охлаждала с помощью элементов Пельтье, но и могла нагреть, в случае надобности.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *