Восьмиканальный регулятор тока с управлением от PC
Выбор и обоснование структурной и принципиальной схем системы управления освещением. Алгоритм работы микроконтроллера. Три основных режима: полное выключение освещения, заданные темы, диммер освещения. Алгоритм работы программы на персональном компьютере.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.05.2011 |
Размер файла | 568,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию
Национальный Исследовательский
"Томский Политехнический Университет"
Институт - Неразрушающего Контроля
Кафедра - Промышленной и Медицинской Электроники
Направление - Электроника и Микроэлектроника
Курсовой проект
по дисциплине Микропроцессорные системы
Восьмиканальный регулятор тока с управлением от PC
Студент группы 1А71
Королёв А.В.
Научный руководитель
Пестунов Д.А.
Томск - 2011
Введение
Умный дом - понятие, применимое больше к частным квартирам и коттеджам.
Цель - автоматизировать внутренние «домашние» инженерные системы - освещение, климат, системы безопасности, мультимедийные компоненты (домашний кинотеатр и др.).
Однако такую же систему можно реализовать и для других помещений, не только для дома. Например, создать умную лабораторию, цех, офис др.
Одной из важнейших систем такого проекта является система освещения, т.к. практически в любом помещении, где работают люди, необходим свет. Поэтому в данной работе рассмотрим один из множества вариантов создания системы регулирования освещения.
Задание
Спроектировать систему управления освещением, состоящую из восьми ламп, на PIC16F877 контроллере, с возможность регулирования яркостью освещения и изменением режимов освещения с PC.
Выбор и обоснование структурной схемы
Для того чтобы выбрать структурную схему, необходимо знать, из каких функциональных блоков будет состоять конечный прибор.
Поэтому, так как требуется создать систему освещения, то соответственно необходимы источники освещения - на структурной схеме это блок «источники освещения», в последствии это будут светодиодные лампы (так же возможно использование любых других ламп). Так же необходимо управляющее устройство, которое будет обрабатывать и исполнять необходимые операции, такие как выбор режима работы системы освещения и осуществление регулирования яркостью освещения - для этих целей нам необходим «микроконтроллер». Что бы осуществить управление всей системой необходимо программное приложение, которое облегчит понимание предназначения тех или иных настроек системы и визуализирует процесс работы системы - для этих целей нам необходимо программное приложение выполненное на PC. Помимо этого, для работы всех этих устройств необходимо питание, подводимое ко всей схеме - на структурной схеме это блок «питание».
Размещено на http://www.allbest.ru/
Рис.1 Структурная схема.
Выбор и обоснование принципиальной схемы
Рис.2. Принципиальная схема.
Для реализации проекта нам необходимо организовать связь микроконтроллера PIC16F877 c PC, для этого будем использовать стандарт RS-232 и интерфейсную микросхему MAX232, схема подключения приведена на рисунке 2. Так же необходимо подать питание на микроконтроллер и микросхему MAX232, для этого необходимо подсоединить выводы питания к микросхемам, как показано выше. Для управления силовыми ключами (для реализации системы освещения) будем использовать PORT B микроконтроллера, настроенный на вывод. Силовые ключи необходимы для коммутации ламп с источником питания.
Алгоритм работы микроконтроллера
Размещено на http://www.allbest.ru/
Как видно из алгоритма программы, в начале идет инициализация микроконтроллера, т.е. задание необходимых настроек для корректной работы, таких как настройка портов на ввод/вывод, установка коэффициента предделителя, настройка таймеров, задание исходных данных, которые будут необходимы для работы программы и др.
Затем следует проверка установки бита принятых данных, если этот бит сброшен, значит новых данных нет, и программа продолжает работать в предыдущем режиме, если же бит установлен («1»), то переходим к следующему шагу работы программы.
Считываем полученные данные, поступившие с com-порта и уже записанные в регистр приема данных. Для сохранения этих данных производим их запись в заранее выбранную ячейку памяти.
После этого начинаем обработку полученных(уже сохраненных) данных, на выходе имеем: номер выбранного режима работы или выбранной заранее заданной темы освящения.
По полученным данным осуществляем переход к выбранному режиму/теме.
Имеется 3 основных перехода:
1)«Полное выключение освещения»:
Подает на порт вывода все нули, т.е. гасим лампы и непрерывно осуществляем проверку бита получения данных, если бит не устанавливается, то продолжаем проверку, если же бит установился в единицу, то переходим к шагу считывания данных и записи их в заранее выбранную ячейку памяти.
2)«Заданные темы»:
В микроконтроллере уже заложены данные о нескольких темах, с выбранным уровнем яркости освящения и номерами ламп которые должны быть включены. В соответствии с полученными данными выбирается одна из тем и осуществляется переход к ней. Затем осуществляется обработка заранее заданных параметров темы и настройка микроконтроллера на работы в выбранной теме. Запуска темы в работы микроконтроллера осуществляем проверку бита получения данных, если бит не устанавливается, то продолжаем работу в заданном режиме и в каждом цикле осуществляем проверку, если же бит установился в единицу, то переходим к шагу считывания данных и записи их в заранее выбранную ячейку памяти.
3)«Диммер освящения»:
В этом режиме все лампы включены, и регулируется уровень яркости освящения. Для осуществления режима «Диммер» нам необходимо из полученных данных выделить информацию о степени яркости, которая хранится в старших 4х битах полученных данных. После определения степени яркости осуществляется настройка микроконтроллера на новый режим работы, в котором все лампы включены и имеют яркость свечения, заданную пользователем. В каждом цикле работы микроконтроллера осуществляем проверку бита получения данных, если бит не устанавливается, то продолжаем работу в заданном режиме, если же бит установился в единицу, то переходим к шагу считывания данных и записи их в заранее выбранную ячейку памяти.
Алгоритм работы программы на PC
Размещено на http://www.allbest.ru/
При включении программы происходит проверка подключения программы к com-порту компьютера, при отсутствии соединения выдается сообщение об ошибке, а при подключении, сообщение об удачном соединении.
При нажатии на 1 из кнопок осуществляется визуальное отображение выбранной темы, а так же отсылаются данных на com-порт, которые определяют режим работы микроконтроллера.
Если выбрана тема «ON», то при изменении положения курсора на полосе прокрутки изменяется степень освящения, так же происходит отображение текущей степени освящения.
Заключение
В ходе данной работы, была спроектирована система управления освещения, состоящая из восьми светодиодных ламп, с функцией управления регулирования уровнем освещения (диммером), так же была написана программа для микроконтроллера PIC16F877, реализующая управление системой освещения с PC, и возможностью регулирования уровня яркости освещения. Данная программа была проверена и отлажена в симуляторе MPLAB-ICD. Так же проведено испытание работоспособности проекта на эмуляционной плате MPLAB-ICD header с микроконтроллером PIC16F877-20/P и демонстрационной плате комплекта MPLAB-ICD.
На основе данной работы можно спроектировать освящение «умного дома» в любом помещении, так же возможно увеличение количества ламп освещения, уровней регулирования яркости, создание регулирования системы освещения для различных зон, так же возможно создание «интеллектуального» освещения, регулирование которого будет происходить автоматически в зависимости от уровня естественного света и т.д.
Список литературы
1. Курс лекций по МПТ. Преподаватель Г.С. Воробьева. 2010 год.
2. http://www.microchip.ru/d-sheets/30292.htm:pic16f877
3. http://www.microchip.com
4. http://ww1.microchip.com
5. http://ru.wikipedia.org/
6. http://monitor.net.ru
7. http://www.pcports.ru/articles/pic8.php
8. http://www.pcports.ru/articles/pic9.php
9. http://www.delphisources.ru/pages/faq/base/about_port.html
10. http://www.askdev.ru/pascal-delphi/2675/Delphi-Com-port-Component/
Приложение №1
Текст программы для PIC16F877
list p=16f877
include "p16f877.inc"
org 0
nop
goto start
org 0x04
RETFIE
org 0x50
start
banksel PORTC
clrf PORTC
banksel PORTB
clrf PORTB
banksel TRISC
movlw b'11000000'
movwf TRISC
movlw B'10000000'
movwf OPTION_REG
movlw B'00000000'
movwf INTCON
bcf STATUS,RP0
movlw B'00000000'
movwf 0x76
movlw B'11111111'
movwf 0x77
movlw b'10010000'
movwf RCSTA
banksel SPBRG
movlw 0x19
movwf SPBRG
movlw B'00100100'
movwf TXSTA
banksel RCSTA
BCF PIR1,RCIF
movf RCREG,W
Zero
BTFSC PIR1,RCIF
goto Main
incf PORTC,f
goto Zero
Main
movf RCREG,W
movwf 0x7A
BCF PIR1,RCIF
andlw B'00001111'
BTFSC STATUS,Z
goto OFF
movf 0x7A,W
andlw B'00000001'
BTFSS STATUS,Z
goto ON
movf 0x7A,W
andlw B'00000010'
BTFSS STATUS,Z
goto Tem1
movf 0x7A,W
andlw B'00000100'
BTFSS STATUS,Z
goto Tem2
movf 0x7A,W
andlw B'00001000'
BTFSS STATUS,Z
goto Tem3
goto Tem4
OFF
movf 0x76,W
movwf PORTB
OFF1
BTFSC PIR1,RCIF
goto Main
goto OFF1
ON
movf 0x7A,W
andlw B'11110000'
movwf 0x78
subwf 0x77,W
movwf 0x79
M1
movf 0x77,W
movwf PORTB
movf 0x78,W
M2
btfss INTCON,T0IF
goto M2
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto M3
decfsz 0x78,f
goto M2
M3
movf 0x76,W
movwf PORTB
movf 0x79,W
M4
btfss INTCON,T0IF
goto M4
bcf INTCON,T0IF
comf 0x79,f
comf 0x79,f
btfsc STATUS,Z
goto M5
decfsz 0x79,f
goto M4
M5
BTFSC PIR1,RCIF
goto Main
goto M1
Tem1
movlw B'10101010'
movwf PORTB
movlw B'00010000'
movwf 0x78
movf 0x78,W
subwf 0x77,W
movwf 0x79
T1M2
btfss INTCON,T0IF
goto T1M2
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto T1M3
decfsz 0x78,f
goto T1M2
T1M3
movf 0x76,W
movwf PORTB
movf 0x79,W
T1M4
btfss INTCON,T0IF
goto T1M4
bcf INTCON,T0IF
comf 0x79,f
comf 0x79,f
btfsc STATUS,Z
goto T1M5
decfsz 0x79,f
goto T1M4
T1M5
BTFSC PIR1,RCIF
goto Main
goto Tem1
Tem2
movlw B'11110000'
movwf PORTB
movlw B'01100000'
movwf 0x78
movf 0x78,W
subwf 0x77,W
movwf 0x79
T2M2
btfss INTCON,T0IF
goto T2M2
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto T2M3
decfsz 0x78,f
goto T2M2
T2M3
movf 0x76,W
movwf PORTB
movf 0x79,W
T2M4
btfss INTCON,T0IF
goto T2M4
bcf INTCON,T0IF
comf 0x79,f
comf 0x79,f
btfsc STATUS,Z
goto T2M5
decfsz 0x79,f
goto T2M4
T2M5
BTFSC PIR1,RCIF
goto Main
goto Tem2
Tem3
movlw B'00001111'
movwf PORTB
movlw B'10000000'
movwf 0x78
movf 0x78,W
subwf 0x77,W
movwf 0x79
T3M2
btfss INTCON,T0IF
goto T3M2
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto T3M3
decfsz 0x78,f
goto T3M2
T3M3
movf 0x76,W
movwf PORTB
movf 0x79,W
T3M4
btfss INTCON,T0IF
goto T3M4
bcf INTCON,T0IF
comf 0x79,f
comf 0x79,f
btfsc STATUS,Z
goto T3M5
decfsz 0x79,f
goto T3M4
T3M5
BTFSC PIR1,RCIF
goto Main
goto Tem3
Tem4
movlw B'11001100'
movwf PORTB
movlw B'11110000'
movwf 0x78
movf 0x78,W
subwf 0x77,W
movwf 0x79
T4M2
btfss INTCON,T0IF
goto T4M2
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto T4M3
decfsz 0x78,f
goto T4M2
T4M3
movlw B'00110011'
movwf PORTB
movf 0x78,W
T4M4
btfss INTCON,T0IF
goto T4M4
bcf INTCON,T0IF
comf 0x78,f
comf 0x78,f
btfsc STATUS,Z
goto T4M5
decfsz 0x78,f
goto T4M4
T4M5
BTFSC PIR1,RCIF
goto Main
goto Tem4
end
Приложение №2
управление освещение схема микроконтроллер
Текст программы для PC
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, CPDrv;
type
TForm1 = class(TForm)
Button1: TButton;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Shape4: TShape;
Shape5: TShape;
Shape6: TShape;
Button2: TButton;
Shape7: TShape;
Shape8: TShape;
Button3: TButton;
Button4: TButton;
TrackBar1: TTrackBar;
Label1: TLabel;
Label2: TLabel;
Button5: TButton;
Button6: TButton;
ComPort: TCommPortDriver;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x: integer;
a, b, d,c: Byte;
y, n: string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
shape1.Brush.Color:=clyellow;
shape2.Brush.Color:=clyellow;
shape3.Brush.Color:=clyellow;
shape4.Brush.Color:=clyellow;
shape5.Brush.Color:=clyellow;
shape6.Brush.Color:=clyellow;
shape7.Brush.Color:=clyellow;
shape8.Brush.Color:=clyellow;
Label1.Caption:='ON';
a:=01;
Comport.SendByte($01);
{ Comport.SendByte($32);}
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
shape1.Brush.Color:=clyellow;
shape2.Brush.Color:=clyellow;
shape3.Brush.Color:=clyellow;
shape4.Brush.Color:=clyellow;
shape5.Brush.Color:=clblack;
shape6.Brush.Color:=clblack;
shape7.Brush.Color:=clblack;
shape8.Brush.Color:=clblack;
Label1.Caption:='Тема №2';
{a:=00000100;}
Comport.SendByte($04);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
shape1.Brush.Color:=clblack;
shape2.Brush.Color:=clblack;
shape3.Brush.Color:=clblack;
shape4.Brush.Color:=clblack;
shape5.Brush.Color:=clyellow;
shape6.Brush.Color:=clyellow;
shape7.Brush.Color:=clyellow;
shape8.Brush.Color:=clyellow;
Label1.Caption:='Тема №3';
{a:=00001000;}
Comport.SendByte($08)
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
shape1.Brush.Color:=clblack;
shape2.Brush.Color:=clblack;
shape3.Brush.Color:=clblack;
shape4.Brush.Color:=clblack;
shape5.Brush.Color:=clblack;
shape6.Brush.Color:=clblack;
shape7.Brush.Color:=clblack;
shape8.Brush.Color:=clblack;
Label1.Caption:='OFF';
{a:=00000000;}
Comport.SendByte($00)
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
x:=TrackBar1.Position;
c:=x*16;
y:=Inttostr(c);
n:=IntToHex(c,2);
Label2.Caption:=n;
Label3.Caption:=Inttostr(x);
b:= a or c;
Comport.SendByte(b);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
shape1.Brush.Color:=clblack;
shape2.Brush.Color:=clyellow;
shape3.Brush.Color:=clblack;
shape4.Brush.Color:=clyellow;
shape5.Brush.Color:=clblack;
shape6.Brush.Color:=clyellow;
shape7.Brush.Color:=clblack;
shape8.Brush.Color:=clyellow;
Label1.Caption:='Тема №1';
{a:=00000010;}
Comport.SendByte($02)
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
shape1.Brush.Color:=clblack;
shape2.Brush.Color:=clblack;
shape3.Brush.Color:=clyellow;
shape4.Brush.Color:=clyellow;
shape5.Brush.Color:=clblack;
shape6.Brush.Color:=clblack;
shape7.Brush.Color:=clyellow;
shape8.Brush.Color:=clyellow;
Label1.Caption:='Тема №4';
{a:=00010000;}
{Comport.SendByte($10)}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Comport.Connect;
if (Comport.Connected) then Label5.Caption:='ComPort Connected';
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Comport.Disconnect;
end;
end.
Приложение №3
Особенности ядра микроконтроллера:
· Высокопроизводительный RISC-процессор
· Всего 35 простых для изучения
· Все инструкции исполняются за один такт, кроме инструкций перехода, выполняемых за два такта
· Скорость работы: тактовая частота до 20 МГц;
· минимальная длительность такта 200 нс
· FLASH память программ до 8K x 14 слов
· Память данных (ОЗУ) до 368 x 8 байт
· ЭСППЗУ память данных до 256 x 8 байт
· Совместимость цоколTвки с PIC16C73/74/76/77
· Механизм прерываний (до 14 внутренних/внешних источников прерываний)
· Восьмиуровневый аппартный стек
· Прямой, косвенный и относительный режимы адресации
· Сброс при включении питания (POR)
· Таймер включения (PWRT) и таймер запуска генератора (OSC)
· Сторожевой таймер (WDT) с собственным встроенным RC-генератором для повышения надежности работы
· Программируемая защита кода
· Режим экономии энергии (SLEEP)
· Выбираемые режимы тактового генератора
· Экономичная, высокоскоростная технология КМОП FLASH/ЭСППЗУ
· Полностью статическая архитектура
· Программирование на плате через последовательный порт с использованием двух выводов
· Для программирования требуется только единственный источник питания 5В
· Отладка на плате с использованием двух выводов
· Доступ процессора на чтение/запись памяти программ
· Широкий диапазон рабочих напряжений питания: от 2,0В до 5,5В
· Сильноточные линии ввода/вывода: 25 мА
· Коммерческий и промышленный температурные диапазоны
· Низкое потребление энергии:
· - < 2 мА при 5 В, 4 МГц
· - 20 мкА (типичное значение) при 3 В, 32 кГц
· - < 1 мкА (типичное значение) в режиме STANDBY
Приложение №4
Периферия:
· Timer0: 8-разрядный таймер/счетчик с 8-разрядным предварительным делителем
· Timer1: 16-разрядный таймер/счетчик с предварительным делителем, может вести счTт во время спящего режима от внешнего генератора
· Timer2: 8-разрядный таймер/счетчик с 8-разрядным регистром периода, предварительным и выходным делителем
· 2 модуля захвата, сравнения, ШИМ
· Захват 16-ти разрядов, максимальное разрешение 12,5 нс
· Сравнение 16-ти разрядов, максимальное разрешение 200 нс
· ШИМ с максимальным разрешением 10 разрядов
· 10-битный многоканальный аналого-цифровой преобразователь
· Синхронный последовательный порт (SSP) с интерфейсами SPI (с Master-режимом) и I2C (с режимами Master/Slave)
· Универсальный синхронно-асинхронный приемопередатчик (USART/SCI) с обнаружением 9-разрядного адреса
· Встроенный генератор опорного напряжения
· Параллельный 8-битный Slave-порт (PSP) со внешними сигналами управления RD, WR и CS (только в 40/44-выводных корпусах)
· Программируемая схема сброса при падении напряжения питания (BOR)
Размещено на Allbest.ru
Подобные документы
Физические основы работы акустического светорегулятора. Диммер - переключатель мощности подключенного к нему бытового осветительного электроприбора. Типовые схемы построения регуляторов освещения. Способы управления работой диммера. Схема печатной платы.
контрольная работа [725,3 K], добавлен 06.08.2013Построение структурной, функциональной и принципиальной схем электронного термометра на основе микроконтороллера, выбор элементной базы, оптимальной для реализации поставленных задач по диапазону характеристик, алгоритм работы системы и программный код.
курсовая работа [2,4 M], добавлен 27.12.2009Регулятор освещения с дистанционным управлением. Технические характеристики устройства и сравнение с аналогами. Разработка структурной схемы схема управляемого инвертора. Выбор элементной базы. Фильтр питания модуля. Схема электрическая принципиальная.
курсовая работа [754,9 K], добавлен 16.05.2014Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.
курсовая работа [3,3 M], добавлен 26.06.2016Схемотехнические решения построения устройств дежурного освещения. Анализ работы автономного источника дежурного освещения с таймером, построение и описание его структурной и принципиальной схемы. Описание конструкции печатной платы и сборочного чертежа.
курсовая работа [2,0 M], добавлен 10.07.2014Разработка структурной и принципиальной схем электронного тахометра. Изучение принципа работы датчика магнитного поля. Выбор микроконтроллера. Проектирование управляющей программы для микроконтроллера. Адаптация устройства к промышленному применению.
курсовая работа [1,1 M], добавлен 22.01.2015Разработка электронного кодового замка с использованием микроконтроллера PIC16F676. Назначение отдельных функциональных блоков. Возможные варианты структурных схем. Обоснование выбора структурной схемы устройства. Алгоритм работы структурной схемы.
курсовая работа [334,9 K], добавлен 18.06.2012Исследование режима торможения до полной стадии остановки двигателя постоянного тока с независимым возбуждением. Описание микроконтроллера Atmega 128. Алгоритм управления и исследуемого режима работы. Формализация задачи и кодирование входящих сигналов.
курсовая работа [224,6 K], добавлен 30.05.2015Проектирование функциональной и принципиальной схем цифрового вольтметра. Выбор устройства управления (микроконтроллера), источника и инвертора напряжения, индикаторов. Функции и структура управляющей программы, ее алгоритм и глобальные переменные.
курсовая работа [84,8 K], добавлен 14.03.2014Описание функционирования системы, предназначенной для освещения больших елочных гирлянд. Элементы управляющего блока. Синтез функциональной и принципиальной схемы. Временная диаграмма работы системы. Оценка аппаратурных затрат и потребляемой мощности.
курсовая работа [296,1 K], добавлен 10.01.2015