Фильтр по тематике

Ультразвуковой дальномер-сигнализатор на ПЛИС

Предлагаемая статья содержит описание портативного электронного устройства – дальномера, выполненного на базе специализированного промышленного ультразвукового датчика расстояния (сонара). В качестве аппаратной платформы для обработки сигналов с датчика в устройстве используется ПЛИС.

20.06.2017 831 0
Ультразвуковой дальномер-сигнализатор на ПЛИС

Дальномер, о котором пойдёт речь, помимо функции измерения расстояния до удалённых объектов, снабжён функцией сигнализации – извещения пользователя о том, что расстояние до объекта меньше заданного значения. Поэтому правильнее будет назвать его дальномером-сигнализатором. Он может найти применение на производстве и в быту при возникновении необходимости точного измерения расстояний на открытом пространстве, например, для вычисления площадей и объёмов помещений, при конструировании роботов или для сигнализации о недопустимом приближении, например, в качестве автомобильного парктроника.

Принцип действия и основные характеристики

В качестве первичного датчика расстояния в устройстве используется ультразвуковой сонар из семейства HRLV-MaxSonar-EZ типа MB1043 производства MaxBotix [1]. Принцип действия сонаров семейства HRLV-MaxSonar-EZ основан на излучении в пространство и обратном приёме ультразвуковых колебаний, отражённых от пространственных объектов. Встроенная в сонар система обработки на основе анализа излучаемого и отражённого сигналов производит вычисление и выдачу во внешние устройства данных о расстоянии до объекта, от которого отразились колебания. Данные из сонара выдаются одновременно по трём различным каналам:

  • аналоговому – в виде постоянного напряжения, пропорционального расстоянию до объекта;
  • ШИМ – в виде импульсов со скважностью, пропорциональной расстоянию до объекта;
  • цифровому (интерфейс UART) – в виде байтовых посылок, передаваемых со скоростью 9600 бит/с и содержащих значение расстояния до объекта в двоично-десятичном формате в ASCII-коде.

В предлагаемом дальномере-сигнализаторе данные от сонара принимаются только через UART. Периодичность обновления данных составляет 100 мс.

Дальномер-сигнализатор имеет следующие основные характеристики:

  • диапазон измеряемых расстояний – 0,3...5 м;
  • разрешающая способность измерения расстояния – 1 мм;
  • количество задаваемых порогов сигнализации – 1;
  • тип сигнализации – генерация звукового сигнала и переход цифрового выхода в низкий логический уровень при текущем значении измеряемого расстояния меньше заданного порога сигнализации;
  • тип дисплея – символьный двухстрочный ЖКИ, совместимый с контроллером HD44780;
  • формат отображения измеренного расстояния – «R=XXXX», где XXXX – значение расстояния в мм;
  • формат отображения заданного порога сигнализации – «L=YYYY», где YYYY – значение заданного порога сигнализации в мм;
  • звуковой излучатель – электромагнитный;
  • пользовательский интерфейс из трёх кнопок: «Сброс», «Увеличение порога сигнализации» («+»), «Уменьшение порога сигнализации» («–»);
  • напряжение источника питания +4,5…6 В;
  • потребляемый ток от источника питания при +4,5 В – 70 мА.

Аппаратная платформа

Для аппаратной реализации устройства применена ПЛИС фирмы Altera семейства Cyclone-II EP2C5T144C8 в составе отладочной платы OpenEP2C5-C производства фирмы Waveshare [2]. При отладке макета дальномера-сигнализатора плата OpenEP2C5-C установлена в отладочную плату DVK601 [3] того же производителя. К плате DVK601 подключается символьный двухстрочный ЖКИ типа 1602ZFA, имеющий трёхвольтовое питание и встроенную подсветку дисплея. Внешний вид макета дальномера-сигнализатора показан на рисунке 1, а его структурная схема представлена на рисунке 2. Эта схема в основном повторяет блок-схему проекта ПЛИС устройства.


Принципиальная схема дальномера-сигнализатора приведена на рисунке 3. Эта схема может быть использована для изготовления устройства без плат OpenEP2C5-C и DVK601.

В качестве кнопок SB1, SB2 в макете используются позиции «вверх» и «вниз» пятипозиционного манипулятора «джойстик» платы DVK601.

Микросхема ПЛИС DD1 питается от двух источников напряжения +3,3 В и +1,2 В, формируемых последовательно включёнными стабилизаторами DA2 и DA3, соответственно. Питание стабилизатора DA2 осуществляется внешним напряжением +4,5…6 В.

Загрузка конфигурации в ПЛИС DD1 при каждом включении питания осуществляется из микросхемы энергонезависимой памяти DD3. Начальная запись конфигурации в DD3 производится через разъём X4 «JTAG» с помощью кабеля-программатора USB Blaster.

Внешний глобальный синхросигнал для ПЛИС с частотой 50 МГц вырабатывается интегральным генератором DD2 со встроенным кварцем. Конкретный тип этого генератора на схеме платы OpenEP2C5-C автору идентифицировать не удалось. В качестве DD2 подойдёт любой кварцевый генератор с частотой 50 МГц и питающим напряжением +3,3 В.

Звуковой излучатель BF1 – маломощный «спикер» электромагнитного типа. Также возможно применение пьезоизлучателя любого типа.

Все перечисленные схемные компоненты содержатся на платах OpenEP2C5-C и DVK601. Все выводы ПЛИС, а также линии питания +3,3 В и общего провода на плате OpenEP2C5-C выведены на два многоштырьковых разъёма для обеспечения возможности стыковки с внешними устройствами, например, с платой DVK601. На плате DVK601 сигналы с ответных частей этих разъёмов, в свою очередь, разведены на разъёмы, размещённые по периметру платы и используемые для подключения различных внешних устройств, например, сонара. Обозначения и нумерация элементов на схеме (см. рис. 3) не соответствуют схемам плат OpenEP2C5-C и DVK601. Соединительные разъёмы этих плат на схеме условно не показаны.

Отладочная плата DVK601 в ходе отладки макета дальномера-сигнализатора была немного доработана. Доработка заключалась в установке резистора R7 (см. рис. 3), который на принципиальной схеме платы имелся (Buzzer.R1 = 500 Ом), но на самой плате был заменён производителем короткозамкнутой перемычкой, а также в установке резистора R8 сопротивлением 1 кОм взамен резистора Buzzer.R2 = 500 Ом. До проведения указанной доработки узел звукового излучателя BF1 легко самовозбуждался от наводок других сигналов платы.

Наладка устройства сводится к установке требуемой громкости звука сигнализации путём подбора резистора R7, а также к установке требуемой контрастности ЖКИ HG1 путём подстройки резистора R6.

Перед подключением к устройству сонара MB1043 необходимо на его печатной плате замкнуть между собой перемычкой из припоя контактные площадки TTL Jumper, показанные на рисунке 4. Указанным способом осуществляется задание требуемых уровней выходного сигнала интерфейса UART сонара. При значительном удалении сонара от ПЛИС соединяющий их сигнальный провод следует экранировать.

Проект ПЛИС

Проект ПЛИС устройства написан на алгоритмическом языке Verilog HDL. Он состоит из следующих модулей:

  • модуль верхнего уровня (файл MAX_SONAR.v);
  • модуль подавления «дребезга» кнопок (файл noise_filter_butt.v);
  • модуль формирования сигналов «озвучивания» кнопок (файл buzzer_butt.v);
  • модуль приёма байта через UART (файл UART_byte_rx.v).
  • Модуль верхнего уровня содержит несколько блоков:
  • блок формирования звуковых частот;
  • блок задания значения порога сигнализации;
  • блок приёма байтовой посылки от сонара;
  • блок обработки принятых от сонара данных;
  • блок начальной инициализации и циклического вывода информации на ЖКИ;
  • блок управления звуковым сигналом.

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

В качестве внутреннего глобального синхросигнала используется синхросигнал clk_pll частотой 10 МГц с выхода встроенной системы ФАПЧ (PLL) ПЛИС.

Линии входов кнопок «подтянуты» внутри ПЛИС через встроенные резисторы к плюсу источника +3,3 В. На одну из линий подсветки ЖКИ из ПЛИС подаётся напряжение низкого логического уровня, на другую – высокого. Токоограничительные резисторы светодиодов подсветки в схеме отсутствуют, поскольку они встроены в ЖКИ.

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

Константа parameter POROG_IMP = 500_000 задаёт количество импульсов глобального синхросигнала, определяющее длительность импульса озвучивания нажатия на кнопку. При нажатии на кнопку этот импульс пропускает на выход звука пачку соответствующей длительности импульсов звуковой частоты. Подбором этого параметра можно задавать длительность пачек озвучивания нажатий (по умолчанию – 0,05 с).

Константа parameter POROG = 600_000 задаёт порог подавления дребезга – количество импульсов глобального синхросигнала, после подсчёта которого принимается решение о пропуске входного сигнала от кнопки на управляемый ею блок. Подбором этого параметра можно добиться надёжного подавления дребезга от кнопок различных типов и размеров.

При реализации интерфейса обслуживания кнопок помимо узла подавления дребезга в ПЛИС синтезирован узел формирования импульса от кнопки, длительность которого равна строго одному периоду глобального синхросигнала. Это сделано для того, чтобы, вне зависимости от времени удержания нажатой кнопки, реакция устройства на её нажатие происходила однократно. Входной сигнал от кнопки key_in (активный уровень – низкий), содержащий дребезг, подвергается цифровой фильтрации. По переднему спаду отфильтрованного от дребезга сигнала noise_key_out (активный уровень – низкий) формируется короткий отрицательный импульс edge_noise_key_out длительностью ровно в один период глобального синхросигнала clk_pll, причём его середина совпадает с положительным (активным) перепадом clk_pll. В списке чувствительности блока, реализующего реакцию устройства на нажатие данной кнопки, содержится только передний фронт синхросигнала clk_pll.

Константа parameter UART_RATE = 9600 задаёт стандартную скорость приёма данных через UART от сонара (9600 бит/с). Остальные настройки UART жёстко заданы в конфигурации ПЛИС и не могут быть модифицированы пользователем «на лету»: 8 бит в байте, 1 стоповый бит и отсутствие контроля чётности (8–N–1). Наличие данных, поступающих с выхода UART сонара, индицируется в устройстве светодиодом HL2.

Порог сигнализации устройства задаётся с помощью кнопок SB1 «+» и SB2 «–». При нажатиях на кнопку «+» текущее значение порога увеличивается по кольцу с шагом 10 мм от минимального (300 мм) до максимального (5000 мм) значения. При нажатиях на кнопку «–» – уменьшается по кольцу с таким же шагом от максимального до минимального значения. Текущее значение порога сигнализации отображается на ЖКИ справа от значения результата измерения.

При уменьшении результата измерений ниже значения порога раздаётся прерывистый звуковой сигнал высокого тона. Одновременно выход сигнализации ПЛИС X3 переходит в низкий логический уровень. При превышении результата измерений над порогом звуковой сигнал прекращается, а выход сигнализации ПЛИС возвращается в высокий логический уровень. Текущее состояние выхода сигнализации индицируется светодиодом HL3 «Выход сигнализации».

Проект ПЛИС устройства разработан в среде Quartus II версии 13.0. Он доступен для скачивания на сайте журнала (см. дополнительные материалы к статье на www.soel.ru). Конфигурация проекта занимает около 30% ёмкости ПЛИС EP2C5T144C8.

Несколько слов об эксплуатации устройства. После включения питания необходимо нажать на кнопку SB3 «Сброс», чтобы инициализировать ЖКИ. При этом на ЖКИ кратковременно отобразится начальная заставка SONAR Vx.x, после чего устройство перейдёт к штатной работе с непрерывным отображением на ЖКИ значений измеренного расстояния и порога сигнализации. Последний по умолчанию равен 500 мм. Обновление показаний ЖКИ производится через каждые 100 мс синхронно с поступлением данных из сонара. При измерении расстояния до объекта, меньше ближней границы допустимого диапазона (0,3 м), дальномер-сигнализатор выдаёт результат 300 мм. При измерении расстояния, больше дальней границы допустимого диапазона (5 м), дальномер-сигнализатор выдаёт результат 5000 мм.

Заключение

Дальномер-сигнализатор безошибочно и стабильно измеряет расстояния до объектов с чёткими границами (стены, перекрытия, промышленные установки, предметы мебели и т.п.). При измерениях расстояний до объектов с нечёткими границами (животные с густой шерстью, люди в меховой одежде и т.п.) в результатах измерений возможны неточности. 

Применённый в устройстве сонар MB1043 имеет самую узкую в своём семействе диаграмму направленности, поэтому, при наличии даже небольших препятствий на линии измерения, в его выходных данных возможны существенные ошибки. Для снижения чувствительности устройства к наличию мелких препятствий на линии измерения возможно применение других типов сонаров из семейства HRLV-MaxSonar-EZ, имеющих более широкие, чем у MB1043, диаграммы направленности. Для сравнения, на рисунке 5 приведены диаграммы направленности сонаров MB1043 и MB1003, предоставленные производителем [4]. Каждый рисунок представляет собой пространственные контуры диаграммы в одной плоскости на фоне сетки с размерами квадрата 30 ´ 30 см. При этом обнаруживаемый сонаром контрольный объект представляет собой диск диаметром 3,5 дюйма.

Литература

  1. MB1043HRLV-MaxSonar-EZ4 High Performance Ultrasonic Rangefinder. www.maxbotix.com/Ultrasonic_Sensors/MB1043.htm.
  2. OpenEP2C5-C. www.waveshare.com/wiki/OpenEP2C5-C.
  3. FPGA CPLD mother board. www.waveshare.com/dvk601.htm.
  4. HRLV-MaxSonar-EZ Series. www.maxbotix.com/documents/HRLV-MaxSonar-EZ_Datasheet.pdf.

Скачать

20176082.rar / RAR, 4 МБ

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

20.06.2017 831 0
Комментарии
Рекомендуем
Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Среди исследователей и разработчиков, стоявших у истоков разных областей современной электроники, есть много имён, известных лишь в научном сообществе. Тем не менее без них развитие отечественной радиоэлектроники было бы другим. В статье рассказывается о научном пути и результатах исследований доктора наук Александра Александровича Пистолькорса, как фундаментальных, так и прикладных, нашедших широкое применение в развивающихся областях науки и техники в ХХ веке и определивших на десятилетия вперёд прогресс в развитии радиотехники, электроники и связи. Метод наведённых ЭДС, принцип двойственности, теория связанных линий для передачи информации, оптические волноводы и фазированные антенные решетки, голографические линзы, фотонные кристаллы – их создание и совершенствование напрямую связано с Александром Пистолькорсом.
31.03.2026 СЭ №3/2026 198 0
Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

В первой части статьи были рассмотрены видеозаписи результатов американо-итальянской системы привязанных спутников (TSS-1R), полученные ровно тридцать лет назад во время миссии космического шаттла «Колумбия» (22 февраля 1996 года). В опубликованной не так давно статье известного астробиолога Роуна Джозефа [1] предлагалось интерпретировать некоторые атмосферные плазменные образования, зафиксированные на этих видеозаписях, как самоорганизующиеся субстанции, которые миллиарды лет назад могли инициировать зарождение биологической жизни на Земле. Во второй части статьи показано, насколько доказательны с точки зрения современной науки новые аргументы в поддержку внеземного зарождения жизни, предложенные Роуном Джозефом.
30.03.2026 СЭ №3/2026 201 0
Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

В статье представлены интегральные линейные стабилизаторы с малым падением напряжения на регулирующем элементе (LDO-стабилизаторы, Low Dropout Output), выпускаемые предприятием XMTI (Xi’an Microelectronics Technology Institute), для применения в качестве вторичного источника электропитания в аппаратуре с батарейным питанием, дополнительных стабилизаторов напряжения в импульсных источниках питания. Линейные регуляторы подразделяются на радиационно-стойкие модели для применения в бортовой аппаратуре космических аппаратов и модели уровня качества Military для аппаратуры специального применения. Выпускаются микросхемы для формирования положительного и отрицательного напряжения, а также с расщеплённым выходом для питания аналоговых устройств. Выходное напряжение может быть фиксированным и регулируемым.
26.03.2026 СЭ №3/2026 291 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться