Контроллер охлаждения

Хорошая астрокамера должна иметь механизм поддержания стабильной температуры сенсора. Для этой цели был сделан контроллер для пельтье. Этот контроллер подойдет для камеры cam8, cam8s и может работать автономно. Т.е. контроллер самостоятельно будет поддерживать заданную температуру.

IMG_1717

Плата контроллера охлаждения.

Сам контроллер представляет из себя отдельный от камеры блок, который управляется по USB (да, 2 USB порта на одну камеру — лишнее, но маємо що маємо). Для питания пельтье (TEC1-3103, 3.5В, 3.4А) используется готовый DC-DC Adjustable Step-Down 5A модуль с ebay за 5$ и n-channel MOSFET. Ключем управляет микроконтроллер ATmega16. Связь с ПК — Virtual Com Port, через FT232RL. DC-DC модуль питается от внешнего блока питания 12В 2А. ATmega16 и FT232RL питаются от USB. Используется 2 датчика температуры DS18B20, один крепится на медном теплоотводе камеры, второй — с внешней стороны корпуса камеры.

tec_board_sch

схема

Порядок сборки таков:

1) Собрать схему.

2) С помощью ISP-программатора залить в контроллер прошивку бутлоадера и выставить фьюзы. Скрин фьюзов в AVRProg и ChipBlasterAVR ниже.

tec_board_fuse_AVRProg

Контроллер охлаждения, fuse bits

tec_board_fuse_ChipBlaster

Контроллер охлаждения, fuse bits

3) Сразу же залить основную прошивку.

Бутлоадер нужен только для удобства. В течении первых 10с после подключения USB кабеля работает бутлоадер. В это время можно запустить AVRProg и перепрошить контроллер не вынимая плату из корпуса. Нужно только не забыть присвоить FT-шке номер COM порта ниже COM4 (иначе AVRProg может не увидеть нужный последовательный порт).

Алгоритм работы контроллера — пропорциональный регулятор с программным ШИМ (2Гц). Стабльность поддержания температуры — +-0.1-0.2С. Пробовал использовать аппаратный ШИМ на 32кГц, желаемого результата добиться не получилось — возникают наводки, которые портят изображение.

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

Также был реализован standalone mode, контроллер запоминает предыдущее свое состояние и при включении поддерживает температуру на сенсоре, которая была задана прошлый раз. Может быть полезен тем, кто не хочет иметь лишнего подключенного USB порта, или софт управления камерой поддерживает ASCOM, но не поддерживает управление ее температурой. Достаточно один раз задать желаемую температуру.

Для управления контроллером была написана небольшая программка:

tec_control_soft

Программа управления модулем

Поддержка модуля охлаждения для камер семейства cam8 была интегрирована в ASCOM драйвер. Скачать драйвер.

 

tec_control_maxim

Управление контроллером из Maxim DL.

 

Все необходимое для сборки.

Список деталей: http://astroccd.org/wp-content/uploads/2015/03/tec_board_list_of_elements.zip

Бутлоадер и основная прошивка + исходники: http://astroccd.org/wp-content/uploads/2015/04/TECboard_src.zip

Программа управления + исходники: http://astroccd.org/wp-content/uploads/2015/03/TECcontrol01.zip

Печатная плата (Sprint Layout) в моем случае: http://astroccd.org/wp-content/uploads/2015/03/tec_board_pcb.zip

Или на github: https://github.com/vakulenko/CAM-Cooler-Control

С моим экземпляром cam8 удалось добиться дельты в 28-30 градусов относительно температуры окружающего воздуха.

30 комментариев на “Контроллер охлаждения”

  • József says:

    Hi!
    Please help me!
    I would like use Atmega8. Please change your software if is it possible.
    Thank you!

  • József says:

    Thank you!
    I will to probe next week.

  • Константин says:

    Здравствуйте!
    Как адаптировать данный контроллер охлаждения для пельтье TEC1-12706 12В 6А ?
    Возможно ли интегрировать поддержку контроллера модуля охлаждения в ASCOM драйвер для Canon EOS?

    • vakulenko says:

      Добрый день,
      Из схемы просто выбрасываем DC-DC преобразователь и используем 12в внешний блок питания достаточной мощности, также нужно проверить, чтобы VT1 вытянул максимальный ток на пельтье. Обороты вентилятора я бы не регулировал, пускай работает на 100% всегда, иначе он с этим контроллером будет работать рывками (контроллер использует софтовый ШИМ с частотой около 2Гц для управления пельтье).

      Насколько я знаю, для Canon EOS нет ASCOM драйвера, т.е. не с чем интегрировать. Для отдельного управления контроллером есть мелкая самописная софтина.
      Некоторые модели Canon EOS имеют встроенный датчик температуры на матрице, показания с которого Maxim DL вносит в fit заголовок.

  • Laszlo Kis says:

    Hi!

    I made my cooler pcb and works but i have 3-3.1°C internal and external temp. In room i have 23°C not 3. I have 2.8-2.9V on pin 21,22. How can i solve it?

    • vakulenko says:

      Hi,
      Looks like broken temp sensors. It must be 5v at 21,22 pins (if your VCC is 5v).

      • Laszlo Kis says:

        Sorry i measured it wrong. I hav 3.9-4V It looks it divide the real temp by 8. Indor 24°C it says 3, outside 8°C it says 1, and in the fridge -15°C it says -1.9-2.

        • vakulenko says:

          Hmm..
          You use original .hex firmware, fuses and mega16 MCU?

          Also try playing with R1, R2.

          • Laszlo Kis says:

            Yes i use atmega16a and .hex from this site. Tried R1 and R2 1k to 10k but the same. Tried internal 8MHz and external 8MHz but nothing. Can i write to .hex file a 8X multiplier somehow?

          • Laszlo Kis says:

            I think i found it. I use DS1820 sensor but you wrote DS18B20. Difference is 9bit vs 12bit.

          • vakulenko says:

            J

          • vakulenko says:

            I will update schematic soon to correct issue.

  • Константин says:

    Добрый день, а можно ли сделать данный контроллер охлаждения для CAM85 на базе ардуино? Есть ли скетч который будет работать с ascom драйвером?

  • Дмитрий says:

    Здравствуйте, а в UNO можно залить данную прошивку?
    https://github.com/vakulenko/CAM-Cooler-Control/tree/master/TEC_board_arduino_nano
    попробовал зашить, но возможно фьюзы не верно стоят на ардуинке-программка не увидела устройство.
    расскажите с какими параметрами программировали пожалуйста

    • vakulenko says:

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

  • Karl says:

    Thanks for your great firmware and schematic, I have used it to design my own board that incorporates usb 4 port hub and it’s great. In the future I will do my own version but using microchip as it’s what I work with. Good job!

    If you check the cloudy nights forums I posted my pcb gerbers.

  • Игырь says:

    А можно в эту схему и прошивку, внедрить датчик влажности DHT22 ?

    • vakulenko says:

      Можно, но не вижу смысла. С влагой внутри камеры нужно бороться, а не измерять.

  • Karl says:

    Recently built and now debugging the board I built with the pic24fj64. I have a question with the algorithm you use to control the pwm in your firmware. You made it work very well and settle very close to the setpoint with little deviation. I can see the part in your firmware but I hope to use the same algorithm in my mcu. Could you explain how it works?

  • Алексей says:

    подскажите, не совсем понял, все прошивки контроллера с компа делаются или нужен какой то отдельный прошивальщик?

Добавить комментарий для Константин