На датчике тока
Вид для печати
На датчике тока
подозревал что о нем.. :)
ну я только ЗА, если есть идеи и вообще как сделать, то с радостью приму участие в тестировании/разработке :)
Ну тогда наверно завтра вечером , потому как код на работе, завтра работы очень много , днем не смогу в форум выйти
ок, а что там надо с деталей? не уверен что у меня все будет... надо заранее закупиться
Датчик тока ACS712
ток на твое усмотрение
попробую завтра вырваться на радиорынок и купить
Датчики есть на 5А, 20А,30А стоимость от 3$ до 4$
В корпусе SOIC так что можно сразу и платку купить переходную или можешь платку сам сделать я тебе могу SPL скинуть
Пробовал купить 50А, 100А на караваевых, все только под заказ.
Если не найдешь, то до 12-00 найди фирму Имрад места 53-57 и возможно закажешь через них.
ок, понял :)
еще что-то нужно дополнительно? хотелось бы максимум все сразу купить... чтобы не искать
а 4н35 не подойдет?
Не пойдет, нужен PC814 или любой другой с двумя встречно параллельными светодиодами
у... вчера искал этот PC814, не на шел... может сегодня повезет...
кстати... на счет китайской светодиодной гирлянды... оказываетя там все просто... она запитана была через диоды... поэтому при подключении светодиодов к переменному напряжению наблюдалось мерцание.
Светодиод это тоже диод, он будет светится через 1 полупериод и тоже будет мерцать
Я это понимаю.. но получается, если напряжения уже выпрамленое (постоянное), то не мерцает...
я думал что без диодов не будет мерцать, т.э. сам светодиод будет его выпрамлять... но получается не так.. нужны доп диоды... и скорее всего лучше их включить в режиме моста (4шт), именно так и сделано на китайской плате
Если решили ставить мост, то ставьте его перед всей схемой, тогда не потребуется менять оптрон на двух-диодный. Не ставить конденсатор после выпрямления, иначе нужно переходить на полевики и забыть про диммер, а вспомнить про ШИМ.
Именно это я и хотел сказать, что нужно светодиоды питать постоянкой.
На счет того, чтобы ставить мост перед схемой... то я вообще думаю по-другому сделать... так как делаю более универсальное устройство, а не заточенное только под светодиодные гирлянды, то мост будет уже на выходе, т.э. между гирляндой и выходным каскадом...
аа.. стоп.. или так не выйдет? т.э. регулировка яркости в этом случае не будет работать?
4 моста? если честно не понял.. зачем и по какой схеме...
я думал что 4ма обойдусь.. т.э. на каждый канал гирлянды... а получается нужно будет 4*4=16.. или я что-то не понимаю?
Не постоянкой, а пульсирующим напряжением, вот если конденсатором сгладить, то будет постоянка, но тогда - полевики.
http://www.osha.gov/SLTC/etools/elec...er_circuit.gifЦитата:
Сообщение от knyaz2020
http://www.femto.com.ua/articles/par...119919-132.jpg
Так, я еще раз прошу определиться с поставленной задачей!
Перечисляйте все варианты использования и будет практически однозначный ответ.
Вообщем я делаю универсальное устройство... на выходе которого хочу чтобы была переменка, для того чтобы подключать не только светодиодые гирлянды, но и лампы накаливания и возможно другие устройства.
Поэтому, хотелось бы, чтобы "малой кровью", а именно, без изменения уже структуры схемы и переделки логики работы ШИМ (диммера) была возможность подключать светодиоды... т.э. чтобы они не мерцали.
Как по мне, очень просто это сделать уже на выходе... т.э. берем выход этого устройства и подключаем к гирлянде, но между ними ставим диодый мост... если такое реализуемо.. то супер... если нет.. то можно и забить.. так как это всеравно гирлянда как декоративное украшение, то много погоды это мерцание не сделает :)
О-о-о.. ну так правильно, я же так и думал (по первому рисунку), один диодный мост на канал.
Нет там переменки при регулировании, только при максимуме.
Какие другие, это важно.
Ну нарисуй, только есть вариант 4 моста или 16 диодов.
Если все запитать через один мост, то скетчь переделывать, менять симисторы на тиристоры(не обязательно), МОС3052 на другую оптопару(не обязательно).
Ну и ... 4 моста, по 4 диода = 16 диодов. Подключаем к мосту, а с моста к нагрузке.
Вместо лампочек, а к нагрузке моста лампочку.
Поверь, проще одна диодная сборка(4 диода в одном корпусе, мостом обзывают). подключаем по входу и ничего не меняем, немного скетчь кастроируем, что улучшает работу.
http://www.e-voron.dp.ua/files/pic/d-most/rs410-820.jpg
в том то и дело, что я знаю что такое диодный мост :) но вот подключений с 4ма диодными мостами я еще не встречал... если в посте 220 Вы имели в виду не 4ре моста а четыре диода на канал, тогда это все объясняет :)
я предлагал так:
к выходу (в первом посте на клему "к нагрузке") подключаем диодный мост (это 4-ре диода), а за ним уже гирлянду.
Вы же, как я понял, предложили так
к выходу (в первом посте на клему "к нагрузке") подключаем 4-ре диодных моста (это 16 диодов), а за ним уже гирлянду. Вот это и сбило меня, так как я не видел таких схем включения...
все.. понял.. разобрались... я думал что с первого поста... вообщем так и буду делать.
Отлично, значит нужно докупить 4 моста и заменить оптопару.
Но мне не понятно, почему не нравится вариант поставить всего один мост и все!
бррр... тогда я не понял..
куда именно надо ставить один мост? можно схему.. или напишите между какими детальками..
Вообщем пипец... нету ти датчика тока ни PC814.. заказал, но будет не раньше чем на след. неделе...
Я так понял строчка:
должна обязательно быть в void setup() ?Код:attachInterrupt(0, FrontUp, RISING);
Тогда как ее отключать?
А именно, если диммер не нужен, а простое переключение лампочек, то возникает проблема. При установке на каком-то выходе уровня HIGH (к которому подключена нагрузка), то лампочка чуть мерцает и при установке LOW не выключается... Если же с 4N35 убрать ~220В, то все как нужно переключает.
P.S. To Chip, что на счет датчика тока? Есть какие-то наброски.. думаю расгребтись с этой мигалкой и попробовать что-нить на нем собрать.
Выключить прерывание можно вот так detachInterrupt(0);
Тебе привезли датчик тока?
Вот во вторник пообещали точно будет
Да, выключает, спасибо.Цитата:
Выключить прерывание можно вот так detachInterrupt(0);
Вопрос как включить? :)
attachInterrupt(0, FrontUp, RISING); - не работает. А вернее этот кусок кода:
Код:void loop()
{
detachInterrupt(0);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
attachInterrupt(0, FrontUp, RISING);
aaadim();
}
void aaadim()
{
if(dimmer < 255) dimmer++; else dimmer=0; // пример уменьшения яркости лампы
dim=33*dimmer;
delay(50);
}
Т.э. лампа на секундку вкл., затем выкл., затем через сек. вкл. и т.д.,т.э. на функцию aaadim() не переходит. Почему?
И не перейдет, потому как в настройке прерывания прописана функция FrontUp
А вообще лучше весь код посмотреть из этого куска ничего не видно
Код можно сказать тот же что в первом посте:
Вообщем это первая проблема...Код:#include <avr/delay.h>
int AC_pin = 10; // выход для симистора
volatile uint16_t dim;
uint8_t dimmer=0;// уровень димирования (0-255) 0 = max, 255 = min
void setup()
{
pinMode(AC_pin, OUTPUT);
attachInterrupt(0, FrontUp, RISING); //прерывание по изменению уровня с низкого на высокий
}
// Функция обработки прерывания на подъем
void FrontUp()
{
detachInterrupt(0);
_delay_us(dim+1000); // отсекаем лишнее
digitalWrite(AC_pin, HIGH); // включить симистор
_delay_us(20); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
attachInterrupt(0, FrontDown, FALLING);
}
// Функция обработки прерывания на спад
void FrontDown()
{
detachInterrupt(0);
_delay_us(dim); // отсекаем лишнее
digitalWrite(AC_pin, HIGH); // включить симистор
_delay_us(20); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится
attachInterrupt(0, FrontUp, RISING);
}
void loop()
{
detachInterrupt(0);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
attachInterrupt(0, FrontUp, RISING);
aaadim();
}
void aaadim()
{
if(dimmer < 255) dimmer++; else dimmer=0; // пример уменьшения яркости лампы
dim=33*dimmer;
delay(50);
}
Но вот еще не могу догнать, как таким методом сделать бегущий огонь... например с трех каналов?
Напишите плз. кусок проги...
Если без плавного включения, то просто
PHP код:
digitalWrite(Lamp0, HIGH); // включить симистор
_delay_us(200); // пауза
digitalWrite(Lamp0, LOW); // выключение симистора
digitalWrite(Lamp1, HIGH); // включить симистор
_delay_us(200); // пауза
digitalWrite(Lamp1, LOW); // выключение симистора
digitalWrite(Lamp2, HIGH); // включить симистор
_delay_us(200); // пауза
digitalWrite(Lamp2, LOW); // выключение симистора
Вот как раз интересует с плавным включением... все для этого изначально и делалось