как выбрать цифровой потенциометр?

rabadan
Offline
Зарегистрирован: 13.02.2012

Добрый вечер!

Помогите выбрать  цифровой потенциометр!

                                                      

Имеется муфельная печь, в ней есть какая-та схема управлением нагревом. Нагрев регулируется  с помощью потенциометр СП-1. Опытным путем было выявлено - исходное напряжение на концах регулятора - 12вольт, потенциометр на 100кОм, но было выявлено методом замены СП-1 на разные резисторы, что 20кОм достаточно, чтоб нагрев уже не работал. 

Так вот, хочу реализовать управлением этой схемой через arduino, чтоб по заданному алгоритму, она сама меняла сопротивление вместо СП-1. Думаю, для этого подойдет цифровой потенциометр на 20-50кОм. 

Я в схемотехники не силен. Подскажите, пожалуйста - правильно ли я собираюсь делать? И какой именно цифровой потенциометр выбрать, которой нормально будет рабоать с arduino мега 2650. 

maksim
Offline
Зарегистрирован: 12.02.2012

Лучше ставить не потенциометр, а убрать вообще эту аналоговую схему управления и подключиться напрямую к термопаре (или термосопротивлению) и силовому ключу (симистору или реле).

rabadan
Offline
Зарегистрирован: 13.02.2012

 

maksim пишет:

 и подключиться напрямую к термопаре (или термосопротивлению) 

К ней я подключаюсь с помощью max6675. 

maksim пишет:

Лучше ставить не потенциометр, а убрать вообще эту аналоговую схему управления и подключиться напрямую к  силовому ключу (симистору или реле).

Прилагаю фото.

http://yadi.sk/d/C0hk0Kg22TxfI

http://yadi.sk/d/pVAZ_wQ_2TxfY

http://yadi.sk/d/lRmn-7T02Txfu

http://yadi.sk/d/988gZP__2TxgC

http://yadi.sk/d/wOBQim2P2TxgO

http://yadi.sk/d/pvbDv1Bj2Txgg

Если я правильно понимаю, тут симисторное управление. Стоит такой: тс132-40-10 (первое фото)

А как правильно к нему подключится с Arduino? Я понимяю что через управляющий электрод, а вот как это все правильно реализовать - нет. 

 

maksim
Offline
Зарегистрирован: 12.02.2012

Тоесть к термопапе удалось подключиться? Температуру измерить получилось?

Что бы управлять симистором вам понадобится оптосимистор

rabadan
Offline
Зарегистрирован: 13.02.2012

 

maksim пишет:

Тоесть к термопапе удалось подключиться? Температуру измерить получилось?

Да, получилось. Температуру показывает. Благо нашлась готовая библиотека.

 

maksim пишет:

Что бы управлять симистором вам понадобится оптосимистор

так, мне нужно значит MOC3010 и пару резисторов получается?

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

maksim
Offline
Зарегистрирован: 12.02.2012

Думаю что сможете и к тому что есть подключить, но можете и импортный поставить, как хотите.

rabadan
Offline
Зарегистрирован: 13.02.2012

а какой импортный аналог посоветуете? 

и как с Arduino управлять нагрузкой нужно будет? Менять напряжение на аналоговом выходе?

maksim
Offline
Зарегистрирован: 12.02.2012

Аналог подобрать не сложно, характеристики должны быть не хуже чем у того что есть. 
У дуины нет аналоговых выходов, есть только ШИМ выходы. Так как речь идет о температуре, то ШИМ как нельзя кстати подойдет для управления нагрузкой в ключевом режиме, и при использовании ПИД-регулирования можно добиться максимальной точности регулирования и скорости нагрева, НО ШИМ должен быть низкочастотным, то есть просто analogWrite не прокатит.

rabadan
Offline
Зарегистрирован: 13.02.2012

maksim пишет:

 НО ШИМ должен быть низкочастотным, то есть просто analogWrite не прокатит.

А, поэтому надо использовать MOC3010? 

И если я полностью все понял, собрав схему которую вы дали, и с помощью analogWrite(pin, value) установить в value значение 255-будет максимальный нагрев, 127 - половина, а 0 - отключение нагрева?

maksim
Offline
Зарегистрирован: 12.02.2012

Нет. Еще раз повторяю analogWrite пользоваться не получится.

rabadan
Offline
Зарегистрирован: 13.02.2012

а как нужно будет? 

maksim
Offline
Зарегистрирован: 12.02.2012

Читайте что такое ШИМ и как реализовать низкочастотный ШИМ.

rabadan
Offline
Зарегистрирован: 13.02.2012

Хорошо. 

Спасибо за всю изложенную информацию! 

gena
Offline
Зарегистрирован: 04.11.2012

Присмотритесь к микросхеме MAX31855K, весма интересная ИМС.

maksim
Offline
Зарегистрирован: 12.02.2012

gena пишет:

Присмотритесь к микросхеме MAX31855K, весма интересная ИМС.

Зачем?

rabadan
Offline
Зарегистрирован: 13.02.2012

Дома нашел MOC3023, ее можно будет использовать?

Чтоб уменьшить частоту шим, нужно использовать таймер? Типо того что описано тут: https://sites.google.com/site/vanyambauseslinux/arduino/upravlenie-servoprivodom-pri-pomosi-sim

И какая частота шим мне необходима?

maksim
Offline
Зарегистрирован: 12.02.2012

В вашем случае лучше бы подошел симистор с контролем перехода через ноль, но думаю не критично можно и MOC3023 поставить.
По поводу частоты... Так как температура очень инерционный параметр и это печь, то чатоту ШИМ можно снизить до 0,1 - 0,05 Гц, то есть от одних включения и выключения раз в 10 секунд до одних включения и выключения раз в 50 секунд. При использовании такой низкой частоты не нужно запариваться по поводу обратной связи (для синхронизации с частой сети), а так же снижается нагрузка на симистор.
При частоте МК 16 МГц у AVR'ов нет такокго предделителя, что бы можно было получить такую низкую частоту. Но очень просто использовать таймер для программной реализации такого низкочастотного ШИМа.

rabadan
Offline
Зарегистрирован: 13.02.2012

maksim пишет:

В вашем случае лучше бы подошел симистор с контролем перехода через ноль, но думаю не критично можно и MOC3023 поставить.
По поводу частоты... Так как температура очень инерционный параметр и это печь, то чатоту ШИМ можно снизить до 0,1 - 0,05 Гц, то есть от одних включения и выключения раз в 10 секунд до одних включения и выключения раз в 50 секунд. При использовании такой низкой частоты не нужно запариваться по поводу обратной связи (для синхронизации с частой сети), а так же снижается нагрузка на симистор.
При частоте МК 16 МГц у AVR'ов нет такокго предделителя, что бы можно было получить такую низкую частоту. Но очень просто использовать таймер для программной реализации такого низкочастотного ШИМа.

Допустим частота будет у нас  0,1Гц - реализовать это надо будет как я понял с помощью алгоритма, который каждый 10секунд будет либо включать либо выключать? Или включать на 10 секунд и выключать на 10 секунд? И получается схема будет работать как включатель / выключатель на период от 10~50сек? 

p.s. Температуру необходимо будет поднимать до 700гр. в некоторые периоды времени держать определенную температуру. Полный цикл работы 7-10часов.

maksim
Offline
Зарегистрирован: 12.02.2012

rabadan пишет:

Допустим частота будет у нас  0,1Гц - реализовать это надо будет как я понял с помощью алгоритма, который каждый 10секунд будет либо включать либо выключать? Или включать на 10 секунд и выключать на 10 секунд? И получается схема будет работать как включатель / выключатель на период от 10~50сек? 

Так вы почитали что такое ШИМ или нет?

maksim
Offline
Зарегистрирован: 12.02.2012

Вот смотрите допустим частота ШИМа 0,1 Гц.
То есть у нас есть отрезок времени 10 секунд.
Допустим мы будем на 1 секунду открывать симистор и на 9 закрывать - это будет означать что ШИМ имеет значение 10%.
Если будем на 2 секунды включать и на 8 выключать, то получим 20%.
Если будем на 3 секунды включать и на 7 выключать, то получим 30%.
Если будем на 4 секунды включать и на 6 выключать, то получим 40%.
Если будем на 5 секунды включать и на 5 выключать, то получим 50%.
Если будем на 6 секунды включать и на 4 выключать, то получим 60%.
и т.д. 
Естественно разрядность (градацию) можно увеличить и получить шаг в 1% что более чем достаточно для управления печью.

gena
Offline
Зарегистрирован: 04.11.2012

maksim пишет:

gena пишет:

Присмотритесь к микросхеме MAX31855K, весма интересная ИМС.

Зачем?

Хорошая ИМС, с термокомпенсацией. Я это советую топикстартеру.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Перефразирую. Зачем топикстартеру менять max6675 на max31855 ?

rabadan
Offline
Зарегистрирован: 13.02.2012

maksim пишет:

Вот смотрите допустим частота ШИМа 0,1 Гц.
То есть у нас есть отрезок времени 10 секунд.
Допусти мы будем на 1 секунду открывать симистор и на 9 закрывать - это будет означать что ШИМ имеет значение 10%.
Если будем на 2 секунды включать и на 8 выключать, то получим 20%.
Если будем на 3 секунды включать и на 7 выключать, то получим 30%.
Если будем на 4 секунды включать и на 6 выключать, то получим 40%.
Если будем на 5 секунды включать и на 5 выключать, то получим 50%.
Если будем на 6 секунды включать и на 4 выключать, то получим 60%.
и т.д. 
Естественно разрядность (градацию) можно увеличить и получить шаг в 1% что более чем достаточно для управлением печи.

Оказывается я сначало не так понял что такое ШИМ.... 

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

нашел библиотеку, с которой можно установить частоту на порт ШИМ примерно 0,12ГЦ. Даж набросал примерный код  =

#include <TimerThree.h> //Подключаем библиотеку, пишут что это специальная для меги. В TimerOne не захотел работать ШИМ 
#define pinOut 3 // какой вывод используется. 

void setup()
{
  Timer3.initialize(3000000);        // инициализируем таймер, максимум 8388480 мкс (8,388 секунд), не маловато буйдет? или сойдет?
  Timer3.pwm(pinOut, 0);             // устанавливаем нулевое значение при старте
  Timer3.attachInterrupt(callback);  // вызываем функцию каждые N(указанных) секунд
}

void callback()
{
    //тут вызываем если что то надо нам сделать раз в N Секунд, например через определенное время - установить необходимый уровень температуры
}
 
void loop()
{
   //а тут(или в каком нибудь таймере) будем выравнивать нагрузку на симистор с помощью setPwmDuty(ПОРТ,Нагрузка(от 0 до 1023)), чтоб выровнить температуру к заданой;
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

Это как раз и есть программная реализация ШИМа на таймере, да и еще и 10 битного.
Попробуйте поупралять печью.

rabadan
Offline
Зарегистрирован: 13.02.2012

В понедельник попробую достать MOC3010, если не будет то использую MOC3023.

Меня только одно смущает. Мы будем включать / выключать нагрузку. То есть если нужно будет слегка греть - то выйдет что в минуту я несколько раз врубаю/вырубаю печь в сети. А то что реализовано в своей аналоговой схеме - позволяет плавно регулировать нагрузку.

я так понимаю, для плавного цифрового регулирования - надо отсекать часть синусоиды переменого тока, а для этого надо будет Шим не меньше 60герц плюс необходимо еще синхронизация с частотой сети?

В общем остановимся пока на том, что есть, реализуем так. А далее уже можно будет усложнить. Очень благодарен вам, maksim, за оказаную консультацию!

С результатом обязательно отпишусь!

gena
Offline
Зарегистрирован: 04.11.2012

maksim пишет:

Перефразирую. Зачем топикстартеру менять max6675 на max31855 ?

Менять не нужно, а знать, что есть более современная (возможно получение бесплатного образца). Плюс есть возможность контроля подключения термопары (раз уж речь завели о микроконтроллерном управлении, то почему бы не взять по максимуму возможностей?).

rabadan
Offline
Зарегистрирован: 13.02.2012

Сегодня пробывал, все как по вашей схеме соединил, только вместо резистора 180 поставил 220(180 не нашел).

Не включилась никак, менял чистоту - тоже никакой реакции.

maksim
Offline
Зарегистрирован: 12.02.2012

Параллельно нагревательному элементу есть какой-нибудь индикатор? Визуально определить что нагрев идет можно? Для начала залейте стандартный пример Blink и попытайтесь добиться включения и выключения, тоесть просто подавая и убирая 5 вольт на оптосимистор.

rabadan
Offline
Зарегистрирован: 13.02.2012

Да, есть амперметр, да и по свету в комнате видно бывает когда включается )))))

подавая и убирая 5 вольт - Так тоже пробывал не было реакции, и еще замерял напряжение между 1 и 2 контактом MOC3023, было около 1в, так должно быть? 

maksim
Offline
Зарегистрирован: 12.02.2012

Думаю нормально. Попробуйте замкнуть 4 и 6 выводы - симистор должен открыться. Если нет, то нужно уменьшать сопротивление с 220 например до 100 Ом.

rabadan
Offline
Зарегистрирован: 13.02.2012

Сегодня еще поэкспериментировал, добился результата. Оказывается я один провод не с той стороной к симистору подключал! В общем добился управлением с arduin-ы.

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

maksim
Offline
Зарегистрирован: 12.02.2012

Плавно только с обратной связью. http://arduino.ru/forum/obshchii/izmenenie-oborotov-ventilyatora-s-pomoshchyu-arduino
или наоборот тогда нужно уве личить частоту ШИМа
или попробовать просто analogWrite'ом, но как себя будет вести нагреватель не знаю.
 

rabadan
Offline
Зарегистрирован: 13.02.2012

maksim пишет:

Так бы выглядела схема на симисторе:

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

такую схему мне надо будет собрать?

rabadan
Offline
Зарегистрирован: 13.02.2012

maksim пишет:

или наоборот тогда нужно уве личить частоту ШИМа
или попробовать просто analogWrite'ом, но как себя будет вести нагреватель не знаю.

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

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

rabadan пишет:

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

Значит, как на производстве, нужно ставить конденсаторную батарею - чтобы напряжение резко не проседало. :)

Aqua123
Offline
Зарегистрирован: 23.11.2016

Здравствуйте! Похожий вопрос необходимо заменить в воздушном насосе потенциометр B250K и завязать регулирование на управление с arduino с помощью цифрового потенциометра. Подскажите новичку, пожалуйста!!!

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Aqua123 пишет:

Здравствуйте! Похожий вопрос необходимо заменить в воздушном насосе потенциометр B250K и завязать регулирование на управление с arduino с помощью цифрового потенциометра. Подскажите новичку, пожалуйста!!!

Вообще-то цифровой потенциометр не может заменить собой любой обычный потенциометр при любой схеме включения.

Обычно требуется, чтобы напряжение на любоми из выводов потенциометра находилось в пределах от 0 до 5 В. Судя по номиналу, это требование может нарушаться.

Приведите схему насоса, тогда можно будет сказать что-то более определенное.

Aqua123
Offline
Зарегистрирован: 23.11.2016

К сожалению схему насоса в просторах инета не нашел, но схема совсем простенькая. Для unistar aquarium air pump air 2000-3 5W, собираю аквариум на arduino, как можно фото загрузить?

Aqua123
Offline
Зарегистрирован: 23.11.2016

https://cloud.mail.ru/public/LgoH/8RNP5sW7S

ссылка на схему

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Aqua123 пишет:

https://cloud.mail.ru/public/LgoH/8RNP5sW7S

ссылка на схему

Тут я пас.

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

bwn
Offline
Зарегистрирован: 25.08.2014

Aqua123 пишет:

https://cloud.mail.ru/public/LgoH/8RNP5sW7S

ссылка на схему

Берите схему любого диммера для ардуино и пользуйте. Хотя бы здесь. (не реклама) паяется и работает без проблем.

Aqua123
Offline
Зарегистрирован: 23.11.2016

Хорошо, тогда может поможете с другой идеей, изменением напряжения 60-220 V с завязкой к ардуино

что мы имеем : https://cloud.mail.ru/public/FRn9/XUsC5Gtyk

Каким образом можно менять напряжение : https://cloud.mail.ru/public/EtA3/DFgm6AwNL

ну теперь возникает вопрос возможно ли это объединить, и как заставить работать?

bwn
Offline
Зарегистрирован: 25.08.2014

А что Вас смущает? По Вашей первой ссылке (пост41), классический диммер с потенциометром. В той что я дал, потенциометр заменен программным кодом с пределами от 0 до 254. Если нужна регулировка потенциометром, как по второй Вашей ссылке - снимаете значения с потенциометра, масштабируете, подставляете полученные значения в управляющую переменную диммера. Для пределов 60-220В надо будет подобрать значение для нижнего предела методом тыка.

Aqua123
Offline
Зарегистрирован: 23.11.2016

Ну туповатенький я в этом деле, если бы понимал , не спрашивал (((. Нажмите на изображение для увеличения<br /> Название: bott.png<br /> Просмотров: 3514<br /> Размер: 111.9 Кб<br /> ID: 1588

т.е. получается вместо лампочки на схеме тупо подцепить катушку?

bwn
Offline
Зарегистрирован: 25.08.2014

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

Вы никак покупать это собрались? Не советую, спаять в десять раз дешевле выйдет. ИМХО.

Aqua123
Offline
Зарегистрирован: 23.11.2016

т.е. берем изначально катушку из нашего прибора, выкидываем все остальное, когда мерили напряжение было 60- 220V (поворачивали потенциометр), заводим на ардуино и пишем скетч?

да, ачто покупать собрались? тут не догнал

 

 

Aqua123
Offline
Зарегистрирован: 23.11.2016
bwn
Offline
Зарегистрирован: 25.08.2014

Не так, пишем скетч и пробуем на какой нибудь нагрузке (хоть лампочке), когда все заработало, подключаем нашу катушку и еще раз подгоняем напряжение. Я не специалист по индуктивным нагрузкам, но знаю, что не любят они издевательств. Активной это без разницы, лишь бы не выше допустимого.

Покупать - плата с 43 поста.

Aqua123
Offline
Зарегистрирован: 23.11.2016

http://cxem.net/arduino/arduino71.php

эта та херобора?

bwn
Offline
Зарегистрирован: 25.08.2014

Да, они в принципе все одинаковые. На моей ссылке библиотека точно рабочая, за остальные не скажу.

Aqua123
Offline
Зарегистрирован: 23.11.2016

Скажите, а как вам памятник моно поставить? )))

Очень помогли