No Image

Датчик переменного напряжения arduino

СОДЕРЖАНИЕ
105 просмотров
12 декабря 2019

Arduino и Rasperry

Сетевое напряжение, один из важнейших показателей качества поставляемой электроэнергии.

Вопрос особо актуален в пригородных поселках и сельской местности. В этом году я тоже столкнулся с данной проблемой, напряжение плавало в течении суток от 120 до 205 вольт, и как на зло при составлении акта с эксплуатирующей сети организацией приборы зафиксировали 200В. что вписывается в пределы ГОСТ 220+-10%.

Как говорится не мытьем так катаньем- ARDUINO нам в помощь, и пусть показания прибора не занесенного в реестр и не поверенного в метрологических службах пришить куда-то сложно, но сделать определенные выводы вполне реально.

И так к делу -задача непрерывно мониторить напряжение сети в течении определенного промежутка времени и складывать их на SD карту.

Для этого нам потребуются:

  1. Arduino – мозг системы
  2. Модуль часов реального времен 1307RTC и — показания должны быть привязаны к реальному времени
  3. Модуль SD карты — сюда собственно мы и будем писать показания
  4. Ненужный трансформаторный блок питания — согласование сетевого напряжения.

Arduino имеет аналоговые входы с АЦП разрешением 8 бит (1024), но подавать на них можно лишь 5 вольт.

Задачи ясны приступаем к творчеству.

  1. Разбираем блок питания и выкидываем все что стабилизирует выходное напряжение, остаются только трансформатор и выпрямительный мост, замеряем напряжение в сети и на выходе БП, у меня получилось 195 и 6.8 расчитывам делитель напряжения получаем 28,6. Считаем максимально возможное напряжение на выходе при напряжении в сети (с запасом) 260В и получаем 9,1В. Расчитываем делитель напряжения так чтобы на Arduinку поступало максимум 5 вольт под рукой оказались следующие резисторы R1 — 2.2К, R2 — 2К, что вполне устраивает, ожидаемое максимальное напряжение 4,8 вольт .
  2. Калибруем наш новый датчик, для этого цепляем его следующим образом заливаем в ардуинку маленький скетч:
//————————————————————————
void setup()
<
Serial.begin(9600);
>
//————————————————————————
void loop()
<
int analogPin = 0;
Serial.println(analogRead(analogPin));
delay(1000);
>

Включаем датчик в сеть и наблюдаем в мониторе порта обновляющиеся показания, также к сети подключаем образцовый вольтметр. Теперь мы готовы вычислить поправочный коэффициент для будущего скетча,, мои данные: com порт — 669, вольтметр- 187 вольт, итого поделив первое на второе получаем коэффициент 3,58 на 1 вольт.

  • Модуль часов реального времени. Для настройки и работы данного модуля нам понадобятся библиотеки DS1307RTC и Time. Подключаем модуль по следующей схеме
    В примерах от 1307 находим скетч SetTime и загружаем его в Arduino. Открываем монитор com порта и видим что часы синхронизировались с компьютером. Отлично, часы подключены и настроены, дальше они будут идти уже за счет встроенной батарейки.
  • Ну и последний элемент куда мы будем писать свои данные это SD шильд здесь никаких дополнительных настроек не требуется, светодиод на 5 пине будет указывать на наличие ошибок.
  • С железом покончено начинаем программировать
    • Все собрано и залито, наш вольтметр готов
    • Лог файл разобранный в excel

    Мониторим состояние сети или Вольтметр-самописец : 31 комментарий

    Привет!
    Прикольная хрень! У меня тоже есть проблемы с сетями (правда трехфазными) Может ли служить датчиком напряжения обычный транс 220-12, если туда просто добавить мост из 4 диодов? Ответь если можно на почту, потом не найду твой сайт….

    1. sagis Автор записи 21.02.2014 в 19:40

    Вполне, только делитель напряжения надо пересчитать, ардуино нельзя подавать на вход более 5 вольт.
    Кстати имея 3 таких транса можно с 1 ардуинкой писать сразу 3 фазы и наблюдать их перекосы , разность напряжений и т.д.

    Думаю, делитель беспорно), но можно защитить входную цепь ардуинки если поставить по входу стабилитрон на 5 вольт с резистором… если превысит значение, то стаб сбросит на себя остаток, а если не превысит, то что стаб есть, что его нет — без разницы.

    Интересный прибор))) К сожалению только сейчас нашёл, всё покупное предлагалось(((… А ведь по долгу службы он требовался и не один раз)))

    Для сглаживания нужно использовать конденсатор после диодного моста. Иначе погрешности большие будут.
    И еще использовать транс для этих целей по моему не оправданно(и уж тем более три транса на три фазы).
    Можно поставить диод и кондюк (получим сглаженные «пол фазы»). Перерасчитать плечо делителя и получится дешевле и компактнее.

    1. sagis Автор записи 15.07.2014 в 23:12

    С первой частью полностью согласен, у меня они тоже стоят, просто я хотел бы отметить что дополнительных стабилизаторов не нужно.
    А вот отказываться от трансформаторной развязки с высокой стороной я бы не стал, довольно опасно, тем более фактически данные у меня уходят в сеть( в отличии от статьи которая является только отладочным примером), тут и роутер не долго поджарить

    А есть ли у ардуины ограничения по току? Мне просто нужно знать — есть ток, нет его в сети дома. Могу ли я подключить старый блок питания от некий и мониторить это?

    1. sagis Автор записи 09.11.2014 в 00:59

    Вполне возможно, только при пропадании напряжения ардуино тоже нужно чем-то питать?
    И второе вы вернее всего сможете мониторить только наличие напряжения т.к. в блоке питания стоит стабилизатор и он будет всегда выравнивать напряжение, как расчитать делителья я написал

    Мне это и нужно. а подключать как на первой картинке с делителем напряжения?или как? я просто новичек еще совсем…

    1. sagis Автор записи 09.11.2014 в 23:02

    Да лучше сделать делитель, чтобы подавалось 3-4 Вольта не более, во всяком случае напряжение будет не на пределе

    Читайте также:  Галогеновые лампы из китая

    а ардуино независимо хочу запитать или от кроны или от нетбука)))

    1. sagis Автор записи 09.11.2014 в 23:07

    ардуино прожорливая игрушка, крона очень быстро сядет, тут надо либо батарейку помощнее либо применять алгоритмы сна, и еще 1 вариант питать ардуино от БП и писать время отключения и включения

    Про писать,я так понял,что на SD карту, хорошая идея))) а можно поподробнее про алгоритмы сна? А крона спокойно подключается, ардуино ничего не грозит?

    Модуль часов реального времен 1307RTC говорят лучше не брать — врёт на 4 минуты в сутки.
    Модуль DS3231 лучше?

    1. sagis Автор записи 27.11.2014 в 12:45

    Ну 4 минуты в сутки конечно перебор, в сутки может набегать до нескольких секунд, для данного проекта точность в секундах не очень актуальна.
    DS3231 действительно более точный прибор

    Отличная статья доступно и понятно. Возник вопрос (так как абсолютно не силен в во всем этом) как правильно подобрать конденсатор для сглаживания? Нашел запчасти среди них диодный мост W005M, можно его использовать, подойдет?

    Здравствуйте! Не подскажите как подконнектить блок питания, например к порту А0, чисто чтоб узнать идёт ли от него питание? При этом, чтоб саму адруинку питать от другого блока питания.

    1. sagis Автор записи 05.10.2015 в 08:58

    Вариантов 2 либо как в статье мерятт напряжение, либо поставить оптопару и отлавливать наличие сигнала неё.

    Сегодня привезли мегу это мой первый ардуино, спасибо за статью, разобрался за 1 минуту
    вот что получилось:
    ————————————————
    // библиотека для работы с дисплеем
    #include
    // объявляем пин датчика
    int analogPin =0;
    // создаём объект класса UTFT
    // и передаём идентификатор модели дисплея и номера управляющих пинов
    UTFT myGLCD(CTE32HR, 38, 39, 40, 41);
    // объявления встроенного шрифта
    extern uint8_t BigFont[];
    void setup()
    <
    // инициализируем дисплей с вертикальной ориентацией
    myGLCD.InitLCD();
    // очищаем экран
    myGLCD.clrScr();
    // выбираем большой шрифт
    >

    void loop()
    <
    // шрифт
    myGLCD.setFont(BigFont);
    // цвет шрифта
    myGLCD.setColor(0, 200, 0);

    // выводим на экран
    myGLCD.print(«Voltage», 18, 16);
    int sensor = analogRead(analogPin)/2.6;
    myGLCD.print(«v», 194, 16);
    myGLCD.printNumI(sensor, 144, 16);

    1. sagis Автор записи 23.12.2015 в 00:40

    Спасибо за комментарий, данный скрипт обязательно кому-нибудь пригодится

    Здравствуйте!
    Не могу найти библиотеку Time.h
    Дайте пожалуйста ссылку

    Здравствуйте!
    Собрал это устройство. Почему во время работы скетча калибровки датчика в мониторе com порта нестабильные показания ( от 200 до 1027). Также нестабильные показания при мониторинге сети, хотя сеть стабильная. Прошу помочь.

    1. sagis Автор записи 22.12.2015 в 23:58

    Проверьте напряжение на выходе делителя, 1024 это много, можно входы спалить, при необходимости пересчитайте сопротивления.
    Где-то выше уже писали что на выходе блока питания необходим электролит, он сгладит излишние пульсации

    Спасибо за ответ. Промазал я с электролитом. После установки 1000 мкф все стало отлично, надо только делитель переделать.

    Ни в коем случае так делать нельзя! Только гальваническая развязка, убъёт/пробьёт к едрене фене всё и людей поубивают ваши советы.

    Как так? Питание и так снимается после трансформатора блока питания, а конденсатор только дополнительно сглаживает напряжение после выпрямления. Никто не разу не предлагал снимать напряжение с бестрансформаторного БП. Прочтите внимательно п.1

    Здравствуйте, если делать пишущее устройство на 3 фазы, соединять ещё 2 фазы можно к A0 и GND параллельно? И хотелось бы узнать, что нужно дописать в код? Спасибо

    Ну для начала статья была опубликована еще в далеком 2014г. и цель была не иметь точные измерения, а вычислить суточные колебания напряжения. Именно по этому передавать данные в сеть не имеет смысла они хранились на флешке.

    Понятно, спасибо. Назрела необходимость отмониторить напряжение в сети (тестер показывает от 180 до 207). Что бы Вы порекомендовали изменить/усовершенствовать в приведенном выше устройстве на настоящий момент?

    Прекрасная статья, усвоил только две строчки про трансформаторный БП и АЦП, после чего за полчаса скидал приблуду из трансформатора, моста и подстроечника для звуковухи и поставил на запись сигнал аудиоредактором.

    Arduino и Rasperry

    Сетевое напряжение, один из важнейших показателей качества поставляемой электроэнергии.

    Вопрос особо актуален в пригородных поселках и сельской местности. В этом году я тоже столкнулся с данной проблемой, напряжение плавало в течении суток от 120 до 205 вольт, и как на зло при составлении акта с эксплуатирующей сети организацией приборы зафиксировали 200В. что вписывается в пределы ГОСТ 220+-10%.

    Как говорится не мытьем так катаньем- ARDUINO нам в помощь, и пусть показания прибора не занесенного в реестр и не поверенного в метрологических службах пришить куда-то сложно, но сделать определенные выводы вполне реально.

    И так к делу -задача непрерывно мониторить напряжение сети в течении определенного промежутка времени и складывать их на SD карту.

    Для этого нам потребуются:

    1. Arduino – мозг системы
    2. Модуль часов реального времен 1307RTC и — показания должны быть привязаны к реальному времени
    3. Модуль SD карты — сюда собственно мы и будем писать показания
    4. Ненужный трансформаторный блок питания — согласование сетевого напряжения.

    Arduino имеет аналоговые входы с АЦП разрешением 8 бит (1024), но подавать на них можно лишь 5 вольт.

    Задачи ясны приступаем к творчеству.

    1. Разбираем блок питания и выкидываем все что стабилизирует выходное напряжение, остаются только трансформатор и выпрямительный мост, замеряем напряжение в сети и на выходе БП, у меня получилось 195 и 6.8 расчитывам делитель напряжения получаем 28,6. Считаем максимально возможное напряжение на выходе при напряжении в сети (с запасом) 260В и получаем 9,1В. Расчитываем делитель напряжения так чтобы на Arduinку поступало максимум 5 вольт под рукой оказались следующие резисторы R1 — 2.2К, R2 — 2К, что вполне устраивает, ожидаемое максимальное напряжение 4,8 вольт .
    2. Калибруем наш новый датчик, для этого цепляем его следующим образом заливаем в ардуинку маленький скетч:
    Читайте также:  Задвижка с редуктором фото
    //————————————————————————
    void setup()
    <
    Serial.begin(9600);
    >
    //————————————————————————
    void loop()
    <
    int analogPin = 0;
    Serial.println(analogRead(analogPin));
    delay(1000);
    >

    Включаем датчик в сеть и наблюдаем в мониторе порта обновляющиеся показания, также к сети подключаем образцовый вольтметр. Теперь мы готовы вычислить поправочный коэффициент для будущего скетча,, мои данные: com порт — 669, вольтметр- 187 вольт, итого поделив первое на второе получаем коэффициент 3,58 на 1 вольт.

  • Модуль часов реального времени. Для настройки и работы данного модуля нам понадобятся библиотеки DS1307RTC и Time. Подключаем модуль по следующей схеме
    В примерах от 1307 находим скетч SetTime и загружаем его в Arduino. Открываем монитор com порта и видим что часы синхронизировались с компьютером. Отлично, часы подключены и настроены, дальше они будут идти уже за счет встроенной батарейки.
  • Ну и последний элемент куда мы будем писать свои данные это SD шильд здесь никаких дополнительных настроек не требуется, светодиод на 5 пине будет указывать на наличие ошибок.
  • С железом покончено начинаем программировать
    • Все собрано и залито, наш вольтметр готов
    • Лог файл разобранный в excel

    Мониторим состояние сети или Вольтметр-самописец : 31 комментарий

    Привет!
    Прикольная хрень! У меня тоже есть проблемы с сетями (правда трехфазными) Может ли служить датчиком напряжения обычный транс 220-12, если туда просто добавить мост из 4 диодов? Ответь если можно на почту, потом не найду твой сайт….

    1. sagis Автор записи 21.02.2014 в 19:40

    Вполне, только делитель напряжения надо пересчитать, ардуино нельзя подавать на вход более 5 вольт.
    Кстати имея 3 таких транса можно с 1 ардуинкой писать сразу 3 фазы и наблюдать их перекосы , разность напряжений и т.д.

    Думаю, делитель беспорно), но можно защитить входную цепь ардуинки если поставить по входу стабилитрон на 5 вольт с резистором… если превысит значение, то стаб сбросит на себя остаток, а если не превысит, то что стаб есть, что его нет — без разницы.

    Интересный прибор))) К сожалению только сейчас нашёл, всё покупное предлагалось(((… А ведь по долгу службы он требовался и не один раз)))

    Для сглаживания нужно использовать конденсатор после диодного моста. Иначе погрешности большие будут.
    И еще использовать транс для этих целей по моему не оправданно(и уж тем более три транса на три фазы).
    Можно поставить диод и кондюк (получим сглаженные «пол фазы»). Перерасчитать плечо делителя и получится дешевле и компактнее.

    1. sagis Автор записи 15.07.2014 в 23:12

    С первой частью полностью согласен, у меня они тоже стоят, просто я хотел бы отметить что дополнительных стабилизаторов не нужно.
    А вот отказываться от трансформаторной развязки с высокой стороной я бы не стал, довольно опасно, тем более фактически данные у меня уходят в сеть( в отличии от статьи которая является только отладочным примером), тут и роутер не долго поджарить

    А есть ли у ардуины ограничения по току? Мне просто нужно знать — есть ток, нет его в сети дома. Могу ли я подключить старый блок питания от некий и мониторить это?

    1. sagis Автор записи 09.11.2014 в 00:59

    Вполне возможно, только при пропадании напряжения ардуино тоже нужно чем-то питать?
    И второе вы вернее всего сможете мониторить только наличие напряжения т.к. в блоке питания стоит стабилизатор и он будет всегда выравнивать напряжение, как расчитать делителья я написал

    Мне это и нужно. а подключать как на первой картинке с делителем напряжения?или как? я просто новичек еще совсем…

    1. sagis Автор записи 09.11.2014 в 23:02

    Да лучше сделать делитель, чтобы подавалось 3-4 Вольта не более, во всяком случае напряжение будет не на пределе

    а ардуино независимо хочу запитать или от кроны или от нетбука)))

    1. sagis Автор записи 09.11.2014 в 23:07

    ардуино прожорливая игрушка, крона очень быстро сядет, тут надо либо батарейку помощнее либо применять алгоритмы сна, и еще 1 вариант питать ардуино от БП и писать время отключения и включения

    Про писать,я так понял,что на SD карту, хорошая идея))) а можно поподробнее про алгоритмы сна? А крона спокойно подключается, ардуино ничего не грозит?

    Модуль часов реального времен 1307RTC говорят лучше не брать — врёт на 4 минуты в сутки.
    Модуль DS3231 лучше?

    1. sagis Автор записи 27.11.2014 в 12:45

    Ну 4 минуты в сутки конечно перебор, в сутки может набегать до нескольких секунд, для данного проекта точность в секундах не очень актуальна.
    DS3231 действительно более точный прибор

    Отличная статья доступно и понятно. Возник вопрос (так как абсолютно не силен в во всем этом) как правильно подобрать конденсатор для сглаживания? Нашел запчасти среди них диодный мост W005M, можно его использовать, подойдет?

    Здравствуйте! Не подскажите как подконнектить блок питания, например к порту А0, чисто чтоб узнать идёт ли от него питание? При этом, чтоб саму адруинку питать от другого блока питания.

    1. sagis Автор записи 05.10.2015 в 08:58

    Вариантов 2 либо как в статье мерятт напряжение, либо поставить оптопару и отлавливать наличие сигнала неё.

    Сегодня привезли мегу это мой первый ардуино, спасибо за статью, разобрался за 1 минуту
    вот что получилось:
    ————————————————
    // библиотека для работы с дисплеем
    #include
    // объявляем пин датчика
    int analogPin =0;
    // создаём объект класса UTFT
    // и передаём идентификатор модели дисплея и номера управляющих пинов
    UTFT myGLCD(CTE32HR, 38, 39, 40, 41);
    // объявления встроенного шрифта
    extern uint8_t BigFont[];
    void setup()
    <
    // инициализируем дисплей с вертикальной ориентацией
    myGLCD.InitLCD();
    // очищаем экран
    myGLCD.clrScr();
    // выбираем большой шрифт
    >

    Читайте также:  Заказать мойку для кухни в интернет магазине

    void loop()
    <
    // шрифт
    myGLCD.setFont(BigFont);
    // цвет шрифта
    myGLCD.setColor(0, 200, 0);

    // выводим на экран
    myGLCD.print(«Voltage», 18, 16);
    int sensor = analogRead(analogPin)/2.6;
    myGLCD.print(«v», 194, 16);
    myGLCD.printNumI(sensor, 144, 16);

    1. sagis Автор записи 23.12.2015 в 00:40

    Спасибо за комментарий, данный скрипт обязательно кому-нибудь пригодится

    Здравствуйте!
    Не могу найти библиотеку Time.h
    Дайте пожалуйста ссылку

    Здравствуйте!
    Собрал это устройство. Почему во время работы скетча калибровки датчика в мониторе com порта нестабильные показания ( от 200 до 1027). Также нестабильные показания при мониторинге сети, хотя сеть стабильная. Прошу помочь.

    1. sagis Автор записи 22.12.2015 в 23:58

    Проверьте напряжение на выходе делителя, 1024 это много, можно входы спалить, при необходимости пересчитайте сопротивления.
    Где-то выше уже писали что на выходе блока питания необходим электролит, он сгладит излишние пульсации

    Спасибо за ответ. Промазал я с электролитом. После установки 1000 мкф все стало отлично, надо только делитель переделать.

    Ни в коем случае так делать нельзя! Только гальваническая развязка, убъёт/пробьёт к едрене фене всё и людей поубивают ваши советы.

    Как так? Питание и так снимается после трансформатора блока питания, а конденсатор только дополнительно сглаживает напряжение после выпрямления. Никто не разу не предлагал снимать напряжение с бестрансформаторного БП. Прочтите внимательно п.1

    Здравствуйте, если делать пишущее устройство на 3 фазы, соединять ещё 2 фазы можно к A0 и GND параллельно? И хотелось бы узнать, что нужно дописать в код? Спасибо

    Ну для начала статья была опубликована еще в далеком 2014г. и цель была не иметь точные измерения, а вычислить суточные колебания напряжения. Именно по этому передавать данные в сеть не имеет смысла они хранились на флешке.

    Понятно, спасибо. Назрела необходимость отмониторить напряжение в сети (тестер показывает от 180 до 207). Что бы Вы порекомендовали изменить/усовершенствовать в приведенном выше устройстве на настоящий момент?

    Прекрасная статья, усвоил только две строчки про трансформаторный БП и АЦП, после чего за полчаса скидал приблуду из трансформатора, моста и подстроечника для звуковухи и поставил на запись сигнал аудиоредактором.

    Всем привет. Хочу поделится одним из проектом созданным на базе Arduino.
    Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок.

    Если вам уже интересно, тогда продолжим.

    Здесь я расскажу об одном модуле, так как описывать и зарисовывать 7 модулей не очень-то и легко.

    Было тех задание:
    1) Лампы(фонари) 50-65ВТ 220В переменка или 24В постоянка;
    2) Индикация работы лампы (светодиод на панели);
    3) Звуковая индикация перегоревшей лампы.

    Решение было принято такое:
    Используем токовый датчик GY-712 5А

    По причинам:
    1) Меряет переменный и постоянный ток;
    2) Легко подключается к контроллеру;
    3) Компактный;
    4) Недорогой при заказе с Китая.

    Давайте посмотрим на схему:

    Как работает программа.

    При старте он проверяется, включен ли тумблер, если включен ты выдается звуковой сигнал и световая индикация, что бы датчик можно было откалибровать без нагрузки. Если тумблер выключить то прога выдаст звук + индикация.
    Далее идет калибровка. После калибровки – звуковой сигнал.

    И стартует основная программа. Контроль тумблера, если включен то контроль тока нагрузки лампы, если ток выше заданного порога то включить индикацию если тока нет, то выключить индикацию и выдать звуковой сигнал.

    Вот простая схема без контроля тумблера, просто световая индикация. Это на тот случай кому просто нужен будет световой индикатор нагрузки – но тогда можно просто намотать на ферритовое кольцо провода(сделать трансформатор тока) и подключить светодиодик.

    Пример программы для одного модуля. >float srab = 0.650;

    const int currentPin1 = 0; // Аналоговый вход с датчика тока

    const unsigned long sampleTime = 100000UL; // sample over 100ms, it is an exact number of cycles for both 50Hz and 60Hz mains
    const unsigned long numSamples = 250UL; // choose the number of samples to divide sampleTime exactly, but low enough for the ADC to keep up
    const unsigned long sampleInterval = sampleTime/numSamples; // the sampling interval, must be longer than then ADC conversion time
    //const int adc_zero = 512; // relative digital zero of the arudino input from ACS712 (could make this a variable and auto-adjust it)
    int adc_zero1; //Переменная автоматической калибровки

    void setup()
    <
    pinMode(13, OUTPUT);// Пин индикатора
    pinMode(12, OUTPUT); // пин звука
    pinMode(2, INPUT); // пин входа реле (тумблер)

    digitalWrite(13, LOW);
    digitalWrite(12, LOW);

    tone(12,1500,100); // Звук старта калибровки
    delay(180);
    tone(12,1500,100);
    delay(180);
    tone(12,1500,100);

    //Serial.begin(9600);
    adc_zero1 = determineVQ(currentPin1); //Quiscent output voltage — the average voltage ACS712 shows with no load (0 A)
    digitalWrite(13, HIGH);
    tone(12,1000,100);

    delay(150);
    digitalWrite(13, LOW);

    void loop() <
    // Serial.print(«ACS712@A2_1:»);Serial.print(readCurrent(currentPin1,adc_zero1),3);Serial.println(" mA");
    delay(300);

    if(digitalRead(2)==0) < // Если включен тумблер то:
    if (readCurrent(currentPin1,adc_zero1)> srab) // Если ток больше указанного порга сработки то:
    <
    digitalWrite(13, HIGH); // Включить индикатор

    >
    else // Иначе
    <
    if(digitalRead(2)==0) < //Если тумблер все еще включен то:
    digitalWrite(13, LOW); // Погасить индикатор
    tone(12,2000,500); > // и выдать звуковой сигнал
    >

    Комментировать
    105 просмотров
    Комментариев нет, будьте первым кто его оставит

    Это интересно
    Adblock detector