You are on page 1of 28

Desenvolvimento mecnico e de

Controle PWM para sistema robtico













Ivo Takao Futida e Roseli Aparecida Francelin Romero


















2

1. Introduo

Este relatrio descreve as atividades desenvolvidas para a construo de um rob
mvel e de um controlador em PIC, utilizando PWM (Pulse Width Modulation). O rob
considerado aqui pertence a categoria very small size utilizado em times de futebol
de robs. ). O controlador desenvolvido visa o controle dos motores, isto , controla o
valor da velocidade dos motores e assim possibilita que o rob faa curvas e mude de
direo e acelerao. Este trabalho foi realizado junto equipe de futebol de robs do
LAR Laboratrio de Aprendizado de Robs, do ICMC-USP, Campus de So Carlos.
Sero descritos itens referentes a construo do rob, desde a parte mecnica do
rob, o desenho do projeto mecnico at a sua montagem (motores, chassi, carenagem,
rodas, entre outros) bem como, as atividades referentes ao controle relativo velocidade
em cada um dos motores, promovendo o movimento do rob, uma vez que este
apresenta apenas um eixo tambm so descritos.
Um estudo sobre a dinmica do carrinho e os modelos de engenharia a serem
aplicados na prtica (que so diferentes dos ideais, devido s diversas condies do
ambiente), tambm apresentado.
O desenvolvimento do sistema de controle de mais baixo nvel, relacionado ao
movimento do rob (velocidade). Para a realizao desta etapa, foi aplicado o
conhecimento de mdulos do PIC e utilizando o recurso de PWM, realizou-se o
controle de velocidade dos robs do time de futebol de robs USP Droids.
Esses robs no possuem sensoriamento interno, logo a aquisio da orientao
vem diretamente do sistema de viso, atravs de diretivas calculadas pelo sistema de
estratgia. Testes esto constantemente sendo realizados visando o melhor ajuste de
velocidade gerado para os motores.
O presente relatrio est organizado como segue. Na seo 1, so apresentados
alguns conceitos introdutrios sobre futebol de robs, sobre a evoluo dos circuitos
integrados, robs mveis no-holonmicos e sobre o microcontrolador PIC . Na seo
2, so apresentados os vrios projetos desenvolvidos para o rob prottipo at se chegar
no projeto mecnico adotado. Nesta seo so apresentados tambm um estudo do
microcontrolador PIC e detalhes da sua programao para a construo do sistema de
controle e tambm da eletrnica. Finalmente, na seo 4, so apresentadas as concluses
sobre o trabalho realizado.

1.1 Futebol de robs

Uma partida de futebol entre robs autnomos, este foi o desafio lanado em
1996, por um grupo internacional de pesquisadores em Inteligncia Artificial e Robtica
Inteligente. O futebol de robs rene grande parte dos desafios presentes em problemas
eminentemente distribudos do mundo real, tais como, veculos autnomos, busca de
informao em bases de dados distribudos, planejamento da gerao de energia
eltrica, recomposio de linhas de transmisso, controle de trfego areo e urbano, etc.
Sendo assim, o futebol de robs apresenta-se como um laboratrio para pesquisa e
ensino em automao e informtica industrial.
3


Fig. 1 Esquemtico do jogo de futebol de robs
Um time de futebol de robs consiste em uma coleo de veculos autnomos
capazes de reconhecer o ambiente onde esto inseridos, no caso o campo de futebol e
seus pontos de referncia, e os objetos pertencentes a este ambiente, a bola, os outros
veculos que compem o time e os adversrios. Estes dispositivos devem ser capazes de
representar o ambiente, estabelecer metas, planejar e executar aes para atingir tais
metas. Em se tratando de um jogo de equipe, alm do carter autnomo, os jogadores de
um time de futebol de robs devem ser capazes de interagir com os outros jogadores do
time para estabelecer objetivos coletivos, metas globais, planejar, alocar tarefas aos
demais integrantes do time, sincronizar as aes de forma a imprimir ao time um perfil
cooperativo. A construo de um time de futebol de robs envolve a integrao de
diversas tecnologias, como projeto de agentes autnomos, cooperao em sistemas
multiagentes, estratgias de aquisio de conhecimento, sistemas de tempo real,
sistemas distribudos, reconhecimento de padres, integrao de sensores.
Como podemos ver, o futebol de robs uma plataforma muito rica em termos
de pesquisa e aprendizado. Esta a viso que desejamos difundir nos principais centros
de informao. As tcnicas aplicadas neste ambiente podem ser utilizadas em outros
ambientes com as devidas alteraes, por exemplo o sistema de reconhecimento de
objetos (viso), pode ser utilizado na indstria, por manipuladores que selecionam
produtos. O sistema de estratgia, pode otimizar o caminho que um produto deve seguir
numa linha de produo. Enfim, se conseguirmos promover o futebol de robs,
certamente o trabalho ser de grande contribuio no somente para a Robtica em si,
mas para as indstrias e outras plataformas de pesquisa.

1.2 Histrico

Em 1940, a computao era realizada por meio de vlvulas (1 gerao). A
segunda gerao de computadores veio com os transistores (1958) e a 3 gerao data de
1964 com os Circuitos Integrados (SSI).
A evoluo da computao nos ltimos 50 anos se deu de forma impressionante.
O advento dos transistores em 1958, que revolucionou a eletrnica, contribuiu de forma
significativa para o aperfeioamento do processamento nos computadores e
equipamentos eletrnicos.
Uma das ramificaes deste aperfeioamento na eletrnica deu origem aos
multiprocessadores RISC (Reduced Instruction Set Computer), dos quais, o
4

microcontrolador PIC um exemplo de aplicao (com tecnologia CMOS), seu
conjunto de instrues RISC se compe de 35 instrues.
At 1965, somente eram disponveis semicondutores encapsulados
individualmente. Os engenheiros montavam portas e sistemas digitais a partir destes
componentes individualmente encapsulados e de resistores. Dispositivos
semicondutores so fabricados atravs da ap1icao repetida de certos processos fsicos
e qumicos superfcie de uma pastilha de silcio extremamente puro.
Os dois detalhes da fabricao de semicondutores no nos interessam exceto no
que tange s dimenses do dispositivo na superfcie do silcio, que so da ordem de
mcrons. A maior parte da dimenso de um dispositivo encapsulado individualmente
envolve no o dispositivo em si, mas o prprio encapsulamento e o suporte mecnico
necessrio para as conexes eltricas.
Assim iniciou-se uma srie de progressos tecnolgicos (que prosseguem sem
que se possa vislumbrar seu final) que levaram a fabricao de um dispositivo
semicondutor chamado circuito integrado (CI). Em um circuito integrado, muitos
transistores e diodos so fabricados, isto , integrados, sobre a mesma pastilha de
silcio; na mesma estrutura so tambm integrados os resistores e at mesmo as
interligaes necessrias para fabricar uma porta completa, muitas portas e, at mesmo,
um sistema digital completo.
No caso do projeto de futebol de robs (categoria mirosot), parte do
processamento realizada no PIC, que a modulao da largura de pulso (PWM).
Embora sejam independentes uns dos outros, todo o processamento restante efetuado
num computador central, baseado em informao (posio dos jogadores, da bola, etc.)
vinda de uma cmara de vdeo colocada por cima do campo de jogo, os comandos so
enviados para os robs via wireless (rdio). A interveno humana resume-se
introduo e remoo dos robs no campo.

1.3 Robs Mveis No-Holonmicos

Os robs mveis e, em particular, os robs terrestres tm sido muito estudados
nos ltimos anos. Para se locomoverem, estes robs podem se servir de rodas, esteiras,
patas" ou outros mtodos de locomoo. Neste trabalho nos concentraremos nos robs
mveis dotados de rodas. Uma caracterstica importante dos robs mveis dotados de
rodas a presena de restries no-holonmicas. Uma restrio no-holonmica
impede que o rob execute movimentos normais superfcie do corpo de suas rodas. A
Figura 1.2 apresenta com clareza como as restries no-holonmicas se apresentam em
uma aparentemente simples tarefa de estacionamento.
Sem levar em considerao o sistema de locomoo, seria uma linha reta
deslocando o rob lateralmente para a posio final desejada (a). No entanto, esta
trajetria no realizvel por este sistema de locomoo. Desta forma, necessria uma
trajetria levando em considerao as restries no-holonmicas impostas pelo sistema
de locomoo (b). [13]

5


Figura 2 - Estacionamento de um rob mvel com restries no-holonmicas.
Em (a) o movimento no executvel devido s restries e em (b) o movimento
executvel

1.4 Microcontroladores

Os microcontroladores so componentes utilizados em praticamente qualquer
equipamento eletrnico digital. Cerca de 50% dos microcontroladores vendidos so
controladores "simples", outros 20% so processadores de sinais digitais (DSPs) mais
especializados.
Os microcontroladores podem ser encontrados em praticamente todos os
dispositivos eletrnicos digitais que nos cercam: teclado do computador, dentro do
monitor, disco rgido, relgio de pulso, rdio relogio, mquinas de lavar, forno de
microondas, telefones, etc. Certamente eles foram to ou mais importantes para a
revoluo dos produtos eletrnicos que os computadores. Eles permitiram a evoluo de
equipamentos que a anos no evoluiam, como os motores a combusto, que agora com
o novo controle eletrnico podem funcionar com sistema bicombustivel e poluindo
menos.
Para a execuo do projeto foi utilizada a linguagem Assembly, que apesar de
ser de baixo nvel, exige do programador maior proximidade com os recursos
disponveis no microcontrolador: conhecimento e otimizao dos espaos para
memria, configurao de registradores, aplicaes com contadores, interrupo.


1.5 PIC 16F877A

O microcontrolador PIC apresenta estrutura de mquina interna do tipo Havard,
enquanto a maioria dos microcontroladores apresenta arquitetura Von-Neumann. A
diferena est na forma como os dados e o programa so processados pelo
microcontrolador. Na arquitetura tipo Havard, existem dois barramentos internos,
sendo um de dados e o outro de instrues. O barramento de dados de 8 bits e o
OPCODE de 14 bits.
O PIC 16F877A possui 35 instrues (nmero razoavelmente reduzido) e por
este motivo classificado como tecnologia RISC- Reduced Instruction Set Computer.
Isso torna o aprendizado mais fcil e dinmico, mas por outro lado, implica no fato de
6

que muitas funes devem ser construdas, pois no existe uma instruo direta,
exigindo maior habilidade do programador. [12]
O microcontrolador programvel porque toda lgica de operao estruturada
na forma de programa e gravada dentro do componente. Assim, toda vez que o
microcontrolador for alimentado, o programa interno ser executado. Quanto
inteligncia do componente, podemos associar Unidade Lgico Aritmtica (ULA),
pois nesta unidade em que todas as opreaes matemticas e lgicas so executadas.
Quanto mais poderosa a ULA do componente, maior sua capacidade de processar
informaes.



2. Projeto do rob prottipo


A Figura 3 mostra o primeiro prottipo desenvolvido para o rob do time de
futebol de robs USPDroids, que era basicamente um carro experimental, pouco
eficiente e simples, consistindo de uma carcaa de nylon preto, que um material de
fcil manuseio. A transmisso do eixo do motor se d atravs de uma coroa, tendo uma
reduo prxima de 2:1, baixa para a aplicao em questo. A prtica mostrou que era
necessrio algo mais robusto e resistente.

Fig. 3 Prottipo experimental Fig. 4 Esboo da primeira caixa de reduo

O rob necessita de um corpo para acoplar todos os seus elementos (motores,
placas, baterias), que protege e realiza choques com oponentes/bola no jogo de futebol
de robs. Encontramos ento, a primeira dificuldade: a de projetar uma caixa de reduo
ou um arranjo com motor com reduo para a construo do rob prottipo.
O material escolhido foi o Alumnio (aeronutico), pois este um dos metais
que possuem menor densidade especfica (aproximadamente 1/3 da densidade dos
aos), comporta-se bem como isolante eltrico e no gera problemas de contato com a
placa/eletrnica e, sobretudo apresentam uma relao rigidez/resistncia tima. Este
material pode ser trabalhado com usinagem, durante o processo de fabricao da pea,
ao contrrio do nylon preto, por exemplo, que em situao semelhante no suportaria
determinadas tenses de cisalhamento.
Nos ensaios, verificou-se que esse material tornou a caixa relativamente pesada
e que apesar disso, no foi um empecilho srio para o projeto, uma vez que
interessante que os robs tenham uma massa significativa para no ter problemas de
impacto entre robs.

7



1 soluo

Fig. 5 Vista lateral: engrenagens, motor e eixo da roda

A primeira soluo implementada mostrada nas Figuras 3 e 4. Projetamos uma
caixa com 3 engrenagens, de forma que a engrenagem final est fixa no prprio eixo da
roda.
Surgiram muitos erros de medida, de paralelismo e perpendicularidade, de
fixao dos eixos nas paredes da caixa, de folga entre as engrenagens. A caixa
montada a partir de uma chapa de Alumnio de 1.5mm de espessura, que tm suas
medidas desenhadas na chapa e ento cortada com serra; posteriormente as paredes
so dobradas. Portanto as prprias paredes da caixa apontavam a falta de paralelismo
entre as paredes e falta de rigidez.
A prpria montagem dos elementos da caixa torna essa soluo difcil e de
manuteno contnua. Os resultados foram importantes para verificar a necessidade de
uma estrutura mais firme e que possibilite o encaixe de eixos e possivelmente,
rolamentos.
A forma de alimentao do sistema consistia em 8 pilhas AA 1.2V 2300mAh,
dos quais 4 alimentam os motores e 4 o sistema eletrnico.

2 soluo

Ento, a segunda conjectura para o prottipo foi desenvolvida pelo bolsista.
Simulando com o software de desenho, esse projeto trata com maior preciso as
medidas, uma vez que a caixa do rob passa por processo de produo distinto. Com o
recurso de usinagem, a pea pode ser manipulada a partir de um bloco do material
selecionado (alumnio) e ento, atravs do ferramental adequado (que o limitante
nesse projeto), dar a forma desejada.
A grande vantagem nesse caso a homogeneidade e rigidez estrutural da caixa.
Projetando conforme a necessidade, os motores so facilmente acoplados, os furos para
os eixos so mais precisos e h mais espao para um projeto elaborado com furos
roscados, rolamentos para reduzir o atrito no eixo.
O desenho tcnico mecnico feito no software Solid Edge da caixa se encontra
abaixo:

8


Fig. 6 Desenho Tcnico Mecnico da caixa de reduo feito no Solid Edge Draft

O sistema completo pode ser visto na Figura 7, em que o bloco superior corresponde a
parte eletrnica.
Fig. 7 Desenho Tcnico Mecnico da roda do rob

A roda foi projetada para suportar externamente o anel O-ring de dimetro
interno 26 mm e externo de 28 mm. A escolha desse anel justificada para maior
aderncia ao piso do campo de futebol de robs, pois quanto menor o escorregamento
das rodas, menor ser o erro propagado sobre o sistema de controle. Basicamente esta se
prende ao eixo atravs de araudite.
O rolamento utilizado tem dimetro externo de 10 mm e dimetro interno de 3
mm, no total so acoplados quatro rolamentos, dois para cada eixo. O eixo um pino de
ao com 2,8mm de dimetro. A transmisso do movimento do eixo do motor realizada
pela mesma coroa da soluo 1. A Figura 5 mostra os detalhes do projeto, o encaixe dos
motores se d perfeitamente, para evitar que este movimente durante a vibrao do
sistema.


9


Fig. 8 Vistas isomtricas do rob virtual

Este projeto se baseou nas medidas do motor alternativo que encontramos, (no
havia dados disponveis sobre o motor), o dimetro do eixo/rolamento e nas dimenses
da bateria.
A usinagem foi ento realizada por uma empresa especializada (terceirizada),
que atravs do maquinrio moderno: torno, fresa (mquinas CNC) principalmente,
trabalhou a pea com perfeio.
A parte de reduo de atrito/rudo deste projeto melhorou significativamente.
Observe que projetamos a caixa para acoplarmos quatro rolamentos, o que evita que o
eixo perca torque atravs do atrito, como ocorria no projeto anterior.
A alimentao do sistema mudou devido ao volume que as pilhas tomavam no
projeto anterior. Optamos por baterias de ltio, que possuem uma voltagem maior,
podem ser recarregadas e uma maior capacidade de energia armazenada por volume em
comparao com as demais disponveis no mercado. Por seu timo desempenho, esse
tipo de bateria tambm bastante utilizado em aeromodelos, onde a busca por reduo
de peso e volume tambm importante para o desempenho do mesmo.

Tabela 1 Dados do sistema de alimentao

Bateria Tenso (V)
Amperagem
(mAh)
Hi-Model Litihium Polimer rechargaeble
cells 7,4 1300
GP rechargeable NIMH 8,4 170


10


Fig.9 Fotos da caixa projetada usinada; com eixo, pinho e rolamentos instalados

Apesar de todos os detalhes do projeto, ao realizarmos os experimentos,
verificamos que o motor DC e a reduo realizada pelo pinho escolhido no eram
suficientemente potentes para fornecer o torque desejado. A velocidade nas rodas era
alta, porm no possua torque suficiente para mover o prottipo quando estava sob
fora do prprio peso. A caixa ficou mais pesada do que o esperado, mesmo retirando
parte considervel do peso do rob, o projeto foi invivel.
Considerando que a relao entre potncia e velocidade angular de um motor de
corrente contnua praticamente uma funo linear que passa pela origem do plano
cartesiano; a baixas rotaes, a potncia entregue ao sistema mnima, necessitando de
mais reduo mecnica para que o movimento circular (nos eixos) seja convertido para
movimento linear (movimento do rob em relao ao plano).
A dificuldade na parte de montagem da caixa foi outro fator agravante do
projeto. A juno entre a coroa e o pinho do eixo do motor apresentava erros de
geometria, de forma que em alguns instantes o eixo travava.
Tendo em vista que os erros de projeto estavam agravados pela escolha do
motor, a primeira deciso a ser feita foi mudar o motor e a adaptao da carcaa do rob
para um projeto mais simples e de fcil montagem, tal que pudssemos realizar no
prprio laboratrio de metrologia Lamafe USP.

3 soluo

Nesse processo, escolhemos os Motores DC que possuem controle preciso de
velocidade e so mais disponveis e baratos no mercado.
Das especificaes do motor, fornecida pela Action Motors, temos:

Tabela 2 - Dados do motor PM020-S



11

Para este ltimo projeto usamos uma engrenagem com dimetro quatro vezes
maior que o dimetro do pinho do eixo do motor (reduo 1:4). A roda usinada em
nylon preto, com dois anis O-ring (para aumentar a aderncia com o cho) possui 50
mm.
A caixa composta por paredes que so montveis por meio de parafusos M3.

Fig. 10 Prottipo montado Fig. 11 Vista superior


O sistema de alimentao permaneceu o mesmo da soluo 2.
O eixo prende a roda atravs de duas presilhas de ao.
Os pilares M3 servem para suportar a parte eletrnica e so rosqueados
carenagem.
Posteriormente foi feita uma carenagem para o rob, de policarbonato, com uma
chapa de 2,5 mm de espessura, para que esta englobasse o rob inteiro e assim pudesse
finalizar o corpo do prottipo, dando maior proteo parte eletrnica. A montagem da
carenagem foi realizada basicamente por colagem com araudite.

Fig.12 Carcaa de Policarbonato Fig. 13 Prottipo completo

Nos testes, esta carenagem se mostrou muito frgil; devido aos choques entre os
robs e as paredes do campo de futebol. A baixa resistncia oferecida pelo processo de
montagem provocou a quebra da carenagem durante alguns testes. Para a competio de
outubro, durante a Competio de Robtica Brasileira CBR2007 no VIII SBAI -
Simpsio Brasileiro de Automao Inteligente, a carenagem foi substituda por espuma.
Alterar o formato da carcaa do rob, diminuir as dimenses da roda, so
algumas das observaes que poderiam estar inclusas num novo projeto.
Mas para efeito de testes e calibrao, essa nova caixa mostrou-se suficiente e
bastante robusta com relao a todas as outras. O prottipo foi construdo com sucesso e
a parte de controle pode ser desenvolvida a partir do mesmo.

12




3.1 Projeto Mecnico

Na parte mecnica referente ao primeiro relatrio, o projeto mecnico final no
foi ilustrado. Aqui se encontram as especificaes detalhadas da montagem do
prottipo: eixo, roda, engrenagens, paredes da caixa de reduo e um desenho com a
montagem completa do prottipo, atravs do software Solid Edge verso acadmica.


Figura 14 Desenho tcnico mecnico do eixo principal e da roda de nylon

Tabela 3 Relao de acoplamento de peas ao eixo

Elemento Forma de Acoplamento ao eixo
Rolamentos Ajuste interferente (eixo-base)
Engrenagens Chaveta externa
Rodas Parafuso M3

Para garantir a fixao da roda e rolamentos, presilhas so colocadas nos
orifcios do eixo. A roda depois de parafusada preenchidacom dois anis Oring, que
aumentam a adeso com o cho.
As paredes (de Alumnio aeronutico) so presas umas as outras por meio de
parafusos M3 com cabea escareada.
Atravs do software Solid Edge Assembly, o prottipo foi montado e uma
simulao do motor foi feita, observando possveis erros de interferncia, que foram
corrigidos, vide Figura 16.
13


Figura 15 Desenho tcnico da caixa de reduo a ser montada


Figura 16-a) Montagem virtual do carro b) Conexo de engrenagens com o
eixo

A limitao de espao na categoria Very Small Size de futebol de robs [11],
bastante evidente, o rob que deve ter um tamanho mximo de um cubo com 75mm de
aresta. Por esse motivo, no h espao para um motor mais robusto, que tenha acoplado
um encoder e/ou reduo. A engrenagem, mostrada nas Figuras 3 e 4, foi projetada e
usinada. Esta pea a que demanda mais tempo para usinagem e conseqentemente
mais custo.

3.2 Desenvolvimento do Sistema de Controle / Estudo da programao em
PIC


O PIC16F877A possui 40 pinos e uma gama de recursos disponveis:
Microconrolador de 40 pinos, o que possibilita a montagem de um hardware
complexo e capaz de interagir com vrios recursos e funes ao mesmo tempo;
Via de programao com 14 bits e 35 instrues;
33 portas configurveis como I/O;
15 interrupes disponveis;
Memria de programao EPROM FLASH;
14

Memria EPROM (no-voltil) interna com 256 bytes
Memria RAM com 368 bytes
3 Timers
Comunicaes Seriais
2 Mdulos CCP: Capture, Compare, PWM

O modo PWM um dos recursos mais poderosos dos mdulos CCPs, pois com
ele podemos obter uma tenso analgica a partir de um sinal digital (que assume apenas
os estados 0 ou 1).

Fig. 17 Esquema da modulao da largura de pulso

Da teoria, sabemos que, a tenso mdia de uma forma de onda dada por:

Vdc =
T
1

T
dt t V
0
) (
Onde T o perodo da forma de onda e V(t) a funo da tenso no tempo.

V(t) =

<

T t t 0
t t 0 V
p
p pulso


p
t : durao do pulso em nvel lgico 1

pulso
V : tenso de pulso do sinal PWM
Ento,

|
|

\
|
+ =

p
p
t
T
t
pulso dc
dt dt V
T
V
0
0
1



pulso
p
dc
V
T
t
V =

A razo entre a largura de pulso e o perodo da forma de onda recebe o nome de
duty cycle. O pulso da onda PWM apresenta tenso fixa, porm o valor mdio da tenso
desta forma de onda varia em funo do duty cycle. A tenso mdia (
dc
V ) diretamente
proporcional ao duty cycle e como esse varia entre 0 (quando
p
t =0) e 1 (quando
p
t =T)
15

temos que a tenso mdia de onda pode variar entre 0 e
pulso
V . Neste caso
(PIC16F877A), a variao ser de
ss
V a
DD
V , ou seja, de 0 a 5V . [1]


Vejamos a nomenclatura padro utilizada para descrio das caractersticas
comuns dos mdulos CCP do PIC: [7]

Tabela 4 - Caractersticas comuns dos mdulos CCP do PIC



Esses dois mdulos utilizam recursos compartilhados para suas bases de tempo
(Timer 1 e Timer 2).

Tabela 5 - Combinao de recursos dos mdulos CCP
Modo
Base de
tempo
Capture Timer 1
Compare Timer 1
PWM Timer 2

Como utilizaremos as 2 portas CCP com o recurso PWM, ambos os PWM tero
a mesma freqncia e sero sincronizados, devido ao uso da mesma base de tempo. Os
Duty Cycles possuem controles independentes.



Padro CCP1 CCP2 Descrio
CCPxCON CCP1CON CCP2CON Registrador de configurao
CCPRxH CCPR1H CCPR2H Parte alta do valor de controle
CCPRxL CCPR1L CCPR2L
Parte baixa do valor de
controle
CCPx CCP1(RC2) CCP2(RC1) Pino relacionado
16

Figura 17 Diagrama de blocos do mdulo CCP no modo PWM [12]


Configurao para a operao do PWM:
1. ConFigurar o perodo do PWM escrevendo-o no registrador PR2
O perodo T do PWM controlado diretamente pelo Timer 2, atravs do
registrador PR2.
O perodo do PWM pode ser calculado usando a frmula:

PWM Perodo = [(PR2) + 1] 4 T
OSC
(Valor TMR2 Prescale)

Onde a freqncia do PWM definida como 1/[PWM perodo].

2. Configurar o PWM duty cycle
No PIC, no definimos o valor do duty cycle, mas sim, do tempo do pulso em
nvel alto, que pode ser calculado da seguinte maneira:

t
p
= CCPRxL:CCPxCON<CCPxX:CCPxY>*T
OSC
*(Prescale do TMR2)

3. Fazer do pino uma sada zerando o bit TRISC<2>
Na modulao PWM, o pino CCPx produz uma sada PWM com 10 bits de
resoluo. Como o pino CCP1 multiplexado com o PORTC data latch, o bit
TRISC<2> deve ser zerado de forma que faa do CCP1 um pino de sada.
Quando TRM2 = PR2, ocorrem os seguintes eventos:
TMR2 zerado, iniciando novo perodo;
O pino CCP1 setado (exceo: se o PWM duty cycle = 0% )
O PWM duty cycle copiado do CCPR1L para o CCPR1H

4. Configurar o valor TMR2prescale, habilitar o Timer2 via T2CON
A resoluo para o ajuste de perodo depende do prescale do Timer 2:



Tabela 6 - Influncia do Prescale no tempo de pulso em nvel alto

Prescale Tempo do menor passo
1 TOSC
4 4TOSC ou TCY
16 16Tosc ou 4TCY

5. Configurar o CCP1 para o modo de operao PWM.
Para ativar a sada do mdulo de PWM setamos os bits
CCPxCON<CCPxM3:CCPxM0>






17

3.2.1 Mdulo Eletrnica


A comunicao a parte responsvel pela interligao dos robs ao mdulo de
estratgia via rdio freqncia, unidirecional por possuir somente um sentido
(estratgia para robs), e constituda de duas componentes:
recepo de informaes: componente conectada ao rob para recepo das
informaes. Esse mdulo recebe o sinal serial pela antena e envia essas
informaes para o PIC, de forma serial.
envio de informaes: componente conectada a um computador executando o
software de estratgia.
A recepo feita atravs do circuito RXM-900-HP3-PPO. A transmisso feita
atravs de um mdulo de transmisso ligado a sada serial do computador que utiliza o
circuito transmissor de rdio freqncia TXM-900-HP3-PPO, um transmissor que opera
na faixa de 902 a 928 MHz.
O conjunto RXM-900-HP3-PPO - TXM-900-HP3-PPO so os componentes
principais de todo o mdulo de comunicao. Eles so circuitos de fcil utilizao, boa
relao custo/beneficio e permitem uma taxa de 56 Kbps de transmisso.
Escolhemos a comunicao serial, pois apesar de mais lenta que a paralela,
possui um menor grau de interferncia.

Fig. 18 Mdulo eletrnico do rob com opto acopladores e duas baterias.

O time utiliza dois circuitos alimentados por fontes totalmente independentes
que so interligados atravs de acopladores pticos. Essa diviso em dois circuitos foi
feita para separar o circuito de motores do circuito de controle devido ao alto consumo
de energia de motores eltricos. Se fosse implementado somente um circuito, o alto
consumo de energia pelos motores poderia fazer com que o nvel de energia fornecido
ao 16F877A ficasse abaixo do recomendando, causando um reset no 16F877A levando
a perda de toda informao interna, um efeito indesejado que pode fazer com que o rob
no obedea corretamente as instrues enviadas pelo mdulo de estratgia.[8]
Os parmetros do sentido das rodas passam por uma lgica e se dividem em 4
portas do PIC, acionando os pinos de sentido da ponte-H. J as velocidades das rodas
acionam o mecanismo PWM do microprocessador e partem dois pulsos de portas
diferentes, tambm em direo ponte-H. So esses dois pulsos, associados aos quatro
pinos lgicos de sentido que realizam a comunicao com o mdulo da mecnica. A
ponte H (mdulo de potncia) permite no s o comando instantneo de dois motores
por meio de sinais PWM, como tambm amplifica o sinal enviado pelo
microcontrolador.

18

3.2.2 Programao do microcontrolador

O ambiente usado na programao foi o MPLAB, ferramenta da prpria empresa
MICROCHIP, na qual o programa compilado em linguagem Assembly para um arquivo
hexadecimal, o qual gravado no PIC.
Basicamente, o controle de velocidade localizado no prprio microcontrolador, que
atravs do PIC, recebe o sinal via rdio da velocidade que deve ser aplicada as rodas. Essa
velocidade calculada pelo sistema de estratgia que processada num computador. O PIC
recebe essa informao e joga uma tenso modulada no pino de sada, de forma que essa tenso
nos terminais do motor, produz a velocidade desejada.
Para realizar a aplicao de uma dada tenso atravs de um sinal, testes foram feitos na
configurao do PIC. Conforme vimos no primeiro relatrio, o mdulo CCP ser uma
ferramenta de grande valor na modulao da largura de pulso.
PWM utilizada parar variar o valor da transferncia de potncia entregue a
uma carga sem as perdas ocorridas normalmente devido queda de tenso por recursos
resistivos. Em um sistema PWM, a chave de estado slido usada para controlar o fluxo
de corrente: ora no conduzindo corrente, ora conduzindo, mas provocando uma queda
de tenso muito baixa. Como a potncia instantnea dissipada pela chave o produto
da corrente pela tenso eltrica a um dado instante, isso significa que nenhuma potncia
dissipada se a chave fosse uma chave "ideal".

3.2.2.1 Etapa de configurao e clculo

A ttulo de exemplificao, tratamos uma modulao de largura de pulso atravs
do PIC. Calculando o duty cycle do Pulso PWM em quatro situaes, usando o Timer2,
temos:
t
p
= CCPR2L:CCP2CON<CCP2X:CCP2Y>*T
OSC
*(Prescale do TMR2)
Utilizando um oscilador externo de 4MHz:

T
OSC
=
osc
f
1
=
6
10 4
1

= 250ns

Definindo o prescaler do Timer2 em 16 (tempo do menor passo, com maior
resoluo), os bits do registrador CCP2CON, com os bits 5 e 4 (menos significativos)
zerados e PR2 no valor mximo(255), temos que a freqncia do PWM ser de
244,14Hz (T
PWM
= 4,096ms), atravs dos clculos temos:


Tabela 7- Relao entre os valores adotados e porcentagem de duty cycle
CCPR2L(hexadecimal)
t
p
(ms)
Duty Cycle (%) Tenso (V)
0 0 0 0
0X80 (512) 2,048 25,0 1,45
0XC0 (768) 3,072 75,0 3,97
0XFF (1023) 4,072 99,9 4,81

A tabela 7 tambm apresenta a tenso obtida, pela leitura do voltmetro, da voltagem do
pino do PIC com relao ao nvel lgico baixo.

19


Figura 19- Fluxograma do programa para variao da tenso via PWM

A Figura 19 apresenta atravs de um fluxograma, as etapas de configurao do
microcontrolador para a utilizao do mesmo na etapa de testes:

Com o registrador PR2 com o valor de 255, o tempo mximo de pulso alto no
mximo 1023 enquanto a resoluo do duty cycle de 10 bits (1024=4x(255+1)), ou
seja, nunca ser atingido um duty cycle de 100%.
Para calcular os valores de CCPR2 necessrio aplicar os valores em:
CCPR2 = [(PR2)+1] x 4 x Porcentagem de duy cycle
O Watchdog Timer uma espcie de temporizador que reseta o microcontrolador com
base no tempo. Esse contador (WDT) independente do ciclo de mquina do PIC.
20


Figura 20 porcentagem de Duty Cycle x Tenso no pino do PIC

3.2.2.2 Implementao

Nesta seo, a programao do microcontrolador em linguagem Assembly
apresenta suas principais etapas. Como o programa bastante extenso e a programao
no intuitiva, apenas anlises descritivas do mesmo sero feitas.
Anteriormente testamos o PWM para valores distintos e restritos para um duty
cycle conhecido. Agora, uma abordagem mais complexa e abrangente deve tomar o seu
lugar.
A seguir, um exemplo do cdigo-fonte para o acionamento do controle por modulao
PWM (1 e 2) mostrado:

;---------------------------------------------------------------------------------------------------------
; Funo para setar pwm
;---------------------------------------------------------------------------------------------------------
setup_pwm

clrf PORTC ; limpa a porta C
bank_1 ; altera para banco 1
movlw 0x00 ; move zero ao acumulador W
movwf TRISC ; move o acumulador W para a porta C,
definindo-a como sada
;bcf TRISC, 1 (zera TRISC,1)
;bcf TRISC, 2 (zera TRISC,2)
movlw 0xff ; move 0ffH para o acumulador
;movlw .127
; valor mximo de tempo (numa escala
adimensional)
; do pwm seria de 255 (decimal)
movwf PR2 ;* CONFIGURA PERIODO DO PWM
;* T = (PR2+1).4.Tosc.TMR2_PRESCALE
;* T = 256.4.1us.16
;* T = 1024*10^-6*16
bank_0 ; altera para banco 0
21

movlw 0x07 ; acumulador W recebe 07H
movwf T2CON ; T2CON recebe o valor de W
;bsf T2CON, 1
;bsf T2CON, 2
movlw 0x0F ;* CONFIGURA CCP1CON PARA MODO PWM
movwf CCP1CON ;* LIGA PWM 1
clrf CCPR1L ;* ZERA CCPR1L
movlw 0x0F ;* CONFIGURA CCP2CON PARA MODO PWM
movwf CCP2CON ;* LIGA PWM 2
clrf CCPR2L ;* ZERA CCPR2L

return ; termina sub-rotina
;-------------------------------------------------------------------------------------------------------------------
----------

A parte de configurar o PWM foi vista, mostrando seus principais registradores,
variveis e seqncia dos mesmos dentro da sub-rotina.
Para a facilidade na etapa de programao, definimos no PIC16F877A:


Tabela 8- Definies prticas do programa principal




Flags de Configurao

_WDT_OFF = watchdog timer desabilitado
_BODEN_OFF = brown-out reset desababilitado
_PWRTE_ON = Power-up Timer habilitado
_XT_OSC= oscilador cristal
_LVP_OFF = low voltage programing mode desabilitado
_DEBUG_OFF = in circuit debug desabilitado


Constantes do programa

Baud Rate
Nmero de identificao dos robs


Bits, Variveis gerais e de
interrupo

Indicadores de Buffer
Start e Stop Bit


Com relao comunicao serial, o recurso USART (Universal Synchronous Receiver
Transmiter) foi usado no modo assncrono, em que a comunicao feita somente com duas
vias; entretanto, como o modo no sincronizado, essas duas vias so utilizadas para dados.
Uma delas para transmisso (TX) e outra para recepo (RX). Isso possibilita que informaes
sejam enviadas e recebidas ao mesmo tempo (Full Duplex). A informao recebida do
computador atravs da porta paralela e serializada pelo microcontrolador.
A sincronizao do modo USART assncrono conseguida atravs do Baud Rate, que
a velocidade de transmisso. Essa transmisso trabalha com base nos bits (o Baud Rate
geralmente dado em bits por segundo) e assim conseguimos calcular o tempo de durao de
cada bit. O sincronismo existente feito para recepo de cada byte.
22



Figura 21 Comunicao serial assncrona

As vias possuem estado padro em nvel lgico alto. A borda de descida do clock
reconhecida pelo RX e inicia o processo de sincronizao para o start bit; esse pulso em nvel
baixo chamado de Start Bit (ver Figura 21).
Depois de passar um tempo, RX tem o momento exato do Start Bit, deixa passar esse
tempo pr-determinado e depois coleta 8 bits, pegando ao seqncia de dados que se encontra
prximo do meio tempo do bit(T
BIT
/2).
Quando TX envia um Stop Bit, o lado RX deve considerar a leitura do Stop Bit para que
nenhum erro seja admitido durante a recepo. No projeto, definimos a Baud Rate em
9600kbps, o que nos d T
BIT
= 104s.
A Figura 22 mostra resumidamente o fluxograma do programa principal que recebe via
rdio, do sistema de estratgia, os vetores de velocidade que devem ser aplicados aos motores
de 3 robs, que so identificados pelo protocolo de comunicao. No tratamento dos nmeros, a
converso de BCD para binrio e vice-versa, de binrio para cdigo ASCII , de ASCII para
ASCII2BCD e de ASCII para Hexadecimal foram includas em sub-rotinas do programa para
que um padro entre os dados recebidos, dados processados e dados de converso convergissem
ao mesmo sistema de unidades.
23



Figura 22 Fluxograma bsico do programa principal





3.3 Motor DC (Corrente Contnua)

A vantagem de trabalharmos com um motor de corrente contnua que neste tipo de
dispositivo, obtemos uma quase perfeita linearidade entre a tenso aplicada em seus terminais e
a velocidade angular do motor (Figura 23). Considerando a modelagem do sistema e as perdas,
podemos conseguir essa relao, que interessante no sentido que facilita os clculos de
movimento e portanto exige menos processamento. O primeiro relatrio apresenta a linearidade
desta relao atravs da modelagem do motor:
a
a
R f
V k
w

= .
24


Figura 23 - Caracterstica tenso x (velocidade angular)

O grfico da Figura 23 representa a operao do motor DC em 4 quadrantes:1 e 3:
acelerao; 2 e 4: reverso ou frenagem. Essa linearidade justifica a aplicao comum
dos motores DC em situaes de controle de velocidade. Alm disso, os motores de
corrente contnua so uma alternativa mais atrativa em uma srie de aplicaes, j que
so baratos e podem ser bem eficazes.
O motor utilizado nos robs, pertence categoria de im-permanente (baixa
potncia). A principal vantagem desse tipo de motor que os ims no precisam de
excitao externa nem dissipam a potncia correspondente para criar campos
magnticos na mquina [4].




3.4 Sistema de controle


O controle desenvolvido mantm os robs constantemente monitorados pela viso,
que funciona como guia para a estratgia. Ento, esta manda pulsos de PWM segundo
orientao de velocidade calculada pelo sistema, alterando o duty-cycle, corrigindo a
trajetria. Esse processamento da viso acontece em menos de 33 milisegundos, tempo
suficiente para modificar a posio do rob com preciso, evidentemente desprezando
as perdas do sistema mecnico e eletrnico em questo.
O sistema de controle de velocidade por posio ainda apresenta muitas
deficincias e no funciona como espervamos, uma vez que monitorados diretamente
pela viso, erros so propagados sobre os sistemas de viso e estratgia, de forma que
no se tem a preciso necessria para realizar os movimentos previstos.
A diferena de duty cycles do pulso de um motor para o outro faz o rob girar
muito rpido quando, por exemplo, o rob realiza uma curva muito fechada. Devido ao
peso do rob, relativamente alto, a sua inrcia grande, dificultando assim a mudana
de percurso e controle sobre o mesmo.
25


Figura 24 Estrutura bsica de um sistema realimentado; u: ao de controle

Como mostra a Figura 24, o sistema de controle trabalha com um controlador
PID por posio (x,y,) num sistema realimentado. O sistema tem uma posio de
referncia desejada, o controlador atua corrigindo o erro, calculado pelos dados do
sensor, que no caso seria o sistema de viso.
O controle PID por posio possui a seguinte modelagem cinemtica [13]:

onde :




Figura 25 -Diagrama esquemtico do rob

O rob modelado sujeito a restries no holonmicas, isto , restries nas
possveis velocidades que pode assumir,devido ao fato que o atrito impede que as rodas
deslizem lateralmente. Assim, o rob s pode se movimentar na direo em que est
orientado. Esta restrio expressa matematicamente como:
26

`

A relao entre velocidades no referencial do rob e velocidades em espao de
configurao dada por:



3.5 Sistema Eletrnico



O PWM opera em perodos de tempo to curtos que suas variaes entre zero e
mximo so imperceptveis, mas a forma de onda equivalente possui voltagem menor.
Dessa maneira possvel linearizar curvas atravs de um circuito digital. O PIC16F877
possui funes e chaves especficas para o tratamento de PWMs e estas sero usadas no
decorrer do projeto.
A ponte-H serve para que inverter a polarizao dos motores, sendo possvel
tambm inverter o sentido de giro dos mesmos. Esse mecanismo baseado em
transistores, sendo que dependendo dos pinos acionados (Alto - Baixo) de um
microprocessador, a corrente fluir ou no num certo sentido. Isto pode ser visualizado
no esquema apresentado na Tabela abaixo.-H

Figura 26- Circuito eltrico da Ponte H
.

27

Tabela 9- Funcionamento da ponte-H.

V1 V2 V3 V4 Resultado
H L H L Q1 e Q3 fechados, corrente da esquerda para direita.
L H L H Q2, Q4 fechados, corrente da direita para a esquerda.
L L L L Motor desligado.



4. Concluso

Este relatrio apresentou detalhes de desenvolvimento do projeto,
implementao e montagem do prottipo de um rob para a categoria `very small size,
a ser utilizado para participao em competies robticas.
A parte mecnica est pronta: simples e robusta. Para efeito de pesquisa, a
plataforma construda suficiente para desenvolvermos o controle . Para efeito de
competio, o projeto pode ser aperfeioado. A incluso de encoders (sensoriamento
interno) pode auxiliar as coordenadas do sistema de controle (no momento esse
processo realizado somente atravs da viso).
O projeto abordou um tema muito importante e de aplicao comum em muitos
processos, tais como os motores que se deseja ter algum controle de velocidade,
(independente da aplicao). Tratando-se de um sistema robtico, a construo de uma
base mecnica , de fato, fundamental para a implementao do projeto.
O projeto mecnico baseou-se em tcnicas j utilizadas em mquinas comuns,
como a utilizao de rolamentos, a usinagem de peas e respectiva montagem de
elementos, a reduo do torque de motor por meio de engrenagens; a fim de obter uma
eficincia melhor; otimizar o gasto de energia que para o futebol de robs, assim como
qualquer outra plataforma, um fator crtico. Consumir menos energia implica em uma
plataforma de alto desempenho, menos peso, maior robustez do carro do rob.
A parte de programao do microcontrolador, por trabalhar com a linguagem
Assembly complexa, devido aos cuidados em construir cada funo e a configurao
manual de registradores. Um programa simples de controle do motor possui mais de
300 linhas de cdigo, evidenciando a falta de praticidade da linguagem.
Por outro lado, esse trabalho compensador no sentido de que o programador
adquire um maior cuidado com o espao de memria, por exemplo; com a simplificao
do cdigo e a apresentao de comentrios e identao.
O PIC16F877A foi uma ferramenta essencial para a execuo do projeto j que
este possui o recurso PWM no mdulo CPP, em que se pode modular uma faixa da
largura de pulso, pr-determinado pelo oscilador.

Agradecimentos

Os autores agradecem a FAPESP e o CNPq pelo apoio recebido durante a realizao do
presente trabalho.



28

5. Bibliografia

1. PEREIRA, F. Microcontroladores PIC: Programao em C. So Paulo: rica,
2005. 360 p.
2. FARIA, G.; ROMERO, R. A. F.; PRESTES, E.; IDIART, M. Comparing
Harmonic Functions and Potential Fields in the Trajectory Control of Mobile
Robots Control of Mobile Robots. In: IEEE RAM 2004 - IEEE Conf. on
Robotics, Automation and Mechatronics, 2004, Singapura. Proceedings of IEEE
RAM - Robotics, Automation and Mechatronics. http://ieeexplore.ieee.org/sea :
IEEE, 2004. v. 2. p. 762-767.
3. Faria, G., Uma arquitetura de controle Inteligente para Mltiplos Robs, Tese
de Doutorado, ICMC, 92 p., 2006.

4. Grabbe, Eugene Munter Handbook of automation, computation, and control /
prepared by a staff of specialists. Edited by Eugene M. Grabbe, Simon Ramo
[and] Dean E. Wooldridge, 1958 - Wiley New York

5. Dorf, Richard C. Modern control systems / Richard C. Dorf 6th edReading,
Mass. : Addison-Wesley, c1992

6. Khatib, O. (1985). Real-time obstacle avoidance for manipulators and mobile
robots. In IEEE International Conference on Robotics and Automation (pp. 500-
505). St. Louis, Missouri.
7. SOUZA, D. J.; LAVINIA, N. C. Conectando o PIC: Recursos Avanados. So
Paulo: rica, 2003. 384 p.
8. Santos, Davi Pereira dos; Penharbel, der Augusto; Faria, Gedson; Romero,
Roseli Aparecida Francelin. Um sistema integrado para controle de um time de
futebol de robs.. p. 449-457. Congresso da SBC 26, Campo Grande, 2006, Workshop
de Computao e Aplicaes 1, Campo Grande, 2006. In: Anais. 0006. SEM
CLASSIFICAO (evento com menos de 3 edies)
9. Bianchi, Reinaldo A. C.; Reali-Costa, Anna H. O sistema de viso
computacional do time FUTEPOLI de futebol de robs

10. Lopes, Alfredo, Sci-Soccer Desenvolvimento de uma Plataforma deRobs
Mveis voltada ao Futebol de Robs, FAPESP projeto PIPE 03/07973-2.
(http://www.cientistasassociados.com.br/publicacoes/Enri_final.pdf)

11. "RoboCup - Robot World Cup Initiative", http://www.robocup.org.

12. Microchip 16 F87XA Datasheet 28/40/44-Pin Enhanced Flash Microcontrollers

You might also like