3. Проектирование программного обеспечения микропроцессора
Программа должна выполнять следующие функции:
• получение и обработка информации от датчиков;
• управление шаговым двигателем;
• передачу по последовательному интерфейсу (UART); Выполнение этих операций происходит по следующему алгоритму:
Проектирование процедуры обработки прерываний
В программе используются прерывания от таймеров счетчиков. Используются оба аппаратных таймера счетчика, но на Т/СО организованы также два программных счётчика,
Проектирование процедуры передачи данных по последовательному интерфейсу
По специфике работы устройства, данные только передаются в последовательный порт компьютера, то алгоритм функционирования последовательного интерфейса значительно упрощается.
Проектирование процедуры Main
Проектирование процедуры заключается в том, чтобы в правильном порядке выполнялись процедуры, описанные за ее пределами, в правильном взаимодействий всех переменных, массивов, а также подпрограмм прерываний от таймера-счетчика и функционирования последовательного интерфейса.
4. Листинг программы
tfdefine ENABLE_BIT_DEFINITIONS tfinclude <ina90.h> ^include <iom!6.h> ^include "ctype.h" include "stdlib.h"
unsigned char SM[4]={9,12,6,3};
unsigned char d,S;
unsigned char TmrO_Opros[51={10,15,20,25,30f;
unsigned char Tmr(tSM{5]=}24,29,36,48,72|;
unsigned char Perepl,Perep2;
#define ENABLE_BIT_DEnNITIONS
#pragma vector=TIMERO_OVF_vect _interrupt void TlMERO_OVF_interrupt(void)
{
TCNTO=236; Perepl++; Fetep2++;
if(Perepl=TmrO_Opros[S]} (
Perepl=0; TmrO_Opros_Flag=l;
} if{Perep2=TmrO_SM[S]}
{
TmrO_SM_Flag=l;
Perep2=0; TmrO_SM_Hag=l;
d++; if(d=4) |d=0;
I i
}
//=============«=======«=
fpragma vector=TIMERl_OVF_vect
interrupt void TIMERl_OVFjnterrupt(void)
( TCNTlL=OxbO;// 5 sec
TCNTlH=Oxb9; TmrlmFlag=l;
I //======================================================
void InitTimers(void)
{
disable_interrupt();
TCCRCN4;// 1/256
TIMSK (- (1 « TOIEO);//Enable TimerO Interrupt
TCNTO=0;
TCCR1=5;// 1Д024
// TIMSK | = (3 « TOIE1);//Enable Timerl Interrupt
TCNTlL=OxbO;// 5 sec
TCNTlH=Oxb9;
TmrPreLoad[0)=l;
TmrCnt[0]=l;
TmrFlag[0]=Ox81;
enable_interrupt();
I
void Init(void)
I
DDRB=0;
PORTB=OXFF;
DDRD=OXFF;
PORTD=OXFF;
) //========================================
void main(void)
{
InitTimers{);
Init();
InitUART();
While(l)
(
if(Extern_Signal=l) (Extern_Signal=0;
S++; if{S=4) {S=0;
I
TIMSK I = (3 « TOIE1);//Enable Timerl Interrupt
TCNTlL=OxbO;//5 sec
TCNTlH=Oxb9
}
if{TmrO_SM_FIag=l)
I
PORTB=SM[d];
TmrO_SM_FIag=0;
I
if(Tmrl_Flag=l&PINBJBitO=l) j Flag_Count=l;
)
if(Flag_Count=l) |TCNTO=236; if(TmrO_Opros_Flag=l)
{
k++;
if(PINB_BitO=l) |k=01 if(PINB_Bitl=l)
{
Data=k+l;
Flag_Count=0;
I I 1
if(Data!=0)
I TransmiteByte(Data);
Data=0;
} if(PINB_Bit2)
{ Extern_Signal=l;
} \_
void InitUART(void)
{
UBRRL = 191; UBRRH = 0; UCSRA = 0;
UCSRB - ((1 « RXCIE) | (1« RXEN) \ (1 « TXEN)); UCSRC = ((1 « URSEL) | (1 « UCSZ1) j (1 « UCSZO));
!
void TransmitByte (unsigned char data)
t UCSRB | = (1«UDRIE | 1«TXCIE);
I
#pragma vector=USART_TXC_vect
interrupt void USARTJTX_interrupt(void)
t UCSRB &= ~(1«TXCIE);//disable TX Interrupt
I
#pragma vector=USART_UDRE_vect
^interrupt void USART_TX_UDREJnterrupt(void)
{
UDR = Data;
UCSRB &= ~(1«UDRIE);//disable UDR Interrupt
UCSRB | = {1«TXCIE);//enable TX Interrupt
)
5. Рекомендации по разработке аппаратных диагностических средств для проверки работоспособности устройства
Для диагностики работоспособности данного устройства можно использовать как аппаратные, так и программные средства. Данные средства должны иметь возможность производить обмен по последовательному интерфейсу RS-232, а так же отображать передаваемую информацию.
Для проверки наличия сигнала с датчиков, можно подключить светодиоды, либо имитировать срабатывание датчика при помощи любых переключающих устройств.
6. Проектирование печатной платы устройства
Для того, что бы развести печатную плату используется программа LayoutPlus пакета OrCad. Она позволяет производить разводку печатных плат, как в автоматическом режиме, так и в ручном.
Произведем разводку печатной платы нашего устройства. Для этого мы создается схема в OrCAD Captured S.
Схему необходимо создавать таким образом, что бы на ней не оставалось ни одного свободного входа/выхода или висячего провода. Необходимо убрать все вспомогательные компоненты схемы (источники тока, напряжения, генераторы и другие), и прописать в свойствах компонентов раздела Footprint тип корпуса.
В установках LayoutPlus мы настраиваем количество слоев, ширину дорожек, расстояние между дорожками, между дорожками и контактными площадками, угол поворота дорожек. Затем производим разводку в автоматическом режиме, создаем координатную сетку и проставляем размеры.
В результате была спроектирована печатная плата, показанная в приложении Б. Она изготавливается из фольгированного стеклотекстолита толщиной 1.. Л.5 мм. Все отверстия на плате должны быть металлизированы.
Заключение
В данном курсовом проекте было разработано устройство контроля позиционирования исполнительного механизма, которое является одним из блоков Системы контроля позиционирования исполнительного механизма.
Устройство регистрирует положение ИМ в каждый момент времени и передаёт информацию об этом в компьютер, а также управляет скоростью вращения шагового двигателя, который является приводом ИМ.
Была разработана принципиальная электрическая схема устройства, а также плата печатного монтажа.
В ходе проектирования устройства были рассмотрены основные принципы построения устройств на микроконтроллерах AVR, изучена возможность связи с внешними устройствами по последовательному интерфейсу RS-232.
... , , . Произведем оценку числа возможных вариантов, которые можно синтезировать на основе морфологической матрицы при наложении на нее граничных условий проектирования, а именно исключения вышеперечисленных вариантов: Для всего PC машины поточной линии прядильного производства оценка полных решений может быть проведена по следующей формуле: , где – количество исполнительных механизмов в ...
... функциональных возможностей; - улучшение эргономических качеств; - улучшение эстетических качеств; - повышение чувствительности, точности, стабильности, диапазона. Цели и задачи автоматизации производственных систем Автоматизация - это совокупность организационно-технических мероприятий, обеспечивающих замену физического и умственного труда человека, затрачиваемого на планирование, ...
... среды; В проекте используются следующие САР (Системы автоматического регулирования): 1 САР расхода флегмы в колонны 3 и 8; 2 САР расхода продукта, подаваемого в колонну 8; 4. Выбор и обоснование технических средств регулирования, контроля, защиты и блокировки Для измерения давления продукта в верхней части колонн 3 и 8 выбираем: Для контроля давления в нижней и верхней части колонн ...
... соединение сопрягаемых деталей, так как устраняется трение. Все рассмотренные устройства относительного ориентирования могут быть использованы при разработке адаптивных сборочных РТК. 10. Типовые РТК сборки Экспериментальный сборочный РТК на базе ПР мод. РВ - 50Ф2 (рис. 2.12), созданный в ЭНИМСе, обеспечивает автоматическую сборку подшипниковой опоры комбайна. Собираемый узел состоит из ...
0 комментариев