Микропроцессорная техника в системах управления

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    756,24 Кб
  • Опубликовано:
    2014-10-20
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Микропроцессорная техника в системах управления

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ИНСТИТУТ РАДИОТЕХНИЧЕСКИХ СИСТЕМ УПРАВЛЕНИЯ

КАФЕДРА СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ







Пояснительная записка к курсовой работе

«Зарубежные системы управления качеством»

по курсу:

«Микропроцессорная техника в системах управления»

Выполнил:

студент группы РТбо 4-8

Беззубов В. Г.

Проверил:

Югай В. Я.



Таганрог 2014 г.

Оглавление

Введение

Постановка задачи

Принципиальная схема устройства

Заключение

Список литературы

 

Введение


Микроконтроллеры в современном мире на много чаще встречаются в жизни, чем это кажется.

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

Применение микроконтроллеров разниться от задачи устройства и его сложности. Например, для простого отсчета времени (секундомер, часы) можно применить самый просто микроконтроллер серии Tiny ATtiny2313.

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

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

 

Постановка задачи


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

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

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

Рис.1 - Цветомузыкальная установка без корпуса

Рис.2 - Цветомузыкальная установка в корпусе

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

цифровой микроконтроллер звуковой сигнал

Принципиальная схема устройства


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

Рис.3 - Принципиальная схема


Рис.5. - Разводка принципиальной схема (обработка и управление выходными сигналами)

Рис.6 - Разводка принципиальной схема (высоковольтная часть)

 

Алгоритм программной реализации и текст программы

1. Подача (приём) звукового сигнала.

. Обработка звукового сигнала.

. Вывод заданного уровня сигнала в зависимости от поданного сигнала.

Код программы написан на языке Си, занимает в памяти 5кб.

МК ATmega8 имеет 8 КБ программной памяти, 1 КБ SRAM, 512 байт EEPROM, и богатый набор периферийных устройств, из-за чего он с лихвой покрывает требования к устройству. Выбор МК сделан умышленно, чтобы иметь возможность совершенствовать устройство и наращивать его функциональные возможности.

При необходимости код может быть перенесён на другие МК семейства ATmega.

Текст программы

#include <string.h>

#include <avr/io.h>

#include <avr/pgmspace.h>

#include <avr/interrupt.h>

#include "ffft.h"

#include "mydefs.h"_t capture[FFT_N];_t bfly_buff[FFT_N];_t spektrum[FFT_N/2];_t pwm_setting[6];_t counter[6];uint8_t peak[6];uint16_t pwmtable_10[64] PROGMEM = { 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19, 21, 23, 26, 29, 32, 36, 40, 44, 49, 55, 61, 68, 76, 85, 94, 105, 117, 131, 146, 162, 181, 202, 225, 250, 279, 311, 346, 386, 430, 479, 534, 595, 663, 739, 824, 918, 1023 };

/* Таймер 1 */( TIMER1_COMPA_vect ) {uint16_t pwm_cnt = 0;_t tmp = 0;A += (uint16_t) T_PWM;(pwm_setting[0] > pwm_cnt) tmp |= LED1;(pwm_setting[1] > pwm_cnt) tmp |= LED2;(pwm_setting[2] > pwm_cnt) tmp |= LED3;(pwm_setting[3] > pwm_cnt) tmp |= LED4;(pwm_setting[4] > pwm_cnt) tmp |= LED5;(pwm_setting[5] > pwm_cnt) tmp |= LED6;_PORT = tmp;(pwm_cnt == (PWM_STEPS - 1))_cnt = 0;_cnt++;((pwm_cnt == 512) || (pwm_cnt == 0)) {(counter[0] == 0)(peak[0]) peak[0]--;(counter[1] == 0)(peak[1]) peak[1]--;(counter[2] == 0)(peak[2]) peak[2]--;(counter[3] == 0)(peak[3]) peak[3]--;(counter[4] == 0)(peak[4]) peak[4]--;(counter[5] == 0)(peak[5]) peak[5]--;

}

}

*buffer++ = ADC - 32768;

} while(--count);= 0;

}

main (void) {_t s;_DIR |= (LED1 | LED2 | LED3 | LED4 | LED5 | LED6);_PORT &= ~(LED1 | LED2 | LED3 | LED4 | LED5 | LED6);B = (1 << CS10);|= (1 << OCIE1A);();(;;) {_wave(capture, FFT_N);_input(capture, bfly_buff);_execute(bfly_buff);_output(bfly_buff, spektrum);(capture, 0, 12);(uint8_t n = 0; n < FFT_N / 2; n++) {= spektrum[n];(n == 0) {(s <= SCORE_MAX) capture[0] = s;capture[0] = SCORE_MAX;

}((n >= 1) && (n <= 3)) {((capture[1] + s) <= SCORE_MAX) capture[1] += s;capture[1] = SCORE_MAX;

}((n >= 4) && (n <= 11)) {((capture[2] + s) <= SCORE_MAX) capture[2] += s;capture[2] = SCORE_MAX;

}((n >= 12) && (n <= 21)) {((capture[3] + s) <= SCORE_MAX) capture[3] += s;capture[3] = SCORE_MAX;

}((n >= 22) && (n <= 34)) {((capture[4] + s) <= SCORE_MAX) capture[4] += s;capture[4] = SCORE_MAX;

}((n >= 35) && (n <= 63)) {((capture[5] + s) <= SCORE_MAX) capture[5] += s;capture[5] = SCORE_MAX;

}

}(uint8_t y = 0; y < 6; y++) {(capture[y] > THRESHOLD) capture[y] -= THRESHOLD;capture[y] = 0;[y] /= 256;(capture[y] > 63) capture[y] = 63;(counter[y]) counter[y]--;(capture[y] >= peak[y]) {[y] = capture[y];[y] = 3;

}();_setting[y] = pgm_read_word(&pwmtable_10[peak[y]]);

sei();

}

}

}

 

Заключение


При длительном действии устройства наблюдается легкий нагрев элементов высоковольтной части. Добавлены радиаторы к корпусу и прикреплен вентилятор.

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

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

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

2.      Ю.И.Иванов, В.Я.Югай. Микропроцессорные устройства систем управления: Методическое руководство к лабораторным работам. - Таганрог: Изд-во ТРТУ, 2004.

.        Евстифеев А.В. Микроконтроллеры AVR семейства Tiny и Mega фирмы ATMEL. 2-е издание. М.: Додэка-XXI, 2005

.        Прокопенко В. С. Программирование микроконтроллеров atmel на языке си. 2012 г.

Похожие работы на - Микропроцессорная техника в системах управления

 

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