Prévia do material em texto
UNIJUÍ – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO
DO RIO GRANDE DO SUL
GUSTAVO HENRIQUE WOLF
PLACA LOGICA PARA ACIONAMENTO DE DISPOSITIVOS
ATRAVÉS DO COMPUTADOR
Ijuí (RS)
2012
1
GUSTAVO HENRIQUE WOLF
PLACA LOGICA PARA ACIONAMENTO DE DISPOSITIVOS
ATRAVÉS DO COMPUTADOR
Trabalho de Conclusão de Curso apresentado ao
curso de Informática: Sistemas de Informações, do
Departamento de Ciências Exatas e Engenharias -
Dceeng, da Universidade Regional do Noroeste do
Estado do Rio Grande do Sul (UNIJUÍ), requisito
parcial para obtenção do grau de Bacharel em
Informática: Sistemas de Informações.
Professor Orientador: MSc. Rogério de Moura Martins
Ijuí (RS)
2012
2
os meus pais, Erico Frederico
Wolf e Iria Salete Wolf, pelo
amor, dedicação, e ensinamentos que me
deram sustentação para chegar até aqui.
Compartilho esta vitória, que tam-
bém os pertence. A vocês, todo meu
carinho, admiração e gratidão.
A
3
AGRADECIMENTOS
Agradeço a Deus, pela benção concedida, pela fé que me encorajou na
busca de nossos ideais e por sempre estar ao nosso lado, iluminando e protegendo
nossos caminhos.
Aos meus Pais, pela oportunidade, amor, confiança, compreensão e apoio
nas horas em que estive ausente em suas vidas para me dedicar aos estudos.
A minha namorada, Franciane Ramos Vieira, pelo amor, compreensão pelos
momentos de ausência, apoio nos momentos difíceis, paciência nos momentos em
que mais precisei, cumplicidade e carinho dedicados durante esta trajetória.
A minha irmã, Ani Elis Wolf, pelo apoio e incentivo em todos os momentos.
Aos meus colegas, em especial a Geizon Tischer, pelas experiências
compartilhadas e relações de coleguismo estabelecidas durante esta caminhada,
pelos momentos de descontração e pela amizade, que com certeza, foi parte
fundamental para poder continuar até este momento.
Aos professores do curso, pela amizade, dedicação, paciência, competência e
incentivo para a realização deste trabalho.
Aos meus Amigos(as), pelos momentos de alegria, pelo apoio nas horas de
dificuldade, pois além de amigos(as) foram companheiros(as) e conselheiros(as).
MUITO OBRIGADO!!!!
4
RESUMO
Este estudo tem como principal objetivo a construção de uma placa para acionar
dispositivos a partir do computador. Inicialmente, o texto apresenta conceitos
envolvendo CLPs, incluindo as formas de programação e processamento dos sinais
de E/S. Em seguida é apresentado algumas ferramentas similares existentes no
mercado hoje. Para análise dos resultados foi construída a placa para controlar um
Braço Robótico.
Palavras-chave: Controlador Lógico Programável. Interface Homem/Máquina.
Arduino, Raspberry Pi.
5
LISTA DAS SIGLAS
CAN – Controller Area Network
CLP – Controlador Lógico Programável
CPU – Central Processing Unit
CUI – Character-based User Interface
E/S – Entrada e Saída
FBD – Function Block Diagram
GPS – Global Positing System
GUI – Graphical User Interface
I/O – Input/Output
IEC – International Eletrotechnical Commission
IL – Instruction List
ISA – International Society of Automation
ISO – International Standardisation Organization
LD – Ladder Diagram
LVTTL – Low Voltage Transistor-Transistor Logic
NEMA – National Electrical Manufacturers Association
P2P – Per to Per
PC – Personal Computer
PID – Proportional Integral Derivative
POUs – Program Organization Units
PUI – Pen-based User Interface
RAM – Random Access Memory
RS-232 – Recommended Standard 232
SD – Secure Digital
SFC – Squential Funquition Chart
SMS – Short Message Service
6
ST – Structured Text
TP – Terminal de Programação
TTL – Time To Live
UCP – Unidade Central de Processamento
UID – Unique Identifier
VRUI – Virtual Reality-Based User Interface
WUI – Web User Interface
7
LISTA DAS FIGURAS
Figura 1: CLP compacto da linha GENIE, fabricante Rucken........................ 16
Figura 2: Estrutura básica de um CLP modular............................................. 17
Figura 3: CLP modular (Módulos do CLP CJ1 da OMRON).......................... 17
Figura 4: Representação do sistema de controle de CLP............................. 18
Figura 5: Estrutura de programa do PLC (A) e PC (B).................................. 19
Figura 6: Diagrama de blocos do hardware de um CLP................................ 19
Figura 7: Scanning de um CLP básico........................................................... 23
Figura 8: Estrutura de um sistema automatizado com CLP........................... 24
Figura 9: Etapas do desenvolvimento de um programa para CLP................ 26
Figura 10: Conector serial de 9 Pinos (DB9).................................................... 27
Figura 11: Exemplo de transistor (BC 337)...................................................... 28
Figura 12: Exemplo de Ponte H....................................................................... 29
Figura 13: Exemplo de micro controlador........................................................ 30
Figura 14: Arduino Uno.................................................................................... 31
Figura 15: Raspberry Pi modelo B................................................................... 37
Figura 16: Braço robótico similar ao utilizado.................................................. 40
Figura 17: Ligação entre porta serial e MAX 232............................................. 41
Figura 18: Montagem na protoboard do circuito.............................................. 41
Figura 19: Ligação do conector até o micro controlador.................................. 42
Figura 20: Montagem do circuito com o micro controlador.............................. 42
Figura 21: Ponte H utilizada para controle dos motores.................................. 44
Figura 22: Ligação da Ponte H com o micro controlador................................. 45
Figura 23: Circuito com a Ponte H ligada ao micro controlador....................... 45
Figura 24: Circuito completo............................................................................ 46
Figura 25: Gravador similar ao utilizado.......................................................... 50
Figura 26: Detalhe do micro controlador sendo gravado................................. 51
Figura 27: Motores identificados no braço robótico......................................... 52
8
LISTA DOS QUADROS
Quadro 1: Modelos de Arduino..................................................................... 34
Quadro 2: Modelos clone de Arduino........................................................... 36
Quadro 3: Modelos sem micro controlador ATMEGA.................................. 36
Quadro 4: Modelos de Raspberry Pi............................................................ 38
Quadro 5: Relação entre a ponte H e os pinos do micro controlador.......... 48
Quadro 6: Comandos que acionam a placa................................................. 509
SUMÁRIO
1 INTRODUÇÃO ....................................................................................................... 11
2 CONCEITOS ENVOLVIDOS NOS CLPs E EM SUA PROGRAMAÇÃO .............. 13
2.1 DEFINIÇÃO DE CONTROLADOR LÓGICO PROGRAMÁVEL (CLP) ................ 13
2.2 UTILIZAÇÃO E APLICAÇÕES ............................................................................ 15
2.3 CLASSIFICAÇÃO DOS CLPs ............................................................................. 16
2.4 ARQUITETURA E PRINCÍPIO DE FUNCIONAMENTO ...................................... 18
2.4.1 Estrutura básica do CLP ................................................................................... 19
2.4.2 Execução do CLP – ciclo de varredura (scanning) ........................................... 23
2.5 SOFTWARE DO CLP .......................................................................................... 24
2.5.1 Etapas de desenvolvimento e peculiares do software ...................................... 25
2.6 INTERFACE SERIAL .......................................................................................... 26
2.7 TRANSISTORES................................................................................................. 28
2.8 PONTE H ............................................................................................................ 29
2.9 MICRO CONTROLADORES ............................................................................... 30
3 TRABALHOS RELACIONADOS ........................................................................... 32
3.1 ARDUINO ............................................................................................................ 32
3.1.1 Plataforma – Hardware ..................................................................................... 33
3.1.2 Software ........................................................................................................... 34
3.1.3 Aplicações ........................................................................................................ 35
3.1.4 Configuração oficial .......................................................................................... 35
3.1.5 Clones .............................................................................................................. 36
3.1.6 Placas sem ATmega ........................................................................................ 38
3.2 RASPBERRY PI .................................................................................................. 38
3.2.1 Hardware .......................................................................................................... 39
3.2.2 Software ........................................................................................................... 40
4 MODELAGEM E IMPLEMENTAÇÃO .................................................................... 41
4.1 DESCRIÇÃO DO PROJETO ............................................................................... 41
4.2 CONSTRUÇÃO DO CIRCUITO .......................................................................... 42
4.3 PROTOCOLO DE COMUNICAÇÃO ................................................................... 48
4.4 PROGRAMAÇÃO DO MICRO CONTROLADOR ................................................ 51
5 RESULTADOS ....................................................................................................... 53
CONCLUSÃO ........................................................................................................... 56
10
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 58
11
1 INTRODUÇÃO
Os CLPs são muito populares na área de automação, atuando em vários
ramos, mas tendo como maior atuação as seguintes áreas: robótica, medição de
energia, automação residencial, monitoramento de veículos, etc. Muitas vezes estes
dispositivos podem passar despercebidos, porém, cada vez estão mais presentes
em nosso cotidiano. O seu acesso pode ser feito por qualquer usuário, mas para
compreendê-los, somente por profissionais especializados, pois sua difícil
programação não permite que qualquer pessoa o programe.
Basicamente, estes dispositivos tem um controle vital onde atua. Como por
exemplo, em uma Hidrelétrica, em que controla as maquinas, aumenta ou diminui o
fluxo de agua em determinados pontos.
Baseado nisso, foi realizado um estudo sobre CLPs para posteriormente ser
desenvolvido um sistema “equivalente”, onde será construído uma placa de uso
similar ao CLP. O dispositivo terá como finalidade pequenas aplicações de controle,
como por exemplo, o controle de um braço robótico, podendo ser aplicado também a
pequenos processos de automação predial.
O estudo foi basicamente dividido em duas grandes fases. Na primeira,
teórica, o trabalho é subdividido em duas etapas.
Na primeira etapa da primeira fase, para fundamentar o estudo, são
apresentados conceitos relativos aos CLPs, como: definições, aplicações,
classificações, arquitetura básica, formas de programação mais comuns e, por
último, a relação estabelecida entre o usuário, no caso o programador do dispositivo,
e os equipamentos eletrônicos envolvidos (CLP e PC). A metodologia utilizada
nessa parte é caracterizada por referencial teórico, sendo realizado um
levantamento bibliográfico de diversos autores. As ferramentas de fontes de
pesquisa foram principalmente livros e periódicos eletrônicos, também foram
utilizados sites e manuais.
Na segunda etapa dessa primeira fase, foi realizado o levantamento do
protótipo que será utilizado para o desenvolvimento da placa. Nessa etapa foi
apresentada uma descrição das características do dispositivo, explicando o
funcionamento da unidade de processamento, mostrando os protocolos de
comunicação entre o computador e a placa controladora.
12
A segunda fase do estudo, realizada posteriormente, foi a montagem da
placa, primeiramente montando por partes e sendo feito os testes em uma
protoboard e logo após uma análise dos resultados obtidos referentes a testes,
simulações e exemplos de aplicações.
13
2 CONCEITOS ENVOLVIDOS NOS CLPs E EM SUA PROGRAMAÇÃO
Nesse capitulo serão apresentados conceitos extraídos de vários autores,
quando a definição e aplicação dos CLPs. Conceitos sobre componentes eletrônicos
utilizados na construção da placa, aplicações e exemplos de uso.
2.1 DEFINIÇÃO DE CONTROLADOR LÓGICO PROGRAMÁVEL (CLP)
Segundo o International Eletrotechnical Commission (IEC), um Controlador
Lógico Programável (CLP) é definido como um sistema eletrônico operado
digitalmente, projetado para uso em um ambiente industrial, que usa uma memória
programável para a armazenagem interna de instruções orientadas para o usuário
para implementar funções específicas, tais como lógica, sequencial, temporização,
contagem e aritmética, para controlar, através de entradas e saídas digitais ou
analógicas, vários tipos de máquinas ou processos. O controlador programável e
seus periféricos associados são projetados para serem facilmente integráveis em um
sistema de controle industrial e facil-mente usados em todas suas funções previstas.
(RIBEIRO, 2001, p. 91).
De acordo com a National Electrical Manufacturers Association (NEMA), é um
equipamento eletrônico que funciona digitalmente e que utiliza uma memória
programável para o armazenamento interno de instruções para implementar funções
específicas, tais como lógica, sequenciamento, registros e controle de tempos,
contadores e operações aritméticas para controlar, através de módulos de
entrada/saída digitais(liga/desliga) ou analógicos (1-5Vcc, 4-20mA etc.), vários tipos
de máquinas ou processos. (BOTTURA FILHO, 2007, p. 23).
Conforme o fabricante Atos (2006, p. 14), controladores lógicos programáveis
são equipamentos eletrônicos normalmente baseados em microprocessadores, que
usam uma memória programável para armazenamento de instruções com funções
de: lógica, sequenciamento, temporização, contagem, controle PID, Inter
travamentos, operações aritméticas, etc.; são destinados a comandar e monitorar,
14
em vários níveis de complexidade, máquinas ou processos industriais através de
módulos de entradas/saídas analógicos ou digitais.
O fabricante complementa que um controlador lógico programável diferencia-
se dos equipamentos convencionais para controles industriais pela programabilidade
e pelo modo sequencial de execução das instruções. Assim como o hardware, os
softwares desenvolvidos para CLPs caracterizam uma diferença fundamental. Esses
softwares realizam funções de acesso ao hardware, diagnósticos, comunicações,
históricos e determinam o funcionamento do controlador em um modo de operação
dedicado (ciclo de varredura) e totalmente transparente para o usuário.
Para PRUDENTE (2007) O aspecto interessante do CLP é que ele
normalmente pode ser programado e utilizado por pessoas sem um grande
conhecimento no uso do computador.
Baseado no fabricante Atos (2006), outra distinção dos CLPs é que esses são
desenvolvidos especificamente para operar em ambientes industriais, podendo
operar em áreas com grande quantidade de ruídos elétricos, interferências
eletromagnéticas, vibrações mecânicas, altas temperaturas e umidade, conforme
especificação de cada fabricante.
Para Vianna (2008), um Controlador Lógico Programável apresenta as
seguintes características básicas:
– dispositivo de controle com programação ou reprogramação com a mínima
interrupção da produção;
– capacidade de operação em ambiente industrial;
– sinalizadores de estado e, quando modular, módulos tipo plug-in de fácil
manutenção e substituição;
– hardware ocupando o mínimo de espaço, com baixo consumo de energia;
– possibilidade de monitoramento do estado e operação do processo ou sistema,
através da comunicação com computadores;
– compatibilidade com diferentes tipos de sinais de E/S;
– capacidade de alimentar, de forma contínua ou chaveada, cargas que consomem
correntes de até 2A;
15
– hardware de controle que permite a expansão dos diversos tipos de módulos, de
acordo com a necessidade (quando modular);
– custo de compra e instalação competitivo em relação aos sistemas de controle
convencionais;
– possibilidade de expansão da capacidade de memória;
– conexão com outros CLPs através de rede de comunicação.
2.2 UTILIZAÇÃO E APLICAÇÕES
Vianna (2008) afirma que o Controlador Lógico Programável tem o objetivo de
automatizar os processos industriais, tendo sua aplicação tanto na área de
automação da manufatura, de processos contínuos, elétrica, predial, entre outras.
Existem diversos ramos de aplicações industriais onde se podem aplicar os CLPs.
Entre eles estão:
– máquinas industriais (operatrizes, injetoras de plástico, têxteis, calçados);
– equipamentos industriais para processos (siderurgia, papel e celulose,
petroquímica, química, alimentação, mineração, etc.);
– equipamentos para controle de energia (demanda, fator de carga);
– controle de processos com realização de sinalização, intertravamento e controle
PID;
– aquisição de dados de supervisão em: fábricas, prédios inteligentes, etc.;
– bancadas de teste automático de componentes industriais.
O mesmo autor ainda acrescenta que a tendência dos CLPs é possuírem
custo reduzido, mais inteligência, facilidade de uso e massificação das aplicações. A
utilização deste equipamento não é apenas nos processos, mas também nos
produtos (eletrodomésticos, eletrônicos, residências e veículos).
Segundo PEREIRA (2009). Vivemos num mundo em constante evolução
tecnológica. Os automatismos entraram de tal maneira nos nossos hábitos que
muitas vezes nem nos damos conta de como nos facilitam a vida; estão presentes
nas escadas rolantes, nas portas automáticas, nos caixas eletrônicos, nos
elevadores, nos semáforos, no controle da iluminação, nos edifícios inteligentes, nas
16
linhas de montagem das fábricas e de uma maneira geral nas instalações onde é
necessário implementar um processo de manobra, controle, sinalização ou outro.
2.3 CLASSIFICAÇÃO DOS CLPs
Brune (2005) classifica tipicamente os Controladores Lógicos Programáveis
pelo seu porte em função do número de pontos de entradas e saídas. CLPs de
pequeno porte possuem até 128 pontos de E/S; os de médio porte possuem entre
128 e 512 pontos de E/S; já os de grande porte possuem mais de 512 pontos de
E/S.
O autor ainda menciona que os CLPs de grande e médio porte geralmente
possuem arquiteturas modulares, ou seja, os pontos de E/S podem ser expandidos
na forma de módulos, distribuídos localmente ou através de redes (E/S remoto).
Existem CLPs de pequeno porte, modulares, mas para atingir metas de baixo custo
e dimensões reduzidas, na maioria das vezes são oferecidos em arquiteturas
compactas, isto é, com todos os elementos em um único chassi (fonte de alimen-
tação, UCP, memória, interfaces de comunicação e programação e pontos de E/S).
A figura 1 apresenta um exemplo de CLP compacto.
Figura 1: CLP compacto da linha GENIE, fabricante Rucken.
Fonte: Rucken (2010, p. 16).
Segundo Franchi e Camargo (2009), atualmente até mesmo os CLPs de
pequeno porte já suportam uma diversidade de módulos especiais (normalmente
vendidos como opcionais), tais como:
17
– E/S analógicas;
– contadores rápidos;
– módulos de comunicação;
– IHM;
– expansões de E/S.
Os mesmos autores relatam que os CLPs, compostos por uma estrutura
modular, apresentam em cada módulo uma determinada função a ser executada.
Normalmente, possuem processador e memória em um único gabinete. Já o sistema
de E/S é decomposto em módulos de acordo com suas características. São
colocados em posições predefinidas no rack do equipamento e acrescentadas de
acordo com a necessidade da aplicação. Os principais elementos que formam o CLP
modular são: rack, fonte de alimentação, CPU e módulos de E/S.
Carvalho (2004) afirma que a maioria dos CLPs modulares pode apresentar
redundância em qualquer um de seus módulos, conforme a necessidade.
Para Franchi; Camargo (2009, p. 43). “Os CLPs modulares vão desde os
denominados MicroCLPs, que suportam uma pequena quantidade de E/S até os de
grande porte, que tratam até milhares de pontos de E/S”.
A figura 2 mostra um exemplo da arquitetura de um CLP modular:
Figura 2: Estrutura básica de um CLP modular.
Fonte: Franchi e Camargo (2009, p. 43).
18
A figura 3 traz um exemplo de CLP modular – o CLP CJ1 do fabricante
OMRON. Esse dispositivo possui mais de 60 tipos de unidades de expansão que se
comunicam com vários tipos de rede.
Figura 3: CLP modular (Módulos do CLP CJ1 da OMRON).
Fonte: Pereira (2009c, p. 18).
2.4 ARQUITETURA E PRINCÍPIO DE FUNCIONAMENTO
Embora existam tamanhos e complexidades diferentes, todos os sistemas de
controle por meio de CLP podem ser divididos em três partes com funções bem
definidas: os transdutores (sensores), os controladores e os atuadores (FRANCHI;
CAMARGO, 2009). Um sistema de controle simples está representado na figura 4.
Figura 4: Representação do sistema de controlede CLP.
Fonte: adaptado de Franchi e Camargo (2009 p. 19).
Os autores acima afirmam que os CLPs podem ser programados para
executar instruções que controlam dispositivos, máquinas, operações e processos
pela implementação de funções específicas, como lógica de controle,
sequenciamento, controle de tempo, operações aritméticas, controle estático,
controle de malha, transmissão de dados, etc.
19
2.4.1 Estrutura básica do CLP
No entendimento de Ribeiro (2001), o CLP tem sua estrutura baseada no
hardware de um computador com propósito específico em três áreas funcionais e
uma interface de comunicação: 1) unidade de processamento central; 2) memória; e
3) interfaces de entrada e de saída, todas elas alimentadas por uma ou várias fontes
de alimentação.
Vianna (2008) descreve que a principal diferença entre um controlador lógico
programável e um computador comum está na qualidade da fonte de alimentação,
sendo que o CLP possui características ótimas de filtragem e estabilização,
interfaces de E/S imune a ruídos e um invólucro específico para aplicações
industriais.
Outra diferença que Ribeiro (2001) apresenta é a operação sequencial, que
no CLP é executada na ordem como foram programadas, enquanto na estrutura do
programa do PC, a execução da tarefa é feita em qualquer ordem, como mostra a
figura 5. Ainda, diferente de um PC comum, o CLP normalmente deve carregar o
programa de instruções de um terminal externo para funcionar conforme
programado. A unidade de programação deve ficar separada, fora da operação do
CLP, para carregar os programas de controle para a memória do controlador.
Figura 5: Estrutura de programa do PLC (A) e PC (B).
Fonte: Ribeiro (2001, p. 95).
20
O autor ainda descreve que os sinais de entrada do CLP são recebidos
externamente e suas condições são armazenadas na memória, onde são
executadas as instruções lógicas programadas dos módulos de entrada. As
condições geradas de saída servem para acionar os equipamentos coligados. A
ação tomada depende totalmente do software de controle mantido na memória do
CLP.
A figura 6 ilustra um diagrama de blocos simplificado do hardware de um CLP.
Figura 6: Diagrama de blocos do hardware de um CLP.
Fonte: adaptado de WEG (2007, p. 10).
a) Unidade Central de Processamento (UCP)
“Também conhecida como CPU (Central Processing Unit), é a unidade
responsável pela execução do programa aplicativo e pelo gerenciamento do
processo” (FRANCHI; CAMARGO, 2009, p. 36), ou seja, “ela controla e supervisiona
todas as operações dentro do CLP, executando as instruções programadas e
armazenadas na memória” (RIBEIRO, 2001, p. 9.12).
Franchi e Camargo (2009) relatam que a UCP recebe os sinais digitais e
analógicos dos sensores do campo conectados aos módulos de entrada, e também
recebe os comandos via comunicação em rede (quando for o caso). Em seguida,
executa as operações lógicas, as operações aritméticas e avançadas, como as de
controle de malha programadas na memória do usuário, e atualiza os cartões de
saída.
b) Memórias
As memórias, segundo Franchi e Camargo (2009), são divididas em duas
partes: instruções do programa executivo, que controla as atividades da CPU, e
instruções do programa de aplicação do usuário, esta última parte expansível.
21
– Memória de programa: responsável pelo armazenamento do programa
aplicativo, desenvolvido pelo usuário para desempenhar determinadas tarefas;
– Memória de dados: local utilizado pela UCP para armazenamento temporário de
dados.
c) Módulos de entrada/saída (E/S)
Os módulos de E/S, também conhecidos como módulos Input e Output (I/O),
fazem a interface entre os sinais externos e a UCP do CLP. Esses módulos podem
ser de corrente contínua ou alternada, analógicos ou digitais.
Para Ribeiro (2009, p. 21). Os módulos E/S usam vários circuitos de interface
para receber os sinais proporcionais às variáveis do processo como pressão,
temperatura, vazão, nível, movimento, posição, análise, vibração. Os terminais do
módulo de entrada recebem sinais de fios ligados a chaves, indicadores e outros
equipamentos de informação de entrada. Os terminais do módulo de saída fornecem
tensões de saída para energizar motores e válvulas e operar equipamentos de
indicação.
d) Sistema de comunicação
Brune (2005 p.21) “A troca de dados, mensagens e informações acontece por
meio uma interface de comunicação que utiliza canais de comunicação,
normalmente do tipo RS-232 e RS-485 e um protocolo de comunicação apropriado”.
Para Franchi e Camargo (2009), é por meio da interface de comunicação que
são inseridos os programas aplicativos no CLP e é também através dela que é
possível monitorar todas as operações que estão ocorrendo em um determinado
instante. O sistema de comunicação pode ocorrer com vários CLPs, eles podem
estar interligados em rede com um CLP mestre, através de um modem, ou via
internet.
Segundo Prudente (2010), na maioria das vezes os fabricante do CLP tem o
seu próprio protocolo de comunicação. Geralmente, a comunicação é possível
somente por meio da utilização de equipamentos da mesma empresa, mesmo
existindo vários protocolos internacionais padronizados. A tipologia de protocolos de
comunicação existente no mercado varia (rede Internet, rede local Ethernet,
22
Fondation Fieldbus, Modbus, Profibus DP e PA, DeviceNet, AS-interface – ASI, etc.),
e cada uma tem suas particularidades.
e) Fonte de alimentação
Para Prudente (2007), a fonte de alimentação é empregada para transformar
uma tensão alternada de rede (normalmente 220V) em uma tensão contínua
(geralmente 12/24V) para o funcionamento da UCP e dos dispositivos de entrada
(sensor, transdutor, botões, etc.). A fonte de alimentação empregada no CLP pode
ser interna ou externa.
f) Dispositivos de programação e de leitura
Os dispositivos de programação e de leitura, para Franchi e Camargo (2009),
não constituem a estrutura física dos CLPs, mas são de grande importância, pois
são os diversos dispositivos periféricos que, quando conectados aos CLPs, realizam
a Interface Homem/Máquina (IHM).
“Pode ser um equipamento dedicado, ou seja, um terminal que só tem
utilidade como programador de um determinado fabricante de CLP, ou um software
que transforma um computador pessoal em um programador” (VIANNA, 2008, p. 26).
Franchi e Camargo (2009) afirmam que a grande maioria dos fabricantes
fornece ou vende pacotes de software para que a programação e a edição sejam
feitas em um microcomputador. O programa, depois de editado, é transferido para o
CLP através de uma mídia removível ou por meio de uma rede de comunicação.
Conforme Vianna (2008) é nesse periférico, por meio de uma linguagem que
pode ser entendida pelo processador do CLP, que é feita a codificação das
informações vindas do usuário. Dependendo do tipo de Terminal de Programação
(TP), poderão ser realizadas funções como:
– introdução do programa de aplicação na memória dos CLPs;
– elaboração do programa do usuário;
– análise do conteúdo dos endereços de memória;
– introdução de novas instruções;
– modificação de instruções já existentes;
23
– monitoramento do programa do usuário;
– cópia do programa do usuário em disco ou impressora; etc.
2.4.2 Execução do CLP – ciclo de varredura (scanning)
Para Moraes e Castrucci (2007), o CLP executa uma sequência de operações
definidas num programa aplicativo definido pelo usuário. Estas operações estão
condicionadas à ocorrência de estímulosexternos ou entradas. Dada uma
determinada combinação de entradas, o CLP vai processar essa combinação e
aplicar aos dispositivos conectados a suas interfaces de saída o sinal ou sinais
associados àquela combinação de entradas. A esta sequência de leitura das
entradas, processamento e atualização das saídas se dá o nome de ciclo de
varredura ou scanning.
Conforme o fabricante WEG (2007), com a partida, o CLP executará os
seguintes processos:
1. transferirá os sinais existentes na interface de entrada para a memória de dados
(RAM);
2. iniciará a varredura do software aplicativo, armazenando na memória de
programa (scan), utilizando os dados armazenados na memória de dados. Dentro
deste ciclo, executará todas as operações que estavam programadas no software
aplicativo, como intertravamentos, habilitação de temporizadores/contadores,
armazenagem de dados processados na memória de dados, etc;
3. concluída a varredura do software aplicativo, o CLP transferirá os dados
processados (resultados de operações lógicas) para a interface de saída.
Paralelamente, novos dados provenientes da interface de entrada irão alimentar
a memória de dados.
A figura 7 mostra os processos ocorridos no ciclo de scan de um CLP
convencional.
24
Figura 7: Scanning de um CLP básico.
Fonte: adaptado de Pereira (2009b, p. 24).
2.5 SOFTWARE DO CLP
Pereira (2009b, p.24) considera um sistema automatizado como sendo
constituído por dois grupos: a parte operativa e a parte de comando (figura 8).
– parte operativa: é o sistema responsável por fornecer toda a informação à parte
de comando, é também a física que se pretende automatizar;
– parte de comando: responsável pelas ordens de saída em função do software
de controle e das informações fornecidas pela parte operativa.
Figura 8: Estrutura de um sistema automatizado com CLP.
Fonte: Pereira (2009b, p. 24).
25
Udo (2006) menciona que para o CLP executar a função de automação para
o qual foi designado, é necessária a elaboração de um conjunto de instruções, as
quais definirão o comportamento das saídas, em função de vários fatores, entre eles
o estado das entradas. A esse conjunto de instruções dá-se o nome de programa ou
software de intertravamento, ou simplesmente programa de CLP.
O software deve ser de ótima qualidade, pois qualquer falha poderá
consequentemente representar um grande problema no meio físico externo em que
irá atuar. Da mesma forma como a execução desse, as informações recebidas por
ele também devem ter consistência, pois serão armazenadas em variáveis utilizadas
no processo de operação do software do CLP.
Conforme Capelli (2007), há inúmeras variáveis que podem compor um CLP:
circuitos lógicos, chaves, sensores, circuitos e sinais de outros CLP’s, que darão
origem ao processamento e este irá gerar os sinais adequados para as aplicações
conexas às saídas.
2.5.1 Etapas de desenvolvimento e peculiares do software
Baseado no fabricante WEG (2007), aspectos do software devem ser levados
em consideração, pois além do número de pontos de E/S, o que determina a
utilização de um CLP são os recursos de software disponíveis, isto é, as funções
que ele pode executar. Todos os CLP’s possuem as seguintes funções básicas de
software:
– lógica (AND, OR, XOR e NOT);
– SET e RESET;
– temporização e contagem;
– cálculos com aritmética básica (+,-,x,/);
– parênteses (operador de precedência);
– comparação de valores;
– registrador de deslocamento;
– salto.
Para o fabricante, à medida que os CLP’s têm sua capacidade de
processamento aumentada, surge a necessidade de funções de software mais
avançadas, tais como:
26
– cálculos com ponto flutuante;
– cálculos integrais e trigonométricos;
– malhas de controle PID;
– posicionamento;
– contagem rápida;
– leitura de sinais analógicos;
– leitura de sinais de temperatura;
– linearização de sinais analógicos;
– lógica fuzzy;
– outros.
Prudente (2010) afirma que antes de iniciar a programação é preciso saber
com clareza e exatidão como e o quê se quer que a máquina produza e desenvolva.
É importante saber como a máquina deve se comportar em todas as situações
durante o trabalho. Isso significa, em poucas palavras, que é preciso definir um
algoritmo para resolver problemas. Só depois de traduzido o algoritmo pode-se
convertê-lo em uma linguagem de programação reconhecido pelo CLP.
Na figura 9 estão representados os passos para o desenvolvimento de um
programa de CLP, que vai desde o levantamento do objetivo do equipamento
(problema) até a implantação e execução do software no CLP.
Figura 9: Etapas do desenvolvimento de um programa para CLP.
Fonte: baseado em Freitas (2006) e Franchi e Camargo (2009).
2.6 INTERFACE SERIAL
Atualmente o protocolo de comunicação RS-232, esta sendo substituído pela
interface USB. O protocolo USB tem uma velocidade muito alta comparada à porta
27
serial e é melhor suportado pelo software. Com isso, as placas-mãe fabricadas para
usuários comuns, denominadas “livres de legado” (legacy-free) atualmente estão
sendo produzidas sem circuitos RS-232. O protocolo continua sendo utilizado
principalmente em periféricos para pontos de venda (impressoras fiscais, caixas
registradoras, leitores de códigos de barra ou fita magnética) e para a área industrial
(dispositivos de controle remoto).
O envio de caracteres no protocolo de comunicação RS-232 é feito um a um
como um conjunto de bits. Entre as formas de codificação, a mais utilizada é o
“Start-Stop assíncrono”, que utiliza um bit de inicio, na sequencia, sete ou oito bits
de dados, um bit de paridade e de um a dois bits de paragem, sendo necessário de
10 bits para enviar um único caractere. Desta forma, há uma necessidade de dividir
por um fator de dez a taxa de transmissão para poder obter velocidade no envio do
caractere.
A maioria dos dispositivos que tem a conexão serial, não utiliza grande parte
dos pinos do conector, o que torna comum que as máquinas economizem espaço e
dinheiro utilizando conexões menores. Em função disso, é muito comum encontrar
dispositivos que possuam conexão serial de 25 pinos, mas que estão conectados a
um cabo que na outra extremidade possua somente 9 pinos.
Esta conexão é recomendada para conexões curtas (até 15 metros). Os
sinais da porta serial variam de 3 a 15 volts positivos ou negativos, os valores
próximos de 0 não são considerados sinais validos.
28
Figura 10: Conector serial de 9 pinos (DB9).
Fonte: Wikipedia
2.7 TRANSISTORES
Em 23 de dezembro de 1947, Walter H. Brattain e John Bardeen fizeram uma
demonstração da função de amplificação do primeiro transistor nos laboratórios da
empresa Bell Telephone. As vantagens do transistor em relação às válvulas eram
obvias, era menor, mais leve, não necessitava ser aquecido e nem apresentavam
perda por aquecimento. O transistor era robusto e muito mais eficiente do que as
válvulas, podendo ter seu funcionamento interrompido ou reestabelecido 1 bilhão de
vezes em apenas 1 segundo.
Segundo Robert L. Boylestad e Louis Nashelsky, “o transistor é um
semicondutor que consiste em duas camadas de material do tipo n e uma camada
do tipo p ou em duas camadas do tipo p e uma camada do tipo p. O primeiro é
denominado transistor npn e o outro, transistor pnp”.
Os transistores possuem três terminais, Coletor, Base e Emissor. Em
qualquer um dos dois tipos de transistores, pnp ou npn, um dos terminais recebea
tensão elétrica e o outro envia, porém, a tensão somente passara pelo transistor, se
o terceiro terminal (Base) recebe uma tensão para ativar. Quando não recebe, ele
corta a transmissão.
29
Figura 11: Exemplo de transistor (BC337 NPN).
Fonte: Site Bitsbox
2.8 PONTE H
É um circuito eletrônico que permite controlar um motor DC. Quando um
motor DC é ligado a um micro controlador, este não possui corrente suficiente para o
funcionamento correto do motor. A ponte H, que pode ser visualizada na figura
abaixo, é montada com transistores que conseguem aumentar o ganho da corrente
oriunda do micro controlador.
30
Figura 12: Exemplo de ponte H.
Fonte: Site Arduino By My Self
Existem duas formas de se utilizar a ponte H, a meia ponte (HALF BRIDGE),
que é a mais básica, utiliza somente dois transistores, porem necessita de duas
fontes de alimentação e a ponte H completa (FULL BRIDGE), utiliza pelo menos
quatro transistores e apenas uma fonte de alimentação.
2.9 MICRO CONTROLADORES
Um micro controlador é um tipo de microcomputador, o micro controlador
possui um processador interno, memoria e também dispositivos de entrada e saída.
O seu microprocessador pode ser programado para diversas funções, ao contrario
de microprocessadores utilizados em computadores.
A frequência do clock do processador é de poucos MHz (Megahertz), ou até
menos. O micro controlador trabalha em uma frequência muito baixa em relação aos
microprocessadores de computadores, eles são adequados para sistemas robustos,
como operar maquinas pequenas, esteiras e especialmente projetos na área da
robótica. Consome muito menos energia, enquanto estiver em funcionamento, pode
31
consumir alguns miliwatts, mas ele pode entrar em modo de espera, aguardando por
comandos, neste caso pode chegar a consumir até alguns nanowatts.
Figura 13: Exemplo de micro controlador.
Fonte: Atmel
32
3 TRABALHOS RELACIONADOS
3.1 ARDUINO
Arduino é uma placa eletrônica, que foi projetada com o foco em usuários que
não tem acesso a uma plataforma de controladores mais sofisticados. A flexibilidade
que ela oferece é muito grande, pois a programação é livre, seu custo é baixo e
pode ser utilizada em uma grande quantidade de segmentos.
Figura 14: Arduino Uno.
Fonte: Arduino.cc
O Arduino pode ser utilizado de duas formas, com a programação embarcada
no micro controlador, não dependendo de comandos, ou pode ser conectada a um
computador, agindo de forma interativa. A placa pode ser conectada ao computador
pela interface serial ou USB. No hardware não há a conexão para os recursos de
rede, porém, pode ser facilmente utilizada uma extensão disponível, denominadas
Shields.
Sua construção teve inicio na cidade de Ivrea, Itália, em 2005. Seu principal
intuito era ser utilizado em escolas, para projetos escolares, o que reduziria o custo
das escolas, pois era mais barato que os outros sistemas disponíveis na época. Em
outubro de 2008, já havia vendido mais de 50.000 placas.
33
Como já dito, a plataforma pode ser alterada adicionando Shields, o fabricante
tem a disposição dos usuários, um sistema de venda, que, pode ser adquirido a
placa pronta, com as Shields embutidas, dispensando a alteração da placa quando
for utilizada pelo usuário.
3.1.1 Plataforma – Hardware
A placa é formada por um micro controlador Atmel AVR de 8 bits, com alguns
componentes que facilitam a programação. Os Arduinos originais utilizam os
seguintes processadores: ATmega8, ATmega168, ATmega328 e a ATmega1280.
Segundo o fabricante, a maioria das placas inclui um regulador linear de
5 volts e um oscilador de cristal de 16 MHz, embora alguns esquemas como
o LilyPad usam até 8 MHz e dispensam um regulador de tensão embutido, por ter
uma forma específica de restrições de fator. Além de ser microcontrolador, o
componente também deve ser pré-programado com um bootloader que simplifica o
carregamento de programas para o chip de memória flash embutido.
Quando seu software é utilizado, ele monta todas as placas sobre uma
programação de conexão serial RS-232, mas a sua maneira pode ser variável
conforme cada versão. Sua placa serial contém um circuito inversor entre os sinais
dos níveis RS-232 e TTL. Existem alguns métodos diferentes para realizar a
transmissão dos dados, como adicionar placas programáveis via USB, através de
um chip adaptador USB-para-Serial como o FTDI FT232. Algumas variantes, como o
Arduino Mini e o não oficial Boarduino, usam um cabo adaptador USB, bluetooth ou
outros métodos. Nestes casos, são usados com ferramentas microcontroladoras ao
invés do Arduino IDE, utilizando assim a programação padrão AVR ISP.
A maioria das conexões de E/S do micro controlador são para uso de outros
circuitos. A versão Diecimila, por exemplo, disponibiliza 14 pinos digitais, dos quais 6
podem produzir sinais MLP, além de 6 entradas analógicas. Estes estão disponíveis
em cima da placa, através de conectores fêmeas de 0,1 polegadas (ou
0,25 centímetros).
34
O modelo Nano, Boarduino e placas compatíveis com estas, fornecem
conectores machos na parte de baixo da placa, para serem plugados em
protoboards.
3.1.2 Software
O fabricante tem disponível gratuitamente o software para programação da
placa. O Arduino IDE é um programa escrito em Java na qual é derivada dos
projetos Processing e Wiring. Sua programação é fácil e não exige um nível de
entendimento muito alto para criar os códigos. O seu editor de código possui
recursos de realce de sintaxe, possibilitando compilar e carregar o codigo para a
placa com um clique único. Não necessitando editar Makefiles ou executar linhas de
comando.
Sua biblioteca "Wiring” possui a capacidade de ser programada em C/C++.
Permitindo, com facilidade criar varias operações de entrada e saída, a única coisa
que é necessário, é definir duas funções fazer um programa funcional:
setup() – Inserida no inicio, na qual pode ser usada para inicializar
configuração, e
loop() – Chamada para repetir um bloco de comandos ou esperar até que seja
desligada.
Para fazer um primeiro teste, o primeiro código que é gravado e executado,
tem a função de piscar um LED. Este código está, como vários outros, disponíveis
no site original do Arduino. Deve ser inserido no ambiente de desenvolvimento, o
código a seguir:
# define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT).
}
void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}
35
Se o código acima fosse transferido exatamente desta forma para a placa, ele
não seria visto como um programa valido, quando ele é carregado para a placa, o
arquivo é alterado com um cabeçalho, e uma simples função, mostrado abaixo:
# include "WProgram.h"
# define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT).
}
void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}
int main(void)
{
init();setup();
for (;;)
loop();
return 0;
}
O Arduino IDE utiliza as ferramentas GNU e o AVR Libc para compilar os
programas, após, com o avrdude, envia os programas para a placa.
3.1.3 Aplicações
O arduino tem como finalidade principal, facilitar a implementação do controle
de sistemas interativos, baseado no funcionamento do CLP. A diferença é a área de
atuação, o CLP é aplicado a ambientes industriais, já o Arduino, se aplica a
ambientes domésticos ou iniciais.
O campo de atuação é enorme, podendo controlar sistemas como: robótica,
controle de ambientes pequenos, impressão 3D.
3.1.4 Configuração oficial
É fabricado pela companhia Italiana Smart Projects, mas a SparkFun
Eletronics, uma empresa estadunidense, também possui alguns modelos sobre a
mesma licença.
36
Estes são os 11 modelos que já foram produzidos e comercializados:
Modelo Descrição e tipo de conexão ao hospedeiro Controlador
Serial Arduino Serial DB9 para programação ATmega8
Arduino
Extreme
USB para programação ATmega8
Arduino Mini
Versão em miniatura do Arduino
utilizando montagem superficial
ATmega168
Arduino Nano
Versão menor que o Arduino Mini,
energizado por USB e conectado por
montagem superficial
ATmega168/328
LilyPad
Arduino
Projeto minimalista para aplicações
portáteis, utilizando montagem superficial
ATmega168
Arduino NG USB para programação ATmega8
Arduino NG
plus
USB para programação ATmega168
Arduino BT interface bluetooth para comunicação ATmega168
Arduino
Diecimila
Interface USB
Atmega168 em um
pacote DIL28(foto)
Arduino
Duemilanove
Duemilanove significa "2009" em italiano. É
energizado via USB/DC, com alternação
automática
Atmega168 (Atmega328
para a versão mais nova)
Arduino Mega Montagem superficial
ATmega1280 para E/S
adicionais e memória
Arduino Uno
Utiliza Atmega8U2 para driver conversor
Serial-USB, ao invés do FTDI.
"Uno" significa "Um" em italiano.
Esta versão é considerada a versão 1.0 do
projeto, sendo que as placas que sucederem
a esta serão referenciadas.
ATmega328
Quadro 1: Modelos de Arduino
Fonte: Arduino Wikipedia
3.1.5 Clones
O Arduino é um projeto aberto para a criação de produtos paralelos ao
original, mesmo com o hardware e software sendo projetados sob licenças Copyleft.
Os fabricantes estão mostrando um desejo que o nome “Arduino”, seja de uso
exclusivo. Não sendo permitido o uso do nome para trabalhos de terceiros.
37
Com isso, foi criado um projeto alternativo por um grupo de usuários, baseado
na versão Diecimila, chamado de Freeduino, deixando o nome sem uso de direito
autoral, e é permitido o seu uso para qualquer fim.
Para se manter no comercio, alguns clones incluem no nome a terminação
“duino” como forma de fazer referencia do dispositivo original.
Abaixo segue alguns modelos existentes no mercado, que são quase ou
totalmente compatíveis com o hardware e software original utilizado no Arduino:
Modelo Descrição
Freeduino
SB
Fabricado e vendido como mini-kit pela Solarbotics Ltd.
Freeduino
MaxSerial
Placa com porta padrão serial DB9, fabricado e vendido em pacote ou
em partes pela Fundamental Logic.
Freeduino
Through-
Hole
Superfície montada, fabricada e vendida como um pacote pela NKC
Electronics.
Illuminato
Utiliza ATMega645 ao invés de um ATMega168. Disponibiliza 64k de
flash, 4K de RAM e 32 pinos gerais de E/S. O Hardware e firmware
são código aberto. Projetada para ter uma aparência esbelta e tem 10
LEDs que podem ser controlados usando uma instrução "oculta" . é
desenvolvida pela Liquidware.
Metaboard
Projetada para ter pouca complexidade e baixo preço. O hardware e
firmware são código aberto. É desenvolvida pela Metalab, um
hackerspace em Viena.
Seeeduino Derivada da Diecimila.
eJackino
Pacote da CQ no Japão. Similar ao Seeeduino, podendo utilizar placa
universais como os shields. Na parte de trás, há uma "estação
Akihabara" de seda, parecido com o do Arduino.
Wiseduino
Placa microcontroladora, incluindo um relógio de tempo
real (RTC) DS1307, com bateria reserva, um chip
EEPROM 24LC256 e um conector para adaptadores XBee.
Brasuíno
Baseada no Arduino Uno, mas redesenhada com o software
livre KiCAD. Mantém compatibilidade com o Arduino Uno original,
com algumas melhorias. O hardware é licenciado como GPL.
Desenvolvida, fabricada e comercializada pela Holoscópio, do Brasil.
Quadro 2: Modelos clone de Arduino
Fonte: Arduino – Wikipedia
38
3.1.6 Placas sem ATmega
As seguintes placas aceitam os Shields para o Arduino, mas não utilizam os
micro controladores da ATmega . São incompatíveis com o programa original,
entretanto, por causa de terem os requerimentos para funcionar os shields, podem
trabalhar com outras IDEs.
Modelo Descrição
Colduino
Sistema desenvolvido pela BRTOS baseada em arquitetura Freescale
Coldfire V1.
ARMmitePRO
Placa baseada em ARM, programável em BASIC ou C. Fabricada
pela Coridium.
Cortino
Sistema desenvolvido para ARM 32-bit, com um microprocessador
Cortex M3.
Pinguino
Placa baseada num microcontrolador PIC, com suporte USB nativo e
programável pelo programa oficial mais um IDE construída
em Python.
Quadro 3: Modelos sem Micro controlador ATMEGA.
Fonte: Arduino - Wikipedia
3.2 RASPBERRY PI
Raspberry Pi é considerado um “computador”, que tem o tamanho de um
cartão de crédito, é desenvolvido no Reino Unido pela Fundação Raspberry Pi. O
Hardware é uma única placa. Seu principal objetivo é estimular o ensino de ciência
da computação básica em escolas.
Figura 15: Raspberry Pi modelo B.
Fonte: Site Raspberry
39
Segundo o fabricante Farnell Newark o computador é baseado em
um chip Broadcom BCM2835, que dispõe de um processador ARM1176JZF-S de
700 MHz, GPUVideoCore IV, e 512 Megabytes de memória RAM. O hardware
possui somente uma entrada para cartão SD para armazenamento de dados.
No Brasil é possível adquirir uma Raspberry Pi através do distribuidor oficial
Farnell. O preço está em torno de R$170,00 a R$230,00 , sem o frete incluso.
3.2.1 Hardware
Existem dois modelos: Modelo A e Modelo B. A diferença entre os modelos é
que o Modelo B possui controlador Ethernet e duas portas USB, e o Modelo A
possui apenas uma porta USB e nenhuma porta Ethernet.
Apesar de não possuir a porta Ethernet, o Modelo A pode ser conectado a
internet através de um adaptador USB de Ethernet ou Wi-Fi (como os Shields do
Arduino).
Especificações:
Modelo A Modelo B
Preço esperado: US$25 US$35
SoC: Broadcom BCM2835 (CPU, GPU, DSP, e SDRAM)
CPU: 700 MHz ARM1176JZF-S core (ARM11 family)
GPU:
Broadcom VideoCore IV, OpenGL ES 2.0, 1080p
decodificador h.264/MPEG-4 AVC
Memória (SDRAM): 512 MB (compartilhada com GPU)
Portas USB 2.0: 1 2 (via hub USB integrado)
Saídas de vídeo:
RCA Composto (PAL & NTSC), HDMI (rev 1.3 & 1.4),
Painéis LCD via DSI
14 resoluções HDMI de 640×350 à 1920×1200 mais diversos
padrões PAL e NTSC.
Saídas de áudio: Conector de 3.5 mm, HDMI
Armazenamento onboard: SD / MMC / slot para cartão SDIO
Rede onboard: Nenhuma 10/100 Ethernet (RJ45)
Periféricos de baixo nível:
8 × GPIO, UART, I²C, SPI com dois seletores de chip, +3.3 V,
+5 V, terra
40
Power ratings: 500 mA (2.5 W) 700 mA (3.5 W)
Fonte de energia: 5 volt via MicroUSB ou header GPIO
Tamanho: 85.60 mm × 53.98 mm
Sistemas operacionais
planejados:Debian GNU/Linux, Fedora, Arch Linux, RISC OS
Quadro 4: Modelos de Raspberry Pi
Fonte: raspberrypi.org
3.2.2 Software
O Raspberry Pi é compatível com sistemas operacionais baseados em Linux.
O Raspbian é a distribuição linux oficial do Raspberry Pi e as distribuições Arch
Linux e Debian são oficialmente suportadas e disponíveis para download. O sistema
operacional normalmente é armazenado no cartão SD.
Qualquer linguagem que possa ser compilada na arquitetura ARMv6 pode ser
usada para o desenvolvimento de software. O projeto tem como objetivo
usar Python como linguagem de referência com suporte à BBC_BASIC.
41
4 MODELAGEM E IMPLEMENTAÇÃO
O projeto desenvolvido foi a montagem de uma placa para controlar um braço
robótico. O mesmo necessita da ação do usuário ou de um software para dar o
comando de funcionamento da placa, a qual faz a conversão dos sinais enviados do
computador, acionando o motor que assume o sentido horário, o anti-horário e o
nulo (desligado), motor esse que faz com que o braço robótico assuma o estado de
movimento. Neste capítulo será descrito todo o processo de montagem da placa,
bem como a demonstração do circuito criado, com as etapas de montagem, firmware
utilizado no micro controlador e o protocolo de comunicação entre o computador e a
placa.
4.1 DESCRIÇÃO DO PROJETO
Inicialmente foi desenvolvida uma análise dos componentes necessários para
o funcionamento do braço, o qual é composto por cinco motores que dão movimento
ao mesmo. Através dessa análise, concluiu-se a viabilidade do projeto.
Na figura 15, pode-se visualizar a imagem de um braço robótico similar ao
utilizado no projeto, o qual se move em todas as direções através dos cinco motores
que o compõem. Analisando o braço robótico foi possível constatar quais
componentes eletrônicos eram necessários para controlá-lo, a exemplo do micro
controlador, dos resistores, diodos e transistores.
42
Figura 16: Braço robótico similar ao utilizado.
Fonte: blogdebrinquedo.com.br
4.2 CONSTRUÇÃO DO CIRCUITO
A montagem do circuito se deu através da analise dos movimentos do braço
robótico descrito no capitulo 4.1. A construção da placa foi efetuada em etapas
utilizando protoboards separadas para cada parte do circuito.
A primeira etapa projetada do circuito foi à ligação entre o computador e a
placa, foi utilizado um cabo serial com conector DB9, porém não é possível conectar
a porta serial do computador diretamente ao micro controlador, a tensão fornecida
pela porta serial é maior que a suportada pelo micro controlador, ocasionando a
queima do componente.
Então, o primeiro teste feito foi conectar a porta serial ao MAX 232,
componente utilizado para converter os níveis de sinais da porta serial para níveis
adequados ao micro controlador. Para fazer este teste, foi feito um “looping” no
controlador, ligando um pino ao outro do próprio MAX 232.
43
Figura 17: Ligação entre porta serial e MAX 232.
Fonte: Pesquisa
Figura 18: Montagem na protoboard do circuito.
Fonte: Pesquisa
Na figura 17, pode ser observado a ligação entre estes dois componentes, o
conector serial através dos pinos 2 e 3, conectam-se aos pinos 14 e 13 do MAX 232,
os pinos 11 e 12 ligados entre si formam o “looping”. Este looping serve como um
eco para fazer o teste de comunicação. Pode ser observado, que no componente,
estão ligados quatro capacitores, eles tem a função de “charge pump”, ou seja,
convertem os sinais de 12V da porta serial do computador para os 3V/5V do micro
controlador.
44
Através do Hyperterminal do Windows ou pelo GTKTERM do Linux, é
possível conectar-se a porta serial utilizada, com a conexão efetuada quando são
enviados caracteres pelo teclado do computador, devido ao loop efetuado pelo MAX
232, é retornado o caractere digitado.
Com esse inicio de comunicação realizada, a próxima etapa foi a ligação do
micro controlador ATMEGA 1284p ao MAX 232. Na figura 19 pode ser visualizado a
forma de ligação deste esquema.
Figura 19: Ligação do conector até o micro processador.
Fonte: Pesquisa
Figura 20: Montagem do circuito com o micro controlador.
Fonte: Pesquisa
45
O micro controlador foi conectado ao MAX 232 nos pinos que estavam ligados
entre si anteriormente. O pino 11 do MAX 232 foi conectado ao TXD0 do micro
controlador e o pino 12 do MAX 232 ligado ao RXD0, ou seja, o primeiro transmite
os sinais e o segundo recebe. Além destes dois, para poder testar o micro
controlador, deve ser conectado ao pino 40, uma voltagem de 5V, e ao pino 20 deve
ser ligado o sinal negativo, ou terra.
Como a comunicação entre o computador e o MAX 232 já estava
funcionando, para poder testar a comunicação com o micro controlador foi utilizado
um código que ao receber um determinado caractere, retornava outro caractere.
Quando era enviado o caractere “a”, retornava “A”, em seguida se fosse enviado o
caractere “A”, retornava “b”, e assim sucessivamente.
Com esta parte funcionando, foi feito um avanço para a parte que controla os
motores do braço robótico. Um estudo entre o funcionamento do motor, o sentido e a
tensão necessária para o funcionamento, resultou que o micro controlador não teria
a “força” suficiente para o controle dos motores, seriam necessárias Pontes H, que
são circuitos eletrônicos que permitem o controle de um motor DC junto ao micro
controlador.
Com a ponte H ligada ao micro controlador, a corrente para girar o motor é
suficiente, ainda, podendo controlar o sentido horário ou anti-horário em que o motor
opera.
46
Figura 21: Ponte H utilizada para controle dos motores.
Fonte: Pesquisa
A ponte h é formada por dois transistores BC327 (pnp), quatro transistores
BC337 (npn), seis resistores 1k2 e seis diodos 1N4007 (no desenho, representado
por 1N4004, pois o tamanho é o mesmo e o 1N4007 não esta disponível no
programa utilizado). Os transistores ligados na ponte h permitem o controle do
sentido dos motores, cada motor deve ser ligado a uma ponte h. Na figura xxxx pode
ser visualizado que cada lado, possui duas conexões, a conexão do sinal (S1 e S2)
e a conexão do estado (E1 e E2).
A ligação da ponte H ao micro controlador é feita por quatro pinos.
Necessitando ser ativado em conjunto o sinal e o estado para o funcionamento do
motor. Os dois lados da ponte H não podem ser ativados ao mesmo tempo, pois
geraria um curto circuito no esquema, podendo danificar ou até queimar o circuito.
47
Figura 22: Ligação da Ponte H com o micro controlador.
Fonte: Pesquisa
Figura 23: Circuito com a Ponte H ligada ao micro controlador.
Fonte: Pesquisa
48
Como são necessários quatro pinos ligados no micro controlador por ponte H
e são cinco motores no braço robótico, serão necessários 20 pinos do micro
controlador.
Basicamente, esta foi a solução para o funcionamento da placa. Como esta
comunicação já estava pronta, podendo controlar apenas um motor, foi feito uma
replica da ponte H, assim podendo controlar os cinco motores do braço robótico.
Figura 24: Circuito completo.
Fonte: Pesquisa
Na figura 24, pode ser observado o circuito completo da placa, desde a
conexão serial para ser conectada ao computador, até o conector dos motores. O
micro controlador dispõe de até 32 pinos para controle de dispositivos, foram
utilizados 20, como pode ser visualizado na figura. Como os controladoresde cada
motor são separados, os cinco motores podem estar em pleno funcionamento ao
mesmo tempo.
4.3 PROTOCOLO DE COMUNICAÇÃO
Como já descrito no capitulo 4.2, a comunicação com a placa é feita via porta
serial e sendo utilizado o Hyperterminal do Windows ou o GTKTERM do Linux.
49
Os comandos de acionamento da placa são simples, podendo ser acionado
qualquer motor em qualquer momento, pressionando apenas uma única tecla, pode
ser ativado o motor, pressionando outra tecla, pode ser invertido o sentido do
funcionamento do motor.
Para um melhor entendimento, cada pino do micro controlador possui um
número que é a sua identificação. Para ativar aquele pino é necessário enviar um bit
para o micro controlador, sendo assim, enviando o bit “0”, o pino do micro
controlador é desativado, ao enviar o bit “1”, é ativado e permite o funcionamento do
dispositivo.
Para isso, foi necessário planejar uma forma de enviar os pacotes para o
micro controlador. Lembrando que cada ponte H é conectada ao micro controlador
por quatro pinos e dois destes quatro necessitam estar habilitados para o
funcionamento do motor.
A forma de envio dos pacotes foi definida da seguinte forma: {0,0} e [1,0].
Onde, a primeira forma, {0,0}, utilizando de chaves, serve para ativar os chamados
“sinais” da ponte H e a segunda, [1,0], utilizando de colchetes, serve para ativar a
função de “ENABLE” da ponte H.
Então, para fazer o funcionamento de um motor, depende de qual porta ele
esta conectado no circuito, tendo base que o motor estivesse ligado na primeira
ponte H, observando a figura 24, deve ser enviado os seguintes comandos para o
micro controlador: {7,1} e [6,1]. O primeiro, se refere ao pino 7 do “PORT A” do micro
controlador, seguido pela “,”, o bit “1”, habilita o circuito. Já o segundo pacote “[6,1]”,
utilizando os colchetes, envia para o pino 6 do micro controlador, também o bit “1”,
habilitando o “ENABLE” da ponte H, com estes dois comandos enviados para o
micro controlador, a primeira ponte H, envia a corrente para o motor que deve estar
conectado nos dois primeiros conectores para ligar os cinco motores.
50
Para desativar o funcionamento do motor, deve ser enviado outro pacote para
o micro controlador: {7,0} e [6,0], agora, com o bit “0”, ele desabilita o funcionamento
do lado esquerdo da ponte H.
Para ativar o sentido contrario do mesmo motor, envia-se um comando
idêntico, alterando somente os pinos do micro controlador. Para ativar o outro
sentido, são enviados os pacotes {4,1} e [5,1]. Para desativar o funcionamento,
novamente deve ser enviado {4,0} e [5,0].
Para ativar o funcionamento das outras pontes H, o comando também se
repete, apenas alterando o numero do pino do micro controlador. Para deixar mais
de uma ponte H funcionando ao mesmo tempo, somente deve ser enviado o
comando para o micro controlador, a única restrição é que não se pode ativar os
dois lados da ponte H ao mesmo tempo.
Ponte H Pino Motor Chave Pino Micro
controlador
1 1 S1 PORT B 7
1 1 E1 PORT B 6
1 2 E2 PORT B 5
1 2 S2 PORT B 4
2 3 S1 PORT B 3
2 3 E1 PORT B 2
2 4 E2 PORT B 1
2 4 S2 PORT B 0
3 5 S1 PORT C 4
3 5 E1 PORT C 5
3 6 E2 PORT C 6
3 6 S2 PORT C 7
4 7 S1 PORT A 7
4 7 E1 PORT A 6
4 8 E2 PORT A 5
4 8 S2 PORT A 4
5 9 S1 PORT A 3
51
5 9 E1 PORT A 2
5 10 E2 PORT A 1
5 10 S2 PORT A 0
Quadro 5: Relação entre a ponte H e os pinos do micro controlador.
Fonte: Pesquisa
4.4 PROGRAMAÇÃO DO MICRO CONTROLADOR
A programação do micro controlador foi feita em C, utilizando o programa
AVR Studio 4. Este programa é gratuito, e tem o logotipo da ATMEL, um dos
fabricantes de micro controladores. Para transferir o código para o micro controlador
foi utilizado outro programa bem como um gravador especifico para tal função.
Figura 25: Gravador similar ao utilizado.
Fonte: Fabricante Elnec
O programa utilizado para gravar o código no micro controlador, é fornecido
pelo próprio fabricante do gravador e pode ser baixado do site do fabricante, o nome
do programa é Elnec Pg4uw. Para poder gravar o código, é necessário identificar
qual micro controlador será utilizado e selecionar o código compilado, quando
compilado gera um arquivo com a extensão “.hex”, este é o arquivo transferido para
o micro controlador.
52
Para poder começar o programa, foi necessário estudar sobre de que forma o
programa deveria comunicar com o computador, como que seria feita a
programação da porta serial, para poder gravar o firmware no micro controlador.
Após vários estudos, visualização de códigos existentes em livros, pode-se
chegar à forma que seria utilizada. Possivelmente a parte mais difícil da montagem
da placa.
Depois de implementar a inicialização da porta, o próximo passo foi a
interação com o usuário. De forma que, quando iniciado o programa, ele fica
aguardando comandos do computador para poder realizar os movimentos que são
enviados pelo computador.
A primeira forma de interação foi com o usuário utilizando os protocolos de
comunicação descritos no capitulo 4.3. O usuário tinha que digitar da forma que
selecionava o pino do micro controlador e se devia ser ativado ou desativado,
tornava o sistema lento, pois para poder ativar o motor, o usuário tinha que digitar 10
caracteres, na sequencia correta, por exemplo, {7,1}[6,1], com este comando, o
motor ligado a primeira ponte H do circuito, começa a funcionar, para um outro motor
entrar em funcionamento, podia enviar outro comando com outros pinos do micro
controlador, mas para entrar em ação o outro lado da ponte H, a primeira deveria
estar desabilitada.
Para facilitar, foi implementado na programação, que cada caractere do
teclado assumiria uma função. Assim não necessitando mais ter que digitar todos os
caracteres. Um exemplo disso é que para fazer funcionar a primeira ponte H, devia
ser digitado somente o caractere “Q”, quando reconhecido pelo sistema,
automaticamente atribui ao pino 7 e 6 do micro controlador o sinal “1”.
Tecla Comando
Q PORT A {7,1}[6,1]
A PORT A {7,0}[6,0][5,0]{4,0}
Z PORT A {4,1}[5,1]
W PORT A {3,1}[2,1]
53
S PORT A {3,0}[2,0][1,0]{0,0}
X PORT A {0,1}[1,1]
E PORT B {7,1}[6,1]
D PORT B {7,0}[6,0][5,0]{4,0}
C PORT B {4,1}[5,1]
R PORT B {3,1}[2,1]
F PORT B {3,0}[2,0][1,0]{0,0}
V PORT B {0,1}[1,1]
T PORT C {7,1}[6,1]
G PORT C {7,0}[6,0][5,0]{4,0}
B PORT C {4,1}[5,1]
P Para todos movimentos
Quadro 6: Comandos que acionam a placa.
Fonte: Pesquisa
As teclas podem ser alteradas, foram selecionadas desta forma para poder
facilitar o funcionamento do sistema, seguindo uma sequencia do teclado.
Figura 26: Detalhe do micro controlador sendo gravado.
Fonte: Pesquisa
5 RESULTADOS
54
Neste capitulo serão mostrados os resultados obtidos a partir do estudo
realizado. Para poder analisar os resultados, os motores do braço robótico foram
ligados na placa desenvolvida para testar os movimentos do braço.
Figura 27: Motores identificados do braço robótico.
Fonte: blogdebrinquedo.com.br
A placa não exige que os motores do braço robótico sejam ligados em
sequencia, conforme a figura 27, a sequencia criada com os motores foi apenas por
começar em uma extremidade e terminar na outra.
Os testes foram feitos da seguinte forma, o motor 1 foi ligado a ponte H 1, o
motor 2 foi ligado a ponte H 2 e assim sucessivamente, tendo os cinco motores
conectados a placa, resultando nas seguintes situações.
Quandopressionado a tecla “Q”, o motor 1 do braço robótico moveu-se no
sentido anti-horário. Pressionando a tecla “A”, o braço parou de mover, ao
pressionar a tecla “Z” o braço girou no sentido horário.
Para mover o braço para cima e para baixo, a partir do motor 2 utiliza-se as
teclas “W” e “X”, e para parar de mover nestes sentidos, pressiona-se a tecla “S”. Já
para movimentar o motor 3 (cotovelo do braço que se movimenta para cima e para
55
baixo), as teclas utilizadas são “E” e “C”, para parar o motor 3, a tecla pressionada
deve ser o “D”.
O motor 4 que pode ser identificado como o punho da mão, tem seu
movimento para cima e para baixo, com as teclas “R” e “V”. Para parar de
movimentar o motor 4, a tecla utilizada deve ser o “F”. Para o ultimo motor (motor 5),
que faz os movimentos de uma garra, para a abrir e fechar, as teclas são “T” e “B”,
para parar o movimento da garra, a tecla que possui esta função é a “G”.
O braço robótico pode movimentar mais de um motor ao mesmo tempo, por
exemplo, quando pressionado a tecla “Q” e a tecla “R”, o braço gira no sentido anti-
horário e o “punho” do braço movimenta-se para cima. Para parar os dois
movimentos pressiona-se a tecla “P”, que faz com que todos os motores parem de
funcionar.
Como o braço robótico possui de caixa de redução em cada um dos motores,
os movimentos do braço não são rápidos, mas os torna muito precisos, facilitando o
controle do mesmo.
56
CONCLUSÃO
Em um primeiro momento, o trabalho serviu para teorizar e formalizar o
estudo sobre os CLPs, tendo um entendimento maior do seu funcionamento como
um todo. A contribuição foi significativa para o levantamento das características e
funcionalidades do dispositivo CLP.
O entendimento de trabalhos como o Arduino e o RaspBerry Pi, tornaram a
construção da placa possível, embora o conceito de CLP seja muito grande, é
destinado a automação de industrias e grandes projetos. O projeto desenvolvido foi
baseado no Arduino e no RaspBerry Pi, tendo como base a arquitetura, capacidade
de controle e funcionamento.
Com a placa concluída, pode ser visto que a sua aplicabilidade é muito
grande, uma vez que da forma em que foi desenvolvida, pode controlar muitos
sistemas. No ramo da automação residencial, a placa pode controlar a abertura de
cortinas, portas, ligar ou apagar luzes, apenas são necessários algumas adaptações
ao circuito.
O projeto foi uma complementação dos anos de estudos na faculdade, muitas
disciplinas puderam ser empregadas para a construção da placa, entendimento dos
protocolos e formas de funcionamento.
Com o desenvolvimento do projeto, foi aparecendo diversas dificuldades,
entre elas, estava o pouco conhecimento em dispositivos eletrônicos, componentes
eletrônicos e etc.
57
Com a placa toda desenhada no programa, e feita a transferência para a
placa virgem, as dificuldades foram aumentando, porque os componentes utilizados
na construção foram solicitados ao laboratório de engenharia, onde muitos já haviam
sido utilizados, e alguns até já estavam queimados e guardados novamente.
Este trabalho foi realizado para dar continuidade ao trabalho realizado pelo
aluno André Luiz Bester com o titulo Processamento de Imagens para Jogos de
Tabuleiro. Onde a intenção é que um terceiro aluno, faça um planejamento para
utilizar os dois trabalhos como base e poder uni-los na construção de um sistema
para jogar “Damas” contra um humano.
58
REFERÊNCIAS BIBLIOGRÁFICAS
CAPELLI, Alexandre. Automação industrial: controle do movimento e processos
contínuos. 2. ed. São Paulo: Érica, 2008.
CLP Controladores Lógicos Programáveis na Prática. Rio de Janeiro: Antenna
Edições Técnicas, 2007.
PEREIRA, Felipe. O Funcionamento da memoria do CLP. Revista Mecatrônica
Atual. Dez. 2009. Disponível em: <http://www.mecatronicaatual.com.br>. Acesso
em: 07 dez. 2012.
CARVALHO, Paulo Cesar de. Redundância de CLPs. Revista Mecatrônica Atual.
Fev. 2009, n. 15. Disponível em: <http://www.mecatronicaatual.com.br>. Acesso em:
07 dez. 2012.
CYBIS, Walter; BETIOL, Adriana Holtz; FAUST, Richard. Ergonomia e usabilidade:
conhecimentos, métodos e aplicações. 2. ed. São Paulo: Novatec, 2010.
FRANCHI, Claiton Moro; CAMARGO, Valter Luís Arlindo de. Controladores
Lógicos Programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2009.
Disponível em: <http://www.plcopen.org>. Acesso em: 05 dez. 2012.
FREITAS, Elton Siqueira de. Treinamento Em CLP. Universidade Federal do
Espírito Santo – Centro Tecnológico Departamento de Engenharia Elétrica – Projeto
de Graduação, Vitória/ES, 2006.
KRUG, Steve. Não me faça pensar: uma abordagem ao bom senso a usabilidade
na Web. 2. ed. Rio de Janeiro: Alta Books, 2008.
MEDEIROS JÚNIOR, Jair; MAFRA, Marcos Augusto. Curso de Controladores
Lógicos Programáveis. Programa Prodenge/Sub-Programa Reenge. Universidade
do Estado do Rio de Janeiro – UERJ, s/d.
MORAES, Cícero Couto de; CASTRUCCI, Plínio de L. Engenharia de automação
industrial. 2. ed. Rio de Janeiro: LTC, 2007.
59
OLIVEIRA NETTO, Alvim Antônio de. IHC e a engenharia pedagógica.
Florianópolis: Visual Books, 2010.
PEREIRA, Felipe. CLPs e Programação Hardware. Revista Mecatrônica Atual. Jul.
2009a, n. 41. Disponível em: <http://www.mecatronicaatual.com.br>. Acesso em: 16
nov. 2012.
Como programar o CLP CJ1, da OMRON. Revista Mecatrônica Atual. Dez. 2009c,
n. 43. Disponível em: <http://www.mecatronicaatual.com.br>. Acesso em: 16 out.
2012.
PRUDENTE, Francesco. Automação Industrial – PLC: programação e instalação.
Rio de Janeiro: LTC, 2010.
Automação Industrial – PLC: teoria e aplicações – curso básico. Rio de Janeiro:
LTC, 2007.
QUINTAS, Antonio Rocha; GONÇALVES, Gil Manuel. Automação industrial:
introdução ao ambiente de desenvolvimento do TSX-3721/22. 2002. Disponível em:
<http://paginas.fe.up.pt/aiwww_apel/files/anexoB-parte1.pdf>. Acesso em: 22 nov.
2012.
RIBEIRO, Marco Antônio. Automação industrial. 4. ed. Salvador: © Tek
Treinamento & Consultoria, 2001.
Automação. 5. ed. Salvador: © Tek Treinamento & Consultoria, 2005.
UDO, Marcelo; Siemens Training – training for automation and drives: CNC
Básico e CLP. Siemens Sitrain, 2006.
WEG. Treinamento - Módulo 3: automação de processos industriais. Ref. r_ CTC-
240_ P1. 2007. Disponível em: <http://www.scribd.com/doc/15260587/Modulo-3-
Automacao-de-Processos-Industriais>. Acesso em: 2 nov. 2012.
Braga, C Newton; Eletrônica Básica para Mecatrônica. 1. Ed., Editora Saber,
2005.
Taub, Herbert; Digital circuits and microprocessors. Tradução de Ivan Jose de
Albuquerque e Fernando Fontes Barbosa; Circuitos digitais e
microprocessadores, 1984.
Boylestad, Robert, Nashelsky, Louis; Eletronic devices and circuit theory.
Tradução de Rafael Monteiro Simon; Dispositivos eletronicos e teoria de
circuitos, 2010.
60
Arduino - Notas de lançamento (em inglês). <http://www.arduino.cc/> Projeto
Arduino. Acesso em 29 set. 2012.
Arduino: Robótica para iniciantes (em português). Olhar Digital (21 de
março de2010). Acesso em 29 de set. 2012.
Arduino: Exemplos. Disponível em <http://arduino.cc/en/Tutorial/HomePage>.
Acesso em 12 de out. 2012.
Projetos com Arduino. Disponível em <http://tudodearduino.blogspot.com.br/> .
Acesso em 15 de nov. 2012.
Basconcello, Daniel O. Curso de Arduino. Disponível em
<http://www.robotizando.com.br/curso_arduino_o_que_e_arduino_pg1.php> .
Acesso em 08 de dez. 2012.
Prado, Sergio. Raspberry Pie a GPU. Disponível em
<http://sergioprado.org/raspberry-pi-e-a-gpu/>. Acesso em 16 de nov. 2012.
Site oficial Raspberry Pi. Disponível em <http://www.raspberrypi.org/> Acesso em 02
de Dez. 2012.
Raspberry Pi Model B Revision 2.0. Disponível em
<http://www.element14.com/community/docs/DOC-50776>. Acesso em 09 de dez.
2012.
Bitsbox. Disponivel em <http://www.bitsbox.co.uk>. Acesso em 06 de fev. 2013.
Arduino By My Self. Disponivel em <http://arduinobymyself.blogspot.com.br>.
Acesso em 06 de fev. 2013.
61