Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/185: Рейтинг темы: голосов - 185, средняя оценка - 4.83
shum_yms
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
1

Простой датчик перехода через 0 для AVR (с опторазвязкой)

17.02.2010, 12:10. Просмотров 33820. Ответов 23
Метки нет (Все метки)

Всем привет !
Заморачиваюсь потихоньку с AVRками, 1-Wire и прочим, автоматизирую домашние мелочи (вернее только начал). С программированием у меня всё нормально, а вот электроника хромает, причём довольно сильно :(
Собственно текущая потребность - диммер для лампочек и асинхронного двигателя. И то и другое успешно работает с китайским диммером для ламп накаливания (уже давно), хочется прикрутить это всё к AVR. Т.к. симисторная схема работает на практике (в китайском диммере) - решил повторить её:
1. Ловлю преход через 0
2. Отсчитываю N времени в диапазоне от 0 до 1/100 сек
3. Открываю симистор
4. goto 1

симистор выбрал, драйвер к нему с опторазвязкой тоже, проблема в п.1 - читал аппноут AVR182 Zero Cross Detector - там просто 1мОм воткнут между 220В и ногой прерывания + такой же соединяет второй провод 220В и GND схемы МК. Запугали меня что так делать низя - нужна опторазвязка :( Как можно максимально просто с минимумом обвеса привязать переход через 0 к МК через оптрон ? Прикинул если брать АОТ128Б(или В не помню), то надо ставить диод и гасить на входе её 22кОм 2ВТ(!), у неё Iвх = 10мА вроде. 2 вата на резисторе это много - или я ошибаюсь ? выбрать другой оптрон ? сделать всё вообще по другому ?

Буду рад любой информации.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2010, 12:10
Ответы с готовыми решениями:

Как подключить датчик температуры к AVR?
Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался,...

Простой программный датчик движения для ВЕБ-камеры
Для организации псевдо-наблюдения за дачей, порылся в инете и нашел кусочки кода для веб-камеры....

датчик давления масла 2106+avr
Сразу извиняюсь за небольшой оффтоп. Имеем датчик давления масла от 2106(03) до 8 атм.: ...

Как подружить индуктивный датчик с AVR?
Имеется королла в кузове АЕ101 и датчик абс от такой же короллы, установленный на заднее колесо. ...

Простой датчик дыма
Вот такая схемка там есть электронигнитный излучатель звука НА1, на что его можно заменить? Вообще...

23
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
17.02.2010, 12:58 2
А питание собственно схемы бестрансформаторное что-ли? Если так, то смысла в оптодатчике не вижу. Опторазвязки от симистора вполне достаточно. А если есть транс, то цепляй любой вход INT на вторичку (а не на 220) через резистор и все дела.
0
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
17.02.2010, 13:01 3
Цитата Сообщение от shum_yms
диммер для лампочек и асинхронного двигателя.
Диммер для асинхронника - неудачное решение. К сожалению, нормальные решения (частотное регулирование или диммер + обратная связь) на много сложнее :-(
0
shum_yms
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
17.02.2010, 13:11 4
Трансформаторов нету, питание всех модулей отдельным мощным импульсным БП, с него беру 12 и 5в для схемы. Модули связаны по 1-Wire шине, напугали что если пробьёт - то всё нахрен выгорит, вся сеть :( + говорят будешь все помехи ловить из сети через этот резистор.

Про двигатель - знаю что неудачное, но во-первых в мануале к двиглу написано что МОЖНО его регулировать тиристорным диммером (асинхронник Ostberg, канальный вентилятор), во-вторых год уже работает от ручного диммера (самого дешевого китайского), ну а про частотные преобразователи я уже насмотрелся и начитался - самому не реально, на готовых компонентах дорого, готовое решение нереально дорого. У меня двигатель стоил 3т.р. а частотник минимум 5 стоит - ну нафиг.

По теме - нашел вроде оптрон HCPL-070A, спец. серия слаботочная (http://www.micrus.ru/pdf/HCPL-4701.pdf) на входе 40микроА всего + на выходе готовые TTL уровни. Что скажете ?
0
17.02.2010, 13:11
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
17.02.2010, 15:03 5
Да ничё не скажу.. (ну нету у меня их). По даташиту глянул, временные характеристики как-то не очень впечатляют.
Ну и наверное имеет смысл брать сразу сдвоенный. Тогда входные светодиоды соединяем встречно-параллельно, а выходы вместе. И по-идее должны получить на выходе короткие иголки при переходе через ноль. Правда, напрягает факт, что время перехода выхода из низкого в высокое состояние может быть больше, чем обратно. Если учесть возможный разброс временных характеристик (а он огромен, судя по даташиту), то может такое включение и не заработать...
0
tromzystor
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 178
17.02.2010, 16:02 6
Цитата Сообщение от shum_yms
Как можно максимально просто с минимумом обвеса привязать переход через 0 к МК через оптрон ?
Как написано в апноте. Через 2 резистора. Я делал, все работает, не переживай! http://iosyitistromyss.ru/forum/mydivice/topys-1647
Но справедливости ради скажу, что 1-wire не трогал, и, как следствие, про помехи ничего не скажу
0
shum_yms
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
17.02.2010, 16:15 7
Да не такие уж и ужасные задержки :) если 40мкА на вход не давать, а подать хотя бы 0,5мА - время получается 60-90мкС, что вполне годиться. При диммировании 128ю уровнями, длительность/ширина одного импульса получается 157мкС - так что мне хватит :) к тому же постоянную задержку легко компенсировать программно.

2tromzystor - я в курсе что всё работает, спасибо :) Просто напугали всякими УУУУУУ да ААААААА, и мне сейчас воткнуть опто-развязку не сильно напряжно, но если я сделаю N модулей и выяснится что идут помехи или кого-нить пробьёт и все модули умрут - вот это будет грустно.
0
shum_yms
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
17.02.2010, 16:16 8
К тому же в аппноте чётко сказано про гальваническую развязку - если есть связь МК с внешним миром - то надо её делать :)
0
stt
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
17.02.2010, 17:33 9
к тому же постоянную задержку легко компенсировать программно.
Посмотри 6-й пост, может поможет. http://forum.iosyitistromyss.ru/viewtopys.php?f=4&t=214
0
kyr_tt
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,368
17.02.2010, 17:43 10
Можно с качестве датчика 0 перехода использовать преобразователь на эффекте Холла. Так работают токовые клещи, будет гальваническая развязка от сети.
0
Mittid Mitot
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
17.02.2010, 17:51 11
1. Ловлю преход через 0
2. Отсчитываю N времени в диапазоне от 0 до 1/100 сек
3. Открываю симистор
4. goto 1
Зачем отсчитывать время? Симистор вроде надо включать как можно ближе у "нулю".
0
shum_yms
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
17.02.2010, 19:28 12
2SST спасибо - я в принципе так и решил почти - только без кондёра, только гасящий резистор. Если выставить ток 0.5мА - то рассеивание получается небольшое.

2kyr_tt - боюсь будет плохая повторяемость и приличная инерционность - но спасибо за идею, может попробую.

2Mittid Mitot - если открывать ближе к нулю, то в чём смысл схемы ? мне нужен не электронный ключ ВКЛ/ВЫКЛ, и не пропуск целых полу-периодов, диммирование производится именно отрезанием кусков полу-периодов.

По идее более феншуйная схема где 220В коммутируют MOFSITами, которые открывают в нуле, а где-то дальше закрывают, обрезая полу-период + большую ёмкость для сглаживания рубленных хвостов синусоид - получается более приятная диаграмма, меньше пульсаций. Но нужно ставить драйвер для управления и пр - схема сложнее.
0
Mittid Mitot
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
18.02.2010, 23:35 13
Как раз таки лучше пропускать полуволны. А рвать ток посреди синусоиды.... ну не по-людски как-то))
0
kyr_tt
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,368
18.02.2010, 23:43 14
Цитата Сообщение от Mittid Mitot
Как раз таки лучше пропускать полуволны. А рвать ток посреди синусоиды.... ну не по-людски как-то))
Обычно "рвут" ток при нулевом значении его же, что при пропуске полуволны, что по другому. Вопрос по прежнему, как определить ,что ток ноль ( напряжение ноль) и рвать?
0
Mittid Mitot
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
19.02.2010, 00:04 15
viomezzo 10 Окт 2009 23:20

видимо, на высотах радиоэлектроники как и в раю - все сделано, руки не чешутся лишний раз
а как бы сделать генератор импульсов, 2кгц,
1. активирующийся синхронно по началу синусоидального 50-герцового импульса,
2.дезактивирующийся по его достигутому пику
3.в течении этого четвертьпериода работы коммутирующего силовую нагрузку…

ну чтоб дешево)
а главное - удалось для начала отладки в multisym / proteus попробовать ..
DY HOTT октября 12, 2009 at 2:08

А в чем проблема собственно? Компаратор на старт. Как только выше нуля - запуск.

Дифференциатор на определение приращения: в верхней точке синуса его дифференциал = 0, а там как сравняется — на стоп.

Немного логики, до хоть на том же МК, чтобы эти состояния ловить и через оптику какую нибудь на силовые ключи.
viomezzo1 октября 12, 2009 at 23:38

Иртений, я вот про компаратор понял, а про дифференцирование…предел отношения приращения функции к приращению ее аргумента при стремлении приращения аргумента к нулю может и не получиться, импульсов идеальных не бывает…да и как это в принципе спаять - аналоговый вычислитель?
у меня вот какой вопрос по не такой сложной схеме реализации,вот есть такой вами рекомендованный оптодрайвер МОС3041
http://eup-kii.narod.ru/3041.bmp
у него схема пересечения нуля (см картинку)вроде позволяет разнюхать нулевое значение,как думаете, можно эту микросхему пользовать только как нуль-детектор?
а потом сопряжем с lpt-портом (есть старый комп) и посчитаем в программе время от нуля до приблизительно вершины..
какое у вас мнение?
DY HOTT октября 14, 2009 at 0:24

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

Дифференциатор делается на одном конденсаторе с резистором, либо на одном операционном усилителе (лучше и точнее). Погугли на предмет применения ОУ. На вики вроде бы была отличная статья.

из МОС ты нуль детектор не вытащишь. Он по нулю симистр только выключает. Да и нуль ты компаратором поймаешь, а тебе надо ловить пик первого периода. Тут тебе МОС не поможет.
0
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
19.02.2010, 11:02 16
Цитата Сообщение от STT
Посмотри 6-й пост, может поможет. http://forum.iosyitistromyss.ru/viewtopys.php?f=4&t=214
Вот и я именно о таком включении говорил
Тогда входные светодиоды соединяем встречно-параллельно, а выходы вместе. И по-идее должны получить на выходе короткие иголки при переходе через ноль.
Только С1 и С2 выбросить, а R1 и R2 подбирать под характеристики оптрона. И АОТ101 крайне не рекомендую - гадость редкостная. Очень медленный и с диким разбросом характеристик.
0
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
19.02.2010, 11:05 17
из МОС ты нуль детектор не вытащишь. Он по нулю симистр только выключает.
Заблуждение. Или скорей просто опечатка.
0
Yurkom
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
19.02.2010, 11:17 18
Цитата Сообщение от kyr_tt
Можно с качестве датчика 0 перехода использовать преобразователь на эффекте Холла.
Тогда, наверное, понадобиться постоянно подключенная паразитная нагрузка. А иначе на что будет реагировать датчик в момент отсутствия тока в цепи полезной нагрузки?
Или я что-то не понял в этой идее?...
0
Virtir
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 44
19.02.2010, 14:22 19
Цитата Сообщение от shum_yms
Всем привет !

1. Ловлю преход через 0
2. Отсчитываю N времени в диапазоне от 0 до 1/100 сек
3. Открываю симистор (Я так понял коротким импульсом на УЭ)
4. goto 1
Если ловить переход напряжения через 0, то данный алгоритм, пожалуй, можно применить только для активной нагрузки. Симистор закрывается в момент времени когда ток через него равен нулю. В случае индуктвиной нагрузки при переходе напряжения через 0, ток нулю равен не будет. Т.е. для вышего диапазона 0 - 1/100 сек. возможен случай, когда вы попытаетесь открыть симистор в тот момент когда он еще открыт, в итоге пропустите целый полупериод. Я не знаю может ваш двигатель и схавает такую форму тока(с пропусками), но как то "не айс" получится. Постараюсь выложить рисунок с графиком, как только разберусь как это сделать.

График для схемы тиристор - тиристор, для симистора будет аналогично



0
Mittid Mitot
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
19.02.2010, 20:41 20
Лампа наКАЛивания - вполне себе активная нагрузка.
0
19.02.2010, 20:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2010, 20:41

Простой сенсорный датчик на микросхеме К561ТЛ1
Всем доброго времени суток. Хочу собрать датчик как на видео I1EAIrUzBo8 но нет схемы. Не могли...

Оптрон для детектирования перехода перем. тока через ноль
На ардуиновском форуме мелькнула схемка диммера, работающего за счёт отсечения части полупериода...

Программный код для перехода в интернет страницу через формы
напишите пожалуйста программный код для перехода в интернет страницу через формы


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.