на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка устройства регистрации сигналов с датчиков

|Абсолютная погрешность преобразования в |-1…+1 ЕМР |

|конечной точке шкалы | |

|Время преобразования |< 30 мкс на частоте |

| |1,6МГц |

|Диапазон входных сигналов |–2.5…+2.5В |

|Напряжение смещения нуля на входе |-30…+30мВ |

|Изменение смещения нуля от температуры |не более 6мкВ/°С |

|Напряжение источника питания |4.5…6.5В |

|Опорное наряжение |-2.5…2.5В |

|Потребляемый ток |400мкА. |

4.2. Измерительный преобразователь

4.2.1. Усилитель заряда

Усилитель заряда строится на операционном усилителе. В измерительных

устройствах необходимо усиливать без искажения слабые электрические сигналы

с датчиков, сопровождаемые значительным уровнем синфазных, температурных и

других помех. Для этих целей используют прецензионные усилители, которые

обладают большим значением усиления, подавляют синфазный сигнал, малым

напряжением смещения нуля, малым уровнем шумов и большим входным

сопротивлением. Поэтому выбираем ОУ КР140УД17А.

Характеристики КР140УД17А:

|Коэффициент усиления |200(103 |

|Напряжение смещения нуля на входе |75мкВ |

|Напряжение источника питания |-15…+15В |

|Напряжение входное макс |15В |

|Входной ток |3.8нА. |

|Потребляемый ток |2мА |

Как известно: [pic], где Сд – импеданс датчика (у нас 1.5 нФ)

На РИС 3 показан усилитель заряда. Усилитель заряда представляет собою

фильтр высоких частот (ФВЧ) со своей частотой среза, которая должна

равняться нижней частоте нашего сигнала. Тогда выбор резистора R0 и

конденсатора C0 осуществляется из следующего соотношения:

[pic],

При этом должно выполняться условие fcp ( fн=2 Гц. Возьмём fcp=1Гц с целью

уменьшить искажения АЧХ в области низких частот.

С помощью усилителя заряда достигается передача сигнала с коэффициентом

передачи:

[pic]

Если Кп = 1, то С0 = 1.5 нФ, следовательно, R0 = 100 MОм.

В качестве С0 возьмем К10-43А-МП0-1.5 нФ. Максимальная амплитуда сигнала на

выходе УЗ составляет 0.4*Кп = 0.4В.

4.2.2. Масштабный усилитель

Масштабный усилитель служит для согласования амплитуды сигнала с

выхода УЗ с входным диапазоном АЦП. Построим его на операционном усилителе

К140УД17А в следующем включении (РИС 4).

Т.к. мы подаем на АЦП опорные потенциалы –2,5В и 2,5В , для удобства

выберем следующие диапазоны:

1) -0,5 В до +0,5 В (максимальная погрешность)

2) -0,75 В до +0,75 В

3) -1 В до +1 В

4) -1,25 В до +1,25 В

5) -1,5 В до +1,5 В

6) -1,75 В до +1,75 В

7) -2 В до +2 В

8) -2,5 В до +2,5 В (минимальная погрешность)

Коэффициент усиления задаётся резисторами R1, R2, R3, R4, R5, R6, R7, R8 и

R9:

[pic]

Т.о.: Кп1=1,25; Кп2=1,875; Кп3=2,5; Кп4=3,125; Кп5=4,375; Кп6=5; Кп7=5,625;

Кп8=6,25

Т.е.: R9/R1=0,25; R9/R2=0,875; R9/R3=1,5; R9/R4=2,125; R9/R5=3,375;

R9/R6=4; R9/R7=4,625; R9/R8=5,25;

Учитывая, что R3>Rнагр.ОУ = 2КОм, возьмем R9=10КОм, то

R1=40 КОм; R2=11,5 КОм; R3=6,7 КОм; R4=4,7 КОм; R5=3 КОм; R6=2,5 КОм;

R7=2,2 КОм; R8=1,9 КОм.

4.2.3. Интегрирующий усилитель

Интегрирование аналоговых сигналов осуществляется ОУ с емкостной ОС. В

этом случае выходное напряжение описывается выражением:

[pic], где U0=UВЫХ(t=0)–исходное выходное напряжение интегратора.

Основные составляющие ошибок интегрирования обусловлены напряжением

смещения нуля UСМ и входными токами ОУ. При UВХ=0 входные токи протекают

через конденсатор C2, заряжая его. Это приводит к появлению линейно

изменяющейся составляющей выходного напряжения. Кроме того, UСМ добавляется

к напряжению на конденсаторе, и, поскольку это напряжение равно UВЫХ, такая

прибавка вносит в результат ошибку, равную UСДВ.

Ошибку, вносимую входным током ОУ, можно уменьшить, если использовать

ОУ с полевыми транзисторами на входе и зашунтировать конденсатор в обратной

связи резистором R2.

Частота среза интегратора [pic]. Нижняя граница интегрирования

составляет [pic]. Таким образом, полоса частот, в которой возможно

интегрирование, [pic].

Найдем R1, R2, C2. Выберем C2=0.01 мкФ (К10-47А-МП0-0.01мкФ(5%), тогда

[pic](для уменьшения погрешности возьмем fН=1Гц). Будем использовать

резистор С2-29В-0.25-16МОм(0.5%. На частоте 6кГц [pic] Будем использовать

резистор С2-29В-0.25-2.7кОм(0.5%. Чтобы убрать постоянную составляющую,

введем разделительный конденсатор C1. Т.к. входное сопротивление равно R1,

то [pic], откуда [pic]. Для 1Гц C1=50мкФ. Будем использовать К50-16-16В-

100мкФ.

5. Интерфейс передачи данных.

На выбор способа передачи влияют в основном два фактора. Это

необходимая дальность и скорость передачи. Дальность определена в задании –

20м. Тогда как скорость передачи выбирается нами по собственному

усмотрению. Так как 20м – это расстояние на 5м превышающее предельно

допустимую дистанцию соединения ПЭВМ напрямую через COM порты, необходимо

выбрать другой способ передачи нежели стандартный. Наиболее простой и то же

время легко реализуемый – это интерфейс радиальный последовательный (ИРПС)

, который осуществляет к тому же гальваническую развязку компьютера от

объекта управления (см РИС 6.).

[pic]

РИС 6.

Реализацию интерфейса облегчает наличие серийно выпускаемых микросхем

гальванической развязки. Это микросхемы АОТ 127 и 249ЛП1. Рассчитаем

параметры “навесных” элементов:

Ток передачи рассчитывается как:

,

где U=5B

Ck = L*100пФ/м - емкость кабеля (L - длина линии связи). При расстоянии

20м: Ck=20м*100пФ/м=2нФ.

Длительность фронта t=T/10, где T длительность импульса.

При скорости передачи в 19200 бит/сек: T=1/19200=52мкс,

тогда t=52мкс/10=5.2мкс. Рассчитаем Iтп:

Наиболее близким стандартным значением

тока в интерфейсе ИРПС является Iтп=20мА.

[pic]

Выберем R1=200 Ом

Далее, для того чтобы транзистор не вошел в насыщение R3 должен быть

R3<0.1В/Iкбо

Iкбо?0,1мА, тогда R3<0.1В/Iкбо=0.1В/0.1мА=1кОм. Возьмем R3=500Ом

Е2 = 5В. Тогда R4=E2/Iтп=5В/20мА=250 Ом.

E2=UR4+UR5+UD4.

I2=10мА, UD4=1.5В.

E2=I2*R5+I2*R4+UD4, тогда R5=(E2-I2*R4-UD4)/I2,

R5=(5В-10мА*250Ом-1.5В)/10мА=100Ом.

R2=UR2/I1. I1=10мА.

UR2=E1-(0.5+UD), UD=1.5B. E1 возьмем 5В, тогда

UR2=5-(0.5+1.5)=3B. Тогда R2=3.1B/10мА=300 Ом.

5.1. Последовательный порт QSM

Для передачи данных мы будем использовать асинхронный

последовательный порт (АПП). Как только мы получим управляющее слово, это

будет для нас сигналом пользователя о начале работы. Когда пользователю

вздумается завершить работу, он пошлет пакет со всеми единицами во время

передачи данных от УРС в ЭВМ, когда связь ЭВМ(УРС запрещена. В АПП

микроконтроллера установится флаг прекращения обмена ТС и выполнится

программное прерывание, прекращающее работу устройства.

Управление портом производится с помощью регистров SCCR0, SCCR1,

SCSR, а данные считываются из SCDR. Нам нужно обеспечить следующие

характеристики передачи:

1. Передача производится на скорости 19.2 Кбит/с. В регистр SCCR0 при этом

записывается период следования синхроимпульсов (один синхроимпульс – один

бит) Tt = 32(Ks/Ft в виде коэффициента Ks. Частота Ft =25,17МГц, тогда Ks

будет равно 41.

2. Разрешаются прерывания при поступлении сигнала прекращения обмена

3. Устанавливается контроль четности

4. Размерность данных – 8 бит

5. Активизация приемника, находящегося в режиме холостого хода, при

поступлении управляющего слова.

После записи информации в регистры, приемник автоматически переводится в

режим «холостого хода» и ждет команды пользователя.

6. Программирование УРС.

6.1. Основная блок-схема программы

6.2. Формат данных

Назовем данные, которые будем передавать в ЭВМ – кадром. Так как

очередь у нас общая, а в ЭВМ необходимо установить принадлежность данных к

конкретному каналу, то в кадре должен присутствовать номер канала. Мы имеем

шестнадцать каналов, поэтому потребуется четыре бита Так как интерфейс

передачи - RS232C, то за один сеанс связи мы можем передать максимум 8 бит

информации.

6.2.1. Управляющее слово

Для запуска УРС необходимо передать выбранный диапазон и код уровня

контроля для каждого канала, поэтому управляющее слово имеет следующий

формат:

Первые четыре бита NC задают номер канала (1-16).

Три остальных бита из четырех задают диапазон от 1-8, при 8 обеспечивается

максимальная точность.

|Диапазон|Sw1 |Sw2 |Sw3 |

|1 |0 |0 |0 |

|2 |0 |0 |1 |

|3 |0 |1 |0 |

|4 |0 |1 |1 |

|5 |1 |0 |0 |

|6 |1 |0 |1 |

|7 |1 |1 |0 |

|8 |1 |1 |1 |

Семь из восьми бит отводится под указание кода контроля. В следующей

таблице приведено соответствие кода СС уровню контроля.

|Уровень|СС1 |СС2 |СС3 |СС4 |СС5 |СС6 |СС7 |

|1 |0 |0 |0 |0 |0 |0 |0 |

|2 |0 |0 |0 |0 |0 |0 |1 |

|3 |0 |0 |0 |0 |0 |1 |0 |

|4 |0 |0 |0 |0 |0 |1 |1 |

|5 |0 |0 |0 |0 |1 |0 |0 |

|6 |0 |0 |0 |0 |1 |0 |1 |

|… |… |… |… |… |… |… |… |

|128 |1 |1 |1 |1 |1 |1 |1 |

Так как интерфейс передачи - RS232C, то за один сеанс связи мы можем

передать максимум 8 бит информации, поэтому передача слова должна

производиться в два этапа. Сначала передаем диапазон (четыре младших бита

лучше нули), а затем необходимый уровень контроля (один младший бит ноль).

6.3. Инициализация блоков микроконтроллера

Программа записывается в ПЗУ микроконтроллера с помощью элементарного

программатора. Переменные программы хранятся во внутреннем ОЗУ

микроконтроллера, которое может располагаться в любом месте адресного

пространства по нашему желанию.

Даллее следует блок схема начала работы микроконтроллера:

6.4. Инициализация АЦП

После того, как пришла команда от пользователя и произведена установка

диапазонов, начинается инициализация двух АЦП. Считывание цифровой

информации с СОЗУ внешнего АЦП осуществляется при подаче на на вход

CS сигнала логический 0. При этом адрес выбора канала определяется в

соответствии с значением цифрового кода, записанного в адресные шины А0-А2.

При высоком уровне ALE, адрес сначала поступает в регистр адреса, а затем

фиксируется низким уровнем ALE. Для подключения памяти данного АЦП и работы

с ней нам необходимо выработать сигналы выборки кристалла CS. Блок

формирования вырабатывает сигналы CS, для периферийных устройств

автоматически, когда мы обращаемся по адресу из адресного пространства,

закрепленного за ПУ. Мы имеем СОЗУ размером 64бита. В качестве сигнала

выборки кристалла у нас выступает CSBOOT. Далее следует блок схема

инициализации:

Частота на которой работает внешний АЦП равна 1,6 Мгц. На вход CLK

поступает синхроимпульсы с выхода ECLK, частота работы которого равна

Ft/16. Скорость преобразования при этом не более 30 мкс. Что касательно

внутреннего АЦП, то он работает на частоте Ft/48, равной 0,5 Мгц. И

скорость преобразования АЦП микроконтроллера также 30 мкс. Далее следует

диаграмма работы внутреннего АЦП:

Здесь видно количество циклов за которое идет 8 битное преобразование.

Сначала идет время инициации, которое у нас равно 16 циклам ADC, потом

время перевода и резолюции. Всего для преобразования в нашем АЦП

потребуется 29 циклов.

6.5. Основная часть программы

После инициализации выполняется основная часть программы. Она

достаточно подробно изображена на блок-схеме и в Приложении №5. Немного

поясним ее. АЦП сразу после инициализации начинает считывать и

преобразовывать данные последовательно с каждого канала, результат

записывает в регистры RJURR0-7 (см. Приложение №4). Модуль ADC не

вырабатывает запроса прерывания, поэтому контроль за его работой

осуществляется путем программного опроса или с помощью периодического

прерывания. При этом процессор считывает и анализирует содержимое регистра

состояния ADSTAT, биты которого имеют следующее назначение:

SCF — признак, который принимает значение SCF = 1 после окончания цикла

преобразования;

CCTR — поле, указывает номер регистра LJURR0-7, в котором будет

располагаться результат следующего преобразования;

CCF0-7 — поле, i-й бит которого принимает значение CCFi = 1 после записи

результата преобразования в регистр LJURRi; после считывания этого регистра

устанавливается значение CCFi = 0.

После анализа регистра ADSTAT результат из ADRi считывается в промежуточный

регистр D. Затем, согласно блок-схеме, сравнивается уровень для данного

канала и, даллее происходит передача полученной информации в ЭВМ.

6.6. Передача данных в ЭВМ

Подпрограмма обслуживания прерывания от последовательного порта,

когда пользователь решит закончить работу, в регистре ADCMR бит STOP=1 и

передает управление на начало этой программы. То есть заново пройдет

инициализация, и устройство будет ждать команды о начале работы.

Временные диаграммы

Ниже представлены временные диаграммы устройства.

Время реакции на команду пользователя (1 определяется временем ее

передачи по каналу связи и временем выполнения подпрограммы обработки

прерывания внутри микроконтроллера, которое инициируется командой

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

на основную программу. Поэтому время (1 примерно равно половине

микросекунды, времени выполнения команды перехода, так как время физической

передачи по каналу пренебрежительно мало. Время (2 определяется временем

инициализации АЦП – также одна команда записи в регистр, следовательно, (2

приблизительно равно четверти микросекунды. Таким образом, время задержки

от прихода команды пользователя до начала преобразования – три четверти

микросекунды.

Цикл преобразования обоих АЦП составляет 30 мкс (частота 0,5 МГц и 1,6

МГц). За это время успеют преобразоваться сигналы со всех шестнадцати

каналов, передаться измерения в ЭВМ, проанализироваться очередь.

Соответственно, за это время можно передать более одного пакета с данными.

Таким образом, цикл АЦП полностью определяет цикл работы нашей программы в

целом. Сколько будет таких циклов, зависит от пользователя.

Литература.

1. И.И. Шагурин «Микропроцессоры и микроконтроллеры фирмы Motorola» Москва.

«Радио и связь» 1998г.

2. «Сопряжение датчика и устройств ввода данных с компьютерами IBM PC»

ред. Томпкинса. 1992г.

3. Ю.В. Новиков, Щ.Ф. Калашников, С.Э. Гуляев «Разработка устройств

сопряжения» Москва 1997г.

4. «Справочник по аналоговым и цифровым микросхемам» под ред. Якубовского

5. «Справочник по интегральным микросхемам» под ред. Тарабрина

6. M68HC16Z Series User’s Manual

7. Сайт компании Motorola www.mot-sps.com

8. Сайт компании Runet www.runet.ru

-----------------------

Установка диапазонов последовательно для каждого канала путем передачи трех

бит в регистр диапазона.

НАЧАЛО

A++

нет

нет

Считывание второй половины слова и запись в CS[31:16]

Запись диапазона и уровня контроля из SCDR в SRAM. Переменная

характеристики канала CS [15:0] = SCDR.

ZF=1

ZF = 0 ?

Флаг приема первого байта управляющего слова ZF=0

Регистр SCDR[pic]0?

Считывание данных из порта в регистр SCDR.

Пришла комманда «Начать»?

Инициализация QSM: период следования синхросигналов, в течение которого

выполняется один такт передачи данных: в SCCR0[15:0] – SCBR[11:0] заносим

1010012; Данные – 8 разрядов, приемник в ожидании посылки, в которой первый

разряд 1.

Инициализация блока АЦП(ADC), QSM(асинхронного послед. порта), переменных

основной программы.

[pic]

[pic]

Регистр A[pic]16?

Общая инициализация микроконтроллера.

Формирование CSBOOT, CS для записи в регистр внутренних сигналов

готовности.

нет

нет

Пока не получены данные для всех 16 каналов:

Запись в регистр управляющего слова. Установка диапазона и запись в ОЗУ

уровня контроля для текущего канала.

НАЧАЛО

КОНЕЦ

Пришла комманда «Закончить»?

Сравнение с соответствующим каналу уровню контроля. Запись результата в

регистр.

нет

следующий канал

Передача данных в ЭВМ

Закончено преобразование с датчиков?

Снимать данные последовательно для всех каналов

Проинициализируем порт Е.

Синхронный режим, выборка по байту, только чтение, строб по адресу:

CSORBT[15:0][pic]101010 0 000100002

Выделим блок адресного пространства для памяти АЦП с адреса $0000016

Регистр контроля ADCTL0 записываем режим 10 разрядного преобразования,

задержка 16 тактов ADC c частотой 0,5 Мгц:

ADCTL0[15:0][pic] 011101112

В регистре контроля ADCTL1 включаем режим постоянного опроса 8 каналов:

ADCTL1[15:0][pic]11100002

Инициализируем внутренний АЦП:

Регистр конфигурации ADCMCR записываем режим без временных задержек,

учитывая все-же возможные остановки CPU16:

ADCMCR[15:0][pic]01000000 100000002

Переинициализируем порт.

SCCR1[15:0] [pic] 111000110002

Передаем кадр в 2 этапа. Содержимое SCDR-TR0 в ЭВМ.

Бит регистра передачи TR0 [16:0] в SCDRсоответствующий данному каналу=1

Пока A[pic]16: Полученный результат с датчика превысил уровень контроля ?

нет

Пользователь

Начать работу

Закончить работу

АЦП

30 мкс

30 мкс

30 мкс

30 мкс

30 мкс

30 мкс

1-й цикл

i-й цикл

Реакция на команду

Передача данных

Пересылка 8 бит пакета

(1

(2

t

t

t

t

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.