Разработка сборочного чертежа устройства
Сборочный чертёж [БЕН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]