Патрик Гёлль - Как превратить персональный компьютер в измерительный комплекс Страница 12
- Категория: Научные и научно-популярные книги / Радиотехника
- Автор: Патрик Гёлль
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 21
- Добавлено: 2019-02-05 12:29:57
Патрик Гёлль - Как превратить персональный компьютер в измерительный комплекс краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Патрик Гёлль - Как превратить персональный компьютер в измерительный комплекс» бесплатно полную версию:Книга Патрика Гёлля «Как превратить персональный компьютер в измерительный комплекс» позволяет создать на базе IBM PC-совместимого персонального компьютера систему сбора и обработки информации о различных физических процессах. Тем самым ПК превращается в мощный измерительный прибор. Область применения виртуального измерительного комплекса шире, чем у обычного измерительного прибора, поскольку виртуальный комплекс можно перепрограммировать и оптимизировать для конкретных задач.В книге рассказывается о создании системы сбора и обработки данных, состоящей из датчиков физических величин (тока, давления, температуры и т. д.), интерфейсного устройства (как правило, аналого-цифрового преобразователя) и программных средств, позволяющих обрабатывать и интерпретировать собранную информацию. Схемы и рекомендации, приведенные в книге, позволяют собрать все рассмотренные устройства самостоятельно. Программное обеспечение и драйверы устройств, находящиеся на сервере www.dmk.ru, позволяют сразу перейти к разработке информационной системы, даже если у вас нет практических навыков в области радиоэлектроники. Современные технические и программные решения, предлагаемые автором книги, надежны и проверены на практике. Они, без сомнения, будут полезны всем, кто разрабатывает дешевые и экономичные системы сбора и обработки информации.Книга предназначена для специалистов в различных областях (радиоэлектроника, акустика, геофизика, термодинамика и т. д.) и радиолюбителей, а также для преподавателей физики и информатики школ и высших учебных заведений.
Патрик Гёлль - Как превратить персональный компьютер в измерительный комплекс читать онлайн бесплатно
Верхняя часть таблицы («Параметры сбора данных» и «Параметры канала») соответствует тем настройкам, которые необходимо провести до начала работы. Все остальные этапы относятся к обработке результатов, а значит, их установка может быть проведена по окончании процесса измерений. Можно задать вид отчетов и в самом начале, если заранее известно, какой результат надо получить. Естественно, это необходимо сделать и при выводе отчета непосредственно в процессе измерений.
Надо четко представлять, что на этапе сбора информации в файл записываются «сырые» данные, не имеющие размерности. Это просто двоичные числа, например, в интервале от 0 до 255 при использовании 8-разрядного АЦП ADC 10. Этот поток данных называется «каналом», и ему должно быть присвоено имя. В приведенных примерах выбрано имя «ADC10». Разумеется, несколько каналов могут существовать одновременно — например, при работе с многоканальным АЦП, таким как ADC 11.
Среди всех видов отчетов, которые программа PICOLOG может извлекать из «сырых» данных, записанных в файле, самым употребимым будет, без сомнения, кривая изменения параметра в зависимости от времени (т. е. то, что выдает обычный ленточный регистратор). Именно такой отчет приведен в табл. 5.1.
Хотя вертикальную ось шкалы можно градуировать в двоичных кодах АЦП, гораздо более интересно провести их преобразование в единицы, соответствующие реальным величинам (например, напряжение от 0 до +5 В). Значит, надо определить имя параметра (здесь: «Напряжение») и указать программе математическую зависимость, связывающую информационные данные в «канале» и сам параметр. В данном случае это очень просто: зависимость линейная, смещение отсутствует (нулевой код на выходе АЦП соответствует О В на входе), а коэффициент преобразования составляет 5 В на 255 МЗР, или 0,01961 В/МЗР. После этого надо определить представление кривой «Y = F(t)» (рис. 5.5), но можно также запросить и табличное представление, образец которого приведен на рис. 5.6.
Рис 5.5. Пример графического отчета
Рис. 5.6. Пример отчета в виде таблицы
Сначала можно присвоить графику имя, которое будет отражено на бумаге в виде заголовка; впрочем, это необязательно. Затем надо градуировать оси, соблюдая размерности и единицы, выбранные на предыдущих этапах. По оси X, например, следует обеспечить максимальное значение 60000, если требуется произвести запись в течение одной минуты, с временной шкалой, проградуированной в миллисекундах (неважно, с каким интервалом проводились измерения — каждые десять или сто миллисекунд). По оси Y градуирование провести проще — достаточно объявить максимальное значение параметра, соответствующее полной шкале АЦП.
Позволительно также выводить в отчете информацию лишь о части измеряемого интервала, указав параметры «X мин.» и «X макс.», ограничивающие интересующий участок. Теоретически возможно сделать то же самое и для величин, откладываемых по оси Y, но тогда ухудшается разрешение. Поэтому лучше предварительно масштабировать сигнал, если его уровень не достигает величины +5 В. После вывода на экран и, возможно, после коррекции того или иного параметра вывода можно произвести распечатку полученных отчетов. Несколько примеров, приведенных здесь, дают представление о точности и четкости, которые достигаются даже на простом принтере с девятью иголками и с 8-разрядным АЦП.
Рис. 5.7 представляет пример распечатки в режиме низкого разрешения и альбомной ориентации, а рис. 5.8 — пример распечатки в режиме высокого разрешения и книжной ориентации.
Рис. 5.7. Распечатка с низким разрешением
Рис. 5.8. Распечатка с высоким разрешением
Приведенная на графиках экспонента отображает процесс разряда конденсатора емкостью 10 мкФ, заряженного до напряжения 5 В, через резистор сопротивлением 1 МОм.
Другой интересный случай — обработка файла, содержащего числовые значения, специализированными программами для получения высококачественной графики. Это могут быть как распространенные пакеты деловой графики, так и пакеты, предназначенные для научных исследований. Так, график, изображенный на рис. 5.9, был построен при помощи программы SigmaPlot, разработанной компанией SPSS Science, с использованием короткой записи сигнала, полученного от функционального генератора.
Рис. 5.9. Результат обработки данных специализированной программой
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЧАСТНОГО ПРИМЕНЕНИЯ
Этот раздел можно назвать главным во всей книге: именно в нем рассказывается, как решать практически любые задачи, связанные со сбором данных при низких частотах дискретизации. Модульная структура нижеприведенных программ на языке BASIC или языке TurboPASCAL позволяет адаптировать их к новым задачам, изменяя лишь несколько строк.
На рис. 5.10 представлена структура, по которой будут строиться готовые к работе приложения.
Рис. 5.10. Общая структура прикладных программ, рассматриваемых в книге
В начале программы находится драйвер, соответствующий выбранному АЦП — либо готовому, либо собранному самостоятельно по описанию, которое приведено в этой книге. Каждый драйвер был написан в соответствии со спецификациями, представленными изготовителями используемых компонентов, причем особое внимание уделялось временным диаграммам протоколов связи. Драйверы можно рассматривать как ПО, поставляемое «под ключ», но допустимо также модифицировать в самых разных целях.
Первый блок каждого драйвера (строки 10–90) проводит инициализацию последовательного или параллельного порта, используемого для связи, и обеспечивает подачу напряжения питания на подключенный к нему АЦП. Блок заканчивается командой GOTO 200, передающей управление собственно прикладной программе (строки 200–290). Эта программа универсальна, она зависит только от выполняемой задачи, но ни в коей мере — от применяемого АЦП. Поэтому заменить драйвер при смене АЦП (например, при переходе от 8-разрядного к 12-разрядному) очень просто.
Прикладная программа может сама обращаться ко второму блоку драйвера (строки 100–190) настолько часто, насколько требуется. Эта часть драйвера отвечает за выполнение одного — и только одного — аналого-цифрового преобразования и за размещение результата (величины напряжения в диапазоне от 0 до 5 В) в переменной D. Только прикладная программа определяет, с какой скоростью будут проводиться преобразования, надо ли комбинировать полученные значения перед выводом результата и каков будет способ обработки результата (цифровое табло, построение кривой, запись на диск, включение сигнала и т. п.).
Если не хватит места между строками 200 и 290 программы, можно поместить оператор GOTO в строке 290, что позволит продолжать работу, например, со строки 2000. Еще одна зарезервированная область, начиная со строки 300, предназначена для операторов вывода графики. Блок между строками 300 и 490 отведен для операторов инициализации экрана (выбор графического режима, построение координатной сетки, определение цветов и т. п.) Процедура вывода результатов на экран начинается со строки 500. Именно прикладная программа (строки 200–290) будет в нужный момент вызывать графическую подпрограмму командой GOSUB 500.
Очевидно, что понадобится использовать графические процедуры, предназначенные для каждого из экранных режимов (CGA, VGA и т. п.), хотя режим CGA, например, без проблем (и даже с некоторыми преимуществами) поддерживается всеми современными графическими платами.
Драйверы для 8-разрядных АЦП
На сервере www.dmk.ru содержатся драйверы для четырех 8-разрядных АЦП:
• АЦП АDС 10 компании PICO Technology;
• версия АЦП на базе TLC 549 (рис. 4.1, 4.3);
• версия АЦП на базе МАХ 1243 (рис. 4.6);
• версия АЦП на базе TLC 549 (рис. 4.13, 4.14).
Заметим, что хотя АЦП ADC 10 и собран на базе TLC 549, он требует особого драйвера, так как подключается к параллельному порту. Вполне логично, что версия драйвера для ADC 10 на языке BASIC называется ADC10.BAS.
10 REM — ADC 10 —
20 KEY OFF: CLS
30 B=&H378: REM LPT1:
40 N=8: REM число разрядов
50 OUT В, 2
60 FOR T=0 TO 100: NEXT T
70 OUT B,254
80 FOR T=0 TO 500: NEXT T
90 GOTO 200
100 OUT B,252: D=0: REM получение данных
110 FOR F=0 TO N-1
120 OUT B,253
130 E=INP(B+1) AND 128
140 OUT B,252
150 IF E=0 THEN D=D+2^(N-1-F)
160 NEXT F
170 D=5*D/(2^N-1)
180 OUT B,2: RETURN
190 REM (c) 1997 Patrick GUEULLE
Шестнадцатеричная величина 378 в строке 30 предполагает, что ADC 10 подключен к параллельному порту LPT1. Чтобы подключить ADC 10 к порту LPT2 (если таковой имеется), надо заменить эту величину на 278 или на любую другую величину, соответствующую установкам BIOS используемого компьютера.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.