Подключил к радиоканалу и начал мониторить. При нагрузке даже в 40 ватт на 20 амерный датчик выдатся значения 516-517 что для диммера должно хватать. Судя по всему в чем косяк стало понятно, в первоисточнике с датчиком ноля - определяется только ноль , а дальше работает таймер. А у меня же прерывания постоянно без запуска отдельного таймера и в результате в выложенном ранее коде получается
PHP код:
void halfcycle() //прерывания таймера
{
Vout=A3_Read; // читаем порт к которому подключен выход датчика тока
if (Vout>508 && Vout<516) tic=0; //детектор ноля
if(Dimmer < tic) {D13_High;} else D13_Low;
tic++; //счетчик
};
А засада вот в чем: пока счетчик не достиг значения диммера нагрузка выключена -отрезаем фронт, т.е. нагрузка моментальная 0, соответственно значение датчика 512 и счетчик каждое прерывание обнуляется, т.е. все правильно -диммер работает только выключателем, когда значение Dimmer равно нулю- то нагрузка сразу включается и показания датчика растут, в иных случаях она по этому коду и не должна включиться. Будем думать...