Энциклопедия магнетизма.

Мощный гауссметр.

Перейдем к созданию мощного гауссметра с огромными возможностями, которые предоставляют технологии на основе виртуальных инструментов. Конкретизируем представленную в предыдущем разделе структуру:

датчик – датчик Холла ДХК-0.5А;

нормирующий (входной) усилитель – усилитель на основе AD623;

аналого-цифровой преобразователь – АЦП на основе ADS1286;

управляющая программа на компьютере – программа на основе LabVIEW.

Датчик Холла создает милливольтный уровень напряжения →
Нормирующий усилитель усиливает это напряжение до рабочего напряжения аналого-цифрового преобразователя и смещает рабочую точку для измерения двуполярного магнитного поля →
Аналого-цифровой преобразователь переводит аналоговый уровень напряжения в цифровой код для ввода информации в компьютер через com-порт с помощью управляющей программы на LabVIEW →
Управляющая программа производит необходимые преобразования и выводит информацию на экран.

Входной усилитель для датчика Холла.

Рассмотрим реальную экспериментальную схему входного усилителя для конкретного экземпляра датчика Холла ДХК-0.5А.

  • Коэффициент усиления представленной схемы:
    G = 1 + 100 кОм / R1 = 23.

  • Начальное смещение:
    U0 = 1,8 мВ · G = 40 мВ = 0,04 В.

  • Расчетное значение магнитной индукции B в Тл:
    B = (U - U0) / (K · Iх/3) / G = (U - 0,04) / (0,28 · 2,2/3) / 23 =
    = (U - 0,04) / 4,7 = 0,21U - 0,01,
    где
    U – выходное напряжение в В,
    Iх – значение управляющего тока в мА,
    K – чувствительность в В/Тл (около 0,28 В/Тл).

    •

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

    Аналого-цифровой преобразователь.

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

    LabVIEW     – интегрированная среда разработки виртуальных инструментов.

    Для управления аналого-цифровым преобразователем и создания интерфейса программы можно воспользоваться любой средой разработки, например, использовать Visual Basic, но наиболее полно раскрыть концепцию виртуальных инструментов позволит среда разработки LabVIEW от компании National Instruments.

    Представьте себе инструмент, прибор или систему, которые в точности соответствуют требованиям Вашей задачи; инструмент, который собирает, анализирует, представляет данные и осуществляет управление именно необходимым Вам способом. С помощью LabVIEW таким инструментом может стать обычный компьютер, стоящий у Вас в лаборатории или на производстве, оснащенный дополнительными устройствами ввода информации.
    LabVIEW – интегрированная среда разработчика для создания интерактивных программ сбора, обработки данных и управления периферийными устройствами.
    Программирование в LabVIEW осуществляется на уровне функциональных блок-диаграмм. Сочетание графического языка программирования и современного компилятора позволяет значительно сократить время разработки сложных систем при сохранении высокой скорости выполнения программ. Библиотеки современных алгоритмов обработки и анализа данных превращают LabVIEW в универсальный инструмент создания интегрированных систем на базе современных компьютеров.
    LabVIEW – графическая система программирования на уровне функциональных блок-диаграмм, позволяющая графически объединять программные модули в виртуальные инструменты (Virtual Instruments – VI).
    – Разработка законченной системы.
    Как правило программный пакет покрывает только один аспект поставленной задачи, но не решает все проблемы – сбор данных, их анализ, представление и управление. LabVIEW предоставляет Вам все необходимые средства, объединенные единой методологией. Вы имеете доступ к библиотекам виртуальных инструментов для управления и получения данных через интерфейс IEEE 488, шину VXI, RS-232 и встраиваемые платы сбора данных. LabVIEW предлагает более 600 драйверов для приборов от более чем 50 мировых производителей, в тоже время можно использовать и низкоуровневое программирование приборов. После сбора данных Вы можете использовать библиотеку анализа данных для получения из потока данных необходимого результата. Вы можете воспользоваться цифровой обработкой сигналов, цифровой фильтрацией, статистикой и численным анализом. Наконец, Вы можете управлять системой с помощью Вашей программы и визуализировать результаты, используя интерактивные лицевые панели. С помощью этих панелей создается стандартный, легко узнаваемый интерфейс независимо от аппаратного обеспечения системы. Кроме того, Вы имеете широкие возможности по манипулированию данными – запись/чтение с диска, передача по сети и печать на принтере или плоттере.
    – Построение собственного виртуального инструмента.
    В LabVIEW вместо написания программы Вы строите виртуальные инструменты (VI). Легко создаваемая лицевая панель пользовательского интерфейса дает Вам возможность интерактивного управления Вашей программной системой. Для описания функционирования системы Вы строите блок-диаграмму – привычный элемент для любой технической разработки. Но в LabVIEW блок-диаграмма является, кроме всего, исходным кодом Вашей программы. Таким образом, решается требующая немалого времени и усилий при обычном подходе задача трансформация идеи разработчика в код программы. LabVIEW – удобное средство для построения Вашей программной системы. Виртуальные инструменты, с их графическим представлением, очень легко модифицируются, отлаживаются и полностью самодокументированы. Не менее важно, что созданные блоки Вы можете встраивать как пиктограммы в диаграммы верхнего уровня для построения сложных программных комплексов. Для построения виртуального инструмента, в первую очередь, Вы создаете лицевую панель с необходимым набором кнопок, переключателей, регуляторов, экранов и т. п. Лицевая панель работает как интерактивный интерфейс ввода и вывода для Вашей измерительной системы или системы управления. В LabVIEW конструирование лицевой панели сводится к рисованию картинки. Для начала Вам предоставляются различные индикаторы и управляющие элементы. Остается только выбрать их из меню и расставить на панели. Кроме того, Вы можете изменить цвет, размер, метку каждого элемента, его тип данных и диапазон значений. Возможно импортировать любое изображение для создания специфического элемента для Вашей задачи. Когда виртуальный инструмент будет закончен, Вы можете использовать элементы лицевой панели для управления системой даже во время выполнения программы, меняя положение переключателей и регуляторов, поворачивая ручки управления и вводя значения с клавиатуры. Таким образом, панель "оживает", обеспечивая обратную связь с Вашей системой.
    – Блок-диаграммы.
    Программируя виртуальные инструменты, Вы освобождаете себя от многих синтаксических деталей обычного программирования. Выбирая функциональные блоки из меню, Вы соединяете их с помощью проводников для обеспечения передачи данных от одного блока другому. Это могут быть как блоки элементарных алгебраических операций, так и сложные функции сбора и анализа данных, сетевые операции и файловый ввод/вывод, обмен данными с жестким диском в ASCII, бинарном формате и в формате табличного процессора. LabVIEW имеет обширный набор средств для разработки, тестирования и отладки Вашей системы. Окно подсказки (Help Window) описывает каждый блок и его соединения. LabVIEW немедленно проинформирует Вас о неправильных соединениях и списке ошибок в окне Error Window. В ассортимент отладочных средств входят подсветка выполнения блок-диаграммы, пошаговый режим, прерывания и индикация значений. Таким образом, Вы можете производить трассировку и исследование выполнения программы непосредственно на блок-диаграмме.
    – Поточное программирование.
    Поточное программирование освобождает Вас от линейной архитектуры текстовых языков. Так как порядок выполнения программы в LabVIEW устанавливается течением данных между блоками, а не последовательностью строк текста, Вы можете создавать диаграммы, которые имеют несколько параллельных потоков прохождения данных и несколько одновременно выполняемых операций.
    – Структурное программирование.
    В то время, как потоки данных предпочтительны для параллельных операций, Вы можете задавать и специальный порядок выполнения. LabVIEW, законченная система программирования, предлагает такие программные структуры, как итеративный цикл (FOR), последовательный цикл (WHILE) и оператор выбора (CASE), для последовательных, повторяющихся или разделяющих операций. Эти структуры представлены как графические рамки, окаймляющие управляемые блоки на блок-диаграмме.
    – Модульность и иерархия.
    LabVIEW является модульной средой по своей структуре. Любой VI может использоваться в блок-диаграмме другого виртуального инструмента как subVI. Разбив свою программную систему на subVI, Вы можете независимо разработать и интерактивно протестировать эти subVI, и тут же использовать их как узлы для построения виртуального инструмента более сложного уровня. Использование модульной иерархии позволяет эффективно разрабатывать, модифицировать, заменять и комбинировать виртуальные инструменты для удовлетворения изменяющихся требований конкретного приложения. Ваши возможности значительно расширяет иерархия VI. Создавая пиктограмму для собственного VI и используя ее в диаграмме другого виртуального инструмента, Вы скрываете сложность низкоуровневой диаграммы, однако сохраняете доступ к общим переменным через панели нижнего уровня. Вы можете даже конфигурировать эти панели для автоматического открытия, создания анимаций и контекстозависимого интерфейса пользователя.
    – Графический компилятор.
    Во многих приложениях скорость выполнения является критичной. LabVIEW – единственная графическая среда программирования с компилятором, который генерирует оптимизированный код. Скорость выполнения LabVIEW близка к скорости выполнения компилированных Си программ. Поэтому, используя данный графический язык, Вы можете увеличить свою производительность при создании программ без снижения скорости их выполнения. Готовые виртуальные инструменты (VI) работают в системе разработчика LabVIEW, а также в LabVIEW Run-Time System. Это компактная, недорогая версия LabVIEW может только загружать и запускать VI, но не позволяет редактировать или показывать их диаграмму. Это свойство защищает исходный код Вашего VI. Вы можете использовать Run-Time System как дешевую тестовую станцию или эффективный путь для распространения собственных разработок. С помощью дополнительной программы Application Builder выполняется преобразование VI в обычную исполняемую *.ехе программу, которая запускается и выполняется самостоятельно, как любая Windows программа.
    – Гибкость.
    LabVIEW – открытая среда, которая позволяет легко интегрировать в систему Ваши собственные программные и аппаратные разработки. Для включения объектного Си-кода в программу LabVIEW воспользуйтесь 32-х разрядным WATCOM С компилятором. Кроме того, LabVIEW предоставляет доступ к стандартным 16-ти битным библиотекам DLL MS Windows.
    – Библиотеки анализа.
    Analyses VI Libraries включают статистику, решение уравнений, регрессионный анализ, линейную алгебру, алгоритмы генерации сигналов, анализ в частотной и временной области, процедуры спектрального анализа и цифровые фильтры. Используя эти библиотеки, Вы сможете разработать виртуальные инструменты для управления процессами, цифровой обработки сигналов и многих других приложений.
    – Работа в реальном масштабе времени.
    Вне зависимости от задачи, скорость выполнения программы является важнейшим фактором анализа данных. Библиотеки анализа LabVIEW используют максимум вычислительных возможностей Вашего компьютера. Виртуальные инструменты оптимизированы для использования математического сопроцессора. Кроме того, существуют специализированные библиотеки, использующие вычислительные возможности цифровых DSP процессоров, установленных на встраиваемых в компьютер платах National Instruments.

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