Коммутация Arduino и твердотельного реле
- Войдите на сайт для отправки комментариев
Втр, 21/01/2014 - 13:24
Добрый день!
Есть задача - управлять твердлотельным реле с фазовой регуляцией с помошью ШИМ ардуины.
проблемы:
1. Ардуина на выходе дает 5 в. а для коммутации надо 10 в.
2. ШИМ надо преобразовать в постоянное напряжение.
то есть из ШИМ ардуины надо сделать 0-10 вольт постоянного напряжения.
есть задумка такого плана
не ясны конкретные значения сопротивлений и конденсатора и какой конкретно усилитель взять
http://yadi.sk/d/X1rPEChdGSvnL
это схемка, назнаю как вставить в сообщение :)
Если не секрет, о каком конкретно реле идёт речь??
http://www.kippribor.ru/TTR/Serii-HD-xx44VA-HD-xx2210U-HD-xx25LA-TTR
вот о таком. управление напряжением
Я тоже нечто аналогичное собирался пробывать (преобразователь шим-ток), но ещё не успел. Попробуйте R1 3,3k ,C1 0,1 , R2 4,7k , R3 10k, вместо R3 лучше подстроечник на 15 к взять, что б напряжение точно 10 вольт выставить при максимальном входном. И паралельно R3 желательно конденсатор антивозбудный 0,01..0,1. Опер любой пойдёт, lm358 например. Запитать его от 12 вольт.
http://habrahabr.ru/post/112665/
вот здесь например есть расчет этих сопротивлений где усиление равно 1+деление r3 на r2
тоесть в моем случае это должно быть 1+1 т.к. 10 в 2 раза больше пяти. значит r2=r3
про подстроечник хорошая идея, но тут масса нюансов начиная от плавания напряжения в сети до отсутствия необходимости полного открытия фазы на реле. в общем эта погрешность будет программно компенсирована, все равно рабочий диапазон будет в пределах 4-7 вольт.
буду пробовать. спасибо
вы про HD-xx22.10U ? Та которая управляется напряжением 0-10в
если ток потребления реле не большой (из описания не ясно), сделать из шима 0-10 в довольно просто - берем транзистор + два резистора + конденсатор и делаем выходной повторитель с RC фильтром. Транзистор лучше MOSFET с логическим уровнем, например irlml2402 - исток на GND, затвор через 10-100 ом на PWM выход ардуино, сток через резистор 1к на +10В. Выходной фильтр резистор 100-500 ом. (одна сторона к стоку, вторая к конденсатору), конденсатор 1-100мкф. (+ на второй резистор с другой стороны от стока, - на GND).
да, ток небольшой.
а можно схемку? и характеристики фильтра
насколько я понимаю эта идея такова -
из шим 0-5 делаем шим 0-10 а потом уже сглаживаем, правильно?
Такой же формы SSR, купленные у китайцев, управляются прямо с ноги ардуины через небольшой резистор. У них заявлено управление 3-32 вольта.
Такой же формы SSR, купленные у китайцев, управляются прямо с ноги ардуины через небольшой резистор. У них заявлено управление 3-32 вольта.
вы упустили то, что реле выше управляет напряжением в нагрузке, а ваше - нет
вы упустили то, что реле выше управляет напряжением в нагрузке, а ваше - нет
Значит это не "твердотельное реле", а "диммер" на триаке, или тиристоре. Реле по своему определению не может управлять напряжением в нагрузке.
Здесь нет противоречия. Диммер такое же реле, только со своей логикой включения-выключения
но это не суть, нет смысла спорить
да, ток небольшой.
а можно схемку? и характеристики фильтра
насколько я понимаю эта идея такова -
из шим 0-5 делаем шим 0-10 а потом уже сглаживаем, правильно?
да, правильно. Схема простая, проще некуда. Если сами нарисуете, то здесь подскажем, если вдруг где ошибетесь
да, ток небольшой.
а можно схемку? и характеристики фильтра
насколько я понимаю эта идея такова -
из шим 0-5 делаем шим 0-10 а потом уже сглаживаем, правильно?
да, правильно. Схема простая, проще некуда. Если сами нарисуете, то здесь подскажем, если вдруг где ошибетесь
ок. в выходные поковыряю. спасибо.
По сути меня интересует решение где на выходе получится более линейный постоянный ток. если это зависит только от RC фильтра тогда действительно пофигу. хотя на первый взгляд стоимость решений примерно одинаковая, но вжечь полевик в процессе гораздо проще :)
Есть вот такие Dimmer модули по 350руб.
Для работы с Arduino к нему есть скетч
Его схема
это несомненно прекрасное устройство!
но для меня не подходит
во первых как я понимаю тут реализован переход через 0 программно и мне это не кажется правильным, поскольку у ардуины есть и другие задачи, пусть даже он реализован через прерывание.
а во вторых у меня на другом конце муфельная печь :)
Вместо ШИМ можно использовать цифровой потенциометр, а после него усилитель напряжения на два.
а во вторых у меня на другом конце муфельная печь :)
Тогда PID вам в руки и барабан на шею!
http://playground.arduino.cc//Code/PIDLibraryRelayOutputExample
объясните пожалуйста как это реализовать в виде схемы?
а во вторых у меня на другом конце муфельная печь :)
Тогда PID вам в руки и барабан на шею!
http://playground.arduino.cc//Code/PIDLibraryRelayOutputExample
О! спасибо, я и не знал :)
попробую прикрутить, правда думаю пид пиду не товарищь :)
меня честно говоря во всей этой истории не столько пид интересует (благо есть аппаратные решения из китая за 700 рублей вместе с термопарой) сколько плавный разогрев. почему то эта функция сильно удорожает контроллеры...примерно в пять раз :)
плюсом к тому у нас печь не очень любит максимальные напряжения, особенно холодная, поэтому и приросло тут реле с фазовой регуляцией.
когда у нагревателя большая инерция (а у печки могу предположить масса и инерция к нагреву присутствуют) то "плавное" регулирование по сути не дает никаких преимуществ
Оно конечно наверно полезнее нагреватели на холодной когда у них низкое сопротивление разогревать пониженным напряжением. С другой стороны они как правило расчитаны как раз на то, чтобы их просто врубили в розетку так что это забота сверх положенного.
Вам там выше модуль предлагали и вы смутились, что ваш МК и так будет занят работой. Вот можете еще мой вариант посомтреть - там всю "грязную" работу делате tiny13 http://arduino.ru/forum/proekty/spi-modul-upravleniya-moshchnostyu-setev...
"Плавный" разогрев, вернее его эмуляцию, можно сделать просто- плавно повышая среднюю
мощьность нагревателя регулируя скважность- 30 секунд греем- 60 не греем - вот вам и 33% мощьности.
Или 3 секунды- 6 секунд (или минут). Для нагревателя подойдёт.
А теплоёмкость нагревателя будет всё это сглаживать.
Зато простое SSR с Zero Crossing и выходной пин без резистора прямо на SSR .
Но прийдётся выяснить, хотя-бы примерно, период для этго "ШИМ"а
вы про HD-xx22.10U ? Та которая управляется напряжением 0-10в
если ток потребления реле не большой (из описания не ясно), сделать из шима 0-10 в довольно просто - берем транзистор + два резистора + конденсатор и делаем выходной повторитель с RC фильтром. Транзистор лучше MOSFET с логическим уровнем, например irlml2402 - исток на GND, затвор через 10-100 ом на PWM выход ардуино, сток через резистор 1к на +10В. Выходной фильтр резистор 100-500 ом. (одна сторона к стоку, вторая к конденсатору), конденсатор 1-100мкф. (+ на второй резистор с другой стороны от стока, - на GND).
вот наваял
но мне кажется первый вариант, вами предложенный даст инвертирование фазы...а нам это не надо.
будет ли работать по второму варианту?
Вторая схема не даст желаемых десять вольт на выходе, т.к. это истоковый повторитель. А вот первая вполне работоспособна. Инвертирование фазы думаю можно компенсировать программно. Кстати транзисторы можно использовать и n-p-n.
Вторая схема не даст желаемых десять вольт на выходе, т.к. это истоковый повторитель. А вот первая вполне работоспособна. Инвертирование фазы думаю можно компенсировать программно. Кстати транзисторы можно использовать и n-p-n.
инвертировать самим транзистором, т.е. когда ардуина дает ноль он будет открытым?
какой конкретно взять транзистор?
Когда Ардуина даёт "ноль" - транзистор заперт. Т.е. на его коллекторе будет напряжение 10В. Когда Ардуина даёт "единицу" (+5 В) транзистор открывается, т.е. коллектор замыкается с эмиттером - на коллекторе 0 В. Происходит инвертирование логического сигнала - если на Ардуине "ноль", то на коллекторе "единица". Транзисторы n-p-n: КТ315, КТ503, КТ3102 - с любой буквой. Из импортных: BC817 и много других (под рукой не имею справочника). Напишите какие есть в наличии - подскажу.
Есть неочевидный ньюанс схемы: когда контроллер не инициализирован или завис с логическим нулём на выходе - Вы имеете на выходе схемы (коллекторе) 10В. Поэтому, если Вы управляете чем-то мощьным, нужно применить схемотехнику похитрее.
Когда Ардуина даёт "ноль" - транзистор заперт. Т.е. на его коллекторе будет напряжение 10В. Когда Ардуина даёт "единицу" (+5 В) транзистор открывается, т.е. коллектор замыкается с эмиттером - на коллекторе 0 В. Происходит инвертирование логического сигнала - если на Ардуине "ноль", то на коллекторе "единица". Транзисторы n-p-n: КТ315, КТ503, КТ3102 - с любой буквой. Из импортных: BC817 и много других (под рукой не имею справочника). Напишите какие есть в наличии - подскажу.
я имел ввиду взять полевик с другой проводимостью, чтобы при нуле он был открыт.
Если взять полевой транзистор с другой проводимостью, то учитывая, что исток будет на +10 В, напряжение открывания должно быть в диапазоне 5 ...10 В. Искать именно такие транзисторы мне думается не правильно и затруднительно.
Инвертировать програмно это значит не analogWrite(value), а analogWrite(255-value)
вам нужна первая схема. В цепи истока резистор надо уменьщить до 100 ом
и еще надо импедарс реле уточнить, 1к в RC фильтре может быть многовато если импеданс меньше 10ком
чтобы побороть зависшую ардуину можно активировать вотчдог, правда для некоторых ардуин это требует замены бутлоадера. Не вижу проблем со схемой 1, от нуля с инверсией ее проще строить, чем от плюса без инверсии. Ардуина зависнуть может как с нулем на выходе так и с единицей
Извиняюсь, но в цепи истока транзистора первой схемы резистора нет. "Схемотехника похитрее" предполагает надёжное отключение нагрузки не зависимо от уровня, на выводе "зависшей" Ардуины.
Хотел одно написать, написал другое. Речь про резистор между МК и затвором
это..
в общем извернулся я так- от ардуины идет на повторитель уровня 561уп4 из нее RC 1 ком и 10мкф.
проблема такая - из повторителя выходит 9 вольт (я питаю его 9 вольтами) а после фильтра уже 7 вольт.
то есть я ставлю шим 255, а по факту реле недооткрыто.
чего делать как спасаться?
Логично, ведь реле не святым духом питается, есть некий потребляемый ток, и напряжение падает на резисторе. Фильтр нужно ставить перед вашей микрухой.
Логично, ведь реле не святым духом питается, есть некий потребляемый ток, и напряжение падает на резисторе. Фильтр нужно ставить перед вашей микрухой.
не вижу логики, оно и там будет падать. все равно получится что я даю 125 шим а напряжение будет меньше половины.
dedov, вход микросхемы не должен создавать нагрузки, и падать будет только в соответствии с ШИМ. И при 255 попугаях с меги должно быть максимально напряжение. Кстати RC-цепочка у вас на 15герц получилась, немножко перебор. Тьфу ты, забыл что это логический чип... Ставьте операционник вобщем )
dedov, вход микросхемы не должен создавать нагрузки, и падать будет только в соответствии с ШИМ. И при 255 попугаях с меги должно быть максимально напряжение. Кстати RC-цепочка у вас на 15герц получилась, немножко перебор. Тьфу ты, забыл что это логический чип... Ставьте операционник вобщем )
микросхема то это логика. она аналог не понимает.
[/quote]
микросхема то это логика. она аналог не понимает.
[/quote]
Эх, в начале темы у вас была чудесная проверенная схема на опере , и зачем вас на альтернативы потянуло? :)
Схема в посте #1 действительно подходит для Вашей проблемы. R2 = R3 = 10 кОм. Интегрирующая цепочка R1, C1 как в посте #23. Получится интегратор без инвертирования с коэффициентом усиления +2. А возможно применить эмиттерный повторитель после интегрирующей цепочки (транзистор n-p-n и резистор, например КТ315 и R=10 кОм.
прикрутил пид из библиотеки как выше писали :) работает но глючит скотина :)
например была температура выше заданной, он нифига не понял и врубил на полную :)
да нет, похоже корректно работает, была проблема в том что в пид библиотеке переменные дабл а у меня внутренняя логика на инт. сделал все дабл стало вроде работать. тестирую, если кому надо выложу скетч.
http://youtu.be/WoZN3bRBY7k
Выглядит интересно. Выложите скетч, будет полезно проанализировать на досуге.
Немного правильнее будет работать с клавиатурой вот так :
А вообще почитайте классику жанра:
http://alxarduino.blogspot.com/
P.S. Куда пропал Леший ? Никто не видел? Я волнуюсь !
Вожусь с пидом. выход на обыное SSR реле. на прямую с ножки Arduino.
Стандартный пример из библиотеки PID
PID_RelayOutput
нормально не работает. Логика работает, но на ножку ардуины не выдаёт полного напряжения., соответственно реле не срабатывает. поставил диод еле светится. на глаз процентов 25.
Пробовал на Mega, Leonardo и chipKit Max 23
результат одинаков.
Может кто сталкиавлся?
Ногу RelayPin надо задать на выход через параметр pinmode
Ногу RelayPin надо задать на выход через параметр pinmode
Спасибо работает.
не совсем понимаю разницу почеру разные форма обявления так драматически влияет на работу.
Всмысле "форма обявления" ? Вывод необходимо запрограммировать на выход чтобы им что-то можно было управлять . Без этой команды digitalWrite просто вкл/выкл подтягивающий резистор