Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-10-09 | 226 |
5.00
из
|
Заказать работу |
|
|
Сборочный чертёж [БЕН22] — вид конструкторской документации, документ, содержащий изображение сборочной единицы и другие данные, необходимые для её сборки и контроля.
Требования к выполнению сборочных чертежей установлены в ГОСТ 2.109 (ЕСКД. Основные требования к чертежам).
Данный чертеж должен содержать исчерпывающую информацию о месте установки каждого элемента, и о способе его монтажа.
На сборочном чертеже устройства показываем все элементы, маркировку позиционных обозначений. Эта маркировка является условной, т.к. на самой плате она не выполняется. Все элементы на чертеже изображаем в упрощенном виде.
На сборочном чертеже устройства необходимо указать технические требования, предъявляемые к установке элементов, сборке и маркировке платы, а также показать все исполнительные, присоединительные и габаритные размеры. Исполнительные размеры (в основном) относятся к монтируемым элементам, чтобы показать формовку (гибку) выводов и размеры для их установки (например, высота над платой).
Сборочный чертеж представлен на чертеже ИГТУ421710.004СБ.
7. Разработка алгоритма программы управления учебным роботом[БЕН23]
Общая схема управления учебным роботом предствалена через алгоритм программы управления двигателей постоянного тока. Общая схема алгоритма программы, представлена на рисунке 6.
Начало |
Инициализируем интер-фейс приёма UART |
Подключение установлено? |
Инициализируем порты ввода/вывода |
Чтение байта Х |
В |
Б |
АВ |
Рисунок 6 – Общая схема алгоритма программы, управления двигателями постоянного тока
Движение вперёд |
Х.0 = 1? |
Б |
АВ |
Х.1 = 1? |
Движение назад |
Х.2 = 1? |
Движение вправо |
Х.3 = 1? |
Движение влево |
Х.4 = 1? |
Движение нет |
В |
Конец |
|
Рисунок 6 – Продолжение
Разработка программы управления учебным роботом
Разработанная программа демонстрирует изученные в процессе обучения навыки программирования микроконтроллеров. Программа осуществляет управление учебным роботом, через управления двигателями постоянного тока.
Для запуска этой программы необходимо предварительно записать прошивку в микроконтроллер. Затем соединить разъемы на плате с соответствующими элементами и подать питание 5 вольт на схему. Данная программа разрабатывалась в среде AVRStudio 4.
Для создания программы были использованы следующие функции:
void InitPorts() – Инициализация портов ввода-вывода.
void InitTimer1() – Инициализация таймера.
void InitUSART(unsigned int baud) – инициализация интерфейса UART.
void USART_Transmit(unsigned char data) - Отправка байта по USART.
void USART_Transmit_str(char *str) - Отправка строки по USART.
void shag(char flag) - Выполнение одного шага двигателя (одно переключение обмоток).
int chastota(int hz) - Возвращает число которое нужно подставить в таймер чтоб получить заданную частоту.
void poehali(int mm) - Пересчет расстояния в шаги, включение таймера.
void stop(void) – остановка двигателя.
Текст программы.
#define F_CPU 8000000UL
#include <avr/io.h>
#include <stdlib.h>
#include <avr/interrupt.h>
#define NOM 4
const char obm_shag[4]={0b0001,0b0100,0b0010,0b1000};
char napr_dvig=0; //направление движения, 0-стоим, 1,2-едем
volatile int amount_step=0; //количество шагов
/////////////////////////////////////////////////////////////////
void InitPorts()
{
PORTC=(1 << PC4)|
(1 << PC5); // Подключаем внутренние нагрузочные резисторы
DDRD=(1<<PD7)| //разрешение первого моста
(1<<PD6)| //разрешение второго моста
(0<<PD5)| //
(1<<PD4)| //обмотки
(1<<PD3)| //
(1<<PD2)| //
(1<<PD1)| //
(0<<PD0);
}
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
//процедура остановки двигателя
/////////////////////////////////////////////////////////////////
void stop(void)
{
PORTD &= ~((1<<PD6)|(1<<PD7));
|
}
/////////////////////////////////////////////////////////////////
//Процедура обработки прерывания по Таймеру 1
ISR (TIMER1_COMPA_vect)
{
shag(napr_dvig); //процедура одного шага двигателя
}
/////////////////////////////////////////////////////////////////
int main(void)
{
int i=0;
InitPorts();
asm ("sei"); // Разрешение прерываний
if((PINC & (1<<PC3)) == 0) //первая кнопка нажата
{
PORTD &= ~(0b00011010);
PORTD |= 0b00000010;
}
if((PINC & (1<<PC4)) == 0) //вторая кнопка нажата
{
PORTD &= ~(0b00011100);
PORTD |= 0b00000100;
}
if((PINC & (1<<PC5)) == 0) //третья кнопка нажата
{
PORTD &= ~(0b00001110);
PORTD |= 0b00001000;
}
if((PINC & (1<<PC6)) == 0) //четвертая кнопка нажата
{
PORTD &= ~(0b00010110);
PORTD |= 0b00010000;
}
return 0;
}
Заключение
При выполнении курсового проекта были разработаны:
· конструкторская документация устройства управления учебным роботом:
¾ схема электрическая принципиальная микропроцессорного устройства управления учебным роботом
¾ перечень элементов к схеме электрической принципиальной;
¾ печатная плата устройства управления учебным роботом;
¾ сборочный чертеж;
¾ спецификация к сборочному чертежу.
· схемы алгоритмов программы управления учебным роботом;
· программа управления учебным роботом.[БЕН24]
|
|
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!