![]() |
![]() |
#121 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Как- то вот так
![]() Последний раз редактировалось Bulatovor; 17.05.2013 в 21:51. |
![]() |
![]() |
![]() |
#122 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Заказал датчики на 5a. Вот еще какая мысль пришла -если AREF посадить на внутреннее напряжение в 1.1 вольта - получается что увеличу дискретность порта в 5 раз(ну конечно за счет снижения максимального значения). Надоть попробовать.
|
![]() |
![]() |
![]() |
#123 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Тогда на аналоговый вход нельзя подавать больше чем 1,1в
Вернее можно, но только он от 1,1в до 5в будет показывать максимальное значение 1023 |
![]() |
![]() |
![]() |
#124 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Подключил к радиоканалу и начал мониторить. При нагрузке даже в 40 ватт на 20 амерный датчик выдатся значения 516-517 что для диммера должно хватать. Судя по всему в чем косяк стало понятно, в первоисточнике с датчиком ноля - определяется только ноль , а дальше работает таймер. А у меня же прерывания постоянно без запуска отдельного таймера и в результате в выложенном ранее коде получается
PHP код:
|
![]() |
![]() |
![]() |
#125 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
решения с ходу приходит пока только с использованием костыля (флага)
PHP код:
Последний раз редактировалось Bulatovor; 29.05.2013 в 07:12. |
![]() |
![]() |
![]() |
#126 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Наверно имелось ввиду
if (Vout>508 && Vout<516 && flag==0) { tic=0; flag=1; } //детектор ноля Ошибка в выполнении условия, выполнится только tic=0; так как нет фигурных скобок |
![]() |
![]() |
![]() |
#127 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Согласен
|
![]() |
![]() |
![]() |
#128 |
Member
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
У меня к сожалению датчика тока под рукой нет, проверить никак ...
Проблема в том, насколько я понял, отловить ZeroCross через ACS712 ... А если ловить его таким образом: Ставим компаратор напряжения на выходе с ACS712, настраиваем на 2,5в ... а далее по накатаной схеме Admin'ом через прерывание ???? Как вариант - микросхема BU4825G-TR и настраивать ничего не надо .... 2.5в ... Наверное правильнее будет ловить 0 через прерывание, чем через АЦП Последний раз редактировалось dmitry123; 29.05.2013 в 19:00. |
![]() |
![]() |
![]() |
#129 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
У Arduino есть встроеный аналоговый компаратор пины AIN0, AIN1
Но тут проблема в том, что когда через нагрузку не течет ток, то показания датчика все время будут на ноле. |
![]() |
![]() |
![]() |
#130 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
С костылем заработало, но немного не стабильно, еще не знаю почему - нужно докрутить будет, ну для начала увеличив нагрузку. Использование компатора ( выводы D6 и D7 Arduino) упростит задачу - отправив его по накатанной схеме с димером по прерываниям, но это лишнее лишнее - зачем два раза снимать показания с одного датчика -ведь его же функция еще и мерить ток.
Есть конечно интересная мысль -запускать таймер по прерыванию с компаратора, а ток измерять только раз в период (вместо 200) через 50 миллисекунд, но как быть тогда если кооффициент диммирования больше 50% -синусоида своего пика не достигнет? или мерять по включению диммера и умножать на коофициент диммера Последний раз редактировалось Bulatovor; 30.05.2013 в 11:56. |
![]() |
![]() |
![]() |
Здесь присутствуют: 51 (пользователей: 0 , гостей: 51) | |
|
|