Перейти к содержанию

MCSofA 1.0 - Микропроцессорная система управления усилителем


Рекомендуемые сообщения

Всегда с восхищением и немного с завистью смотрел на людей, которые занимаются разработкой электроники на микроконтроллерах. Сам неоднократно предпринимал попытки изучить программирование микроконтроллеров, однако дальше, чем помигать светодиодом, подергать сервомашинкой и повращать шаговым двигателем, процесс почему-то не шёл. Ну неинтересно мне просто сидеть и разбирать чей-то исходник. Гораздо важнее и интереснее поставить глобальную задачу и начать с ней разбираться. Очень долго в голове крутилась идея собрать робота-гексапода, но идея так и осталась идеей, потому как практического применения, кроме как “поиграться”, для гексапода я придумать не смог. Да и очень хотелось связать микроконтроллеры с аудио тематикой.

И вот надо было доработать один из усилителей. По сути добавить релейный регулятор громкости, селектор входов и плату с реле для подачи / отключения питания. С пультом ДУ, естественно. В сети достаточно много устройств и конструкций на МК, хороших и не очень, заточенных под аудио тематику. Всевозможные селекторы входов, никитинские регуляторы громкости с ДУ и без с разными вариантами индикации. Многие из этих проектов — коммерческие, “Buy&Use”, некоторые морально устаревшие, на старой элементной базе. Изрядно полазив по сети, моё внимание привлекли вот эти проекты (заранее прошу прощения за ссылки, публикую их для ознакомления, а не в целях рекламы:

Можно было бы поступить просто — купить готовое устройство, однако решил попробовать сделать самому, с нуля, а заодно и разобраться, наконец, с микроконтроллерами. Таким образом и появился проект под названием MCSofA — Microprocessor Control System of Amplifier — Микропроцессорная система управления усилителем (название потянуто у Михаила, не сочтите, пожалуйста, за плагиат)

Цели следующие:

  • сделать Open Source проект, с открытым исходным кодом, схемами и чертежами плат
  • научится работать с системой контроля версий, например с GitHub
  • и просто, just for fun :)

Итак, поехали =)

Структурная схема выглядит следующим образом:

image.png

Исполнительные устройства:

  • I/O Selector — плата коммутации входов / выходов. Позволяет подключить несколько источников сигнала к усилителю, а также раздать один из подключенных входов на несколько выходов. Вся коммутация происходит на реле, реле управляются связкой микросхем 74нс595 + uln2003a
  • Relay Attenuator — плата никитинского регулятора громкости на реле. Должен уже быть у каждого на слуху, кто занимается аудио ) Реле управляются также связкой 74нс595 + uln2003a
  • IR / Remote control — обычный ИК фотоприемник, для приёма сигналов с пультов ДУ. Исполнительным модулем его назвать сложно, но надо было куда-то определить его в структурной схеме ) На момент написания этих строк под рукой оказалось несколько датчиков серии TSOPxxxxx. Решено было поэкспериментировать с ними. Ну и пульт ДУ, естественно

Индикация

  • RGB LED — один или несколько RGB светодиодов. Один светодиод может использоваться для ндикации работы усилителя (в выключенном состоянии — горит красный светодиод, включаем усилитель — зеленый / синий). Несколькими светодиодами (линейкой) можно отображать текущий уровень громкости
  • LED Display — модуль индикации на семисегментных светодиодных индикаторах. Отображение уровня громкости, отображение канала селектора сигналов при переключении и т.д. Тут на что фантазии хватит ). Управляем индикаторами с помощью 74нс595.

Элементы управления

  • Mechanical Buttons — обычные механические кнопки, для вкл/выкл усилителя, регулировки громкости, переключения каналов.
  • Encoder — два инкрементальных механических энкодера, с кнопками. Это даст возможность реализовывать интересные алгоритмы управления громкостью, селектором и другими функциями усилителя.
  • Wafer Switch — галетный переключатель на 4-6 позиций. Будет такая возможность подключить галетник, для переключения каналов.
  • Variable resistor — подключение переменного резистора, для регулировки уровня громкости. Как раз можно использовать вариант “переменный резистор + галетник” для громкости и переключения каналов

Сервисные

  • Power On — плата с одним реле на борту и парой клеммников, для подачи сетевого напряжения на потребители. Плюс такого подхода в том, что для вкл/выкл усилителя можно использовать красивую слаботочную кнопку либо пульт ДУ
  • Soft Start — плата с двумя реле. Функции такие же, как и у первого модуля, плюс ограничение тока заряда емкостей бп в момент включения. Скорее всего будет одна плата, на которой можно будет собрать либо просто подачу питания, либо софт старт

Вот в принципе основная часть девайсов, управление которыми хотелось бы реализовать. Вполне возможно, что-то будет убираться, что-то добавляться. Может кому-то приспичит часы прикрутить и включать / выключать усилитель по таймеру :)

Что касается платы МК (Main Unit), долго размышлял, на каком контроллере всё собирать. В итоге решил всё-таки на AVR. И более того, на платформе Arduino. Многие сейчас выскажут свое недоумение, кто-то, кто дочитал до этого места, и вовсе перестанет читать дальше. Однако, использовать Arduino меня подтолкнули следующие причины:

  • У меня лежит несколько Arduino платок — Arduino Pro Micro на ATmega32U4 и Arduino Uno R3 ATmega328p, с которыми я начал ковыряться до того, как сел писать ТЗ. С ними и буду продолжать ковыряться
  • Новичку будет гораздо проще разобраться в коде Arduino, изменить или написать под себя свою функцию / алгоритм
  • Никогда не поздно выкинуть ардукод и написать на нормальном человеческом Си, так что опытные комрады могут просто использовать плату МК как заготовку, переписав всё с нуля.

Далее подробно рассмотрим схемы вышеперечисленных устройств и разберём, что, как и чем будет управляться.

Изменено пользователем ultima
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

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

Логичнее было бы начать с питания, с него и начал. Две схемы для модулей "Power On" и две схемы "Soft Start" для подачи питания на усилитель, в зависимости от того, что нужно, так сказать. Схемы для представлены ниже:

1) Простой модуль "Power On"

598da5571840d_PowerOn1.thumb.JPG.206d50da7ad44824f9553b38729155d1.JPG

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

2) Модуль "Power On" с сетевым фильтром и фильтром постоянной составляющей (не знаю, насколько востребован)

598da7992923e_PowerOn2(1).thumb.JPG.3b8642960b6eed19f6bfbc5147068a1f.JPG

3) Простой модуль SoftStart

598da8046924d_SoftStart1.thumb.JPG.6901e003fb226c8d05adf002289a29e9.JPG

4) По аналогии, самый продвинутый вариант питания, модуль SoftStart с сетевым фильтром и фильтром постоянной составляющей

598da97d7a1af_SoftStart2.thumb.JPG.ce698f8e6d6671418b9bf2c24baeb507.JPG

На данный момент разрабатываются 4 платы для вышеприведённых схем :)

Изменено пользователем ultima
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

было бы неплохо для начала разработать интерфейс, а потом уже обвешивать его мясом. То что вы рисуете, это по сути самое простое.

Еще здорово было бы определиться сразу с платформой. На каком именно камне все это будет работать. И еще одно из главных - будет ли дисплей или обойдетесь светодиодной индикацией?

Для начала в плане критики - убирайте все эти нафик фильтры. Для трансформаторного питания они лишнее усложнение. Софт-старт лечше перенести во вторичные цепи по низкой стороне, максимально избавив высокую от какой либо автоматики. Так надежнее

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Спасибо за критику.

1) Что касается платформы - видение такое. Использовать платку  Arduino Pro Micro на ATmega32U4, для неё собрать плату-шилд, к которой планируется подключать остальное "мясо". Далее - будет видно, если всё удачно получится, то хочется сделать одну плату с камнем на борту, к которой и подключать периферию.

2) Пока что надо разобраться со светодиодной индикацией. 

3) Фильтр постоянной составляющей, наверное, есть смысл выкинуть, он тут ни к чему. А вот варистор с LC фильтром думаю надо оставить, сам всегда ставлю его в усилители.

4) Перенос софтстарта на низкую сторону может и надёжнее, но не удобнее в плане юзабилити. Т.е если я дистанционно, с пульта, например, хочу отключить усилитель, то на трансформаторах будет присутствовать сетевое напряжение, а это не безопасно. Ставить ещё одну кнопку для полного отключения тоже не оч хороший вариант )

Изменено пользователем ultima
Ссылка на комментарий
Поделиться на другие сайты

26 минут назад, ultima сказал:

Т.е если я дистанционно, с пульта, например, хочу отключить усилитель, то на трансформаторах будет присутствовать сетевое напряжение, а это не безопасно

на это случай можно поставить дежурку. Я для этих целей пользуюсь зарядниками для сторовых. 0,5 Вт вполне хватает для любых нужд управления и не накладно. По надежности тоже вопросов нет. Ну и удобные +5 вольт на выходе.

Вам так и так дежурку придется ставить, потому как если отключить трансформаторы, что тогда?

Ну и чисто от себя - аруино и все AVR это позапрошлый век. STM32 наше все. Это как делал бы я (конкретно делал бы на STM32F030K6T6). К вопросу в теме отношения не имеет, делайте на чем хотите

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Yanshun сказал:

Думаю автор хочет использовать внутренний диод полевика

совсем не то пальто, даже если бы это было и так

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

@ultima

чисто от себя (и по опыту) я вам отрекомендую использовать 7002. Поставьте лучше IRLML2502. Будет гораздо надежнее и по цене не хуже. Ну а если реле будет много, то совсем не зазорно поставить и ULN2803. Эти звери вообще хрен когда уничтожатся, а выигрыш в разводке будет ощутимее чем на рассыпухе. Все равно у вас исполнительная система будет общая и реле будет гораздо больше чем парочка на силовом.

Вы зря делаете систему кусками, и совсем не с того конца начали.

По хорошему систему надо делать по типу CAN шины, потому как далеко не все модули будут использоваться в каждом усилителе. Надо в каждый блок ставить расширитель шинный, например на I2C с фиксированным адресом. При старте делать опрос доступных модулей и мутить динамическую конфигурацию. Иначе ваша система ничем не лучше всех остальных и умрет точно так же, почив на просторах интернетов

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Это фигня очередная вырисовывается. Понадёргаете схем разных и каждая со своими проблемами, в итоге у вас количество проблем только умножится. Аттенюатор на реле? Вы это серьёзно? И кто такую ораву реле будет питать? А импульсы тока при переключении? Они по всей конструкции будут бегать... Каждое реле милиампер по 50, в итоге серьёзные токи выливаются - бороться с импульсными помехами будете для того чтобы в аналоговый тракт не попали.

Есть же прекрасный аналоговый интегральный аттенюатор(сейчас так не вспомню сразу), который обеспечивает регулировку громкости логарифмическую в диапазоне до 100дБ и отдельное состояние "MUTE" которое запирает вход-выход на 120дб, с реле таких параметров будет сложно добиться. И к тому же надо будет очень аккуратно с разводкой, малейший косяк и всё будет фонить, проникать в соседний канал и т.д.
Есть так же и интегральные коммутаторы, но им пока ещё далеко до идеала, к сожалению, а более качественный кусаются ценой.

Реле, пожалуй, можно использовать только для включения силового трансформатора.

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

Под индикацию тоже не стоит сильно заморачиваться - светодиодная матрица на 4*8*8 с SPI стоит всего 4$, а более дорогой чип сможет поддерживать автономно 24x16 матрицу светодиодов с 4-мя уровнями градации яркости каждого светодиода.

Да, если не матрицы, то применять для светодиодных матриц регистры HC595 - верх непрофессионализма! Есть же регистры специальные с встроенными драйверами(стаб.тока!) для светодиодов! Только представьте себе - ни одного токоограничивающего резистора с регистра, ток для всех выходов задаётся ОДНИМ внешним резистором который, кстати, может быть ФОТОрезистором.

Для RGB-светодидов тоже есть прекрасный драйвер на 8 выходов каждый из которых имеет аппаратный ШИМ 12 бит и 5 бит регулировка тока... и никаких велосипедов. А, да, есть же WS2812 по вполне приемлемой цене - RGB+контроллер в одном корпусе, легко соединяются в цепочки до 512 светодиодов и требуют лишь 1 вывод контроллера для управления. Опять же - никаких плясок с организацией многоканального ШИМ для управления светодиодами.

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

Цитата

При старте делать опрос доступных модулей и мутить динамическую конфигурацию.

ИМХО, именно как раз это погубит проект... закопаетесь на самом старте реализуя данный функционал, так и не приступив к основному. А потом всё обрастёт костылями. Динамическая конфигурация это хорошо, до тех пор пока не понадобится поддерживать все мыслимые подключаемые модули в многочисленном их разнообразии.

Изменено пользователем Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, Alexeyslav сказал:

Аттенюатор на реле? Вы это серьёзно?

вообще то лучшие модели аттуньюаторов именно на реле и реализованы. Тот же РГ Никитина. И вовсе там не орава, а штук 6-7 реле всего с микроскопическими токами. Потому как релюшки там совсем не силовые и очень мелкие.

15 часов назад, Alexeyslav сказал:

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

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

15 часов назад, Alexeyslav сказал:

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

заявление не имеющее ничего общего с реальностью

15 часов назад, Alexeyslav сказал:

закопаетесь на самом старте реализуя данный функционал

да он элементарно реализуется опросом шины на старте, так же как и при использовании DS18B20. Дальше просто блокируются участки кода управляющие не ответившими модулями. Слишком сложно?

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Вот это "элементарно" микрософт реализует уже 20 лет, и тем не менее всеравно нужны какие-то драйвера ставить.

Усилитель это не та конструкция которую необходимо усложнять. Ну вот к примеру придумаете вы супер шину, а чтобы реализовать какую-то мелочь из-за того что функционал шины не влазит в мелкий контроллер надо будет в каждый пихать STM32 с минимум 16К флешем и т.д. Это уже будет не смешно а грустно.

Цитата

просто блокируются участки кода

Это просто феерическое поле для граблей. "просто" не получится, код обрастёт тонной костылей и т.д. начнутся странные глюки которые, естественно, никто не захочет решать.

Проще, соотвествующие куски кода просто не включать в прошивку, сделать прошивку индивидуальной и конфигурируемой под железо на этапе компиляции. Это надёжнее чем плодить универсального программного монстра.

Цитата

штук 6-7 реле всего с микроскопическими токами

Очень сомневаюсь. Даже сигнальные реле плохо работают с малыми напряжениями. Речь идёт даже о миливольтах - контакты за счет образующегося окисла создают потенциальный барьер и непредсказуемое смещение напряжения для малых напряжений. Я бы сказал что реле в аттенюаторе ещё надо правильно использовать, например герконовое с ртутными контактами, учитывать сопротивление и монтажную ёмкость дорожек на плате ибо так даже 80Дб диапазона не достичь.

И это всё кроет аттенюатор LM1972 - 78Дб регулировка по каждому каналу + 104Дб ослабления в режиме MUTE. угу, и по цене двух сигнальных реле.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, Alexeyslav сказал:

угу, и по цене двух сигнальных реле

расскажите это аудиофилам. Они наверное не в курсе и продолжают тулить реле в свои конструкции с упорством баранов. Пытаясь навязать свое "простое" не зная нюансов вы мгновенно делаете систему мертворожденной.

28 минут назад, Alexeyslav сказал:

Это уже будет не смешно а грустно

не надо ничего придумывать. Есть I2C и она сможет реализовать весь необходимый функционал без особых трудностей. А ссылаясь на микрософт вы путаете кислое с мягким. Эмбедед решение утилитарного характера в рамках конкретной системы и задачу мирового потребительского масштаба.

28 минут назад, Alexeyslav сказал:

"просто" не получится

готов поспорить, ибо сам уже реализовывал подобные решения. Без всяких костылей все предельно просто решается в рамках обычной RTОS.

28 минут назад, Alexeyslav сказал:

из-за того что функционал шины не влазит в мелкий контроллер надо будет в каждый пихать STM32

вы мыслите категориями закостенелого старпера. К вашему сведению воткнуть нынче STM32 куда проще чем AVR. Если говорить метафорически, то вы говорите, что проще прицепить лошадь к трамваю, чем поставить электромотор. А жигули лучше тойоты потому что тоже умеет ездить

 

А теперь по теме. Про шину. В I2C очень просто реализовать свободно конфигурируемую систему, просто присвоив каждому типу модуля свой фиксированный адрес. По типу МАС. Если контроллер отправляет запрос на этот адрес и не получает ACK, то считает, что модуля нет. Ка я себе мыслю набор модулей будет ограничен ну максимум десятком. Едва ли половина из этого десятка будет востребована в большинстве конструкций усилителей. Прошивку под каждую конфигурацию не имеет смысла писать. Лучше написать одну, для всех возможных конфигураций. Тем более что уровень управления только дискретный и довольно медлительный (по меркам МК и даже шины I2C) и особого интеллекта от системы не требуется. Вопрос теперь стоит только в функционале блоков и их наборе для данной конкретной системы, которая будет разработана (я надеюсь) автором этой темы.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Это пример того как неправильно выбранная архитектура создаёт проблемы в дальнейшем. Да, сам алгоритм опроса и исключения отсутствующих блоков прост, но... что делать с взаимосвязями между блоками? Несмотря на то что система автоматически определяет наличие блоков для системы они мёртвый груз, ядро должно решать как и какие блоки будут связаны друг с другом - а это уже конфигурация привязанная к конфигурации железа, предусмотреть надо будет все возможные варианты подключения блоков и реакции на них. Большинство конфигураций будут невалидными. Что делать в таких случаях? Реакция системы даже на невалидную конфигурацию должна быть прописана.

Потом кто-то додумается что неплохо бы подключить блютуз-модуль... но ни места ни подходящей шины для него просто нет потому что превоначально такое небыло предусмотрено. А LAN? А WiFi? Кто-то наверняка захочет аткой функционал в усилителе. В итоге прошивка всеравно будет железо-зависимая.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, Alexeyslav сказал:

Потом кто-то

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

14 минуты назад, Alexeyslav сказал:

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

никто не спорит. Но и это вполне решаемая задача. Разумеется ели не подходить к ней по методу - а налепим клочками а там уж как нибудь код напишем. Любая грамотная задача начинается с грамотного проектирования. Чего у автора пока не заметил

15 минут назад, Alexeyslav сказал:

А LAN? А WiFi?

давайте еще про сфероконей в вакууме порассуждаем. Накой весь этот бред в нормальном усилителе?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Для Remote Control, вестимо. Ик-управление не всегда возможно. Да и почему, раз в усилителе есть селектор входов, не реализовать в нём же клиент потокового вещания? Это никак не отразится на функционале усилителя, просто будет отдельным каналом. Телевизоры умеют воспроизводить потоковое вещание, а почему усилителю не иметь?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Ну давайте тогда уже и кнопку ГЛОНАСС туда запихаем. В случае чего на помощь всегда позвать можно. А чо, в машинах же ставят, а там тоже музыка есть

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Глонасс в машине не для музыки. Но идея интересная - такие приёмники ставят во многие высокоточные станки, чтобы их не перевозили в другое место. Так же и с усилителем - перевёз на 100 метров дальше обычного места - вводи код для разблокировки, 3 раза ввёл неправильно и на свалку.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

тема утратила смысл. Так как разработчик не участвует в беседе

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...