O documento apresenta dois relatórios sobre projetos de transformação de um carro brinquedo em um carro robótico sensível à luz. O primeiro projeto usa dois sensores LDR e amplificadores de sinal para controlar independentemente a velocidade de cada motor. O segundo projeto usa um único sensor LDR e entrada analógica para controlar a velocidade dos motores. Ambos usam um microcontrolador MSP430 para ler os sensores e controlar a velocidade dos motores via PWM.
2. MOD.AFTEBI.P-083.REV01
2 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
ÍNDICE:
ESTRUTURA .................................................................................................................................... 3
OBJECTIVO GERAL ....................................................................................................................................................................3
BREVE EXPOSIÇÃO DO ASSUNTO DESENVOLVIDO........................................................................................................3
TEMA 1............................................................................................................................................ 3
OBJECTIVOS ESPECÍFICOS .....................................................................................................................................................3
DESENVOLVIMENTO..................................................................................................................................................................4
CONCLUSÕES GERAIS ..........................................................................................................................................................11
BIBLIOGRAFIA UTILIZADA...................................................................................................................................................14
ÍNDICE DE GRÁFICOS, FIGURAS E TABELAS ................................................................................................................14
3. MOD.AFTEBI.P-083.REV01
3 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
ESTRUTURA
OBJECTIVO GERAL
Reaproveitamento dum carro brinquedo e transforma-lo num carro robótico que segue a luz.
BREVE EXPOSIÇÃO DO ASSUNTO DESENVOLVIDO
Transformar um carro brinquedo num carro robótico sensível à luz controlado pelo Microcontrolador do
fabricante Texas Instruments MSP430G2452 na placa Lunchpad. Desenvolver o software em
Linguagem C e o Hardware para fazer os motores andarem a quantidade de luz nos sensores.
Tema 1
OBJECTIVOS ESPECÍFICOS
Criar uma aplicação em C que lê os ADCs que os valores vão controlar o valor do duty cycle
do PWM e que vão variar a velocidade dos motores conforme o valor da conversão do ADC.
Criar um Circuito para ler os valores de dois LDRs e amplificar a pequena variação dos LDRs
para percorrer toda a gama de conversão dos ADCs.
Criar o circuito dos drivers do motor que vão amplificar o pequeno sinal vindo do
Microcontrolador cerca de 3.3V num sinal capaz de fazer rodar pequenos motores DC
4. MOD.AFTEBI.P-083.REV01
4 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
Testar a Aplicação e tirar Conclusões do seu funcionamento.
DESENVOLVIMENTO
EsquEma 1
MSP430_Ports_P16_P17__P23_P25 MSP430_Ports_P10_P15__P20_P22
VCC
3.3V
R1
LDR
12
Q1
BC238BP
Q2
BC238BP
R2
LDR
12
R3
24kΩ
R4
24kΩ
VDD
5V
R5
160Ω
R6
160Ω
VCC_5V
Q3
TIP31A
Q4
TIP31A
ADC0
ADC1
R7
100Ω
R8
100Ω
C1
100nF
C2
100nF
P1.2
P1.4
M1
MOTOR
M
M2
MOTOR
M
D1
1N4148
D2
1N4148
C3
100nF
A velocidade Controlada por PWM atraves de dois amplificadores de tensão nos Portos Analogico P1.0 e P1.!
esquemático 1
5. MOD.AFTEBI.P-083.REV01
5 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
EsquEma 2
R2
LDR
12
R1
LDR
12
MSP430_Ports_P16_P17__P23 MSP430_Ports_P10_P15__P20
VCC
3.3V
VDD
5V
VCC_5
Q3
TIP31A
Q4
TIP31A
ADC0
R7
100Ω
R8
100Ω
C1
100nF
C2
100nF
P1.2
P1.4
M1
MOTOR
M
M2
MOTOR
M
D1
1N4148
D2
1N4148
VCC
3.3V
A velocidade Controlada por PWM atraves do divisor de tensão no Porto Analogico P1.0
esquemático 2
6. MOD.AFTEBI.P-083.REV01
Programa 1
1 //**********************************************************************
2 //AFTEBI 2011-2012
3 //Projecto: Robot Automovel de Brinquedo que segue Luz Com LDRs
4 //Nome: Paulo Duarte Nº: 2444 Turma: ARCI2
5 //Data inicio: 27/06/2012 Data de Finalização: 21/06/2012
6 //**********************************************************************
7 #include <msp430g2452.h>
8
9 unsigned int ADC10A1() { // Função de leitura das entradas Multiplexadas do ADC10 canal 1
10 ADC10CTL1 = INCH_1 + CONSEQ_1; // input A1 a Sequencia de conversão é do canal A1 para o A0
11 ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
12 __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
13 return ADC10MEM; // Retornas o valot Convertido do ADC10
14 }
15 unsigned int ADC10A0() { // função de leitura do ADC10 Canal 0
16 ADC10CTL1 = INCH_0; // input A0
17 ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
18 __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
19 return ADC10MEM; // Retorna o valor da Conversão do ADC10 Canal 0
20 }
21 void main(void)
22 {
23 WDTCTL = WDTPW + WDTHOLD; // Stop WDT
24 P1DIR |= 0x14; // P1.2 and P1.4 as PWM outputs
25 P1SEL |= 0x14; // P1.2 and P1.4 TA1/2 options
26 P1SEL2 |= 0x10; // Selecionar o segundo PWM
27 CCR0 = 1023; // PWM Period
28 CCTL1 = OUTMOD_7; // CCR1 reset/set
29 CCR1 = 1023; // Valor Inicial do duty cycle CCR1 é de 99% do PWM1
7. MOD.AFTEBI.P-083.REV01
7 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
30 CCTL2 = OUTMOD_7; // CCR2 reset/set
31 CCR2 = 1023; // CCR2 PWM duty cycle do PWM2
32 TACTL = TASSEL_2 + MC_1; //
33 ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
34 ADC10AE0 |= 0x03; // PA.1 ADC option select
35 for (;;) // Ciclo for infinito Multiplas conversões do ADC10
36 {
37 ADC10CTL0 &= ~ENC; //
38 CCR1 = ADC10A1(); // Transferencia directa do valor ADC10MEM para o Control CCR1
39 // do Duty cycle do PWM1
40 CCR2 = ADC10A0(); // Transferencia directa do valor ADC10MEM para o Control CCR2
41 // do Duty cycle do PWM2
42 }
43 _BIS_SR(CPUOFF+GIE); // Enter LPM0
44 }
45 // ADC10 interrupt service routine
46 #pragma vector=ADC10_VECTOR //Vector do ADC10
47 __interrupt void ADC10_ISR(void)
48 {
49
50 __bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
51 }
52
8. MOD.AFTEBI.P-083.REV01
8 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
Programa 2
//******************************************************************************
//
//Programa do Carro Robótico Versão do Pedro Pina
//
//******************************************************************************
#include "msp430g2452.h"
int data[50];
int i=0;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= BIT2+BIT4; // P1.2 to output
P1SEL |= BIT2+BIT4; // P1.2 to TA0.1
P1SEL2 |= BIT4;
CCR0 = 1024-1; // PWM Period
CCTL1 = OUTMOD_7; // CCR1 reset/set
CCR1 = 533; // CCR1 PWM duty cycle
CCTL2 = OUTMOD_7; // CCR1 reset/set
CCR2 = 533; // CCR1 PWM duty cycle
TACTL = TASSEL_2 + MC_1; // SMCLK, up mode
ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
ADC10CTL1 = INCH_1; // input A1
ADC10AE0 |= 0x02; // PA.1 ADC option select
for (;;)
{
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
}
}
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
9. MOD.AFTEBI.P-083.REV01
9 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
__interrupt void ADC10_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
CCR1=((ADC10MEM)-60);
CCR2=1024-CCR1;
}
10. MOD.AFTEBI.P-083.REV01
EsquEma 1 Programa 1
O Primeiro Programa funciona com duas Portas Analógicas diferentes dois LDRs e dois
transístores amplificadores de sinal diferentes tem a vantagem de não ser preciso grandes
formulas para equalizar os valores com um algoritmo complicado tem a vantagem que
trabalham independentemente um do outro. É mais sensível a mudança de luminosidade
porque tem amplificadores tem a desvantagem de ser um pouco mais complexo.
EsquEma 2 Programa 2
Em contrapartida a montagem do esquema 2 é simples e só usa uma entrada analógica do
Microcontrolador tem pouca sensibilidade a mudança de luminosidade e o programa é mais
pequeno que o primeiro tem desvantagens de levar um algoritmo matemático mais elaborado
para conseguir equalizar o valor dos dois LDRs e a sensibilidade é menor porque só usa uma
pequena faixa da variação de cada LDR ao contrário do primeiro esquema não tem
amplificação de sinal.
11. MOD.AFTEBI.P-083.REV01
11 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
CONCLUSÕES GERAIS
Os Circuitos e os programas feitos cumpriram com os objectivos para que foram concebidos. Verificou-
se que ao variar a luminosidade nos LDRs também variava o valor do duty cycle do PWM e por
consequência variava a velocidade dos motores.
Dificuldades/ Soluções
Devido ao consumo dos dois motores que era mais que 1A o carro perdia a potencia ao fim duns
minutos e não deu para efectuar todos os testes mas deu para verificar que a velocidade diminuía e
aumentava conforme a intensidade luminosa incidente nos LDRs subsequentemente o aumento e
diminuição do duty cycle do PWM.
Uma Possível solução seria arranjar motores que trabalhem a uma tensão mais baixa ou usar pilhas
com maior débito de corrente
12. MOD.AFTEBI.P-083.REV01
12 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
Os materiais utilizados foram:
Esquema 1
Microcontrolador MSP430G2452 com na placa LunchPad
Diodos 1N4148 D1, D2
Condensadores 100nF C1, C2, C3
Resistências 100Ω R7, R8
Resistências 160Ω R5, R6
Resistências 24kΩ R3, R4
Transístors NPN, BC238BP Q1, Q2
Transístors NPN, TIP31A Q3, Q4
2 x LDRs R1, R2
2 x CONECTOR, HDR1X14 macho e fêmea
3 x CONECTOR, HDR1X10 2 x fêmeas e 1 macho
13. MOD.AFTEBI.P-083.REV01
13 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
Esquema 2
Microcontrolador MSP430G2452 com na placa LunchPad
Diodos 1N4148 D1, D2
Condensadores 100nF C1, C2, C3
Resistências 100Ω R7, R8
Resistências 160Ω R5, R6
Transístors NPN, TIP31A Q3, Q4
2 x LDRs R1, R2
2 x CONECTOR, HDR1X14 macho e fêmea
3 x CONECTOR, HDR1X10 2 x fêmeas e 1 macho
Materiais Diversos
1 Carro Brinquedo
2 x Motores de Corrente Continua de 6V
4 pilhas de 1,5V
Cola quente
Fios
Breadboard
2 x Flat Cables
Equipamento
Fonte
Multímetro
Osciloscópio
14. MOD.AFTEBI.P-083.REV01
14 de 14
(RELATÓRIO SCORBOT ER4)
FORMANDOS: (PAULO DUARTE, HUGO FERNANDES,
FLÁVIO FERNANDES)
DATA _12_/_07_/_2012__
BIBLIOGRAFIA UTILIZADA
Documentos e exemplos de programas da Texas Intruments
http://www.ti.com
Buscas na google de documentos auxiliares
http://www.google.pt
ÍNDICE DE GRÁFICOS, FIGURAS E TABELAS