Как превратить персональный компьютер в измерительный комплекс
Как превратить персональный компьютер в измерительный комплекс читать книгу онлайн
Книга Патрика Гёлля «Как превратить персональный компьютер в измерительный комплекс» позволяет создать на базе IBM PC-совместимого персонального компьютера систему сбора и обработки информации о различных физических процессах. Тем самым ПК превращается в мощный измерительный прибор. Область применения виртуального измерительного комплекса шире, чем у обычного измерительного прибора, поскольку виртуальный комплекс можно перепрограммировать и оптимизировать для конкретных задач.
В книге рассказывается о создании системы сбора и обработки данных, состоящей из датчиков физических величин (тока, давления, температуры и т. д.), интерфейсного устройства (как правило, аналого-цифрового преобразователя) и программных средств, позволяющих обрабатывать и интерпретировать собранную информацию. Схемы и рекомендации, приведенные в книге, позволяют собрать все рассмотренные устройства самостоятельно. Программное обеспечение и драйверы устройств, находящиеся на сервере www.dmk.ru, позволяют сразу перейти к разработке информационной системы, даже если у вас нет практических навыков в области радиоэлектроники. Современные технические и программные решения, предлагаемые автором книги, надежны и проверены на практике. Они, без сомнения, будут полезны всем, кто разрабатывает дешевые и экономичные системы сбора и обработки информации.
Книга предназначена для специалистов в различных областях (радиоэлектроника, акустика, геофизика, термодинамика и т. д.) и радиолюбителей, а также для преподавателей физики и информатики школ и высших учебных заведений.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Шестнадцатеричная величина 3F8 в строке 30 предполагает, что устройство подключено к последовательному порту СОМ1. Чтобы иметь возможность использовать COM2 вместо СОМ1, надо заменить эту величину на 2F8, а при использовании COM3 или COM4 рекомендуется предварительно проверить установки BIOS по экрану настройки SETUP, выводимому на дисплей при включении ПК.
Версия на языке TurboPASCAL называется MAXIM8.PAS и также включает небольшую прикладную часть, выводящую на экран результаты двадцати измерений.
program maxim.8;
uses crt;
var n,f,e: byte;
b,g: integer;
d: real;
procedure init;
begin
b:=$3F8; n:=8;
port[b+4]:=1;
delay(100);
port[b+3]:=64
delay(500);
end;
procedure acquisition;
begin
port[b+4]:=0; d:=0;
port[b+4]:=2;port[b+4]:=2;
port[b+4]:=2;port[b+4]:=0;
for f: =0 to n-1 do
begin
port[b+4]:=2;
e:=port[b+6] and 16;
port[b+4]:=0;
if e=16 then d:=d+exp((n-1-f)*ln(2))
end;
d: = (5*d)/(exp((n)*ln(2)) -1);
port[b+4]:=1;
end;
procedure affiche;
begin
acquisition;
d: = (int(100*d))/100;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
Драйвер на языке BASIC, предназначенный для устройств на базе TLC 549 (рис. 4.1 и 4.13), называется 8BITS.BAS. Он также предназначен для работы с последовательным портом СОМ 1 (3F8h).
10 REM — 8BITS —
20 KEY OFF: CLS
30 B=&H3F8: REM COM1:
40 N=8: REM число разрядов
50 OUT B+4,1
60 FOR T=0 TO 100: NEXT T
70 OUT B+3,64
80 FOR T=0 TO 500: NEXT T
90 GOTO 200
100 OUT B+4,0: D=0: REM ACQUISITION
110 FOR F=0 TO N-1
120 OUT B+4,2
… В OCR-файле отсутствуют стр. 80, 81…
b:=$3F8; n:=10;
port[b+4]:=1;
delay(100);
port[b+3]:=64;
delay(500);
end;
procedure acquisition;
begin
port[b+4]:=0; d:=0;
for f:=0 to n-1 do
begin
port[b+4]:=2;
e:=port[b+6] and 16;
port [b+4]: =0;
if e=16 then d:=d+exp((n-1-f)*ln(2));
end;
d:=(5*d)/(exp((n)*ln(2))-1);
end;
procedure affiche;
begin
acquisition;
d:=(int(100*d))/100;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
Устройство на базе МАХ 1243 требует особого драйвера MAXIM10.BAS и также предназначено для работы с последовательным портом СОМ1 (3F8h).
10 REM — MAXIM10 —
20 KEY OFF: CLS
30 B=&H3F8: REM COM1:
40 N=10: REM число разрядов
50 OUT B+4,1
60 FOR T=0 TO 100: NEXT T
70 OUT B+3, 64
80 FOR T=0 TO 500: NEXT T
90 GOTO 200
100 OUT B+4,0: D=0: REM ACQUISITION
105 OUT B+4,2: OUT B+4,0
110 FOR F=0 TO N-1
120 OUT B+4,2
130 E=INP(B+6) AND 16
140 OUT B+4,0
150 IF E=16 THEN D=D+2^(N-1-F)
160 NEXT F
170 D=5*D/(2^N-1)
180 OUT B+4,1: RETURN
190 REM (c) 1997 Patrick GUEULLE
Его версия на языке TurboPASCAL называется MAXIM 10.PAS.
program dixbits;
uses crt;
var n,f,e: byte;
b,g: integer;
d: real;
procedure init;
begin
b:=$3F8; n:=10;
port[b+4]:=1;
delay(100);
port[b+3]:=64;
delay(500);
end;
procedure acquisition;
begin
port[b+4]:=0; d:=0;
for f:=0 to n-1 do
begin
port[b+4]:=2;
e:=port[b+6] and 16;
port[b+4]:=0;
if e=16 then d:=d+exp((n-1-f)*ln(2));
end;
d:=(5*d)/(exp((n)*ln(2))-1);
end;
procedure affiche;
begin
acquisition;
d:=(int(100*d))/100;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
На сервере www.dmk.ru содержатся драйверы для четырех 12-разрядных АЦП:
• АЦП ADC 12 компании PICO Technology;
• версия АЦП на базе LTC 1286 или ADS1286 (рис. 4.1,4.3);
• версия АЦП на базе МАХ 1241 (рис. 4.6);
• версия АЦП на базе LTC 1286 или ADS1286 (рис. 4.13,4.14).
Так как АЦП ADC12 собран на базе LTC 1292, он требует тактовой частоты не менее 100 кГц. В силу этого обстоятельства драйверы ADC12.BAS и даже ADC12.PAS следует с большой осторожностью использовать на старых и медленных ПК, поскольку в таком случае не всегда удается добиться результатов, которые может обеспечить АЦП ADC 10 при тех же условиях. Самая нежелательная ситуация возникает при исполнении программы в окне Windows, что еще больше замедляет работу по сравнению с выполнением непосредственно в DOS.
Иначе говоря, АЦП ADC 12 будет работать с полной отдачей только со своим программным обеспечением PICOSCOPE и PICO LOG, причем под DOS лучше, чем под Windows.
10 REM — ADC12 —
20 KEY OFF: CLS
30 B=&H378: REM LPT1:
40 N=12: REM число разрядов
50 OUT B,1
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 ACQUISITION
105 OUT B,254: OUT B,252
106 OUT B,254: OUT B,252
110 FOR F=0 TO N-1
120 OUT B,254
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,253: RETURN
190 REM (c) 1997 Patrick GUEULLE
program adc12;
uses crt;
var n,f,e: byte;
b,g: integer;
d: real;
procedure init;
begin
b:=$378; n:=12;
port[b]:=1;
delay(100);
port[b]:=254;
delay(500);
end;
procedure acquisition;
begin
port[b]:=0; d:=0;
port[b]:=254; port[b]:=252;
port[b]:=254; port[b]:=252;
for f:=0 to n-1 do
begin
port[b]:=254;
e:=port[b+1] and 128;
port[b];=252;
if e=0 then d;=d+exp((n-1-f)*ln(2));
end;
d;=(5*d)/(exp((n)*ln(2))-1);
port[b]:=253;
end;
procedure affiche;
begin
acquisition;
d:=(int(100*d))/100;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
Описанные в книге устройства, работающие через последовательный порт (рис. 4.3 и 4.6), не имеют такого ограничения и могут наилучшим образом использовать точность примененных в них высококачественных АЦП. Только версия с оптоизоляцией (рис. 4.13, 4.14) потребует определенной аккуратности, так как использование оптронов слегка ухудшает характеристики устройства в 12-разрядном режиме.
Из сказанного можно сделать вывод, что с АЦП LTC 1286 или ADS 1286 будут работать программы 12-BITS.BAS и 12-BITS.PAS, c учетом того, что для связи с ПК используется последовательный порт СОМ1 (адрес 3F8h в строке 30).