Plano de Trabalho

Transcrição

Plano de Trabalho
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA
BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO
MICROPROCESSADORES - II
RAPHAEL RAMOS NOGUEIRA, WASHINGTON LUIZ PERONI
DOCUMENTAÇÃO
PROJETO: BUS-BUS
BUS-BLOW UNLOCK SYSTEM
CURITIBA
2011
Sumário
Introdução………...............………………………………………………...03
Justificativas………………...............……………………………………...03
Objetivos………………………………..............………………………......04
Resultados esperados……………………...…...............………………...05
Desenvolvimento....................................................................................06
Código Fonte..........................................................................................08
Cronograma Final...................................................................................10
Conclusão...............................................................................................11
Imagens..................................................................................................11
2
1.
Introdução
Este relatório técnico tem a intenção de informar qualquer um que seja e que deseje reproduzir este
projeto acadêmico com intenção educacional, comercial ou por lazer.
1.1
Justificativas
Tendo em vista esse fato, foi pensado desenvolver um sistema de destrava das janelas de
emergência mais automatizado, eficiente e inteligente.
A idéia inicial era construir um sistema embarcado de segurança que identificasse várias situações,
através da leitura por sensores do ambiente, como desaceleração, temperatura e inclinação. Como
tal escopo é de abrangência que não poderíamos programar, foi decidido que para este projeto
apenas o sensor de inclinação e de colisão serão implementados para a destrava automática das
janelas.
Estado da Arte – Tecnologia Atual de Janelas de Emergência em ônibus
Fig.1 Martelo de Emergência
1.2
Fig.2 Alavanca de Emergência
Metodologia
Vamos desenvolver um sistema embarcado, ou seja, micro-controlado sem que haja a necessidade
de um computador. Iremos usar o core do microprocessador 8051 e que possuirá um software padrão
em linguagem assembly, além motores para ejeção das janelas, sensor acelerômetro para a
inclinação, e também aparelhos de instrumentação básica como: multi-teste, osciloscópios, gerador
de funções, protoboard, estação de solda, fluxo e estanho e componentes eletrônicos como:
resistores, capacitores, indutores, transitores, placas de fenolite entre outros.
1.3
As responsabilidades
PUC: Fornecer suporte em infra-estrutura para o grupo seja em laboratórios, kits e material didático.
Professores: Auxiliar o grupo em todas as dúvidas pertinentes ao projeto, assim como corrigir
qualquer falha de elaboração, conceito e implementação, atendendo a disponibilidade previamente
informada ao grupo.
Integrantes: Cada integrante seguirá o cronograma e as atividades a que está responsável. Qualquer
imprevisto que possa gerar atraso ao um dos processos, deve ser relatado ao Líder da equipe que
por sua vez deve propor alternativas, ou consultar os professores se houver necessidade. Cada
integrante independente da hierarquia tem autonomia para dirimir dúvidas técnicas com quem quer
que seja, porém, queixas e outros contratempos internos, devem ser discutidos com a liderança da
equipe e posteriormente com os professores se houver necessidade.
3
2.
Os objetivos
O projeto deve conter os seguintes módulos:
Módulo de Alimentação: Alimentará o módulo motor, o módulo sensor e o módulo processador. Será
composto por fonte de tensão entre 5v a 15v, de corrente de 500 mA a 2A.
Módulo Motor: Irá ejetar as janelas de emergência conforme comando do modulo processador.
Módulo Sensor.Identificará a situação de emergência, no escopo do projeto, apenas o tombamento
para a direita ou para esquerda e por colisões traseiras e frontais será composto por um inclinômetro
analógico que se comunicará com o modulo processador, além de dois sensores piezelétricos que
também se comunicarão com o módulo processador
Módulo Processador: Se encarregará de receber as informações do módulo sensor, e acionar o
modulo motor
3.
Não está incluso no escopo deste projeto
O projeto BUS-BUS não contemplará as seguintes funcionalidades.
A ejeção das janelas nos seguintes casos.
Incêndio.
Obs.: Em caso de capotamento da maquete, as janelas eventualmente poderão ser ejetadas devido à
inclinação de 90º ter sido ultrapassada, mas o foco do projeto será a ejeção das janelas de
emergência em caso de tombamento para qualquer um dos lados.
4.
O projeto
O projeto será composto pelos seguintes módulos:
Módulo de alimentação;
Módulo Sensor;
Módulo Motor;
Módulo Processador.
Descrição dos módulos.
Módulo de alimentação: Fornecerá tensão e corrente aos outros módulos, terá tensão entre 5V a 15V
e corrente entre 500 mA a 2 A. Provavelmente não será confeccionada, mas sim adquirida para
facilitar o andamento do projeto, e uma seqüência saudável do cronograma.
Módulo Sensor: Receberá a informação do mundo físico, conforme os parâmetros definidos, no
escopo deste projeto, o módulo sensor conseguirá identificar, o tombamento do veículo, através de
um sistema de acelerômetros ou giroscópios, ele será o responsável por enviar as informações ao
módulo processador.
Módulo Motor: É o módulo que fará a ejeção das janelas de emergência, ele receberá a informação
de acionamento e parada do módulo processador, este módulo poderá ser construído com diversos
sistemas de motores, os mais indicados serão servo motores de baixo consumo, motores dc e até
motores de passo.
Módulo Processador: Será o cérebro do projeto, estará encarregado de verificar o perfeito
funcionamento do sistema, e da interpretação dos dados captados pelos sensores, do envio de
comando de início e parada dos motores. É a CPU do projeto.
4
MOD.
Alimentação
MOD.
Sensor
MOD.
Motor
MOD.
Processador
Fig. 3 – Diagrama de Blocos Módulos projeto BUS-BUS
5.
Os resultados esperados
Como resultados deste projeto, serão apresentados aos professores os seguintes itens /
funcionalidades:
1.
2.
3.
4.
Protótipo funcionando dos módulos: Alimentação, Motor, Processador, Sensor;
CD com arquivos, códigos-fonte e modelos dos módulos implementados;
Vídeo;
Documentação do projeto dos itens acima.
6.
Os requisitos
Para que este projeto possa ser realizado com sucesso, os seguintes requisitos são necessários e
devem ser fornecidos pela PUCPR:
1.
Disponibilidade de laboratórios para testes de software, hardware e toda a prototipagem do
projeto.
2.
Disponibilidade de instrumentos de medição, assim como kit's para os testes e execução do
trabalho, além de qualquer outro material disponível no campus que haja necessidade de utilização.
3.
Disponibilidade de docentes para sanar as dúvidas técnicas que surgirão, dentro de horários
que não atrapalhem o andamento das atividades dos docentes e do grupo.
7.
A Equipe de Desenvolvimento
A equipe de desenvolvimento contará com os colaboradores:
Washington Luiz Peroni – Líder da Equipe.
Responsabilidades: Liderar a equipe, acompanhar e propor soluções as dificuldades do projeto.
Auxiliar os demais nas atividades para cumprir o cronograma e o plano de trabalho. Atentar e
executar tarefas pedidas pelo conselho deliberativo (Professor Afonso Miguel e o cliente externo).
Executar atividades compatíveis mediante pedido dos superiores imediatos (Professores Afonso
Miguel).
Raphael Nogueira – Gerência de Qualidade e Engenharia do Produto.
Responsabilidades: Gerenciar os processos de qualidade, selecionar fornecedores, acompanhar
processos de acabamento e desenvolvimento de novas técnicas e ferramentas. Auxiliar os demais
nas atividades para cumprir o cronograma e o plano de trabalho. Executar atividades compatíveis
mediante pedido do superior imediato (Washington Luiz Peroni).
8.
Desenvolvimento do Projeto
A seguir etapas de confecção do projeto.
5
9.
Hardware
9.1
Placa Controladora
Para confecção da placa de controle, foi utilizado atmega8 conforme a lista de materiais abaixo
Mais informações no site:
http://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
Arduino RS232 BOM
Parts
Qty Value
Device
Farnell
S1
1
Reset pusbutton
535916
35-656-29 SW400-ND
IC2
1
7805 TO220
701853
73-000-16 LM7805CT-ND
X1
1
DB9 PCB female connector
4106118
44-057-00 A2100-ND
LED1
1
Green LED
656719
75-012-08 160-1144-ND
POWER
1
4 pin header
3291777
43-782-79 A26509-20-ND
J2
1
6pins header
43-782-95 A26509-20-ND
J1, J3
2
8 pins header
43-783-11 A26509-20-ND
X2
1
2.1mm power jack
224959
42-051-67 CP-102AH-ND
Q1
1
16 MHz Quartz
641029
74-517-01 300-6034-ND
D1
1
1N4004
1N4004 or equivalent
251707
70-003-91
D2, D3
2
1N4148
1N4148
399390
70-005-57 1N4148FS-ND
R1
1
4k7
1/4 W resistor
509243
60-785-70 4.7KQBK-ND
R2
1
220
1/4 W resistor
509097
60-784-14 220QBK-ND
R3,R4
2
78xxL
RS ELFA
Digikey
1N4004GICTND
1k
1/4 W resistor
509164
60-784-97 1.0KQBK-ND
R5, R6, R7, R8, R9 5
10k
1/4 W resistor
509280
60-786-12 10KQBK-ND
C1, C5
2
100n
Polyester Capacitor
146079
65-505-29 P4201-ND
C2, C3
2
22p
Polyester Capacitor
896410
65-861-68 1330PH-ND
C6, C7
2
100u
Electrolitic Capacitor
920629
67-010-80 P10269-ND
C8
1
10u
Electrolitic Capacitor
920502
67-008-01 P11250-ND
IC1
1
ATMEGA8 Atmega8 28pin DIP microcontroller
3917927
73-672-04
X3
1
T1
1
BC547
Transistor
357054
71-072-87 BC547BOS-ND
T2
1
BC557
Transistor
4399821
71-072-95 BC327OS-ND
ICSP
1
ICSP
2x3 pins header
3291947
43-717-12 A26509-20-ND
28pin IC socket
ATMEGA816PI-ND
48-161-87 ED3128-ND
Itens adicionais:
2
2
1
1
9.2
Servo motores pequenos
Discos Piezo para sensor de colisão
Porta bateria
Bateria 9V
Fios para conexões
Inclinômetro
Para construir o inclinômetro será necessário:
1
1
Placa de fenolite pré-furada de 10x15
LM7805
6
1 CD40106
2 Chaves de contato
2 Sensores de Inclinação
2 Hastes metálicas finas
1 Tubo externo de caneta esferográfica
Fios para conexões
Cintas Hellerman para Fixação
Solda Elétrica
10.
Esquemas
Fig. 4 – Esquema Lógico Placa controladora
Fig. 5 – Esquema PCB Placa Controladora
Fig. 6 – Esquema de Montagem Final Placa Controladora mais inclinometro analógico
7
11.
Software
/*////////////////////////////////////////////////////////////////////////
12.
* Código fonte do projeto integrado de microprocessadores
13.
* Engenharia de Computação 2011 - noturno
14.
* BUS - Blow Unlock System (BUS-BUS)
15.
* Criado: 07/10/2011 10:42:44
16.
* Autor: Raphael Nogueira
17.
/*///////////////////////////////////////////////////////////////////////
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
#ifndef F_CPU
#define F_CPU 1600000UL////define a frequência da classe delay em 1MHz
#endif
#ifndef __OPTIMIZE__
#define __OPTIMIZE__
#endif
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
/////prototipos das funçoes/////
void init_ports(void);
void init_ADC(void);
void pisca_led(void);
void abreesquerda(void);
void abredireita(void);
void init_janela(void);
unsigned char read_ADC(void);
//funçao que le o valor da conversão analogica
unsigned char read_ADC(void)
{
unsigned char value;
ADCSRA = ADCSRA | 0x40;
while( (ADCSRA & 0x10) == 0 );
value = ADCH;
return value;
}
//funçao para iniciar as janelas na posiçao inicial de 0°
void init_janela(void)
{
for(int i=0; i<30; i++)
{
PORTB = 0x03;
_delay_ms(1.5);
PORTB = 0x00;
8
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
_delay_ms(18.5);
}
}
//funçao que abre a janela do lado esquerdo 90°
void abreesquerda(void)
{
for(int i=0; i<30; i++)
{
PORTB = 0x01;
_delay_us(800);
PORTB = 0x00;
_delay_ms(19.2);
}
}
//funçao que abre a janela do lado direito 90°
void abredireita(void)
{
for(int i=0; i<30; i++)
{
PORTB = 0x02;
_delay_us(800);
PORTB = 0x00;
_delay_ms(19.2);
}
}
//liga o pisca alerta após a colisao
void pisca_led(void)
{
while(1)
{
PORTB = 0x04;
_delay_ms(500);
PORTB = 0X00;
_delay_ms(500);
}
}
//inicia as portas do microprocessador configurando-as como entrada e/ou saida
void init_ports(void)
{
DDRB = 0xFF;
DDRC = 0x00;
DDRD = 0x00;
PORTB = 0x00;
PORTC = 0x00;
}
//configura os registradores do conversor AD para fazer as conversão utilizando
referencia interna
114.
void init_ADC(void)
9
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
{
ADMUX = 0xE0;
ADCSRA = 0x87;
}
/////Funçao principal do programa/////
int main(void)
{
init_ports();
init_ADC();
init_janela();
while(1)
{
//if (bit_is_set(PIND,PIND2))
if (PIND & 0x01)
{
abreesquerda();
pisca_led();
}
//if (bit_is_set(PIND,PIND3))
if(PIND & 0x02)
{
abredireita();
pisca_led();
}
unsigned char valor = ~read_ADC();
if (valor > 249)
{
abreesquerda();
abredireita();
pisca_led();
}
}
return 0;
}
10
12.
Cronograma Final
13.
Conclusão
O projeto seguiu o cronograma anexo ao final, porem tivemos muitas dificuldades para o seu
funcionamento do protocolo I2C. Embora seja uma tecnologia posta, não houve êxito nesse quesito.
Tivemos o auxilio do especialista Henrique Hinke como stakeholder, a quem mais uma vez
agradecemos. Bem, com isso decidiu se construir um acelerômetro analógico, parar a detecção da
inclinação, que conforme os testes ira satisfazer. Também seguindo o escopo, foi usado como sensor
de colisão, pastilhas piezoeletricas, junto ao microntrolador Atmega 8, aproveitando seus conversor
AD para captar a tensão gerada pela pastilha através da colisão, e converte la em nível lógico 1.
13.1
Maquete
A principio iríamos levar uma miniatura de um ônibus real, compramos uma via internet. Mas a
qualidade da mesma deixou a desejar, e resolvemos utilizar algo maior, porem com detalhes de
acabamentos, mais adaptáveis ao nosso projeto. Adeqüemos então uma miniatura de caminhão com
carroceria vazada o que ficou ideal para a instalação das placas e motores. Pois facilitou o acesso
para a instalação dos nossos dispositivos.
14.
Imagens
Abaixo imagens da execução do projeto.
11
Fig. 7 – Desenvolvimento do Projeto
12

Documentos relacionados