Схема шестикнопочного устройства

Автор работы: Пользователь скрыл имя, 17 Января 2011 в 20:49, курсовая работа

Краткое описание

Одна из основных задач данного курсового проекта состоит в том, чтобы подобрать необходимую элементную базу, произвести синтезирование, анализ и расчёт электрический принципиальных схем различных узлов, и соединив воедино, получить полноценную систему сбора данных.
Но помимо разработки самой схемы, в данную работу будет включена проектировка печатной платы, создание программы инициализации различных узлов системы сбора данных, а так же произведена разработка корпуса устройства.

Содержание работы

Задание……………………………………………………………………………….4
Введение……………………………………………………………………………..5
1 Обзор вариантов решения технической задачи и выбор метода расчета……7
2 Обоснование выбора микроконтроллеров MicroChip………………………….11
3 Разработка схемы электрической принципиальной и перечня элементов.....11
3.1 Основные системы микроконтроллера ………….………………………….13
3.1.1 Схема тактирования ………….………….………….………….……. ……..11
3.1.2 Схема сброса ………….………….…………………………………………..15
3.1.3 Последовательный внутрисхемный интерфейс программирования …….17
3.2 Цепь сопряжения аналоговых датчиков с микроконтроллером .……….…20
3.3 Часы реального времени…...25
3.4 Внутренний последовательный интерфейс……………………………..…..27
3.5 Система стабилизации питания…….……………………...………….…......29
3.6 Система управления светодиодной индикацией…………………………….31
3.7 Реализация работы клавиатуры…………………………………….………….37
4 Расчёт потребляемой мощности……………………………………..………….39
5 Разработка печатной платы устройства ……………………………………….43
Вывод……………………………………………………………………………….45
Список литературы……………………………………………………..………….46

Содержимое работы - 1 файл

Kursovik.docx

— 151.54 Кб (Скачать файл)

          - Обладает возможностью выбора источника тактового сигнала

          - Позволяет программирование на плате через порт ISP.

          - Обладает программируемой защитой кода

          - 1000 циклов записи/стирания FLASH памяти программы

          - 100 000 циклов записи/стирания памяти данных ЭСППЗУ

          - Период хранения данных ЭСППЗУ > 40 лет  

     С небольшими доработками в коде программ, возможно использование вместо выбранного микроконтроллера, следующие модели:

          - PIC16C73B/74B/76/77

          - PIC16F873/874/876/877 

     Все разработанные далее узлы будут  подключаться к микроконтроллеру. В  зависимости от способа связи  с ним,  модули будут подключаться к различным выводам по различным  интерфейсам  
 
 
 
 
 
 
 
 
 
 
 
 
 

3.1 Основные системы микроконтроллера

3.1.1 Схема тактирования 
 
 

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

     У всех микроконтроллеров имеются  два вывода, предназначенные для  тактирования их работы: OSC1 (CLKIN) и OSC2 (CLKOUT). Для тактирования могут использоваться либо внутренние, либо внешние генераторы. Внутренний генератор обладает частотой до 4МГц и используется в целях экономии энергии, либо в тех случаях, когда производительность микроконтроллера не критична. Внешний генератор (частоты до 20МГц) применяется в целях обеспечения высокой производительности.

     Существует  несколько реализаций внешнего генератора, от простейших схем с одним резистором и конденсатором, до синхронизации  от импульсов других микроконтроллеров.

     В нашем случае будет использоваться кварцевый генератор CFPS-39-20M (рисунок 3а), внутри которого уже имеется два конденсатора и кварцевый резонатор, включённые по схеме, показанной на рисунке 3б  

Рисунок 3 Схема включения кварцевого генератора 

     Таким образом, мы тактируем схему наиболее качественно.

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

     Использование внутреннего генератора приводит к  некоторым трудностям. Так как  возникает необходимость его  калибровки при помощи битов регистра OSCCAL. В выбранном нами микроконтроллере, можно заранее записать значение в адрес калибровочной константы (FFFh)

     Остальные схемы генерации либо не стабильны (простейшие схемы), либо слишком громоздки  и дороги (с использованием инверторов).

     Так же стоит отметить, что для генерации  по схеме на рисунке 3 используется напряжение питания микроконтроллера, а с учётом необходимости «раскачки» генератора не рекомендуется использовать такую схему в режиме экономии энергии. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.1.2 Схема сброса   
 
 

     Логика  сброса  предназначена  для  перевода  микроконтроллера  в  исходное  состояние  с  заведомо  известными параметрами работы. Источник сброса микроконтроллера может быть идентифицирован с помощью битов состояния. Особенности логики сброса позволяют снизить стоимость устройства и увеличить его надежность.

     Микроконтроллеры  среднего семейства различают следующие  виды сброса:

     а)  Сброс по включению питания (POR);

     б)  Сброс по сигналу -MCLR в нормальном режиме работы;

     в)  Сброс по сигналу -MCLR в режиме SLEEP;

     г)  Сброс по переполнению WDT в нормальном режиме;

     д)  Сброс по снижению напряжения питания (BOR);

     е)  Сброс по ошибке паритета (PER); 

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

     Большинство регистров не изменяются после любого вида сброса, но после сброса по включению  питания они  содержат  неизвестное  значение. Некоторые  регистры  сбрасываются  в  начальное  состояние  при  сбросе POR. Поэтому этот вид сброса представляет для нас особый интерес.

Рисунок 4 Схема сброса

     На  входе MCLR стоит специальный фильтр, который не позволяет фиксировать кратковременные импульсы. Так же возможно изменение некоторых регистров с целью установки необходимого времени задержки срабатывания.

     Для обеспечения плавного нарастания и  фильтрации напряжения питания, в цепи установлен конденсатор C8 = 0,1мкФ. Резисторы R5 и R6 имеют номиналы 22кОм и 470Ом соответственно. Немаловажно обратить внимание на диод VD3, потери напряжения на нём не должны составлять больше 0,2В, так как это может приблизить сигнала к минимальному значению срабатывания. Потеря напряжения на современных SMD диодах составляет 0,1В, что удовлетворяет установленным пределам.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.1.3 Последовательный внутрисхемный интерфейс программирования (ICSP) 
 
 

     Все  микроконтроллеры PICmicro  среднего  семейства могут быть  запрограммированы по  последовательному интерфейсу ICSP  после их  установки на  плату устройства.  Для программирования  требуется всего два сигнальных провода (синхронизация, данные) и три проводов питания (общий, напряжение питания микроконтроллера, напряжение программирования). Основной задачей при проектировании схемы подключения внешнего программатора по SCPI является изоляция микроконтроллера от основной схемы.

     В данной схеме все части, которые  необходимо изолировать будут находиться на панели индикации, таким образом, будет иметься, так называемая «защита  от дурака». Чтобы произвести программирование, будет необходимо добраться до слота  подключения, который будет находиться на плате под панелью управления. Таким образом, будет необходимо отключить одну плату, в результате чего будет произведена изоляция микроконтроллера.

Рисунок 5 Схема подключения последовательного внутрисхемного интерфейса

программирования (ICSP) 

Таблица 3 Назначение выводов

Цепь Назначение
VDD (VCC) Напряжение  питания
MCLR' (VPP) а) Вход сброса микроконтроллера

б) Вход напряжения программирования

GND (VSS) Общий провод
RB7 (DATA) Двунаправленная шина данных в режиме программирования
RB6 (CLOCK) Вход синхронизации  в режиме программирования
RB3 (PGM) Опционально
 

     Микроконтроллер  переходит  в  режим  программирования/проверки,  если  выводы RB6  и RB7  удерживаются  в низком  логическом  уровне,  а  на  выводе -MCLR (VPP)  уровень сигнала изменяется  от VIL  до VIHH (см.  спецификацию программирования),  и  присутствует  напряжение  питания VDD.  Вывод RB6  становится  входом  тактового сигнала программирования,  а RB7 -  входом/выходом данных  программирования/проверки. Выводы RB6, RB7  имеют входной буфер  с  триггером Шмидта.  Для  передачи  данных  микроконтроллером  на  выводе RB7  реализован  выходной  КМОП буфер.

     После  перехода  в  режим  программирования/проверки  счетчик  команд PC  принимает  значение 0000h.  Для управления программированием (или проверкой) используются 6-разрядные команды. Некоторые команды сопровождаются 14- разрядными  данными,  передаваемые  или принимаемые из  микроконтроллера  в зависимости от  назначения команды (чтение  или  запись).  Полную  информацию  по  программированию  микроконтроллеров  смотрите  в спецификации программирования соответствующего микроконтроллера.

     В  режиме  последовательного  программирования/проверки  сторожевой  таймер WDT  выключен  для предотвращения сброса микроконтроллера.

     Выводы  RB6, RB7  используются PICmicro  для последовательного программирования (RB6 -  линия синхронизации; RB7 -линия данных). RB6 -  управляется  программатором. RB7 -  двунаправленный вывод,  который управляется  программатором  и  микроконтроллером.  Эти  выводы  должны  быть  изолированы  от  остальной  схемы, чтобы  она  не  влияла  на  сигналы  последовательного  программирования.  Необходимо  учитывать  выходное сопротивление источника сигналов программатора при изоляции выводов RB6, RB7 от остальной схемы (RB6 - вход на PICmicro; RB7 -  двунаправленный вывод).

     Согласно  спецификации  программирования -  микроконтроллер  может  быть  запрограммирован  только  при напряжении питания 5В.

     Напряжение  на  выводе -MCLR/VPP  должно  достигнуть VPP  до  начала  выполнения  кода программы.  При  использовании  кварцевого  или  керамического  резонатора  это  проблема  не  возникает,  т.к.  код программы начнет  выполняться после отсчета 1024  тактов  генератора. RC  генераторы  не  требуют времени запуска, поэтому  таймер  запуска  генератора  не  используется.  Программатор  должен  успеть  установить  напряжение программирования  на  выводе -MCLR/VPP  прежде,  чем тактовый  генератор успеет  сформировать 4  такта.  Если RC генератор успеет сформировать 4 и более тактов, то после перехода в режим программирования счетчик команд будет иметь не нулевое  значение, а некоторое  значение X. Программа в микроконтроллер будет  загружена со смещением. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.2 Цепь сопряжения аналоговых датчиков с микроконтроллером 
 
 

     Так как основной задачей мультиплексной системы сбора данных является снятие напряжений (соответствующих некоему значению определённых физических величин) с нескольких аналоговых датчиков, то необходимо разработать систему, которая бы позволяла это осуществить.

     В данном случае, мультиплексирование  окажется очень полезным, так как  позволит использовать гораздо меньшее  количество портов микроконтроллера. К тому же, мы нисколько не потеряем в производительности, так как  внутри микроконтроллера имеется всего  один аналого-цифровой преобразователь, а все аналоговые входы, всё равно, мультиплексируются внутри МК  и  оцифровываются поочерёдно.

     В таком случае, вместо подключения  датчиков к шести аналоговым входам, будет достаточно одного аналогового и трёх обычных портов для управления мультиплексором, что позволяет сэкономить два порта ввода/вывода

     Но  использование меньшего количества портов это не единственный плюс такого решения. Так как нам необходимо ещё управлять коэффициентом усиления сигналов с аналоговых датчиков, то чтобы не устанавливать на каждый вход отдельный усилитель, достаточно будет установить один операционный усилитель на выходе аналогового мультиплексора и управлять коэффициентом поочерёдно для каждого сигнала.

     Изменять  коэффициент усиления мы будем при  помощи цифрового потенциометра, включённого  в цепь обратной связи однополярного ОУ. Цифровой потенциометр способен менять сопротивление между определёнными выводами и управляется по средствам интерфейса I2C

     В данной связке будет использоваться операционный усилитель AD820 с однополярным питанием 12В.  

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

     Необходимо  обеспечивать коэффициенты усиления KУС равный 1, 10 и 100. Необходимый коэффициент, находим по формуле (1):

              (1)

     Рассчитаем  необходимое сопротивление резистора R2 и сопротивление цифрового потенциометра для достижения необходимого усиления.

     Цифровой  потенциометр AD8400 способен менять сопротивление RAW от 0 до 100 кОм с шагом 400 Ом и минимально возможным RAW = 50 Ом

Информация о работе Схема шестикнопочного устройства