Дата публикации

Обновлено

Автор статьи: Редакция Clex.kz

576

Датчики Холла: принцип работы, виды, подключение и применение в электронике

Датчик Холла определяет магнитное поле, положение, обороты и ток. Разбираем цифровые и аналоговые модели, A3144, open-drain и push-pull, пороги BOP и BRP, подключение к Arduino и ESP32, выбор магнита, расчет RPM и типичные ошибки.

Не нашли ответ?Опишите свою ситуацию и задайте отдельный вопрос.Задать вопрос

Что такое датчик Холла

Датчик Холла – это электронный компонент, который преобразует магнитное поле в электрический сигнал. В зависимости от конструкции на выходе появляется логическое состояние, аналоговое напряжение, ШИМ-сигнал или цифровые данные.

Главное преимущество – бесконтактная работа. Для переключения не требуется механическое нажатие, поэтому датчик подходит для частых срабатываний, герметичных механизмов и контроля движущихся деталей.

Датчики Холла применяют для:

  • определения положения двери, крышки или механизма;
  • измерения оборотов двигателя и колеса;
  • контроля положения ротора;
  • бесконтактных кнопок, педалей и джойстиков;
  • определения угла и перемещения;
  • измерения постоянного и переменного тока;
  • контроля уровня жидкости через магнитный поплавок;
  • обнаружения внешнего магнитного воздействия.

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

Нужно различать отдельную микросхему и готовый модуль. Модуль может дополнительно содержать:

  • подстроечный резистор;
  • компаратор;
  • светодиод;
  • резисторы подтяжки;
  • фильтрующий конденсатор;
  • аналоговый и цифровой выходы.
ИсполнениеЧто получает пользователь
Отдельная микросхемаСигнал непосредственно с выходного каскада датчика
Цифровой модульГотовый логический сигнал и индикация
Аналоговый модульНапряжение, изменяющееся вместе с магнитным полем
Комбинированный модульАналоговый выход и цифровой выход компаратора
Датчик токаСигнал, пропорциональный току в измерительном проводнике

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

Подходящие модели представлены в категории датчиков Холла и тока. Структурированные материалы по выбору, подключению и диагностике собраны в хабе «Датчик Холла».

Эффект Холла простыми словами

Эффект Холла возникает, когда через проводник или полупроводник проходит ток, а на носители заряда действует магнитное поле.

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

Знак и величина этого напряжения зависят от:

  • направления магнитного поля;
  • величины магнитной индукции;
  • тока через чувствительный элемент;
  • геометрии пластины;
  • свойств полупроводникового материала.

Напряжение Холла слишком мало для непосредственного подключения к микроконтроллеру. Поэтому интегральная микросхема обычно содержит:

  • источник тока чувствительного элемента;
  • усилитель;
  • компенсацию смещения и температурного дрейфа;
  • фильтр;
  • компаратор с гистерезисом;
  • выходной каскад;
  • защиту питания и выхода.
Тип обработкиРезультат
Линейное усилениеНапряжение изменяется вместе с магнитным полем
КомпараторВыход переключается после достижения порога
Цифровая обработкаДанные передаются через цифровой интерфейс
Многокоординатное измерениеОпределяются несколько составляющих поля

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

Датчик измеряет не «магнит вообще», а составляющую магнитного поля вдоль своей чувствительной оси. Поле, направленное поперек этой оси, может почти не создавать полезного сигнала.

Подробная физика преобразования описана на странице Как работает датчик Холла.

Цифровой и аналоговый датчик Холла

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

Цифровой датчик переключает выход после достижения заданного магнитного порога. Он подходит для определения конечного положения, прохождения магнитной метки и подсчета оборотов.

Линейный аналоговый датчик выдает напряжение, связанное с величиной и направлением магнитного поля. Его применяют для измерения положения, угла, перемещения и тока.

ТипВыходОсновное применение
Цифровой переключательHIGH или LOWДвери, концевые положения, импульсы
Линейный аналоговыйПлавно изменяющееся напряжениеПоложение, ток, магнитное поле
ЗащелкивающийсяСохраняемое логическое состояниеРоторы и чередующиеся полюса
МногокоординатныйДанные по двум или трем осямУгол, джойстики, пространственное положение
Датчик с цифровым интерфейсомЧисловое значениеТочное измерение поля и положения

У распространенного ратиометрического линейного датчика выход без магнитного поля часто находится около половины напряжения питания. Поле одной полярности повышает выход, противоположной – понижает.

Это распространенная схема, но не универсальное правило. Некоторые модели имеют другой уровень нуля, однополярный диапазон или встроенный цифровой интерфейс.

Для аналогового датчика важны:

  • диапазон измеряемого поля;
  • чувствительность;
  • смещение нуля;
  • линейность;
  • шум;
  • полоса пропускания;
  • температурный дрейф;
  • минимальный и максимальный уровень выхода.

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

На комбинированных модулях, например некоторых версиях KY-024, вывод AO передает аналоговый сигнал, а DO – результат сравнения с порогом компаратора. Подстроечный резистор меняет порог цифрового канала, но не чувствительность самого кристалла.

Типы сенсоров и выходов подробно сопоставлены на странице Типы датчиков Холла и их выходы.

Униполярные, биполярные и защелкивающиеся датчики

Цифровые датчики Холла различаются реакцией на полярность поля и поведением после удаления магнита. По внешнему виду корпуса определить магнитную логику нельзя.

ТипКак срабатываетКак возвращается
Униполярный переключательОт поля заданной полярностиПосле уменьшения поля ниже порога отпускания
Омниполярный переключательОт северного или южного полюсаПосле удаления магнита
Биполярный переключательЛогика зависит от конкретной моделиПо диаграмме магнитного отклика
ЗащелкаОдин полюс устанавливает состояниеПротивоположный полюс меняет состояние

У обычного переключателя есть два магнитных порога:

  • порог срабатывания BOP;
  • порог отпускания BRP.

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

Униполярный датчик реагирует на одну полярность. При удалении магнита он автоматически возвращается в исходное состояние.

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

Термин биполярный разные производители используют не полностью одинаково. Поведение нужно определять по значениям BOP и BRP и диаграмме магнитного отклика.

Защелка, или Hall latch, работает как магнитная память. Один полюс переводит выход в одно состояние, противоположный – в другое. После удаления магнита состояние может сохраниться.

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

Чем датчик Холла отличается от геркона

Геркон и датчик Холла реагируют на магнитное поле, но имеют разное устройство и электрическое подключение.

Геркон содержит механические контакты внутри стеклянной колбы. Магнит замыкает, размыкает или переключает контактную группу.

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

КритерийГерконДатчик Холла
Питание чувствительного элементаНе требуетсяТребуется
ВыходСухой контактАналоговый, open-drain, push-pull или цифровой
Механический контактЕстьНет
Дребезг контактовВозможенМеханического дребезга нет
СкоростьОграничена механикойОбычно выше
Частые срабатыванияЗависят от ресурса контактовПодходит лучше
Измерение величины поляНетВозможно линейной моделью
Коммутация внешней цепиВ пределах рейтинга контактовТолько через выходную схему
Работа без питанияВозможнаНевозможна

Геркон стоит выбирать, если нужен простой пассивный контакт, невысокая частота срабатываний и минимальное потребление.

Датчик Холла лучше подходит, если требуется:

  • высокая частота импульсов;
  • большое количество циклов;
  • аналоговое измерение;
  • определение полярности;
  • работа в двигателе;
  • диагностика выходного сигнала;
  • бесконтактный орган управления.

При этом датчик Холла не может напрямую коммутировать двигатель, лампу или мощное реле. Его выход передает сигнал контроллеру или силовому ключу.

Полное сравнение доступно на странице Датчик Холла vs геркон. Устройство геркона разобрано в статье Геркон: принцип работы, виды и подключение.

Подключение датчика Холла к Arduino

Перед подключением нужно определить точную распиновку, диапазон питания и тип выхода. Обозначения VCC, GND и OUT на модуле относятся к плате, но выводы отдельной микросхемы могут располагаться в другом порядке.

У распространенных цифровых датчиков, подобных A3144, используется выход open-collector. Он может притянуть линию к GND, но не создает высокий уровень самостоятельно.

Схема подключения:

  • VCC подключается к разрешенному питанию датчика;
  • GND соединяется с GND Arduino;
  • OUT подключается к цифровому входу;
  • между OUT и 5 В или 3,3 В устанавливается подтягивающий резистор;
  • возле питания датчика устанавливается керамический конденсатор по рекомендации производителя.

Для короткого провода можно использовать INPUT_PULLUP, но внешний резистор 4,7-10 кОм дает более предсказуемую подтяжку.

Тип выходаПодключение
Open-collector или open-drainНужна подтяжка к логическому питанию
Push-pullПодключается напрямую при совместимых уровнях
АналоговыйПодключается к входу АЦП
Выход модуля с компараторомПодключается к цифровому входу после проверки уровня

Пример чтения цифрового датчика:

const uint8_t HALL_PIN = 2; bool previousState = HIGH; void setup() { Serial.begin(115200); pinMode(HALL_PIN, INPUT_PULLUP); previousState = digitalRead(HALL_PIN); } void loop() { const bool currentState = digitalRead(HALL_PIN); if (currentState != previousState) { previousState = currentState; if (currentState == LOW) { Serial.println("Магнит обнаружен"); } else { Serial.println("Магнит удален"); } } }

У многих open-collector датчиков активное состояние соответствует LOW, но это нельзя считать правилом для всех моделей и модулей.

Arduino-платы находятся в категории Платы Arduino. Подробная электрическая проверка приведена на странице Как подключить датчик Холла.

Подключение к ESP32

GPIO ESP32 работают с логикой 3,3 В и не рассчитаны на прямую подачу 5 В. Поэтому питание датчика и уровень его выхода проверяют отдельно.

Open-drain или open-collector

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

Push-pull

Если датчик питается от 5 В и активно формирует высокий уровень около 5 В, напрямую подключать его к ESP32 нельзя. Используют:

  • питание датчика от 3,3 В, если оно разрешено;
  • резистивный делитель;
  • буфер или согласователь уровней;
  • другой совместимый датчик.

Аналоговый выход

Выходное напряжение должно находиться в допустимом диапазоне АЦП. Ратиометрический датчик, питаемый от 5 В, может выдавать уровень выше 3,3 В, поэтому его нельзя подключать без расчета.

Сигнал датчикаПодключение к ESP32
Open-drainПодтяжка OUT к 3,3 В
Push-pull 3,3 ВПрямое подключение
Push-pull 5 ВСогласование логического уровня
Аналоговый до 3,3 ВК входу АЦП после проверки диапазона
Аналоговый выше 3,3 ВДелитель или буфер с пересчетом сигнала

Для устойчивого аналогового измерения учитывают:

  • шум питания;
  • качество общей земли;
  • сопротивление источника сигнала;
  • частоту выборки;
  • RC-фильтр;
  • усреднение;
  • смещение нуля;
  • нелинейность АЦП.

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

Платы находятся в категории ESP32. Подробно согласование уровней разобрано в статье Почему ESP32 работает на 3,3 В.

Для нестабильного аналогового сигнала полезна статья Почему показания аналогового входа скачут.

Измерение оборотов с помощью датчика Холла

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

Обороты рассчитываются по формуле:

RPM = N × 60 / (t × PPR)

где:

  • N – число зарегистрированных импульсов;
  • t – время измерения в секундах;
  • PPR – число учитываемых импульсов за один оборот.

Если на валу один магнит и программа считает один фронт, PPR равен 1. Если магнитов два – PPR обычно равен 2. При подсчете обоих фронтов число событий может удвоиться.

УсловияЧто проверить
Низкие оборотыУвеличить интервал или измерять время между импульсами
Высокие оборотыПроверить скорость датчика и минимальную ширину импульса
Несколько магнитовПравильно указать PPR
Длинный проводПодтяжка, фильтрация и защита от помех
ВибрацияЗапас по магнитному полю и механическое крепление
ПропускиФорму сигнала осциллографом и загрузку программы

Пример измерения RPM по импульсам:

#if defined(ARDUINO_ARCH_ESP32) const uint8_t HALL_PIN = 27; #define ISR_ATTR IRAM_ATTR #else const uint8_t HALL_PIN = 2; #define ISR_ATTR #endif const float PULSES_PER_REVOLUTION = 1.0f; const unsigned long MEASUREMENT_INTERVAL = 1000; volatile uint32_t pulseCount = 0; unsigned long previousMeasurement = 0; void ISR_ATTR countPulse() { pulseCount++; } void setup() { Serial.begin(115200); pinMode(HALL_PIN, INPUT_PULLUP); attachInterrupt( digitalPinToInterrupt(HALL_PIN), countPulse, FALLING ); previousMeasurement = millis(); } void loop() { const unsigned long now = millis(); const unsigned long elapsed = now - previousMeasurement; if (elapsed >= MEASUREMENT_INTERVAL) { noInterrupts(); const uint32_t pulses = pulseCount; pulseCount = 0; interrupts(); const float rpm = pulses * 60000.0f / (elapsed * PULSES_PER_REVOLUTION); Serial.println(rpm); previousMeasurement = now; } }

Для предварительного пересчета доступен калькулятор RPM по датчику Холла.

Устройство энкодеров и определение направления рассмотрены в статье Энкодеры в электронике.

Датчики Холла в электродвигателях

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

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

Количество датчиков и схема их размещения зависят от конструкции двигателя. Встречаются варианты с электрическим расположением 60° и 120°, а также двигатели без отдельных датчиков положения.

ПараметрНа что влияет
Порядок сигналов ХоллаОпределение текущего сектора ротора
Положение датчиковМомент коммутации фаз
Магнитная полярностьЛогика переключения
Задержка датчикаТочность момента коммутации
Температурный дрейфСтабильность порогов
Подключение фазНаправление и правильность вращения

Ошибки подключения проявляются так:

  • двигатель дергается;
  • вращается в неправильную сторону;
  • не запускается под нагрузкой;
  • потребляет повышенный ток;
  • работает шумно;
  • теряет момент;
  • контроллер сообщает ошибку датчиков.

Сигналы Холла не управляют силовыми обмотками напрямую. Они только сообщают положение ротора. Переключение тока выполняют драйвер и силовые транзисторы.

При диагностике проверяют:

  1. Питание датчиков.
  2. Общий провод.
  3. Каждый из трех выходов.
  4. Последовательность состояний при медленном вращении.
  5. Соответствие проводов фаз и датчиков.
  6. Форму сигналов под нагрузкой.

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

Практические области использования собраны на странице Применение датчиков Холла.

Измерение тока на эффекте Холла

Ток в проводнике создает магнитное поле. Специализированный датчик Холла измеряет это поле и формирует выходной сигнал, связанный с током.

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

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

ИсполнениеОсобенности
Датчик со встроенным проводникомТок проходит через корпус микросхемы
Датчик возле внешней шиныИзмеряет поле отдельного проводника
Датчик с магнитопроводомПоле концентрируется возле чувствительного элемента
Разомкнутая системаПростой выход без компенсационной катушки
Замкнутая системаКомпенсация поля повышает точность и диапазон

Для двунаправленного аналогового датчика ток часто рассчитывается так:

I = (VOUT - VZERO) / S

где:

  • VOUT – измеренное выходное напряжение;
  • VZERO – выход при нулевом токе;
  • S – чувствительность в В/А или мВ/А.

Значение VZERO лучше измерять после запуска устройства, а не считать строго равным половине питания. На него влияют допуск, температура, питание, шум и внешнее магнитное поле.

При выборе проверяют:

  • диапазон тока;
  • чувствительность;
  • смещение нуля;
  • полосу пропускания;
  • время отклика;
  • сопротивление встроенного проводника;
  • нагрев;
  • шум;
  • изоляционный рейтинг;
  • диапазон выходного сигнала.

Датчик ACS712 обычно питается от 5 В, а его аналоговый выход может превышать допустимый диапазон АЦП ESP32. Такое подключение требует проверки и, при необходимости, делителя или буфера.

Подробная методика приведена на странице Измерение тока датчиком Холла.

Разницу между токовым датчиком и обычным магнитным сенсором показывает сравнение ACS712 vs датчик Холла.

Расстояние до магнита и ориентация

У датчика Холла нет универсального расстояния срабатывания. Рабочий зазор определяется всей магнитно-механической системой.

На результат влияют:

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

Магнитное поле уменьшается с расстоянием нелинейно. Небольшое увеличение зазора может значительно уменьшить сигнал, особенно возле порога срабатывания.

Распространены два режима движения:

ДвижениеОсобенности
Лобовое приближениеМагнит движется к чувствительной поверхности и обратно
Боковой проходМагнит проходит параллельно поверхности датчика
Вращение возле датчикаПоле периодически меняется при каждом обороте
Торцевой магнит на валуИспользуется для определения угла и положения

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

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

Слишком сильный магнит тоже может создать проблемы:

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

Стальной винт, вал или корпус может перенаправить магнитный поток. После изменения крепления или материала корпуса проверку нужно повторить.

Практический порядок монтажа находится на странице Магнит и монтаж датчика Холла.

Типичные ошибки при использовании датчиков Холла

ОшибкаЧто происходитКак исправить
Перепутана распиновкаДатчик не работает или нагреваетсяПроверить корпус и даташит
Выбран неправильный типВыход не возвращается или реагирует не такУточнить переключатель, защелку и полярность
Нет подтяжки open-drainВысокий уровень остается неопределеннымУстановить резистор к логическому питанию
Подтяжка к 5 В при ESP32Риск повреждения GPIOПодтянуть линию к 3,3 В
Push-pull 5 В подключен к ESP32На GPIO поступает повышенное напряжениеИспользовать согласование уровней
Нет общего GNDУровень сигнала не определенСоединить земли неизолированной схемы
Магнит повернут неправильноДатчик не реагируетПроверить обе полярности
Магнит слишком далекоПропуски и нестабильностьУменьшить зазор или изменить магнит
Магнит слишком сильныйНасыщение или позднее отпусканиеПодобрать поле и геометрию
Не учтена чувствительная осьСигнал слабый при близком магнитеИзменить ориентацию датчика
Нет развязывающего конденсатораЛожные импульсы и шумУстановить конденсатор возле питания
Подсчитываются оба фронтаRPM завышен вдвоеУчитывать фактический PPR
Слишком медленный опросКороткие импульсы пропускаютсяИспользовать прерывания или быстрый опрос
Аналоговый сигнал выше диапазона АЦПИскажение или повреждение входаУстановить делитель или буфер
Порог модуля настроен на границеЛожные переключенияДобавить запас и проверить механику

Проверку выполняют поэтапно:

  1. Определяют точную модель.
  2. Проверяют распиновку.
  3. Измеряют питание непосредственно на датчике.
  4. Проверяют тип выходного каскада.
  5. Измеряют OUT без магнита.
  6. Подносят магнит обеими сторонами.
  7. Проверяют возврат после удаления магнита.
  8. Повторяют проверку при реальном зазоре.
  9. Включают расположенные рядом двигатели и нагрузки.
  10. Проверяют сигнал осциллографом при высокой скорости.

Если выход переключился и не возвращается, это может быть защелка, а не неисправный датчик.

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

Полная последовательность диагностики находится на странице Проверка и диагностика датчика Холла.

Как выбрать датчик Холла

Выбор датчика Холла начинается с задачи, а не с популярной маркировки или внешнего вида модуля.

ЗадачаПодходящий тип
Наличие магнитаЦифровой переключатель
Дверь или конечное положениеУниполярный или омниполярный переключатель
Чередование полюсов ротораЗащелка
Измерение положенияЛинейный датчик
Измерение углаДвух- или трехкоординатный датчик
Подсчет оборотовБыстрый цифровой переключатель
Измерение токаСпециализированный токовый датчик
Бесконтактная педаль или курокЛинейный или многокоординатный датчик

Порядок выбора:

  1. Определить цифровой, аналоговый или цифровой интерфейс.
  2. Выбрать магнитную логику.
  3. Определить доступное питание.
  4. Проверить совместимость выхода с контроллером.
  5. Определить требуемые BOP и BRP или диапазон поля.
  6. Проверить чувствительную ось.
  7. Задать минимальный и максимальный зазор.
  8. Учесть скорость, задержку и частоту выборки.
  9. Проверить температурный диапазон.
  10. Учесть внешние магнитные поля и стальные детали.
  11. Проверить корпус и способ монтажа.
  12. Испытать датчик с реальным магнитом и механикой.

Для аналоговой модели дополнительно проверяют:

  • чувствительность;
  • смещение нуля;
  • линейность;
  • шум;
  • полосу пропускания;
  • насыщение выхода;
  • необходимость калибровки.

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

Отдельный A3144 удобен для собственной платы, но требует правильной обвязки. Готовый модуль проще для макета, однако может содержать неизвестный аналог датчика и дополнительные элементы. Разница разобрана в сравнении A3144 vs модуль датчика Холла.

Подробный порядок выбора находится на странице Как выбрать датчик Холла. Характеристики BOP, BRP, чувствительности, частоты и выхода собраны в разделе Основные параметры датчика Холла.

Связанные материалы:

Датчики Холла: принцип работы, виды, подключение и применение в электронике
Не нашли ответ?Опишите свою ситуацию и задайте отдельный вопрос.Задать вопрос

Товары по теме

Связанные категории

Email не публикуется и используется только для уведомления о модерации. Ссылки в комментариях запрещены. Перед размещением убедитесь, что комментарий не содержит оскорблений.

Комментарии (0)