Автор Тема: Охлаждение матрицы зеркалки  (Прочитано 89630 раз)

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #30 : Февраля 17, 2015, 17:00:09 »
Вот я то же не понял, зачем такие сложности. Если в результате всего на выходе стоит импульсный преобразователь и мосфетник с LC-фильтром на выходе. Если на той же Atmega8 на Т0 сделать 8_ми разрядный ШИМ, тот же мосфетник прицепить и LC-фильтр. И в программе микрухи прописать медленное уменьшение скважности ШИМ с 0 до 100% либо до величины, задаваемой с компа, и все, будет плавное нарастание напряжения на элементе Пельтье. То есть вся схема сводится к одному мосфетнику или составнику...
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #31 : Февраля 17, 2015, 18:03:47 »
Вот я то же не понял, зачем такие сложности.
1. Рабочая частота. Допустим у нас ATmega8 с 16МГц кварцем. Чтобы получить частоту 50кГц период таймера должен быть 20мкс, т.е. каждые 20мкс будет прерывание, где необходимо выставить управляющие сигналы на транзистор. Кроме этого еще одно прерывание внутри 20мкс периода для отключения транзистора.
Получается что МК будет постоянно работать для прерываний от одного таймера. А есть еще UART, другая программа. Как тут быть?
Замешкаешься, проворонишь и сгорит транзистор а за ним и все остальное.

Почему такая частота?
1.1. Дроссель. на меньшую частоту дроссель будет размером в половину вентилятора  :)
1.2. Защита от превышения по току. Так же на меньшей частоте ее отследить сложнее. Кстати, а как на МК защиту будете организовывать?
1.3. Большая емкость выходного конденсатора, а, следовательно, и большая емкость входного кондера. Как результат большая импульсная нагрузка на аккумулятор, разъемы. Опять же габарит.

2. Чтобы раскачать MOSFET на частоту 50кГц ему в затвор надо минимум 250мА вгонять. Снова сложность - придется городить драйвер.

3. Составной транзистор снимет проблему с большим импульсом управляющего тока. Но посмотрите на его напряжения насыщения (падение напряжение Коллектор-Эмиттер в открытом состоянии). Минимум 2В на 3А - итого 6Вт. Печка - нужен не мнимый а реальный радиатор под это дело.

4. Эстетичнее  ;D

В итоге вся ненадежная схема сведется к висящему МК, без защиты по току (коротнул на выходе и привет), драйверу для транзистора и т.д.
Пора уже переходить на новый уровень, господа  ;)

PS: в период начальных раздумий над данной схемой был подобный вариант. Но после простейших подсчетов и размышлений я его быстро отклонил.
SW SKP1501, МТ-3S

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #32 : Февраля 17, 2015, 18:59:50 »
Опять не понял. Какие прерывания? Я не говорил про программный ШИМ. Ты же сам меня учил использовать аппаратные средства. В самом начале программы записал в OCRХХ значение сравнения и "делай все что хошь" © А таймер сам тикает, выдает нужную скважность. Когда нужно, переписал регистр OCRХХ - изменил скважность.
По поводу частоты ШИМ. Та же Atmega8 с кварцем 16мгц на таймере Т0 получаем 16 000 000/256=62500гц. Вот у меня так получается.
По рассеиваемой мощности на составниках. Вот в той коробочке фокусера, что я городил, стоит радиатор 48х30х8мм. Под ним три составника - все управляться по ШИМ и стабилизатор 78L05. Два составника используются  для управления обогревом объективов (токи по 1А) и один - как раз для питания Пельтье матрицы QHY8 (токи 2-3.5А) Все стоит в глухом корпусе и ничего, особо не греется.
« Последнее редактирование: Февраля 17, 2015, 19:18:07 от passer_by »
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #33 : Февраля 18, 2015, 09:22:01 »
Опять не понял. Какие прерывания? Я не говорил про программный ШИМ. Ты же сам меня учил использовать аппаратные средства. В самом начале программы записал в OCRХХ значение сравнения и "делай все что хошь" © А таймер сам тикает, выдает нужную скважность. Когда нужно, переписал регистр OCRХХ - изменил скважность.
Согласен с вами частично. Действительно забыл что у нас всего один транзистор. Но по OCR можно аппаратно обработать прерывание по сравнению, насколько помню. Модуля ШИМ в AVR-ах нету.
По периоду все равно придется программно настраивать.

Цитировать
По поводу частоты ШИМ. Та же Atmega8 с кварцем 16мгц на таймере Т0 получаем 16 000 000/256=62500гц. Вот у меня так получается.
Не забывайте про драйвер, если это MOSFET.

Цитировать
По рассеиваемой мощности на составниках. Вот в той коробочке фокусера, что я городил, стоит радиатор 48х30х8мм. Под ним три составника - все управляться по ШИМ и стабилизатор 78L05. Два составника используются  для управления обогревом объективов (токи по 1А) и один - как раз для питания Пельтье матрицы QHY8 (токи 2-3.5А) Все стоит в глухом корпусе и ничего, особо не греется.
Интересно  :) А какие именно составники использовали?
SW SKP1501, МТ-3S

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #34 : Февраля 18, 2015, 10:30:13 »
Модуля ШИМ в AVR-ах нету.
По периоду все равно придется программно настраивать.
:) Ну, ты, Алексей, совсем Atmega унижаешь. В Atmega8 2 таймера-счетчика с режимами сравнения и ШИМ, в Atmega128 4 таймера-счетчика с режимами сравнения и ШИМ, к примеру. И программно ни чего не надо настраивать, ну предделитель у таймера есть. Я же говорю - все работает в железе: три ШИМ-канала и кристалл спокойно трудится и с UART, температуру по четырем каналам меряет и шаговиками управляет....
Интересно  :) А какие именно составники использовали?
BDX53C
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #35 : Февраля 18, 2015, 11:49:31 »
:) Ну, ты, Алексей, совсем Atmega унижаешь. В Atmega8 2 таймера-счетчика с режимами сравнения и ШИМ, в Atmega128 4 таймера-счетчика с режимами сравнения и ШИМ, к примеру.
Ну хорошо, убедили  :D
Согласен, понижающий импульсник теоретически можно организовать на МК.
Остался открытым вопрос защиты от превышения тока.

Цитировать
Интересно  :) А какие именно составники использовали?
BDX53C
Ну так 2В у них падения.
Итого 1А+1А+3А = 5А.
Мощность 10Вт!
Никак не могу понять, почему у вас особо ничего не греется?
Площади радиатора хватит отвести 10Вт, но нужно открытое пространство, да и теплый он должен быть ощутимо.
Не жалко такую мощность терять в тепло? Для аккума каждый Вт на счету.
SW SKP1501, МТ-3S

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #36 : Февраля 18, 2015, 12:14:18 »
Ну я ни когда на аккумулятор и не ориентировался. А импульсные источники, что то меня пугают :)
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #37 : Февраля 19, 2015, 09:14:38 »
Vladimir, ну так что в итоге?
Будешь преобразователь делать на МК или дискретный?
SW SKP1501, МТ-3S

Оффлайн Vladimir

  • Аспирант
  • ***
  • Сообщений: 125
Re: Охлаждение матрицы зеркалки
« Ответ #38 : Февраля 19, 2015, 12:16:07 »
Vladimir, ну так что в итоге?
Будешь преобразователь делать на МК или дискретный?
Эммм, извиняюсь, занят был немного :)Я думаю что все-таки проще будет на МК преобразователь организовать, только немного не понял из вашего разговора как это правильней сделать будет, используя аппаратный ШИМ на МК, транзистор и фильтр? Причем транзюк надо выбрать чтобы грелся как можно меньше, какой тут посоветуете?
Думал в свое время над этим купил вот такой http://html.alldatasheet.com/html-pdf/84688/IRF/IRL2505/46/1/IRL2505.html
открывается логическим уровнем 5В малое сопротивление канала, на нем много не мощности не просядет?

Евгений к вам вопрос по поводу
Я же говорю - все работает в железе: три ШИМ-канала и кристалл спокойно трудится и с UART, температуру по четырем каналам меряет и шаговиками управляет....
Можете в кратце рассказать как у вас организовано на одном МК одновременно термоконтроль по трем каналам, uart и управление шаговиками? Почему то по моим представлениям на одном МК именно одновременно чтобы все работало сделать не получиться, вероятно я ошибаюсь?
« Последнее редактирование: Февраля 19, 2015, 12:36:29 от Vladimir »
CG5 SynScan
SW Explorer 130PDS + MPCC III + Canon 350Da, QHY5 + 9x50.
https://www.flickr.com/photos/137370092@N02/albums

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #39 : Февраля 19, 2015, 14:16:06 »
Можете в кратце рассказать как у вас организовано на одном МК одновременно термоконтроль по трем каналам, uart и управление шаговиками?
Мдя, приехали :) Вы же что то на Arduino делали? Там все так же. Любой процессор не может делать все одновременно. И ПЭВМ вычисления/программы выполняются последовательно, но в больших операционка выделяет  кванты времени для выполнения нескольких задач, а на микропроцессорах проще выполнять последовательный ряд команд/программ по кругу. Меряет температуру по одному каналу, прошло что то по UART - внешнее прерывание, обрабатывает его (к примеру  поступила команда покрутить шаговики) и возвращается обратно к измерениям той же температуры,  по результатам измерения принимает решение к примеру изменить скважность ШИМ для уменьшения/увеличения температуры матрицы и т. д. И все это по кругу. Это все программная часть работы любого МК.
Но у любого мало, мало приличного кристалла есть набор периферийных устройств выполненных аппаратно, которые могут работать как бы самостоятельно, без постоянного вмешательства программы. Тот же UART или таймеры-счетчики. Для запуска их в работу просто необходимо в соответствующие  регистры МК записать разрешение на их работу и определить их конфигурацию. Все, периферия будет работать самостоятельно. Придет что либо на UART, модуль сам вызовет прерывание и далее по списку. Таймер-счетчик будет тикать с заданной частотой. Таймер-счетчик можно сконфигурировать как "быстрый ШИМ"  -  таймер будет самостоятельно тикать, считать, до того момента пока не достигнет величины, предварительно записанной в в специальный регистр сравнения и при совпадении изменит уровень на ножке МК, отведенной под это дело. Досчитает до конца, все сбросит в исходное состояние. Меняя значение в регистре сравнения, мы изменяем время действия уровня на ножке МК - этим меняем скважность ШИМ-сигнала. То есть если не изменять значение в регистре сравнения на выходе будем иметь ШИМ сигнал с постоянной скважностью без участия в этом процессе самого МК. Нужно поменять -  дали процессору команду записать в регистр сравнения другое значение и все - на выходе другая скважность ШИМ.
Вообще то в этом деле профессионал у нас Алексей ;)  Я, так, любитель. 
Если это все знаете, то извеняйте, не правильно понял. :)
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.

Оффлайн Vladimir

  • Аспирант
  • ***
  • Сообщений: 125
Re: Охлаждение матрицы зеркалки
« Ответ #40 : Февраля 19, 2015, 15:19:05 »
Можете в кратце рассказать как у вас организовано на одном МК одновременно термоконтроль по трем каналам, uart и управление шаговиками?
Мдя, приехали :) Вы же что то на Arduino делали? Там все так же. Любой процессор не может делать все одновременно. И ПЭВМ вычисления/программы выполняются последовательно, но в больших операционка выделяет  кванты времени для выполнения нескольких задач, а на микропроцессорах проще выполнять последовательный ряд команд/программ по кругу. Меряет температуру по одному каналу, прошло что то по UART - внешнее прерывание, обрабатывает его (к примеру  поступила команда покрутить шаговики) и возвращается обратно к измерениям той же температуры,  по результатам измерения принимает решение к примеру изменить скважность ШИМ для уменьшения/увеличения температуры матрицы и т. д. И все это по кругу. Это все программная часть работы любого МК.
Но у любого мало, мало приличного кристалла есть набор периферийных устройств выполненных аппаратно, которые могут работать как бы самостоятельно, без постоянного вмешательства программы. Тот же UART или таймеры-счетчики. Для запуска их в работу просто необходимо в соответствующие  регистры МК записать разрешение на их работу и определить их конфигурацию. Все, периферия будет работать самостоятельно. Придет что либо на UART, модуль сам вызовет прерывание и далее по списку. Таймер-счетчик будет тикать с заданной частотой. Таймер-счетчик можно сконфигурировать как "быстрый ШИМ"  -  таймер будет самостоятельно тикать, считать, до того момента пока не достигнет величины, предварительно записанной в в специальный регистр сравнения и при совпадении изменит уровень на ножке МК, отведенной под это дело. Досчитает до конца, все сбросит в исходное состояние. Меняя значение в регистре сравнения, мы изменяем время действия уровня на ножке МК - этим меняем скважность ШИМ-сигнала. То есть если не изменять значение в регистре сравнения на выходе будем иметь ШИМ сигнал с постоянной скважностью без участия в этом процессе самого МК. Нужно поменять -  дали процессору команду записать в регистр сравнения другое значение и все - на выходе другая скважность ШИМ.
Вообще то в этом деле профессионал у нас Алексей ;)  Я, так, любитель. 
Если это все знаете, то извеняйте, не правильно понял. :)
Благодарю за ответ, наверно я не так выразился в вопросе, как МК работает я в курсе, у вас хотел уточнить как у вас все действия совершаются, собственно ответ тоже получил - последовательно. Выходит что при таком последовательном решении, одновременно покрутить движок и считать температуру для стабилизации не получиться. Хотел у вас собственно узнать как по времени у вас это разнесено?Когда сам делал подобную вещь то у меня получалось так: пока кручу движок темп-ра не считывается, либо наоборот пока  темп-ра считывается то движком не крутануть. Хотел просто это все параллельно сделать чтобы без таких сбоев было. Как часто у вас температура с датчиков считывается и происходит регулирование?
Просто я к чему пришел в конечном итоге под терморегуляцию ставить отдельный мелкий МК чтобы он только ее  и крутил, и организовывать свзяь нескольких таких МК с Мастером МК который бы их контролировал и фокусером крутил. Либо тут я не прав и тут не критично так заморачиваться с регулированием температуры, а достаточно лишь "раз выставил значения ШИМ на выходах и через пол часа проверил корректировку"? Это что касается грелок, а насчет регуляции Пельтье все же думаю отдельный МК сделать чтобы только и регулировал температуру раз в 1-2 сек.

UPD еще такую вещь нашел тут http://www.centralds.net/en/process1.htm у них терморегуляция осуществляется регулировкой напряжения на вентиляторе подстроечным резюком, а Пельтье всегда на максимум работает. Типо поставил на максимум вентилятор, темп-ра окружающая упала - уменьшил обороты вентилятора и ок. Незнаю..элементарно и просто и в то же время както не точно(
CG5 SynScan
SW Explorer 130PDS + MPCC III + Canon 350Da, QHY5 + 9x50.
https://www.flickr.com/photos/137370092@N02/albums

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #41 : Февраля 19, 2015, 16:09:54 »
Благодарю за ответ, наверно я не так выразился в вопросе, как МК работает я в курсе, у вас хотел уточнить как у вас все действия совершаются, собственно ответ тоже получил - последовательно.
Не совсем верно - с вашего позволения вмешаюсь.
Володя, ты не до конца понял ответ Евгения.
Все что угодно и сколько угодно можно выполнять практически параллельно.

Цитировать
Выходит что при таком последовательном решении, одновременно покрутить движок и считать температуру для стабилизации не получиться.
Да легко, например:
1. Движок крутить. Все импульсы формируются на таймерах, а там (частота управления движком) как понимаю сотни если не тысячи мкс периоды. Ну вошел МК в прерывание раз в 100мкс - не беда.
2. Температура считывается. Если у тебя 1-wire, то реализуй его так же на таймере. И прерывания будут особенно редкие  :) Если SPI или I2C - то еще проще.
Основная задача по максимуму использовать аппаратные средства МК, aka периферийные устройства. Ибо они является отдельными микро-устройствами в составе МК и все могут работать впараллель, но обслуживаться конечно нет.

При таком раскладе в основной программе пишут лишь те подпрограммы, которые не ответственные. Например, опрос клавиатуры, иногда индикацию и прочее.

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

Цитировать
Это что касается грелок, а насчет регуляции Пельтье все же думаю отдельный МК сделать чтобы только и регулировал температуру раз в 1-2 сек.
Не нужен тебе отдельный МК под каждую задачу, все в одном делай!
Будем учиться программировать  ;)
Я Евгению как-то в личке объяснял как не вешать МК основной программой, а все уносить в прерывания. Но он почему-то не захотел так делать  ::)

Цитировать
UPD еще такую вещь нашел тут http://www.centralds.net/en/process1.htm у них терморегуляция осуществляется регулировкой напряжения на вентиляторе подстроечным резюком, а Пельтье всегда на максимум работает. Типо поставил на максимум вентилятор, темп-ра окружающая упала - уменьшил обороты вентилятора и ок. Незнаю..элементарно и просто и в то же время както не точно(
Ага, а потребление тока в Пельтье всегда одинаковое  ;D Итого КПД ~= 10%.
Пусть вентилятор всегда на максимум стоит, лучше ток для Пельтье регулировать.

Все же советую источник сделать дискретным, т.е. как я предлагаю.
Тогда:
1. ИП будет отдельным почти независимым модулем. Только управление, которое совсем не обязательно делать привязкой к точным периодам времени. Ну пропустил пару мс - не беда.
Если же МК повиснет на пару мс при реализации регулирования напряжения им самим - то будет бада-бум.
2. Меньше загрузка МК - упрощение программы. Актуально для любителей  ;)
2. Будет защита от КЗ на выходе от случайного (ну или нет :) ) закорачивания.
3. Хорошая частота - меньшие габариты.
4. Можно использовать в других устройствах - модульность.
SW SKP1501, МТ-3S

Оффлайн Vladimir

  • Аспирант
  • ***
  • Сообщений: 125
Re: Охлаждение матрицы зеркалки
« Ответ #42 : Февраля 19, 2015, 16:33:21 »
Такс...понятно Алексей, значит если грамотно запрограммировать и разнести различные задачи по времени как то получиться почти параллельно всем управлять и на одном МК, это радует :) У меня просто как было, изза чего я и подумал про отдельные МК, считанная с 4 датчиков температура приходила в комп слишком долго, порядка нескольких секунд, и приходилось ждать пока uart освободится чтобы движком покрутить. Собственно и вопрос как этого избежать и где именно такая задержка набегает, 1-wire, uart, или где? Причем по данным датчиков в проге на компе строились сразу графики, мне это дело показалось очень удобным и информативным, может быть и в этом тоже можеть быть дело...

А насчет ИП, пожалуй я с тобой соглашусь, коли это компактно выйдет то я за это сделать :)Этот вариант безусловно надежней и прост в программировании, я тут только за габариты больше всего переживаю пожалуй :)
CG5 SynScan
SW Explorer 130PDS + MPCC III + Canon 350Da, QHY5 + 9x50.
https://www.flickr.com/photos/137370092@N02/albums

Оффлайн Aleksey_M

  • Профессор
  • *****
  • Сообщений: 655
  • Houston, we've got a problem!
Re: Охлаждение матрицы зеркалки
« Ответ #43 : Февраля 19, 2015, 17:08:18 »
У меня просто как было, изза чего я и подумал про отдельные МК, считанная с 4 датчиков температура приходила в комп слишком долго, порядка нескольких секунд, и приходилось ждать пока uart освободится чтобы движком покрутить. Собственно и вопрос как этого избежать и где именно такая задержка набегает, 1-wire, uart, или где?
Именно 1-wire общение отъедает уйму времени... если оно реализовано на простых задержках. Видимо AVR-библиотека так и работает. Однозначно придется бросать эту библиотеку в печку и все переносить в прерывания.
Можно добиться, что и температура с четырех датчиков и UART будут работать параллельно и друг-другу не мешать  :)

Цитировать
А насчет ИП, пожалуй я с тобой соглашусь, коли это компактно выйдет то я за это сделать :)Этот вариант безусловно надежней и прост в программировании, я тут только за габариты больше всего переживаю пожалуй :)
Ок, остаток сэмплов (операционник и ЦАП) приедут в течение недели. То что нужно будет приобрести я тебе сегодня перечень набросаю.
Платку так же начну разводить.
SW SKP1501, МТ-3S

Оффлайн passer_by

  • Global Moderator
  • Академик
  • *****
  • Сообщений: 1534
    • Астро-бродяга
Re: Охлаждение матрицы зеркалки
« Ответ #44 : Февраля 19, 2015, 17:14:00 »
Я Евгению как-то в личке объяснял как не вешать МК основной программой, а все уносить в прерывания. Но он почему-то не захотел так делать 
Обижаешь,  начальник :) Я ж упоминал, что реализовал эту идею, и спасибо говорил за подсказку :) И именно для датчиков температуры DS1820. С программированием, конечно сначала,  провозился долго. Так как плохо понимал таймеры-счетчики.
Для Владимира:
Ну не совсем 1-wire...
В большей степени во временной задержке при измерении температуры "виноваты" сами датчики. Вернее сам принцип их работы.  Там целая куча последовательных действий из временных задержек. Основная  в 0.75 сек - процесс конвертации температуры в цифру самим датчиком. И если вы использовали в проекте готовые библиотеки для DS1820 (а не сами писали), то там обычно так и выполнено - все на последовательности задержек. Вот Алексей и подсказал - вывести все задержки, вызванные внутренней логикой работы датчиков на таймеры-счетчики: пусть они считают время, а по прошествии оного МК просто считывает значения.
Тал 200К, Тал 75R, ED 80, EQ6 Pro, Lamegon 8/100B, QHY8, QHY6.