Реферат по предмету "Информатика, программирование"


Программно управляемый генератор линейно-нарастающего напряжения на микроконтроллере

МИНИСТЕРСТВО ОБРАЗОВАНИЯИ НАУКИ УКРАИНЫ
Харьковскийнациональный университет радиоэлектроники
Кафедрарадиоэлектронных устройств
КУРСОВАЯРАБОТА
ПОЯСНИТЕЛЬНАЯЗАПИСКА
ПРОГРАММНОУПРАВЛЯЕМЫЙ ГЕНЕРАТОР ЛИНЕЙНО-НАРАСТАЮЩЕГО НАПРЯЖЕНИЯ НА МИКРОКОНТРОЛЛЕРЕ
дисциплина:Цифровые устройства
Выполнил ст. гр. 911 Иванов И.И
Проверил: Пирожков А.В.
___________________
(подпись)
“__”__________2010 г.
ХАРЬКОВ 2010

СЛОВАРЬ АББРЕВИАТУР
МК – микроконтроллер;
ПВВ — порт ввода-вывода;
П/п – подпрограмма;
ЦАП – цифро-аналоговыйпреобразователь;
ОУ – операционныйусилитель.

СОДЕРЖАНИЕ
Введение
1. Обзор аналогичных устройств1.1 Простейший генератор пилообразного напряжения (ГПН)1.2 Классификация ГПН со стабилизаторами тока.1.3 Генераторы пилообразного напряжения на операционныхусилителях
2. Обоснование выбранного варианта схемного решения
3. Разработка алгоритма и программы функционированияустройства
4. Результаты эмуляции программы в пакете VMLAB
5. Анализ временных соотношений и оценка погрешностей
Выводы
Приложения

ВВЕДЕНИЕ
Генераторы линейно – изменяющегося напряжения называют иногдагенераторами развёртки, хотя этот термин не отражает их гораздо более широкогоприменения. Из области разверток заимствованы названия двух основных частейпилообразного импульса: прямой ход (главный, почти линейный участок tп ) и обратный ход (сравнительнокороткий участок tо, форма которого обычнонесущественна).
Пилообразное напряжение это такое напряжение, котороенарастает или спадает линейно в течение некоторого отрезка времени, называемоговременем рабочего хода tодостигаетпервоначального значения. Такое напряжение используется устройствах сравнения,для горизонтальной развёртки электронного луча в электронно-лучевой трубке вдругих устройствах. Возврат луча в исходное положение должен происходить,возможно, быстрее, вследствие чего спадающий участок пилообразного напряжениядолжен иметь большую крутизну и малую продолжительность.
Пилообразные импульсы можно получить с помощью любогорелаксатора: мультивибратора, одно вибратора или блокинг-генератора. Поэтомугенераторы пилообразного напряжения составляют особый класс импульсныхустройств и заслуживают специального рассмотрения. Генераторылинейно-изменяющегося напряжения являются широко известными устройствамиимпульсной техники. В данной курсовой работе будет рассмотрено созданиегенератора линейно-нарастающего напряжения на МК AT90S8515.

1. ОБЗОР АНАЛОГИЧНЫХУСТРОЙСТВ1.1 Простейшийгенератор пилообразного напряжения (ГПН)
В простейшем случае,когда не требуется высокая линейность рабочего участка выходного напряжения,применяют заряд (рисунок 1.1, а) или разряд конденсатора через резистор R. После размыкания ключа Клконденсатор заряжается по закону
u=E(1-e -t/τ), где τ=RC.
Если во время рабочегохода использовать лишь начальный участок экспоненты, т.е. при tраб
ε=Um/E. (1.1)
Можно определить ε ипо формуле
ε=Um/E=1-e-tраб/τ≈ tраб/τ.
Из (1.1) следует, чтокоэффициент нелинейности ε оказывается равным Um/E. Обычно это соотношение называется коэффициентомиспользования источника питания. При этом для получения достаточно малогозначения ε приходится выбирать значение E во много раз большим амплитуды Um т.е. плохо использовать напряжениеисточника питания. Таким образом, простейшая схема с зарядом или разрядомконденсатора через резистор оказывается пригодной лишь при сравнительноневысокой линейности (примерно 10%).
Принципиальная схемапростейшего ГПН с транзисторным ключом и соответствующие временные диаграммынапряжения приведены на рисунке 1.1, б, в.
/>
Рисунок 1.11.2 Классификация ГПНсо стабилизаторами тока
Как уже указывалось выше,принцип действия схем генераторов пилообразного напряжения заключается виспользовании заряда или разряда конденсатора во время рабочего хода черезстабилизатор тока. Учитывая принципиальную общность почти всех применяемых напрактике схем генераторов, целесообразно рассматривать их как варианты одной итой же схемы. При этом они отличаются друг от друга, главным образом, лишьспособом создания напряжения в цепи стабилизатора тока. Поэтомуклассификационному признаку различают следующие типы генераторов:
1) Генераторы, вкоторых стабилизатор тока реализован в виде отдельного структурного элемента соспециальным источником напряжения Ест.
2) Генераторы, вкоторых источник напряжения Ест стабилизатора тока реализован в видезаряженного конденсатора. Необходимо отметить, что этот генератор по другомуклассификационному признаку часто относят к группе компенсационных устройств.Идея построения таких устройств основана на том, что стабилизация зарядного(или разрядного) тока конденсатора С может быть достигнута, еслипоследовательно с ним включить источник, напряжение которого изменяется по томуже закону, что и на конденсаторе С, но имеет обратную полярность. Роль такогоисточника напряжения выполняет усилитель. В зависимости от способа включенияусилителя различают схемы с положительной и отрицательной обратной связью.
3) 
/>
Рисунок 1.2
На рисунке 1.2, а показанвариант функциональной схемы компенсационного генератора с положительнойобратной связью (ПОС): если коэффициент усиления усилителя К0=+1, топовышение потенциала в точке а1 при заряде конденсатора Скомпенсируется точно таким же повышением потенциала в точке а2, изарядный ток i останется неизменным. Конечно, впрактических схемах вследствие того, что коэффициент усиления К0неостается в процессе работы постоянным и точно равным 1, а так же в результатенестабильности других параметров схем наблюдается определенное не постоянствотока i и большее или меньшее значениекоэффициента нелинейности напряжения на конденсаторе и выходного напряжения uвых. Генератор, реализующийфункциональную схему на рисунке 1.2, а, называют компенсационным генератором сПОС.
4) Генераторы, вкоторых роль источника напряжения стабилизатора тока выполняет источник питаниясхемы. Такой генератор по другому классификационному признаку относится ккомпенсационным генераторам с ООС (отрицательной обратной связью);функциональная схема такого генератора показана на рисунке 1.2, б.1.3 Генераторыпилообразного напряжения на операционных усилителях
Интегрирующее включениеоперационного усилителя, обеспечивающего получение выходного напряжения,пропорционального интегралу от входного напряжения, предполагает включениеконденсатора в цепь отрицательной обратной связи. Поэтому генераторыпилообразного напряжения на операционных усилителях строят по принципугенераторов с обратной связью, интегрирующих постоянное напряжения источникапитания, которое для них является входным.
На рисунке 1.3, а показанасхема генератора пилообразного напряжения с интегрирующей RC-цепочкой, включенной в цепьотрицательной обратной связи операционного усилителя.
/>
Рисунок 1.3

2. ОБОСНОВАНИЕ ВЫБРАННОГОВАРИАНТА СХЕМНОГО РЕШЕНИЯ
Схема разрабатываемогогенератора приведена в приложении 2. В схеме применяется однокристальныймикроконтроллер фирмы ATMEL– At90S85515. Микросхема создана на основе ядра Classic, имеет в своём составе 8-разрядный и16-разрядный таймеры для формирования временных задержек и 4 порта для ввода ивывода информации с внешних устройств. Этот МК вполне подходит для созданиягенератора линейно-нарастающего напряжения. Цифровое значение амплитудыподаётся на ЦАП DD1 с порта A МК, а ЦАП преобразовывает его ваналоговую форму. Регулирование амплитуды производится переменным резистором R1, подключенным ко входу управленияЦАП. Для согласования сопротивления нагрузки с выходом устройства, применяетсяусилитель тока на ОУ DA1.
Для питания устройства отсети 220В используется блок питания на трансформаторе Т1, выпрямителях VD1-VD2 и стабилизаторах DA2-DA4. Он обеспечивает питание для ЦАП,МК и ОУ.
К порту D МК подключена клавиатура из 8 клавишдля установки частоты, а к порту B –светодиоды для её индикации.

3. РАЗРАБОТКААЛГОРИТМА И ПРОГРАММЫ ФУНКЦИОНИРОВАНИЯ УСТРОЙСТВА
Алгоритм программыдовольно прост и состоит из основной программы и п/п обработки прерываниятаймера Т1 (см. приложение 3).
В блоке инициализации МКпроизводится инициализация стека, переменных, настройка портов и таймера,разрешение прерываний и запуск Т1 с коэффициентом деления 1. Далее происходитопрос 8 кнопок, и если одна из них нажата, изменяется время задержки таймераТ1, и включается светодиод соответствующего режима.
Прерывание от таймераобрабатывается соответствующей подпрограммой. Она увеличивает значениепеременной Ampl на 1 и выводит его на ЦАП. Послепревышения значения $FF,переменная автоматически обнуляется.
Далее приводится текстпрограммы на Ассемблере и файл проекта VMLAB.
Текстпрограммы
;******************************************************
;ASM templatefile for AVR
;******************************************************
.include «C:\VMLAB\include\m8515def.inc»
.def temp =r16
.def timel =r17
.def timeh =r18
.def Const00=r19
.def ConstFF=r20
.def led =r21
.def Ampl =r23
reset:
rjmp start
reti; Addr$01
reti; Addr$02
reti; Addr$03
rjmp Timer;Addr $04
reti; Addr$05
reti; Addr$06
reti; Addr$07
reti; Addr$08
reti; Addr$09
reti; Addr$0A
reti; Addr$0B
reti; Addr$0C
reti; Addr$0D
reti; Addr$0E
reti; Addr$0F
reti; Addr$10
start:
lditemp,high(RAMEND)
out SPH, temp
ldi temp,low(RAMEND)
out SPL, temp
ldiConst00,$00
ldiConstFF,$FF
ldi Ampl,0

out DDRA, ConstFF; ЦАП
out DDRB,ConstFF ;led
out DDRD, Const00;sb1-sb8
out PORTD,ConstFF
out PORTA,Const00
ldi led, 0b11111110
out PORTB,led
ldi temp,0b00100000
out MCUCR,temp
lditemp,0b01000010
out TIMSK,temp
ldi timeh,$07
ldi timel,$A1
out OCR1AH,timeh
out OCR1AL,timel
outTCCR1A,Const00
ldi temp,0b00001001
outTCCR1B,temp; настройка таймера
sei
m0:
sbis PIND,0
rjmp m1
sbis PIND,1
rjmp m2
sbis PIND,2
rjmp m3
sbis PIND,3
rjmp m4
sbis PIND,4
rjmp m5
sbis PIND,5
rjmp m6
sbis PIND,6
rjmp m7
sbis PIND,7
rjmp m8; опрос кнопок
rjmp m0
m1: ldi led, 0b11111110
ldi timeh,$07
ldi timel,$A1
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m2: ldi led, 0b11111101
ldi timeh,$06
ldi timel,$1A
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m3: ldi led, 0b11111011
ldi timeh,$05
ldi timel,$16
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m4: ldi led, 0b11110111
ldi timeh,$04
ldi timel,$5C
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m5: ldi led, 0b11101111
ldi timeh,$03
ldi timel,$D0
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m6: ldi led, 0b11011111
ldi timeh,$03
ldi timel,$64
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m7: ldi led, 0b10111111
ldi timeh,$03
ldi timel,$0D
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
m8: ldi led, 0b01111111
ldi timeh,$02
ldi timel,$C6
out OCR1AH,timeh
out OCR1AL,timel
out PORTB,led
rjmp m0
Timer:inc Ampl
out PORTA,Ampl
reti; прерывание от Т1
Файл проекта VMLAB
;************************************************************
; PROJECT:
; AUTHOR:
;************************************************************
; Micro +software running
;------------------------------------------------------------
.MICRO«AT90S8515»
.PROGRAM«my_idea.asm»
.TARGET«my_idea.hex»
.TRACE;Activate micro trace
; Followinglines are optional; if not included
; exactlythese values are taken by default
;------------------------------------------------------------
.POWER VDD=5VSS=0; Power nodes
.CLOCK 4meg;Micro clock
.STORE 1000m;Trace (micro+signals) storage time
; Micro nodes:RESET, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, PE0-PE2, ACO, TIM1OVF
; Define herethe hardware around the micro
;------------------------------------------------------------
X1 D2A8 PA7PA6 PA5 PA4 PA3 PA2 PA1 PA0 out
D1 VDD node1;x: Panel LEDs 1 — 8
R1 node1 PB01k
D2 VDD node2;x: Panel LEDs 1 — 8
R2 node2 PB11k
D3 VDD node3;x: Panel LEDs 1 — 8
R3 node3 PB21k
D4 VDD node4;x: Panel LEDs 1 — 8
R4 node4 PB31k
D5 VDD node5;x: Panel LEDs 1 — 8
R5 node5 PB41k
D6 VDD node6;x: Panel LEDs 1 — 8
R6 node6 PB51k
D7 VDD node7;x: Panel LEDs 1 — 8
R7 node7 PB61k
D8 VDD node8;x: Panel LEDs 1 — 8
R8 node8 PB71k
K1 GND PD0
K2 GND PD1
K3 GND PD2
K4 GND PD3
K5 GND PD4
K6 GND PD5
K7 GND PD6
K8 GND PD7
.PLOT V(out)

4. РЕЗУЛЬТАТЫ ЭМУЛЯЦИИПРОГРАММЫ В ПАКЕТЕ VMLAB
/>
Рисунок 1 – Результатработы в режиме 1.
/>
Рисунок 2 – Результатработы в режиме 2.

/>
Рисунок 3 – Результатработы в режиме 3.
/>
Рисунок 4 – Результатработы в режиме 4.

/>
Рисунок 5 – Результатработы в режиме 5.
/>
Рисунок 6 – Результатработы в режиме 6.

/>
Рисунок 7 – Результатработы в режиме 7.
/>
Рисунок 8 – Результатработы в режиме 8.

5. АНАЛИЗ ВРЕМЕННЫХСООТНОШЕНИЙ И ОЦЕНКА ПОГРЕШНОСТЕЙ
Чтобы рассчитатьконстанту k, которую необходимо поместить врегистр сравнения таймера Т1, разделим тактовую частоту процессора на 256, таккак за 256 прерываний от таймера формируется 1 период пилообразного напряжения:4 МГц/256=15625 Гц. Теперь, чтобы определить необходимую константу, разделим15625 Гц на требуемую частоту сигнала. Проведём, к примеру, расчет для частотысигнала 8 Гц:
k=15625 Гц/8 Гц=1953,125.
Чтобы поместитьполученное значение в регистр сравнения, его необходимо округлить ипреобразовать в шестнадцатеричную форму: k=$07A1.Так как почти все рассчитанные значения приходится округлять, это вызываетпогрешности в формировании частоты. Анализируя полученные значения частот впакете VMLAB, можно сделать вывод о том, чтопогрешности не превышают предел в 1%, который определён в задании.

ВЫВОДЫ
В процессе выполнениякурсового проекта была разработана схема программно управляемого генератора линейно-нарастающегонапряжения сверхнизкой частоты, а также был составлен алгоритм и текстпрограммы функционирования прибора. Полученное устройство обладает следующимихарактеристиками:
— возможность установки 8фиксированных значений частоты сигнала (8, 10, 12, 14, 16, 18, 20, 22 Гц) 8-юкнопками;
— амплитуда сигналаплавно изменяется в пределах от 0 до 15 В переменным резистором;
— индикация амплитудыосуществляется с помощью 8-ми светодиодов.
В результате эмуляцииработы генератора в пакете VMLABоценены погрешности установки частоты, которые не превышают 1%.

ПРИЛОЖЕНИЕ 1
 
ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.