<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A%2F%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_04-88%2F%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%B5%D1%82%D1%80</id>
	<title>Радио-86РК/Радио 04-88/Программа-мультиметр - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A%2F%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_04-88%2F%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%B5%D1%82%D1%80"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_04-88/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%B5%D1%82%D1%80&amp;action=history"/>
	<updated>2026-05-04T03:51:35Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_04-88/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%B5%D1%82%D1%80&amp;diff=1019&amp;oldid=prev</id>
		<title>Panther: http://retro.h1.ru/RK86/Multim/Multimet.php</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_04-88/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%B5%D1%82%D1%80&amp;diff=1019&amp;oldid=prev"/>
		<updated>2008-09-12T13:42:53Z</updated>

		<summary type="html">&lt;p&gt;http://retro.h1.ru/RK86/Multim/Multimet.php&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=А. ДОЛГИЙ|Источник= http://retro.h1.ru/RK86/Multim/Multimet.php}}&lt;br /&gt;
&lt;br /&gt;
Современные измерительные приборы все чаще строят по принципу:&lt;br /&gt;
преобразователь измеряемой величины в цифровой код — индикаторное устройство&lt;br /&gt;
— устройство управления — микропроцессорный контроллер. Наличие «разумного»&lt;br /&gt;
контроллера улучшает многие эксплуатационные и метрологические характеристики&lt;br /&gt;
прибора. Вычислительные возможности микропроцессоров позволяют использовать&lt;br /&gt;
косвенные методы измерений, требующие для получения окончательного результата&lt;br /&gt;
выполнения большого числа математических операций. Новые приборы способны «самостоятельно» учесть и скомпенсировать нелинейность датчиков измеряемой величины. По плечу им и такие функции (требовавшие ранее значительного усложнения схемы прибора, а теперь сравнительно просто реализуемые программно), как автоматический выбор пределов измерения, коррекция погрешностей и калибровка, статистическая обработка результатов нескольких измерений и представление их в наиболее наглядном виде.&lt;br /&gt;
&lt;br /&gt;
В лаборатории радиолюбителя функции контроллера измерительного&lt;br /&gt;
прибора с успехом может взять на себя РК: управление процессом измерения будет&lt;br /&gt;
вестись с его клавиатуры, а результаты — выводиться на экран дисплея.&lt;br /&gt;
&lt;br /&gt;
При измерении длительности импульсов или частоты сигнала измерителем&lt;br /&gt;
может служить сам компьютер. Каждую машинную команду он выполняет за вполне&lt;br /&gt;
определенное число периодов тактовой частоты (тактов). Подав измеряемый сигнал&lt;br /&gt;
(преобразованный предварительно в стандартные логические уровни) на один из&lt;br /&gt;
входов порта ввода и запустив программу, периодически проверяющую состояние&lt;br /&gt;
этого порта, можно подсчитать число машинных тактов за период сигнала. Умножив&lt;br /&gt;
это число на длительность такта, нетрудно определить длительность периода, а&lt;br /&gt;
по нему и частоту сигнала.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь, как составить такую программу. Компьютер «Радио-86РК»&lt;br /&gt;
выполнен на базе микропроцессора КР580ИК80А. Сведения о числе тактов, требующихся&lt;br /&gt;
для выполнения команд этим микропроцессором, можно найти, например, в [1]. Длительность&lt;br /&gt;
одного такта в РК равна 0,5625 мкс, однако измерение интервалов времени осложнено&lt;br /&gt;
тем, что выполнение машинных команд периодически приостанавливается для пересылки&lt;br /&gt;
данных из ОЗУ в контроллер дисплея. Данные пересылаются без участия микропроцессора&lt;br /&gt;
в так называемом режиме прямого доступа к памяти (ПДП). Одновременно с этим&lt;br /&gt;
процессом происходит и регенерация информации, записанной в динамическом ОЗУ.&lt;br /&gt;
Контроллер ПДП синхронизирован от того же кварцевого генератора, что и процессор,&lt;br /&gt;
однако точный учет времени выполнения группы команд в этом случае очень сложен.&lt;br /&gt;
Поэтому при (формировании и измерении интервалов времени) контроллер ПДП приходится&lt;br /&gt;
отключать, а регенерацию обеспечивать другими средствами. Именно из-за отключения&lt;br /&gt;
ПДП гаснет экран дисплея РК при выполнении директив работы с магнитофоном.&lt;br /&gt;
&lt;br /&gt;
Программа, превращающая радиолюбительский&lt;br /&gt;
компьютер в частотомер-мультиметр, приведена в [[/Таблица 1|табл.1]]. Она написана на БЕЙСИКе&lt;br /&gt;
и снабжена подробными комментариями (при вводе в РК их, естественно, можно опустить),&lt;br /&gt;
поясняющими ее работу. Работа с программой очень проста. Достаточно запустить&lt;br /&gt;
ее директивой RUN, подать на магнитофонный вход компьютера сигнал, частоту или&lt;br /&gt;
период которого нужно измерить (или выходной сигнал преобразователя «измеряемая&lt;br /&gt;
величина — частота»), и после каждого нажатия на соответствующую клавишу на&lt;br /&gt;
экран дисплея будут выводиться измеренные значения.&lt;br /&gt;
&lt;br /&gt;
В основу предлагаемой программы положена подпрограмма в машинных&lt;br /&gt;
кодах, выполняющая измерение периода сигнала. В [[/Таблица 2|табл.2]] приведен ее текст&lt;br /&gt;
на языке АССЕМБЛЕРа. Выполнение подпрограммы начинается с записи в стек&lt;br /&gt;
содержимого регистров микропроцессора и запоминания значения указателя стека.&lt;br /&gt;
Затем в ОЗУ формируется массив адресов возврата длиной 128 байт. По окончании&lt;br /&gt;
формирования указатель стека содержит адрес первой ячейки массива, а в регистр&lt;br /&gt;
С записывается код 00Н. Подготовительные операции заканчиваются очисткой регистровой&lt;br /&gt;
пары DE, записью адреса порта ввода, на который поступает измеряемый сигнал,&lt;br /&gt;
в регистровую пару HL и записью состояния этого порта в аккумулятор.&lt;br /&gt;
&lt;br /&gt;
В цикле, начинающемся меткой М2 и заканчивающемся командой JZ&lt;br /&gt;
М2, процессор периодически проверяет, не изменилось ли состояние порта. Для&lt;br /&gt;
сокращения длительности цикла (это важно для увеличения верхней границы диапазона&lt;br /&gt;
измеряемых частот и повышения точности измерения) здесь и далее не анализируется,&lt;br /&gt;
в каком именно разряде порта произошло изменение. Поэтому безразлично, на какой&lt;br /&gt;
именно разряд порта подан сигнал, лишь бы состояния других разрядов за время&lt;br /&gt;
измерения не менялись. В описываемом варианте предполагается, что сигнал подан&lt;br /&gt;
на вход, предназначенный для подключения магнитофона, то есть на порт С микросхемы&lt;br /&gt;
D20 компьютера.&lt;br /&gt;
&lt;br /&gt;
Как только состояние порта изменилось, выполняются команды, запрещающие&lt;br /&gt;
работу контроллера ПДП, и происходит переход к метке Ц2, с которой начинается&lt;br /&gt;
цикл измерения. Здесь вновь проверяется состояние порта. Если оно не отличается&lt;br /&gt;
от прежнего, записанного в регистре В, то команда RZ считывает из массива адресов&lt;br /&gt;
возврата адрес команды, отмеченной меткой Ц2. В результате выполняется переход,&lt;br /&gt;
и цикл повторяется с периодом в 22 такта, так как во всех ячейках массива (кроме&lt;br /&gt;
двух последних) записан один и тот же адрес.&lt;br /&gt;
&lt;br /&gt;
Когда указатель стека, значение которого увеличивается на 2 при&lt;br /&gt;
каждом выполнении команды возврата, достигнет двух последних ячеек массива,&lt;br /&gt;
в которых записан адрес Ц1, следующий цикл начнется с установки указателя стека&lt;br /&gt;
на начало массива и увеличения на единицу числа в регистровой паре DE. Таким&lt;br /&gt;
образом, происходит периодическое обращение к 128 последовательным ячейкам ОЗУ,&lt;br /&gt;
что и необходимо для регенерации его содержимого. Циклы регенерации подсчитываются&lt;br /&gt;
в регистровой паре DE. Длительность каждого из них около 800 мкс.&lt;br /&gt;
&lt;br /&gt;
Если состояние порта за время между проверками изменилось, то&lt;br /&gt;
перехода по команде RZ не произойдет. Новое состояние порта будет записано в&lt;br /&gt;
регистр В. Значение счетчика изменений состояния (в регистре С) будет уменьшено&lt;br /&gt;
на единицу, и если оно после этого не станет равным нулю, команда RNZ считает&lt;br /&gt;
из массива очередной адрес возврата и цикл продолжится. Так как начальное значение&lt;br /&gt;
в регистре было нулевым, то вновь оно станет таким же после 256-го изменения&lt;br /&gt;
состояния порта, то есть через 128 периодов входного сигнала.&lt;br /&gt;
&lt;br /&gt;
После окончания измерения в ОЗУ записываются числа N1 и N2. Первое&lt;br /&gt;
из них равно числу полных циклов регенерации, выполненных за время измерения.&lt;br /&gt;
Второе — удвоенному числу проверок состояния порта в последнем (незаконченном)&lt;br /&gt;
цикле регенерации. Зная эти числа, можно найти средний период входного сигнала&lt;br /&gt;
в микросекундах по формуле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Т=0,5625 * (30,4+0,086 * N2+11,142 * N1).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подпрограмма измерения заканчивает свою работу восстановлением&lt;br /&gt;
значения указателя стека и состояния регистров микропроцессора. Затем вызывается&lt;br /&gt;
подпрограмма МОНИТОРА, запускающая контроллер ПДП и восстанавливающая изображение&lt;br /&gt;
на экране дисплея. Вычисление периода по приведенной выше формуле происходит&lt;br /&gt;
уже в программе на БЕЙСИКе. Частота сигнала вычисляется как величина, обратная&lt;br /&gt;
периоду.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:MultmP1.png|thumb|right|200px]]&lt;br /&gt;
Следует помнить, что источник сигнала при подключении к компьютеру&lt;br /&gt;
оказывается, шунтирован конденсатором С6, находящимся на процессорной плате.&lt;br /&gt;
Если это недопустимо, конденсатор можно удалить. Кроме того, желательно увеличить&lt;br /&gt;
постоянную времени цепи C5 R30, заменив конденсатор другим с емкостью несколько&lt;br /&gt;
микрофарад. Это увеличит чувствительность магнитофонного входа к сигналам низких&lt;br /&gt;
частот. Примерный&lt;br /&gt;
график зависимости среднеквадратической погрешности измерения от частоты сигнала&lt;br /&gt;
показан на рис.1. На частотах выше 20 кГц появляется и нарастает вероятность&lt;br /&gt;
пропуска программой момента изменения уровня входного сигнала, из-за чего погрешность&lt;br /&gt;
резко увеличивается. Ниже частоты 1 кГц погрешность определяется в основном&lt;br /&gt;
точностью вычислений, выполняемых интерпретатором БЕЙСИКа. При вычислении без&lt;br /&gt;
округления промежуточных результатов погрешность продолжала бы уменьшаться с&lt;br /&gt;
уменьшением частоты, как показано на рисунке пунктирной линией. Минимальная&lt;br /&gt;
измеряемая частота примерно равна 2,5 Гц. При меньшей частоте в процессе измерения&lt;br /&gt;
переполнится регистровая пара DE, что вызовет грубую ошибку.&lt;br /&gt;
&lt;br /&gt;
Диапазон измеряемых частот легко сдвинуть вверх по оси частот.&lt;br /&gt;
Для этого между источником сигнала и компьютером следует включить предварительный&lt;br /&gt;
делитель частоты. Максимальная и минимальная измеряемые частоты увеличатся в&lt;br /&gt;
число раз, равное коэффициенту деления. Относительная погрешность измерения&lt;br /&gt;
останется прежней. Не забудьте учесть коэффициент деления в расчетных формулах!&lt;br /&gt;
&lt;br /&gt;
Имея в своем распоряжении инструмент для измерения частоты, можно&lt;br /&gt;
измерять любые другие электрические и неэлектрические величины, если они могут&lt;br /&gt;
быть, преобразованы в частоту. Например, для измерения напряжения достаточно&lt;br /&gt;
изготовить преобразователь «напряжение — частота». При достаточно высокой точности&lt;br /&gt;
(соответствующей 12…14 двоичным разрядам) он значительно проще преобразователя&lt;br /&gt;
«напряжение — код» и не содержит дефицитных деталей. Схемы преобразователей&lt;br /&gt;
«напряжение — частота» неоднократно публиковались на страницах журнала2 [23-455].&lt;br /&gt;
Нужно, только подобрать времязадающие элементы так, чтобы при изменении измеряемого&lt;br /&gt;
напряжения в заданных пределах частота выходного сигнала преобразователя не&lt;br /&gt;
выходила из рабочего диапазона частотомера. Если диапазон частот преобразователя&lt;br /&gt;
сильно отличается от диапазона, измеряемого компьютером, можно использовать&lt;br /&gt;
предварительный делитель частоты.&lt;br /&gt;
&lt;br /&gt;
В программе предусмотрены коррекция нуля и калибровка вольтметра.&lt;br /&gt;
В расчетных формулах учитываются результаты этих операций. Калибровка может&lt;br /&gt;
выполняться автоматически, если на входе преобразователя установить коммутатор,&lt;br /&gt;
который будет по командам компьютера соединять вход с общим проводом или с источником&lt;br /&gt;
образцового напряжения, а в программе предусмотреть подачу таких команд, например,&lt;br /&gt;
через порты микросхемы D14 компьютера.&lt;br /&gt;
&lt;br /&gt;
Для измерения электрического сопротивления и емкости можно использовать&lt;br /&gt;
практически любой RC-генератор, во времязадающую цепь которого включается измеряемый&lt;br /&gt;
резистор или конденсатор, а выходной сигнал подается на компьютер. Основное&lt;br /&gt;
требование к генератору — точно известная функциональная зависимость между параметрами&lt;br /&gt;
времязадающей цепи и частотой.&lt;br /&gt;
&lt;br /&gt;
Хорошие&lt;br /&gt;
результаты дает мультивибратор, схема которого приведена на рис.2. Конденсатор&lt;br /&gt;
Сх подключают, как показано на схеме, в том случае, если он неполярный. У оксидного&lt;br /&gt;
конденсатора обкладку, которая на схеме показана соединенной с общим проводом,&lt;br /&gt;
необходимо подключить к источнику питания положительной или отрицательной полярности&lt;br /&gt;
(в соответствии с полярностью конденсатора). При изменении Rx и Сх в широких&lt;br /&gt;
пределах частота колебаний равна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
F=1/[2*Rх*Cх*ln(1+2*R1/R2)].&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В генераторе может быть использован практически любой операционный&lt;br /&gt;
усилитель, однако меньшее отклонение генерируемой частоты от расчетной (по приведенной&lt;br /&gt;
формуле) получается при использовании более высокочастотных усилителей с повышенным&lt;br /&gt;
сходным сопротивлением (например, К140УД8, К574УД1).&lt;br /&gt;
&lt;br /&gt;
Чтобы избавиться от необходимости знать точные значения времязадающих&lt;br /&gt;
элементов, в предлагаемой программе использован метод сравнения с эталоном.&lt;br /&gt;
Измерение частоты колебаний генератора повторяют дважды: с образцовым элементом&lt;br /&gt;
(например, сопротивлением) и с тем, величина которого неизвестна. Конденсатор&lt;br /&gt;
Сх, разумеется, в обоих случаях должен использоваться один и тот же. Неизвестное&lt;br /&gt;
сопротивление находится из простого соотношения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rх=R0*F0/Fx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где R0- сопротивление образцового резистора, F0, Fx — значения&lt;br /&gt;
частоты колебаний мультивибратора, измеренные соответственно с образцовым и&lt;br /&gt;
с неизвестным сопротивлениями. Для упрощения вычислений в программе отношение&lt;br /&gt;
частот заменено отношением периодов (в машинных тактах). Так же измеряют и емкость&lt;br /&gt;
конденсаторов. Переключение с измеряемого элемента на образцовый можно делать&lt;br /&gt;
автоматически, предусмотрев для этого коммутатор, управляемый компьютером.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;Если вместо Rx включить терморезистор или фоторезистор, то&lt;br /&gt;
можно измерять температуру или освещенность. Например, при включении терморезистора&lt;br /&gt;
для определения температуры (в градусах Цельсия) необходимо выполнить следующие&lt;br /&gt;
вычисления: &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
М=(Т1+273)/(Т2-Т1)* ln(F1/F2),&lt;br /&gt;
T=(Т1+273)/М*ln (F1/Fx)+Т1, &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
где&lt;br /&gt;
* F1 — частота колебаний при температуре T1,&lt;br /&gt;
* F2 — частота колебаний при температуре Т2,&lt;br /&gt;
* Fх — частота колебаний при измеряемой температуре.&lt;br /&gt;
&lt;br /&gt;
Терморезисторы даже одного типа имеют большой разброс параметров,&lt;br /&gt;
поэтому после изготовления преобразователя нужно измерить частоты колебаний&lt;br /&gt;
F1 и F2 с конкретным экземпляром терморезистора при двух разных температурах,&lt;br /&gt;
например, при нуле и 100 °C. Полученные значения записывают в программу как&lt;br /&gt;
константы.&lt;br /&gt;
&lt;br /&gt;
А. ДОЛГИЙ, г. Москва&lt;br /&gt;
&lt;br /&gt;
[[Категория:Радио-86РК/Публикации|29]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>