Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2013, 10:26   #131
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
С костылем заработало, но немного не стабильно
Нестабильно я думаю из-за датчика 20А, так как число уровней от ноля до максимума, очень маленькое и еще к этому добавить шум
Admin вне форума   Ответить с цитированием
Старый 30.05.2013, 13:46   #132
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Ну вот от скуки попробовал вариант с компаратором - опорное напряжение будет получено из равноплечего резистивного делителя, соответственно оно будет равно логическому нулю на датчике тока, независимо от колебаний напряжения arduino. Вечером протестирую на железе если успею
PHP код:
#include "CyberLib.h"      //подключаем библиотеку быстрого управления пинами
#include "analogComp.h" // библиотека компаратора

// Переменные для функционирования Диммера
int Dimmer1=20// переменная определяющая яркость свечения диммера 
int tic1=0;        // счетчик таймера
int DimmerMax=100// максимальное значение диммера

// Переменные измерения тока
volatile long  Smax// сумма максимальных значений
volatile long PeriodTic=0// счетчик периодов
volatile long Vout;// значение аналогового порта, можно конечно и считывать прямо,но на сайте Arduino говорится что при использовании в функции max других функций результаты получаются непредсказуемыми
volatile unsigned int Power// значение потребляемой мощности 
volatile unsigned int I 0// сила тока 

void setup()  
D4_Out//Настраиваем порт на выход Dimmer1
  
D4_Low
    
  
analogComparator.setOn(AIN0AIN1); //настраиваем компаратор
  
analogComparator.enableInterrupt(detectCHANGE); //прерывание компаратора по изменению уровня -детектор нуля
};  
  

//обработчики прерываний для работы диммера
void  detect()  // обработка внешнего прерывания. Сработает переходу через ноль
{  
 
tic1=0;             //обнулить счетчик
 
StartTimer1(halfcycle,100);   //запустить таймер
 
}  

void halfcycle()  //прерывания таймера 
tic1++;  //счетчик диммера
if(Dimmer1 tic1 
{  
D4_HighStopTimer1(); 
if(
Dimmer1>DimmerMax/2){StartTimer1(current,5000-100*tic1);} else current();} // Если значение Dimmer>50, то ждем до пика по времени и считываем данные датчика, иначе меряем сразу.
else  D4_Low;
}

// подпрограмма измерения тока 
void current()
{
Vout=A3_Read
Smax=Smax+Vout// Добавляем сумму  значений 
PeriodTic++; // увеличиваем счетчик периодов
}

void loop() {  } 
Из видимых минусов такого решения -на датчик так уходит три ноги контроллера и добавляется 2 резистора. Но в данном проекте это в принципе терпимо.

Последний раз редактировалось Bulatovor; 30.05.2013 в 13:52.
Bulatovor вне форума   Ответить с цитированием
Старый 30.05.2013, 20:20   #133
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Сделал делитель из двух резисторов по 100 ом. Работает, но так же не стабильно как и в версии без компаратора. Жду 5 амперные датчики
Bulatovor вне форума   Ответить с цитированием
Старый 28.06.2013, 14:32   #134
anton2122
Junior Member
 
Регистрация: 30.03.2012
Сообщений: 10
Вес репутации: 0
anton2122 is on a distinguished road
По умолчанию

Сделал по схеме устройство и парадокс. У меня несколько групп света из одинаковых ламп, отличается лишь длина провода до них, так вот в выключенном состоянии ключа несколько групп света дают постоянные кратковременные вспышки, притом что другие нормально выключены. Пробовал менять местами нагрузки, очевидно стало, что проблема конкретно в группе лампочек. Куда копать, что может не удовлетворять нормальной работе?
anton2122 вне форума   Ответить с цитированием
Старый 28.06.2013, 14:52   #135
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Лампочки какие? Светодиодные, спиральные, газоразрядные?
Admin вне форума   Ответить с цитированием
Старый 28.06.2013, 16:41   #136
anton2122
Junior Member
 
Регистрация: 30.03.2012
Сообщений: 10
Вес репутации: 0
anton2122 is on a distinguished road
По умолчанию

Лампочки светодиодные 220v с функцией димиирования.
anton2122 вне форума   Ответить с цитированием
Старый 28.06.2013, 19:07   #137
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Убери снаберы, должно помочь
Admin вне форума   Ответить с цитированием
Старый 29.06.2013, 15:43   #138
anton2122
Junior Member
 
Регистрация: 30.03.2012
Сообщений: 10
Вес репутации: 0
anton2122 is on a distinguished road
По умолчанию

Ссори за глупый вопрос - снаберы это фильтр из конденцатора и резистора?))
anton2122 вне форума   Ответить с цитированием
Старый 29.06.2013, 23:44   #139
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Да.
Admin вне форума   Ответить с цитированием
Старый 30.06.2013, 01:39   #140
anton2122
Junior Member
 
Регистрация: 30.03.2012
Сообщений: 10
Вес репутации: 0
anton2122 is on a distinguished road
По умолчанию

Спасибо! Действительно снаббер был причиной мерцания, осталось понять почему на одной группе тех же ламп мерцание было, а на другой не было!))))
anton2122 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 41 (пользователей: 0 , гостей: 41)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:57. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика