- •Федеральное агентство по образованию
- •Проектирование цифровых измерительных устройств
- •Удк 621.317.7 (075) ббк 34.9я73
- •Удк 621.317.7 (075) ббк 34.9я73
- •Введение
- •1. Основные определения
- •Контрольные вопросы
- •2. Циу с квантованием по уровню
- •2.1. Вольтметр на основе времяимпульсного ацп однотактного интегрирования
- •2.2. Времяимпульсный вольтметр на основе ацп двухтактного интегрирования
- •2.3. Вольтметр на основе ацп - преобразования
- •2.4. Вольтметр частотно-импульсного преобразования с пнч
- •Пнч с заданным тактом (пнч зт)
- •Пнч с заданной амплитудой (пнч за)
- •Пнч с заданным интегралом непрямоугольного компенсирующего импульса (пнч зи)
- •2.5. Вольтметры уравновешивающего преобразования (кодоимпульсные вольтметры)
- •2.5.1. Вольтметр развертывающего уравновешивания с рсо
- •2.5.2. Вольтметр развертывающего уравновешивания с нсо
- •2.5.3. Вольтметры следящего уравновешивания
- •2.5.4. Вольтметр следящего уравновешивания с рсо
- •2.5.5. Вольтметр следящего уравновешивания с нсо
- •2.6. Вольтметр на основе ацп параллельного преобразования
- •2.7. Ацп конвейерного типа
- •2.8. Краткая информация об интегральных ацп
- •Контрольные вопросы
- •3. Циу с квантованием по времени
- •3.1. Цифровые частотомеры
- •3.1.1. Частотомер непрерывного преобразования
- •3.1.2. Цифровой частотомер средних значений
- •3.1.3. Цифровой частотомер номинальных значений
- •3.1.4. Цифровой процентный частотомер
- •3.2.1. Цифровой периодомер мгновенных значений
- •Цифровой периодомер мгновенных значений (цпмз) предназначен для реализации измерения за один период входного сигнала. Один из вариантов реализации структурной схемы цпмз приведен на рис. 3.6.
- •Порядок расчета структуры
- •3.2.2. Цифровой периодомер средних значений
- •3.3. Цифровые измерители длительности импульсов
- •3.3.1. Общие сведения о цифровых измерителях длительности импульсов
- •3.3.2. Расширение длительности импульсов
- •3.3.3. Использование нониусного метода для измерения длительности импульсов
- •3.3.4. Аналого-цифровой измеритель длительности одиночных импульсов
- •3.4. Цифровые фазометры
- •3.4.1. Цифровой фазометр мгновенных значений
- •Значение кванта или абсолютной погрешности квантования
- •Для расширения частотного диапазона цфмз используют два основных способа.
- •1. Применение гоч с управляемой выходной частотой, например, на базе умножителя частоты (уч) с петлей фапч.
- •2. Применение гоч с аналого-цифровым управлением
- •3.4.2. Цифровой фазометр средних значений
- •Контрольные вопросы
- •4. Измерение параметров элементов электрических цепей
- •4.1. Измерение емкости и индуктивности
- •4.2. Измерение добротности
- •5. Автоматическое переключение пределов измерения в циу
- •6. Циу пространственного преобразования
- •6.1. Циу линейных перемещений
- •6.1.1. Циу линейных перемещений контактного типа
- •6.1.2. Циу линейных перемещений с оптическим преобразователем
- •6.1.3. Числоимпульсный метод измерения перемещения
- •6.1.4. Измерители больших перемещений (расстояния)
- •6.1.5. Измерители угловых перемещений
- •Контрольные вопросы
- •7. Преобразователи код – напряжение
- •7.1. Пкн на основе управляемого делителя напряжения последовательного типа
- •7.2. Пкн на основе управляемого делителя напряжения параллельного типа
- •7.3. Пкн с суммированием напряжений на основе сетки резисторов
- •7.4. Пкн с суммированием токов
- •7.4.1. Пкн на основе матрицы резисторов с весовыми коэффициентами
- •7.4.2. Пкн на основе резистивной матрицы r-2r
- •7.5. Краткая информация об интегральных цап
- •Контрольные вопросы
- •8. Устройства индикации цифровых приборов
- •Индикаторные панели
- •9. Интерфейсы связи цифровых приборов с эвм и другими циу
- •9.1. Применение последовательного интерфейса rs232
- •9.2. Применение параллельного интерфейса ieee1284
- •9.3. Применение однопроводной шины dallas
- •9.4. Применение двухпроводной шины i2c
- •Контрольные вопросы
- •10. Элементы микропроцессорной техники в циу
- •10.1. Общие сведения о микроконтроллерах семейства piCmicro
- •Ядро микроконтроллера
- •Порты ввода-вывода
- •Периферийные модули
- •10.2. Примеры применения микроконтроллеров piCmicro
- •10.2.1. Устройство управления четырьмя светодиодами
- •10.2.2. Управление жки с помощью последовательного адаптера
- •10.3. Общие сведения о микроконтроллерах семейства avr
- •10.4. Примеры применения микроконтроллеров avr
- •10.4.1. Ик дальномер
- •Библиографический список
- •Оглавление
10.4. Примеры применения микроконтроллеров avr
10.4.1. Ик дальномер
Точное дистанционное измерение расстояния, например, до цели, всегда являлось одной из востребованных задач. Поэтому в качестве примера использования МК AVR рассмотрим ИК дальномер. Принципиальная схема ИК дальномера, выполненная на базе МК ATtiny12L, приведена на рис. 10.6.
В данной схеме ИК излучатель (LED1) – любой светодиод, работающий в ИК диапазоне, желательно ближе к 950 нм.
Светодиод управляется сигналом от контроллера по линии РВ4. Если светодиод имеет прямой ток до 20 мА, то можно включить его прямо на выход МК; если же нет, то, как и в нашем случае, следует поставить транзистор (V1) в качестве ключа. Какой именно транзистор – не важно, лишь бы он был n-p-n типа и был рассчитан на тот же ток, что и выбранный вами светодиод. Резистор R2 надо поставить таким, чтобы ток через светодиод не превышал допустимый для данной модели.
ИК приемник (IF1) – TSOP1736. Сигнал с него поступает непосредственно на вход МК (линия РВ3). В отсутствие подходящего ИК сигнала на выходе приемника присутствует высокий логический уровень, а при появлении сигнала проходит импульс низкого уровня.
Обратите внимание: для "ответственных" приложений контроллер и ИК приемник лучше включать в соответствии с рекомендациями изготовителей, а керамический конденсатор примерно в 100 нФ рядом с вводами питания контроллера – вещь во всех случаях обязательная.
Индикатором в нашем случае служит "обычный" светодиод LED2, подключенный на линию РВ0 контроллера последовательно с токоограничивающим резистором.
Разъем J1 используется для подключения программатора. Питание +5 В подается на клемму VCC и "землю".

Рис. 10.6. Принципиальная схема ИК дальномера
Ниже приводится текст программы управления ИК дальномером.
;******************************************************************;
* ИК-локатор: ИК-светодиод на PB4 дает пачки импульсов с частотой;
* около 36 кГц, а TSOP1736 на PB3 их отслеживает;
* ;
* MCU: ATtiny12@1MHz (c) RoboClub 2003 ;******************************************************************
|
.include "tn12def.inc" |
| |
|
rjmp |
RESET |
;ручной сброс |
|
;* Объявление переменных | ||
|
.def |
t1 = r1 |
;счетчик для "длинных" задержек |
|
.def |
temp = r19 |
;счетчик времени задержки |
|
.def |
count = r20 |
;счетчик числа импульсов в пачке |
|
;* Определения |
| |
|
.equ |
led = 0 |
;LED на PB0 |
|
.equ |
tsop = 3 |
;TSOP на PB3 |
|
.equ |
ir_led = 4 |
;IR LED на PB4 |
|
|
|
|
|
;* Начало кода |
| |
|
RESET: |
|
|
|
sbi |
DDRB, led |
;подключаем LED на выход PORTB линия 5 |
|
sbi |
DDRB, ir_led |
;подключаем IR LED на выход PORTB линия 3 |
|
cbi |
DDRB, tsop |
;подключаем TSOP на вход PORTB линия 2 |
|
sbi |
PORTB,tsop |
;включаем "подтяжку" |
|
;* Задание значений |
| |
|
.equ |
TIME1 = 4 |
;длительность импульса |
|
.equ |
TIME2 = 5 |
;задержка между импульсами |
|
.equ |
TIME3 = 20 |
;задержка между пачками импульсов |
|
.equ |
COUNT = 10 |
;число импульсов в пачке |
|
; Главный цикл программы | ||
|
;******************************************************************; | ||
|
START: |
|
|
|
Ldi |
count, COUNT |
;загружаем в счетчик число импульсов в пачке |
|
; Цикл выдачи пачки импульсов | ||
|
FLASH: |
|
|
|
cbi |
PORTB, ir_led |
;зажигаем IR LED |
|
ldi |
temp, TIME1 |
;загружаем в temp длительность импульса |
|
DELAY1: |
|
|
|
dec |
temp |
;уменьшаем на единицу temp, пока |
|
brne |
DELAY1 |
;не станет равным 0 |
|
sbi |
PORTB, ir_led |
;гасим IR LED |
|
ldi |
temp, TIME2 |
;загружаем в temp длительность паузы между |
|
|
импульсами | |
|
DELAY2: |
|
|
|
dec |
temp |
;уменьшаем на единицу temp, пока |
|
brne |
DELAY2 |
;не станет равным 0 |
|
dec |
count |
;уменьшаем на 1 счетчик числа импульсов |
|
brne |
FLASH |
;если не 0, то посылаем следующий импульс |
|
|
|
;когда пачка импульсов выдана - проверяем, |
|
есть ли сигнал от TSOP | ||
|
sbis |
PINB, tsop |
;если уровень на выходе TSOP низкий |
|
(т.е. сигнал есть), | ||
|
rjmp |
LEDON |
;то идем зажигать LED, |
|
cbi |
PORTB, led |
;иначе гасим LED |
|
rjmp |
WAIT_NEXT |
;и переходим к ожиданию следующей пачки |
|
LEDON: |
|
|
|
sbi |
PORTB, led |
;гасим LED |
|
; Задержка перед следующей пачкой импульсов | ||
|
WAIT_NEXT: |
| |
|
clr |
t1 |
;сбрасываем t1 (т.е. t1=0 или, что то же: t1=256) |
|
ldi |
temp, TIME3 |
;устанавливаем число задержек |
|
DELAY3: |
|
|
|
dec |
t1 |
;задержка по счетчику t1 от 256 до 0 |
|
brne |
DELAY3 |
;т.е. 2563 тактов |
|
dec |
temp |
;повторяем TIME3 раз задержку по t1 |
|
brne |
DELAY3 |
;т.е. всего (TIME32563 + TIME33) тактов |
|
rjmp |
START |
;переходим к началу главного цикла |
|
END |
|
|
