Известные в настоящее время ультразвуковые уровнемеры имеют недостаточно высокую точность измерений, обусловленную влиянием изменения температуры на скорость звука, и могут иметь большой разброс показаний. В ряде случаев нужна более высокая точность. Однако более высокоточные приборы, использующие кондуктивные или емкостные датчики, как правило, имеют и значительно более высокую стоимость. Кроме того, нужны компактные и малогабаритные приборы. Устройство позволяет выводить информацию на два жидкокристаллических индикатора, которые можно разместить в разных местах. Установленные в уровнемере реле позволяют автоматически управлять заполнением емкости (бака или цистерны). Для решения этих задач и был разработан данный уровнемер.
Зависимость скорости звука (V) в воздухе от температуры (Т) определяется выражением:
V=331,5·[1+0,0178∆t] (м/с),
где ∆t – перепад температур (отсчитывается от 0°С).
При температуре 0°С скорость звука составляет 331,5 м/с, а при 10°С достигнет уже 337,3 м/с. Погрешность измерения составит около 1,8% на изменение температуры на 10°С. На бензозаправках такая погрешность приведет к потере бензина до 35 USD на каждую тонну бензина.
При введении температурной поправки в измерительный прибор эту погрешность можно полностью устранить.
Схема ультразвукового уровнемера с температурной компенсацией показана на Figure. Он собран на микроконтроллере (МК) DD1 типа PIC16F876.МК DD1 формирует на выводе 24 пачки импульсов частотой 40 кГц для управления кварцевым излучателем BQ1, который установлен на вершине бака (резервуара), и посылает импульсы в направлении поверхности жидкости. Необходимый для подачи на излучатель размах сигнала обеспечивается усилителем на транзисторах Q1 и Q2.
Питание усилителя двухполярное ±36 В, которое вырабатывает повышающий преобразователь на микросхеме DA4 типа МС33063А.
В промежутках между пачками импульсов излучатель переключается на прием отраженных импульсов (ультразвуковой датчик обладает свойством обратимости). Отраженный от уровня жидкости в обратную сторону ультразвуковой сигнал поступает на тот же излучатель BQ1.
Синхронно с передачей на излучатель пачки импульсов микропроцессор запускает свой внутренний счетчик, и производится измерение времени следования импульса от излучателя к приемнику. Принятый сигнал подается для усиления и фильтрации на специализированную микросхему DA3 mPC1490HA. Прямоугольные импульсы с выхода DA3 (вывод 7) поступают обратно на МК (вывод 21), где производится вычисление расстояния L от вершины бака до отражающей поверхности (уровня) по формуле:
L=(V·T)/2,
where
Т – измеренное микроконтроллером время прохождения сигнала от излучателя к приемнику;
V – скорость звука в воздухе.
Для компенсации погрешности от влияния изменения температуры t в вычисления согласно приведенным выше выражениям вводится температурная поправка. Поправка вычисляет МК по измерениям с датчика температуры DA2 DS18B20, сигнал с которого поступает на вывод 6 МК.
Откорректированные результаты измерений постоянно выводятся на жидкокристаллические индикаторы однострочный DD2 МТ10Т-7 и двухстрочный DD3 BC1602AGP. Можно использовать только один из них, а можно и оба, что позволяет отображать информацию одновременно в двух местах.
При включении прибора на экране двухстрочного индикатора в верхнем ряду появляется надпись «уровень_датчик» (или «уровень_дно»), в зависимости от значения параметра «Set»). Потом в нижнем ряду справа появляются результаты измерения уровня, а слева в нижнем ряду DD3 отображаются буква «О» или «З», соответствующие откачке или закачке жидкости в резервуар.
Для вхождения в сервисное меню прибора нужно нажать и удерживать кнопку S1 пока не появится надпись «Set». Параметры устанавливаются в следующем порядке:
- «Set»=0 – на индикатор выводится расстояние от датчика до поверхности раздела;
- «Set»=1 – на индикатор выводится расстояние от дна бака до поверхности;
- одновременно с этим параметром вводится параметр «O» – «З», задающий работу насосов на откачку жидкости из резервуара («О») или на закачку ее туда («З»);
- «Lev» – полная высота бака от датчика до дна, вводится в сантиметрах нажатием кнопки (увеличение) или S0 (уменьшение);
- «Dn 1» – уровень отпускания реле К1, в сантиметрах, вводится как и в предыдущем случае;
- «Dn 2» – уровень отпускания реле К2;
- «Up 1» – уровень срабатывания реле К1;
- «Up 2» – уровень срабатывания реле К2 (уровни вводятся аналогично).
Переход от одного параметра к другому происходит автоматически после небольшой паузы. Максимальная дальность обнаружения уровня для данного уровнемера – 7,5 м, дискретность отсчетов – 1 см.
Для устранения флуктуаций показаний жидкокристаллических индикаторов из-за волнения на поверхности жидкости программно проверяется, укладываются ли значения дальности, отсчитанные по трем следующим один за другим эхо-сигналам, в интервал 5 см. Если да, то вычисляется и выводится на индикатор среднее арифметическое значение трех отсчетов. В противном случае сигналы считаются помехами и не учитываются.
При достижении жидкостью любого из четырех запрограммированных уровней «Dn 1», «Dn 2», «Up 1» и «Up2» автоматически подаются сигналы на включение или выключение двух исполнительных устройств. Установленные пороги включения и выключения насосов, открывания и закрывания кранов или заслонок с помощью реле К1 и К2 заносятся в энергонезависимую память процессора и не изменяются при включении и выключении прибора.
Процедуры управления реле К1 и К2 работают независимо одна от другой. При необходимости все уровни могут быть оперативно изменены. При обрыве в цепи датчика ВQ1 включается светодиод D5, а на индикаторы выводится сообщение «Obriv». Для сброса сообщения нужно нажать кнопку SO. Перечисленные возможности позволяют использовать прибор в системах контроля и управления технологическими процессами.
Транзисторы Q1 иQ2 нужно подобрать с одинаковыми коэффициентами h21E, иначе форма
прямоугольных импульсов на входе датчика BQ1 может быть искаженной. Размах импульсов на входе кварцевого излучателя BQ1 может быть увеличен до 80 В путем увеличения питающего напряжения до ±40 В. Транзисторы могут быть другого типа, но обязательно с Uкэмакс не менее 80… 100 В. В качестве датчиков могут быть использованы ультразвуковые излучатели типов МА40, С4016 и другие. Чем больше диаметр излучателя, тем на большую дальность определения уровня можно рассчитывать (лучшие датчики обеспечивают дальность до 10…15 м). Датчик должен быть установлен строго перпендикулярно к поверхности жидкости. Тип применяемых реле К1 и К2 зависит от области применения уровнемера (от типа исполнительных устройств). Каскад на микросхеме DA3 с соответствующей обвязкой должен быть экранирован. В экране нужно предусмотреть отверстие под подстроечный резистор R10. В случае использования излучателя BQ1 с резонансной частотой 33 кГц номинал резистора R15 должен быть изменен на 200 кОм. Регулировку напряжений на выходе импульсного преобразователя DA4 осуществляют подбором резистора R23.
Уровни «Dn 1», «Dn 2», «Up 1» и «Up 2» в сантиметрах заносятся в энергонезависимую память МК и задаются автоматически с учетом вида отсчета измеряемого уровня (от дна бака или от вершины до текущего уровня).
Например, пусть задано «Dn 1 » = 100 см, a «Up 1 » = 150 см, и уровень падает. Когда текущий уровень достигнет 100 см, сработает реле К1.
При этом включится насос, и уровень жидкости в резервуаре станет подниматься. При достижении уровня 150 см реле К1 обесточится, и насос будет отключен. Таким образом, будет поддерживаться определенное количество жидкости в резервуаре. Аналогично и независимо устанавливаются аналогичные параметры «Dn 2» и «Up 2» для второго реле К2. При этом одно реле может работать на закачку жидкости, а второе быть связано с краном (заслонкой) и сливать определенный объем жидкости из резервуара.
Поскольку разработанный ультразвуковой уровнемер имеет температурную компенсацию, то процедуры заправки и слива будут высокоточными. Этот уровнемер может иметь точность (0,3…0,5%), а стоимость его на порядок дешевле (емкостные датчики большой длины изготовлены из нержавеющих материалов и стоят очень дорого).
Download программу, прошивки для микроконтроллера для датчиков 40 кГц
Author: Александр Саволюк, г. Киев
Source: Радиоаматор №11/12, 2014