1 2 3 4 5 6 7 8 9 10 5/10 5,00оценок: 1

Как отключить мощные нагрузки при пропадания электричества

Тема в разделе "Бесперебойное (аварийное) электропитание", создана пользователем UA6ATG, 10.12.15.

  1. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Удобно что провода тянуть не надо. Подключил приемник к любой розетке в доме и подключай свою нагрузку. Единственно дальность приемник-передатчик по дому получается маленькая, наверное стены у меня толстоваты. Я думаю теперь как это все к вайфаю привязать, вайфай у меня по всему дому достает.
     
  2. lcat99
    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250

    lcat99

    Живу здесь

    lcat99

    Живу здесь

    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250
    Адрес:
    Краснодар
    @Черномор93, можно, но или на МК что-то лепить, или на ардуинах или малинах, слишком сложно получается, хотя запрограммировать можно что угодно.
     
  3. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Повозиться пришлось конечно, учитавая что я об ардуинах и малинах вообще узнал месяца три назад, и программировал последний раз в бейсике лет 20-ть назад. :)
     
  4. alex_k11
    Регистрация:
    19.09.07
    Сообщения:
    14.222
    Благодарности:
    7.382

    alex_k11

    Живу здесь

    alex_k11

    Живу здесь

    Регистрация:
    19.09.07
    Сообщения:
    14.222
    Благодарности:
    7.382
    Адрес:
    Москва
    Зато сколько секаса.
     
  5. lcat99
    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250

    lcat99

    Живу здесь

    lcat99

    Живу здесь

    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250
    Адрес:
    Краснодар
    Ну результат того стоит, и главное работает как надо, можно усложнить, подключить к ардуине токоизмерительные кольца и написать простую прогу, для включения и отключения по потребляемым нагрузкой токам, вроде видел для них или для малины такую платку АЦП и платку с исполнительными реле, подключается по usb.
     
  6. alex_k11
    Регистрация:
    19.09.07
    Сообщения:
    14.222
    Благодарности:
    7.382

    alex_k11

    Живу здесь

    alex_k11

    Живу здесь

    Регистрация:
    19.09.07
    Сообщения:
    14.222
    Благодарности:
    7.382
    Адрес:
    Москва
    Так есть готовые ограничители мощности и реле тока.
    Зачем колхозить ?
     
  7. lcat99
    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250

    lcat99

    Живу здесь

    lcat99

    Живу здесь

    Регистрация:
    28.09.13
    Сообщения:
    831
    Благодарности:
    250
    Адрес:
    Краснодар
    @alex_k11, они не подойдут, не умеют измерять токи и не настроишь на включение нагрузки. Тут же про солнечный контроллер и включение нагрузки при избытке мощности, а это или управляемое реле в самом контроллере, или делать самому внешнее.
     
  8. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Эти реле плохи тем, что приходится тянуть отдельную линию от места где они установлены - в щитке к примеру до места установки нагрузки.
    Я разделил само реле от датчика тока, между собой они связаны по радиоканалу соответственно тянуть линию не нужно. Можно включать нагрузки в любом месте дома, по мне так это удобно.

    Кроме того, я не видел реле обеспечивающих плавное повышение нагрузки. А это как раз то что надо при солнечных батареях. Например у вас избыток мощности 100 Вт, а доп. нагрузка (какой-нть ТЭН) 1000 Вт. Реле не включится пока избыток мощности не будет равен 1000 Вт, а сколько времени до этого пройдет неизвестно, может и вообще не дойдет и получается весь избыток мощности <1000 Вт вы теряете. У меня на приемнике 6 выходов, которые включаются/выключаются в зависимости от величины тока потребляемого от сети, что обеспечивает плавное повышение/уменьшение нагрузки. В результате избыток мощности с СП используется гораздо эффективнее.

    Ну и немаловажно - стоимость. Готовый ограничитель мощности с одним переключателем стоит раз в 5 дороже блоков из которых я собрал свой включатель с шестью переключателями. А знания полученные в процессе изготовления вообще бесценны :)
     
  9. MickNich
    Регистрация:
    05.09.12
    Сообщения:
    119
    Благодарности:
    101

    MickNich

    Живу здесь

    MickNich

    Живу здесь

    Регистрация:
    05.09.12
    Сообщения:
    119
    Благодарности:
    101
    Адрес:
    Полтава
    Ты бы поподробнее рассказал и схемки показал - цены б тебе не было)
     
  10. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Да пожалста.
    Передатчик состоит из arduino nano, к нему подключается датчик Холла на 30 ампер, а также радиомодуль NRF24L01 +. Питание на ардуину я подал со старой телефонной 5-вольтовой зарядки. Радиомодуль работает от 3,3 вольта для него не стал брать напряжение с вывода ардуины, а распаял небольшой понизитель напряжения на LM317 (не было другого стаба).
    Залил вот такой скетч
    /передатчик

    #include <SPI.h>
    #include "RF24.h" / Подключаем скачанную библиотеку RF24.
    #include "nRF24L01.h"

    /Контакты от радио модуля NRF24L01 подключаем к pins -> Arduino
    /SCK -> 13/MISO -> 12/MOSI -> 11/CSN -> 10/CE -> 9
    / Set up nRF24L01 radio on SPI bus plus pins 9 & 10
    RF24 radio (9, 10);

    /от амперметра
    const int analogIn = A0;

    const uint8_t led_pins[] = { 7, 6, 5, 4, 3, 2 };
    const uint8_t num_led_pins = sizeof (led_pins);
    uint8_t led_states[num_led_pins];

    int pin = 8;
    int e = 5;
    int svet = -1;

    int rele = HIGH;

    int mVperAmp = 66; / use 185 for 5A Module, 100 for 20A Module and 66 for 30A Module
    int RawValue= 0;
    int ACSoffset = 2504;
    double Voltage = 0;
    double Amps = 0;
    double Amps_average = 0;
    double amp_base[10];
    int num_amp_base = sizeof (amp_base)/4;
    double otkl = 100;
    unsigned long time;

    / от радио
    /unsigned long pipe = 0xE8E8F0F0E1LL; / адрес канала передачи
    /unsigned long pipe = 0xF0F0F0F0D2LL;
    const uint64_t pipe = 0xF0F0F0F0E1LL;
    void setup()
    {
    Serial. begin (9600);
    radio. begin();

    / optionally, increase the delay between retries & # of retries
    radio. setRetries (15,15);
    / optionally, reduce the payload size. seems to
    / improve reliability
    radio. setPayloadSize (8);
    / radio. openWritingPipe (pipe); / Открываем канал передачи

    radio. openWritingPipe (pipe);

    / radio. startListening();
    / radio. printDetails();
    /radio.setPayloadSize (4);
    int i = num_led_pins;
    while (i-)
    {
    pinMode (led_pins,OUTPUT);
    led_states = LOW;
    digitalWrite (led_pins,led_states);
    }
    pinMode (pin, INPUT);
    digitalWrite (pin, HIGH);
    }
    void loop()
    {
    radio. stopListening();

    rele = digitalRead (pin);
    Serial. print("\t Rele =");
    Serial. print (rele);
    Serial. print("\t num_amp_base =");
    Serial. println (num_amp_base);

    if (rele < 1)
    {
    for (int i=0; i<num_amp_base; i+)
    {RawValue = analogRead (analogIn);
    Voltage = (RawValue / 1022.0) * 5000; / Gets you mV
    /Amps = (Voltage - ACSoffset) / mVperAmp);
    if (Voltage - ACSoffset) > 0)
    Amps = (Voltage - ACSoffset) / mVperAmp);
    else
    Amps = (ACSoffset - Voltage) / mVperAmp);

    amp_base = Amps;
    Amps_average = Amps_average + amp_base;
    Serial. print("\t Amps_average =");
    Serial. println (Amps_average);

    delay (77);
    }
    delay (1000);
    / Amps_average = (amp_base[0]+amp_base[1]+amp_base[2]+amp_base[3]+amp_base[4]+amp_base[5]+amp_base[6]+amp_base[7]+amp_base[8]+amp_base[9])/10;
    Amps_average = Amps_average / num_amp_base;
    Serial. print("\t Amps_average =");
    Serial. println (Amps_average);
    /посылаем радиосигнал
    / Amps_average = 1.5;
    radio. write(&Amps_average, 4);
    radio. startListening();

    if (Amps_average <0.3) e=-1;
    if (Amps_average >= 0.3 && Amps_average < 1.3) e=5;
    if (Amps_average >=1.3 && Amps_average < 1.4) e=4;
    if (Amps_average >=1.4 && Amps_average < 1.5) e=3;
    if (Amps_average >=1.5 && Amps_average < 1.6) e=2;
    if (Amps_average >=1.6 && Amps_average < 1.7) e=1;
    if (Amps_average >=1.7 && Amps_average < 1.8) e=-0;
    if (Amps_average >= 1.8) e=-1;

    if (svet<e)
    {
    svet+;
    digitalWrite (led_pins[svet],HIGH);
    }
    if (svet>e)
    {
    digitalWrite (led_pins[svet],LOW);
    svet-;
    }

    delay (1000);
    }
    if (rele > 0)
    {
    radio. stopListening();
    radio. write(&otkl, 4);
    e=-1;
    if (svet>e)
    {
    digitalWrite (led_pins[svet],LOW);
    svet-;
    delay (1000);
    }
    radio. startListening();
    delay (1000);
    }
    }
    Подключаем средний вывод датчика Холла к A0, радиомодуль стандартно /SCK -> 13/MISO -> 12/MOSI -> 11/CSN -> 10/CE -> 9
    Плюс я сделал вывод на кнопку, которая называется "реле" от 8 цифрового пина. Она предназначалась для подключения к одному из реле микроартовского контроллера и должна была сигнализировать, что на улице вообще есть солнце и нагрузка не включалась ночью когда малая нагрузка на сеть. Но в принципе вместо нее можно поставить фоторезистор на А1 к примеру.
    Плюс подключил светодиоды для индикации работы на пины 2,3,4,5,6,7.
    Датчик Холла включается в разрыв сетевого провода, подаем питание на ардуину и смотрим на мониторе последовательного порта как прога подсчитывает среднюю силу тока на датчике Холла.
     
    Последнее редактирование: 24.01.16
  11. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Теперь приемник.
    Состоит из той же ардуины нано, того же радиомодуля. Добавлен маленький блок питания на 5 вольт опять же с отдельной разводкой для 3,3 вольта, плюс силовой блок по такой схеме
    kontroller-upravleniya-vlajnostyu-na-Atmega328-3.gif
    повторенный 6 раз.
    Заливаем скетч
    /приёмник

    #include <SPI.h>
    #include "RF24.h"
    #include "nRF24L01.h"

    /Контакты от радио модуля NRF24L01+ подключаем к pins -> Arduino
    /SCK -> 13/MISO -> 12/MOSI -> 11/CSN -> 10/CE -> 9
    / Set up nRF24L01 radio on SPI bus plus pins 9 & 10
    RF24 radio (9,10);

    /unsigned long pipe = 0xE8E8F0F0E1LL; / адрес канала
    const uint64_t pipe = 0xF0F0F0F0E1LL;

    /unsigned long msg = 0; /переменная для приёма радио сигнала
    float Amps_average = 0; /переменная для приёма радио сигнала

    const uint8_t led_pins[] = { 2,3,4,5,6,7 };
    const uint8_t num_led_pins = sizeof (led_pins);
    uint8_t led_states[num_led_pins];
    unsigned long cnt05 = 0;
    unsigned long ms1 = 0;

    int i = 5;
    int svet = -1;
    int zamedl = 0;

    int kaput = 0;
    int kap = 6;

    void(* resetFunc) (void) = 0;

    void setup()
    {
    Serial. begin (9600);
    radio. begin();
    / optionally, increase the delay between retries & # of retries
    radio. setRetries (15,15);
    / optionally, reduce the payload size. seems to
    / improve reliability
    radio. setPayloadSize (8);

    / radio. openReadingPipe (1,pipe); / Открываем один из 6-ти каналов приема

    radio. openReadingPipe (1,pipe);
    radio. startListening(); / Начинаем слушать эфир
    / radio. setPayloadSize (9999999);
    radio. printDetails();
    / присваиваем номера пинам

    {
    int i = num_led_pins;
    while (i-)
    {
    pinMode (led_pins,OUTPUT);
    led_states = LOW;
    digitalWrite (led_pins,led_states);
    }
    }
    }

    void loop()
    {

    unsigned long ms = millis();
    int p = ms - ms1;
    if (p < 0 | p > 5000)
    {ms1 = ms;

    if(!radio.available()
    {
    kaput+;
    }
    if (kaput=10)
    {for (int kap = 0; kap<=6; kap+)
    {digitalWrite (led_pins[kap],LOW);
    delay (1000);}
    /resetFunc();
    }
    }

    if (radio.available()
    {
    kaput=0;
    / radio. read(&Amps_average, 4);
    radio. read(&Amps_average, sizeof (unsigned long);
    delay (10);

    Serial. print("Amps_average = ");
    Serial. println (Amps_average);

    /Amps_average = 1.2;

    if (Amps_average <0.3) i=-1;
    if (Amps_average >= 0.3 && Amps_average < 1.3) i=5;
    if (Amps_average >=1.3 && Amps_average < 1.4) i=4;
    if (Amps_average >=1.4 && Amps_average < 1.5) i=3;
    if (Amps_average >=1.5 && Amps_average < 1.6) i=2;
    if (Amps_average >=1.6 && Amps_average < 1.7) i=1;
    if (Amps_average >=1.7 && Amps_average < 1.8) i=-0;
    if (Amps_average >= 1.8) i=-1;

    cnt05+;

    if (cnt05%3 = 1) / Каждые 10 секунд опрашиваем
    {
    if (svet<i)
    {
    svet+;
    /* for (zamedl = 0; zamedl <=20; zamedl+)
    {
    digitalWrite (led_pins[svet],HIGH);
    delay (6);
    digitalWrite (led_pins[svet],LOW);
    delay (12);
    }
    */
    digitalWrite (led_pins[svet],HIGH);

    }
    if (svet>i)
    {
    digitalWrite (led_pins[svet],LOW);
    svet-;
    }
    }
    }
    } /end of loop
    Подключаем лампочки к силовым выходам и в принципе все.
    Теперь передатчик должен передавать среднюю силу тока рассчитанную им в промежутке нескольких секунд, а приемник должен эту силу тока ловить и в зависимости от ее величины включать или выключать лампы. Например при силе тока меньше 1,3 А постепенно загораются все лампы, при силе тока больше 1,8 А все лампы гаснут, при 1,45 А горят четыре лампы.

    Т. к. переключение достаточно быстрое - примерно каждые 9 секунд лампам приходится загораться и гаснуть часто, что им вредно, поэтому я у себя поставил на каждую по маленькому блоку защиты галогенок, чтобы загорались постепенно. Сначала хотел прямо в ардуине забить код для постепенного включения, но не учел необходимость отлавливания перехода через ноль, а для этого нужны другие оптроны, которых у меня пока нет. Да и ардуина видимо от огромных вычислительных усилий начинала виснуть, поэтому поставил готовые защитные блоки на каждую лампу.
     
  12. Strangeman
    Регистрация:
    24.07.11
    Сообщения:
    14.618
    Благодарности:
    9.124

    Strangeman

    Стремящийся к автономии

    Strangeman

    Стремящийся к автономии

    Регистрация:
    24.07.11
    Сообщения:
    14.618
    Благодарности:
    9.124
    Адрес:
    Ростовская обл. д. Золотарево
    У Вас же на схеме moc3061.
     
  13. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Я в теории не силен, вот как я понял. У moc3061 стоит внутри детектор нуля и он включается при переходе через ноль. Для димера нужен оптрон без детектирования нуля, например moc3021, чтобы он включался тогда когда мк даст сигнал. А отлавливать ноль должен сам мк через специальный оптрон, например 4N25. Вот примерно по такой схеме
    sh1.jpg

    Я этого не знал и состряпал на тех оптронах что были. И когда попытался плавно зажигать лампу через ардуино у меня плавно не получалось, лампа секунду моргала в полсилы, потом включалась на полную. У меня вроде и код "плавного зажигания" сохранился в скетче приемника, только он закоментирован.
     
  14. Strangeman
    Регистрация:
    24.07.11
    Сообщения:
    14.618
    Благодарности:
    9.124

    Strangeman

    Стремящийся к автономии

    Strangeman

    Стремящийся к автономии

    Регистрация:
    24.07.11
    Сообщения:
    14.618
    Благодарности:
    9.124
    Адрес:
    Ростовская обл. д. Золотарево
    Возможно. Вообще-то проблемы должны быть только на совсем маленьких уровнях. Может выпадать один полупериод после включения, т. к. сигнал приходит с запозданием и включение произойдет только на следующем полупериоде. В общем, можно поиграться с кодом, но наверное проще поменять оптопары.
    А для чего эти лампочки включаются? Понятно, что они утилизируют изшки выработки с СП, но с какой пользой? Видео не смотрел - не сподручно.
     
  15. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.770
    Благодарности:
    511
    Адрес:
    Анапа
    Видео про то как лампочки включаются не снимал, Я снял только как передатчик работает.
    Лампы (прожектора галогеновые на 150 Вт) стоят в подвале, там стена сырая вот они ее и высушивают когда солнце на улице.