Vous êtes sur la page 1sur 175

UNIVERSIDADE PAULISTA - UNIP

Engenharia de Controle e Automao Industrial

Cesar Umberto Modesti


David Luna Santos
Joo Claudio dos Santos
Thiago Henrique Marques Silva

SISTEMA COM PENDULO INVERTIDO UTILIZANDO LGICA


FUZZY

SO PAULO
2013

UNIVERSIDADE PAULISTA - UNIP


Instituto de Cincias Exatas e Tecnologia (ICET)
Engenharia de Controle e Automao Industrial

Cesar Umberto Modesti


David Luna Santos
Joo Claudio dos Santos
Thiago Henrique Marques Silva

SISTEMA COM PENDULO INVERTIDO UTILIZANDO LGICA


FUZZY

Trabalho de Concluso de Curso


apresentado ao Instituto de Cincias
Exatas e Tecnologia da Universidade
Paulista UNIP, como requisito parcial
para a obteno do ttulo de Engenheiro
de Controle e Automao Industrial.

Orientador:
Prof. MSc. Hugo Magalhes Martins
Co-orientador:
Prof. MSc. Rafael Bachega

SO PAULO
2013

Sistema com pendulo invertido utilizando lgica Fuzzy / Cesar Humberto


Modesti ... [et al.]. 2013.
175 f. : il. color.
Trabalho de Concluso de Curso (graduao) Universidade Paulista,
Instituto de Cincias e Tecnologia, 2013.
Orientao: Prof. Hugo Martins Magalhes
Co-Orientao: Prof. Rafael Bachega
1. MICROCONTROLADOR. 2. SISTEMAS DE CONTROLE. 3.
SISTEMAS NO LINEARES. I. Modesti, Cesar Humberto. II.
Magalhes, Hugo Martins, orient. II. Bachega, Rafael, co-orient.

CESAR UMBERTO MODESTI


DAVID LUNA SANTOS
JOO CLAUDIO DOS SANTOS
THIAGO HENRIQUE MARQUES SILVA

SISTEMA COM PENDULO INVERTIDO UTILIZANDO LGICA


FUZZY

Trabalho de Concluso
apresentado ao Instituto
Exatas e Tecnologia da
Paulista UNIP, para a
ttulo de Engenheiro de
Automao Industrial.

de Curso
de Cincias
Universidade
obteno do
Controle e

BANCA EXAMINADORA
Aprovado em:
______/______/______
______________________________________________________
Prof. Diogo Ferreira L. Filho
Universidade Paulista - UNIP
______________________________________________________
Prof. Marcos Rosa
Universidade Paulista - UNIP
______________________________________________________
Prof. Hugo M. Martins
Universidade Paulista - UNIP

DEDICATRIA

Aos nossos pais, os primeiros e maiores amores de nossas vidas a quem


dedicamos todas as nossas vitrias.
As nossas esposas, namoradas e filhos, a quem negamos o precioso tempo
na dedicao de esforos para este trabalho.
Aos nossos amigos, pessoas especiais que nos motivam diariamente.

AGRADECIMENTOS

Agradecemos primeiramente a Deus por nos proporcionar o dom da vida e


nos permitir adquirir conhecimento em todos estes dias.
A nossas famlias, pelo amor e apoio, estando ao nosso lado mesmo diante
de todas as dificuldades.
Ao nosso orientador, Prof. MSc. Hugo Magalhes Martins, pela competncia
com que conduziu este trabalho e por nos auxiliar em nossas dificuldades, dividindo
sua sabedoria e nos instigando a desenvolver novas ideias.
Ao nosso co-orientador, Prof. MSc. Rafael Bachega, por nos mostrar a
importncia dos detalhes e a anlise crtica dos conceitos de projeto, propondo uma
melhoria contnua nos estudos.

A natureza do homem comum ir em


frente e fazer o melhor que puder.
(John Prine).

RESUMO

O presente trabalho trata do estudo, construo e controle de um sistema de


pendulo invertido utilizando lgica fuzzy embarcada em um microcontrolador de
baixo custo. Para esta finalidade foi realizada uma extensa pesquisa sobre o tema
onde foram demonstrados conceitos bsicos do sistema de pendulo invertido e
discutidos alguns modelos de controle, em especial a lgica fuzzy, seu
funcionamento e aplicabilidade.
Foi construdo um prottipo simples para testes iniciais da lgica fuzzy e
comportamento de mecanismos, posteriormente foi projetada e construda uma
planta maior e mais robusta para os testes de controle. Para realizar o
processamento foi utilizado um microcontrolador ATmega 2560 embarcado em um
hardware de linguagem aberta, chamado ARDUINO. A programao foi escrita em
uma verso da linguagem C prpria para este tipo de microcontrolador.
A implementao do sistema de controle ao prottipo possibilitou analisar o
desempenho do controlador na planta e ajusta-lo de forma a obter a melhor
resposta. Simulaes computacionais foram utilizadas de forma a auxiliar a
construo das funes de pertinncia da lgica fuzzy e realizar comparaes
quando se modificavam as quantidades de regras e pertinncias. Uma segunda
placa de ARDUINO foi utilizada para realizar aquisio de dados em tempo real da
planta em conjunto com o Matlab. Os resultados obtidos foram satisfatrios
mostrando que possvel o controle de um problema complexo como o caso do
pendulo invertido, com lgica fuzzy embarcada em microcontrolador mesmo com as
limitaes de velocidade e armazenamento de informaes do mesmo.

Palavras-chave: Pendulo invertido, lgica fuzzy, microcontrolador, sistemas de


controle, sistemas no-lineares.

ABSTRACT

The present work deals with the study, construction and control of an inverted
pendulum system using fuzzy logic embedded in a low cost microcontroller. To this
end, we performed extensive research on the topic where they were shown the
basics of inverted pendulum system and discussed some models of control,
especially the fuzzy logic operation and applicability.
We built a simple prototype for initial testing of fuzzy logic and behavior
mechanisms, was later designed and built a larger plant and more robust control
tests. To realize the processing, we used a microcontroller ATmega 2560 embarked
on an open hardware language called ARDUINO. The program was written in C
language version suitable for this type of microcontroller.
The implementation of the control system to the prototype possible to analyze
the performance of the controller in the plant and set it in order to get the best
response. Computer simulations were used in order to assist the construction of the
membership functions of fuzzy logic and comparisons were modified when the
quantity of rules and pertinence. Arduino a second plate was used to perform data
acquisition in real time of the plant in conjunction with Matlab. The results were
satisfactory, showing that it is possible to control a complex problem such as inverted
pendulum, fuzzy logic in microcontroller embedded with the same speed limits and
information storage thereof.

Keywords: Inverted pendulum, fuzzy logic, microcontroller, control systems,


nonlinear systems.

LISTA DE FIGURAS

Figura 1 - Pendulo clssico ....................................................................................... 24


Figura 2 - Corte transversal do Single Pendulum e Triple Pendulum ........................ 27
Figura 3 - Friction Pendulum no Trans-European Motorway Viaduct ........................ 28
Figura 4 - Esquema geomtrico de um bpede com seis articulaes ...................... 29
Figura 5 - Pendulo Invertido Mvel JOE .................................................................... 30
Figura 6 - Mecanismo de teste com pendulo invertido .............................................. 31
Figura 7 - Modelo de sustentao simples do corpo humano ................................... 32
Figura 8 - Prottipo do pendulo em T desenvolvido por Iida ................................... 33
Figura 9 - Diagrama de blocos de um sistema de controle ....................................... 34
Figura 10 - Sistema de controle de Malha Aberta ..................................................... 35
Figura 11 - Sistema de controle com de Malha Fechada .......................................... 35
Figura 12 - Esquema do Pendulo Invertido ............................................................... 36
Figura 13 - Prottipo do pendulo invertido OWIPS.................................................... 41
Figura 14 - Diagrama de blocos representado no espao de estados. ..................... 42
Figura 15 - Modelo do sistema pndulo invertido com suspenso veicular. ............. 43
Figura 16 - Comportamento do sistema com suspenso veicular ............................. 44
Figura 17 - Modelo de Rede Neural Artificial ............................................................. 45
Figura 18 - Estrutura com Algoritmos Genticos, Fuzzy e Redes Neurais ................ 46
Figura 19 - Exemplo de Funo de Pertinencia Booleana ........................................ 49
Figura 20 - Exemplo de Funo de Pertinencia fuzzy ............................................... 50
Figura 21 - Diagrama de blocos da operao inicial ................................................. 57
Figura 22 - Fluxograma da lgica de controle ........................................................... 58
Figura 23 - Diagrama de blocos da operao inicial revisado ................................... 59
Figura 24 - Vista em perspectiva do Prottipo Planta Menor montado ..................... 60
Figura 25 - Vista frontal do Prottipo Planta Menor................................................... 61
Figura 26 - Detalhe do carro com o eixo de transmisso da Planta Menor ............... 61
Figura 27 - Detalhe do carro com o suporte para o potencimetro ........................... 62
Figura 28 - Detalhe da correia dentada e mola nas extremidades ............................ 62
Figura 29 - Detalhe do Pendulo Invertido IP01 da Quanser ...................................... 63
Figura 30 - Placa de Teste Pic Board V3.0 ............................................................... 64

Figura 31 - Drive LM298 ............................................................................................ 65


Figura 32 - Placa com circuito do Driver LM298 completo ........................................ 65
Figura 33 - Diagrama de hardware com Pic Board e LM298 .................................... 66
Figura 34 - Parte do equipamento de Anlises Clnicas reaproveitado ..................... 67
Figura 35 - Trilho com carros independentes ............................................................ 68
Figura 36 - Detalhe do trilho montado sobre perfil de alumnio ................................. 68
Figura 37 - Detalhe da base do carro com correia dentada ...................................... 69
Figura 38 - Detalhe do carro montado com coroa e cremalheira .............................. 70
Figura 39 - Detalhe do fim de curso e carro montado ............................................... 70
Figura 40 - Perspectiva da planta maior montada ..................................................... 71
Figura 41 - Detalhe do carro montado com o motor .................................................. 71
Figura 42 - Detalhe da reduo para o potencimetro .............................................. 72
Figura 43 - Detalhe da montagem do acoplamento do potencimetro ...................... 73
Figura 44 - Motor Jhonston Eletric HC785LP-012 ..................................................... 75
Figura 45 - Fonte industrial DC ................................................................................. 76
Figura 46 - Relao entre Corrente mxima e Temperatura do IRF3205 ................. 76
Figura 47 - Diagrama de Hardware da ponte H......................................................... 77
Figura 48 - Diagrama do circuito dobrador de tenso ............................................... 78
Figura 49 - Diagrama de hardware do driver completo ............................................. 79
Figura 50 - Arduino Mega 2560 ................................................................................. 80
Figura 51 - Interface de programao do Arduino ..................................................... 82
Figura 52 - Funo de pertinncia da entrada ngulo da Haste ............................... 86
Figura 53 - Funo de pertinncia da entrada Velocidade Angular........................... 86
Figura 54 - Funo de pertinncia da varivel Tenso do Motor .............................. 87
Figura 55 - Insero da base de regras no sistema Mandami................................... 87
Figura 56 - Surface.................................................................................................... 88
Figura 57 - Rule Viewer ............................................................................................. 89
Figura 58 - Pertinncias para entrada posio 5 regras ............................................ 92
Figura 59 - Pertinncias para sada velocidade 5 regras .......................................... 93
Figura 60 - Pertinncias para entrada posio 9 regras ............................................ 95
Figura 61 - Pertinncias para sada velocidade 9 regras .......................................... 96
Figura 62 - Pertinncias para entrada posio 21 regras .......................................... 98
Figura 63 - Pertinncias para entrada velocidade haste 21 regras ........................... 98

Figura 64 - Pertinncias para sada velocidade motor 21 regras .............................. 99


Figura 65 - Pertinncias para entrada posio 54 regras ........................................ 100
Figura 66 - Pertinncias para entrada velocidade haste 54 regras ......................... 101
Figura 67 - Pertinncias para sada velocidade motor 54 regras ............................ 101
Figura 68 - Pertinncias para entrada posio 15 regras ........................................ 103
Figura 69 - Pertinncias para entrada velocidade haste 15 regras ......................... 103
Figura 70 - Pertinncias para sada velocidade haste 15 regras............................. 104
Figura 71 - Oscilao livre do pendulo com carro livre ............................................ 105
Figura 72 - Oscilao livre do pendulo com carro preso ......................................... 106
Figura 73 Oscilao do pendulo com carro livre sem rudos ................................ 107
Figura 74 - Oscilao do pendulo com carro preso sem rudos .............................. 107
Figura 75 - Estrutura para aquisio de dados em tempo real com Simulink ......... 108
Figura 76 - Teste de aquisio de dados em tempo real com Simulink .................. 109
Figura 77 - Estrutura em Simulink para controlador com 9 regras .......................... 111
Figura 78 - Variao Angular da haste com 9 regras .............................................. 111
Figura 79 - Resposta do controlador com base de 9 regras.................................... 112
Figura 80 - Estrutura em Simulink para controlador com 25 regras ........................ 112
Figura 81 - Variao Angular da haste com 25 regras ............................................ 113
Figura 82 - Resposta do controlador com base de 25 regras.................................. 113
Figura 83 - Estrutura para comparao entre controladores ................................... 114
Figura 84 - Grfico comparativo entre base 9 regras e 25 regras ........................... 114

LISTA DE TABELAS

Tabela 1 - Comparativo entre o Prottipo e equipamento Quanser IP01 .................. 63


Tabela 2 - Comparativo entre a Planta e o equipamento Quanser IP01. .................. 74
Tabela 3 - Caractersticas bsicas do Arduino Mega 2560 ....................................... 81
Tabela 4 - Parmetros das Variveis de Entrada e Sada. ....................................... 85
Tabela 5 - Base de regras do sistema para duas variveis ....................................... 85
Tabela 6 - Controle de 21 regras............................................................................... 99
Tabela 7 - Controle 54 regras.................................................................................. 102
Tabela 8 - Controle 15 regras.................................................................................. 104
Tabela 9 - Parmetros da Planta para simulao ................................................... 110
Tabela 10 - Custos do Projeto ................................................................................. 116

LISTA DE ABREVIATURAS E SIGLAS

C Celsios
A Amper
AC - Corrente alternada
CI - Circuito Integrado
Ctr Centro
D Drain
DC - Corrente continua
DirG - Direita grande
DirM - Direita mdio
DirMP - Direita mdio pequeno
DirMP - Direita mdio pequeno
DirP - Direita pequeno
EsqG - Esquerda grande
EsqM - Esquerda mdio
EsqMG - Esquerda mdio grande
EsqMP - Esquerda mdio pequeno
EsqP - Esquerda pequeno
FET - Transistor de efeito de campo
G Gate
g Gramas

Hz Frequncia
I/O - Imput output
KB - Kilo bytes
Kn - Kilo Newtons
Kohm - Kilo ohm
mA - Mili amper
MHz - Mega Hertz
mm Milmetros
NpN - Negativo positivo negativo
PID - Posicional Integrativo Derivativo
PnP - Positivo negativo positivo
PWM - Modulador de largura de pulso
soQ 1-4 - Componentes utilizados no diagrama
rad Radianos
rad/s - Radianos por segundo
RPM - Rotaes por minuto
S Source
SCI - Sistema de controle inteligente
TCC - Trabalho de concluso de curso
USB - Universal Serial Bus
V Volt
Valta - Velocidade alta
Vbaixa - Velocidade baixa

Vmedia - Velocidade media


Vmtbaixa - Velocidade muito baixa
W - Potencia em Wats

LISTA DE SIMBOLOS

= constante
= amplitude do sinal senoidal aplicado ao amplificador
= amortecimento combinado do motor e do carro
= constante de amortecimento viscoso do carro
= constante de amortecimento viscoso do motor
= constante de amortecimento viscoso do eixo do servo-potencimetro
= centro de gravidade

= primeira derivada de Xp
= segunda derivada de Xp
= primeira derivada de Yp
= segunda derivada Yp
= primeira derivada Xcg
= segunda derivada Xcg
= primeira derivada Ycg
= segunda derivada Ycg

= fora contra eletromotriz no motor


= erro de estado estacionrio
= fora transmitida a correia de transmisso
= acelerao da gravidade
= fora na direo horizontal
= momento de inrcia do pendulo (ml2/3 para uma haste uniforme)
= corrente de armadura do motor
= momento de inrcia do motor
= inrcia combinada do motor e do carro (J = Im + Mr2)
= Amplitude mxima do sinal senoidal amortecido obtido no ensaio do pendulo

= ganho constante do amplificador


= constante de amortecimento viscoso (Kc =

= constante de tenso induzida no motor


= constante de torque do motor
= constante do transdutor de posio utilizado no ensaio (Volts/m)
= metade do comprimento do pendulo
M = massa do carro

! = mximo pico da varivel a ser controlada


" = massa do pendulo

# = ponto de pivotamento do eixo do pendulo


$ = raio efetivo do eixo do motor (Xp = r)
% = resistncia de armadura do motor

& = tempo de amostragem do sistema de controle

& = tempo de acomodao da varivel a ser controlada


'( = torque requerido do motor

' = torque resistente no eixo do motor


' = torque total requerido do motor
) = fora na direo vertical

)* = tenso de entrada do amplificador


)+ = tenso de sada do amplificador

= coordenada no eixo X do centro de gravidade

= coordenada no eixo X do ponto de pivotamento


= coordenada no eixo Y do centro de gravidade
= coordenada no eixo Y do ponto de pivotamento

, = ngulo do eixo do motor

- = ngulo do pendulo com relao linha vertical

SUMRIO

1 INTRODUO ....................................................................................................... 20
2 MOTIVAO E CONTEXTO ................................................................................. 21
2.1 JUSTIFICATIVA .................................................................................................... 21
3 REVISO BIBLIOGRFICA .................................................................................. 23
3.1 O PNDULO CLSSICO ........................................................................................ 23
3.2 O PENDULO INVERTIDO ....................................................................................... 26
3.3 SISTEMAS DE CONTROLE ..................................................................................... 34
3.4 LGICA FUZZY .................................................................................................... 47
3.4.1 Teoria de Conjuntos Fuzzy ........................................................................ 48
3.4.2 Fuzzificao ............................................................................................... 51
3.4.3 Base de Regras ......................................................................................... 51
3.4.4 Inferncia e Tomada de Decises ............................................................. 52
3.4.5 Defuzzificao ........................................................................................... 53
4 PROPOSTA E CONTRIBUIO ........................................................................... 55
4.1 MTODO PROPOSTO ........................................................................................... 55
4.2 DIAGRAMA DE BLOCOS ........................................................................................ 57
5 RESULTADOS PRELIMINARES ........................................................................... 60
5.1 PROTTIPO MECNICO ....................................................................................... 60
5.2 PROTTIPO ELTRICO: PIC BOARD V3.0 .............................................................. 64
5.3 PROJETO MECNICO DA PLANTA .......................................................................... 67
5.4 PROJETO ELTRICO ............................................................................................ 74
5.4.1 Hardware: Arduino Mega 2560 .................................................................. 79
5.4.2 Ambiente de desenvolvimento ................................................................... 81
5.4.3 Linguagem de programao ...................................................................... 83
5.5 LGICA DE CONTROLE ........................................................................................ 84
6 TESTES E RESULTADOS .................................................................................... 90
6.1 TESTES COM O PROTTIPO .................................................................................. 90

6.2 TESTES COM A PLANTA ........................................................................................ 94


6.3 AQUISIO DE DADOS ....................................................................................... 105
6.4 SIMULAO DE DESEMPENHO ............................................................................ 109
6.5 DISCUSSES .................................................................................................... 115
6.6 CUSTO DO PROJETO: PLANILHA DE CUSTOS ....................................................... 116
7 CONCLUSO ...................................................................................................... 117
7.1 SUGESTES PARA TRABALHOS FUTUROS ........................................................... 118
8 REFERNCIAS BIBLIOGRFICAS .................................................................... 120
ANEXO A - DATASHEET POTENCIMETRO DE PRECISO ............................. 123
ANEXO B - DATASHEET DO MOTOR .................................................................. 124
ANEXO C - DATASHEET DO IRF3205 .................................................................. 126
ANEXO D - DATASHEET DO CI555 ..................................................................... 128
ANEXO E - DATASHEET DO PATIN ..................................................................... 131
APENDICE A - PROGRAMAO EM C ................................................................ 133
APENDICE B - DIAGRAMA DO DRIVER DE POTNCIA ..................................... 147
APENDICE C - PLACA DE POTNCIA ................................................................. 148
APENDICE D - DESENHOS DA PLANTA ............................................................. 149

20

1 INTRODUO

Neste trabalho analisamos o pendulo invertido, que um mecanismo


extremamente dinmico e complexo, tornando-se de grande valia para o estudo no
apenas deste em si, mas tambm de problemas com uma dinmica similar. Para
entender este problema de uma maneira simples basta compar-lo a uma antiga
brincadeira de tentar manter em equilbrio um cabo de vassoura ou uma caneta na
ponta dos dedos, o que extremamente instvel, pois a todo o momento
necessrio movimentar a mo para fazer com que o eixo da caneta fique o mais
prximo possvel da posio vertical ou no caia.
Da mesma forma o pendulo invertido, porem ao invs de termos uma
caneta ou um cabo de vassoura temos uma haste ou barra metlica, e em
substituio ao dedo temos um carro que se desloca em apenas uma direo,
porm nos dois sentidos, sempre buscando manter a haste na posio vertical. A
haste fixada em um eixo preso ao carro, este eixo devera ser um sensor de
deslocamento angular, o qual informara o quanto a haste esta deslocada de sua
posio desejada, fazendo com que o motor de acionamento do carro se desloque
proporcionalmente ao desvio angular da haste.
Para controlar este complexo problema optou-se por utilizar um sistema de
controle inteligente, neste caso o controlador nebuloso, mais conhecido como fuzzy.
Conforme demonstrado por Silva (2009), sistemas de controle baseados em
mtodos estocsticos apresentam um bom desempenho no controle de problemas
no lineares, como o caso pendulo invertido.

21

2 MOTIVAO E CONTEXTO

Ao analisarmos a aplicao e o desenvolvimento dos sistemas de controle


surgiram ideias com relao aos tipos de processadores e seus desempenhos, de
acordo com a complexidade da planta, o tempo de resposta exigido e a viabilidade
do controlador.
Desta forma, a aplicao de um sistema de controle inteligente em uma planta
de carter no linear atravs de um microcontrolador tornou-se atraente para o
estudo possibilitando a anlise do desempenho do controlador e a comparao entre
tcnicas de controle, alm da implementao em hardware de baixo custo.
Propondo uma soluo com desempenho satisfatrio no controle da
estabilidade do pendulo invertido, o objetivo do trabalho demonstrar e analisar a
adequao de um sistema de controle inteligente em um hardware de baixo custo
atravs do microcontrolador e validar seu funcionamento aplicando-o em dois
prottipos de propores diferentes.

2.1 Justificativa

O pendulo invertido vem sendo estudado durante dcadas, inmeras


propostas de controle j foram publicadas, muitas delas utilizando controladores
clssicos como o PID e processamento atravs de circuitos comparadores baseados
em amplificadores operacionais conforme demonstrado pelos trabalhos de Abelsson
(1996), Grasser (2002) e Silva (2010).
A utilizao de lgica fuzzy para sistemas no lineares se mostra vantajosa
devido a possibilidade de utilizar variveis lingusticas ao invs de modelagem

22

matemtica, outra vantagem desta proposta se mostra atravs da utilizao de um


microcontrolador de baixo custo, que pode processar as informaes em uma
velocidade satisfatria.

23

3 REVISO BIBLIOGRFICA

Neste captulo, abordaremos o desenvolvimento histrico dos estudos do


pendulo, desde as primeiras teorias sobre a dinmica do pendulo clssico, at a
aplicao de sistemas de controle com desempenho avanado no pendulo invertido.
Atravs deste levantamento ser possvel demonstrar como o pendulo
auxiliou no desenvolvimento de alguns dos principais conceitos fsicos e como o
estudo de seu modelo inverso ainda produz grandes avanos cientficos.

3.1 O Pndulo Clssico

Os primeiros estudos do pendulo datam de 1638, onde Galileu Galilei em seu


livro Two New Sciences descreve o pendulo como um assunto extremamente
rido, dando assim incio a um estudo que se delongaria por sculos. Drake (1990)
aponta que sem os primeiros estudos do pendulo, muitas das leis da fsica que
conhecemos hoje no existiriam ou teriam levado algum tempo a mais para serem
descobertas.
Em 1656, Huygens desenvolveu as primeiras definies da utilizao do
pendulo como meio de obter uma medio acurada de tempo e patenteou o primeiro
relgio de pendulo. Suas pesquisas continuaram e uma das utilizaes de seu
relgio pendular foi a deteco da longitude no mar.
Outra citao da importncia do pendulo foi feita pelo historiador Westfall
(1990), ele descreve a relevncia do pendulo demonstrando a influencia deste em
um dos principais trabalhos de Newton, intitulado Principia. Boulos (2005) escreveu
sobre a importncia que o pendulo representou nos trabalhos de Newton, onde o

24

pendulo foi utilizado para demonstrar que os corpos celestes obedecem a leis fsicas
tanto quanto corpos terrestres.
O pendulo se tornou extremamente notvel tambm atravs do trabalho de
Stokes (1851), onde foi deduzida uma srie de equaes que consideravam os
fatores influentes no perodo do movimento pendular.
Outro avano cientfico baseado na dinmica do pendulo foi realizado por
Lon Foucault (1878), onde utilizando um pendulo longo e pesado demonstrou a
rotao da terra em torno de seu eixo.
Segundo Galilei (1638), o pendulo simples ideal consiste de uma partcula
que oscila em torno de um ponto fixo, suspensa por um fio inextensvel e de massa
desprezvel. Este sistema esta em equilbrio quando o centro de gravidade da
partcula esta alinhada verticalmente com o ponto fixo.

Figura 1 - Pendulo clssico

25

Quando a partcula afastada de sua posio de equilbrio e solta, a ao da


gravidade a far oscilar em um plano vertical, em movimento peridico e oscilatrio
(Figura 1). Atravs deste movimento possvel determinar o perodo do movimento.
Conforme demonstrado na figura 1, temos o comprimento do fio dado por L, a
massa da partcula dada por m, o peso da partcula dado por mg, a trao no fio
dada por T (tempo de um ciclo), o ngulo do fio com a vertical dado por , e a
decomposio da fora atuante dada por mgcos (fora centrpeta) e mgsen (fora
tangencial).
A fora centrpeta faz com que a partcula mantenha sua trajetria circular, j
a fora tangencial atua contrariamente ao aumento do ngulo entre o fio e a vertical,
por isso a fora tangencial tambm tida como fora restauradora.
O movimento do pendulo no harmnico simples devido fora
restauradora no ser proporcional ao deslocamento angular . Porm, caso o
deslocamento angular for muito pequeno a funo sen resultante ser
aproximadamente igual a , isto torna o deslocamento ao longo do arco

aproximadamente retilneo tendo . = 01. Considerando a acelerao da gravidade e


utilizando a segunda lei de Newton temos:

="

(1.1)

Aplicando o deslocamento angular contrrio, temos:


= " 1

(1.2)

Substituindo o deslocamento ao longo do arco em (1.2), resulta em:


" 34 5 = 3" 4 5 .

(1.3)

A fora restauradora ser proporcional ao deslocamento quando este for


pequeno, tendo porem sentido contrario. Dentro desta condio possvel obter o
movimento harmnico simples. possvel ainda fazer uma analogia com a equao
da mola, onde

= 6., tendo 6 representando o termo

. Tendo formulado as

equaes bsicas do pendulo, ainda podemos calcular o tempo de um ciclo,


denominado perodo T. O perodo no depende da massa da partcula conforme
pode ser visto em (1.4).

26

' = 28 9

"
"
= 28 : "
6
3 5
0
' = 28 9

(1.4)

3.2 O Pendulo Invertido

O pendulo invertido um sistema altamente instvel e de carter no linear.


Ao contrrio do pendulo clssico, onde o amortecimento ocorre pela frequncia de
oscilao e ao da gravidade, o pendulo invertido desenvolvido neste prottipo
obtm o amortecimento atravs do controle da variao angular e variao da
velocidade da haste, isto ocorre por meio do deslocamento linear do ponto de
pivotamento da haste.
Assim como o pendulo clssico, o pendulo invertido foi e alvo de estudo de
muitos pesquisadores. Contudo, ao longo dos anos surgiram diversos tipos de
abordagem sobre o pendulo invertido.
Um dos primeiros trabalhos sobre o controle do pendulo foi elaborado por
Roberge (1960) que confeccionou um prottipo do pendulo invertido e adicionou a
este um controlador PID, observou o desempenho do controlador que se mostrou
satisfatrio, mas levantou questes, como por exemplo, a interferncia causada por
fatores fsicos que no podem ser previstos com a variao na resposta do sistema
e como realizado o ajuste das constantes do controlador PID.
Foram desenvolvidas vrias aplicaes prticas utilizando os conceitos dos
pndulos. Dentre elas uma de grande importncia foi desenvolvida por Zayas
(1985), que utilizando a analogia de edifcios submetidos a terremotos e o pendulo
invertido criou um sistema de proteo ssmica em estruturas. Patenteado como

27

Friction Pendulum, este se tornou uma concepo extremamente aplicvel tendo


ainda outros avanos, como por exemplo, o pendulo triplo (Figura 2), que para
certos casos oferece um amortecimento ainda melhor.

Figura 2 - Corte transversal do Single Pendulum e Triple Pendulum


Fonte: Zayas, 2009.

O pendulo de frico consiste de trs partes, sendo elas uma base convexa a
qual fixada no solo ou entre as partes da estrutura, uma base reta com suporte
central a qual fixada na parte mvel (ou que tende a mover-se) da estrutura e uma
semiesfera que colocada entre as bases. Durante um abalo ssmico, a semiesfera
se desloca sobre a base convexa, permitindo que haja um movimento linear por
parte da base reta que sustenta a parte superior do conjunto.
Um exemplo da aplicao deste mecanismo foi a Trans European Motorway
(Figura 3). A rodovia estava sendo construda utilizando-se meios convencionais
quando a regio foi atingida por um terremoto causando danos a partes da estrutura.
Como parte do projeto de reestruturao da ponte foi includa o sistema
Friction Pendulum nas quatro principais estruturas do trecho situado em Bolu,
Turquia.
Aps analises da vulnerabilidade da regio a abalos ssmicos, este sistema foi
tido como o nico capaz de atender todas as especificaes do projeto. Conforme

28

especificaes divulgadas, cada um dos componentes instalados contam com uma


capacidade de 8.886,44 kN, podendo deslocar-se de entre 700mm e 900mm.

Figura 3 - Friction Pendulum no Trans-European Motorway Viaduct


Fonte: Zayas, 2009.

Surgiram tambm muitos trabalhos na rea de robtica, com enfoque na


aplicao dos conceitos do pendulo em sistemas de movimentao autnoma.
Estes sistemas consideram a posio ereta de um ser humano ao caminhar, o
movimento individual das pernas caracteriza o controle de equilbrio do pendulo,
onde h a necessidade de mant-lo na posio vertical de modo semelhante ao
equilbrio do corpo durante a caminhada.
Parseghian (2000) desenvolveu uma modelagem matemtica para simulao
de um bpede iniciando uma caminhada, mantendo-se na caminha e balanando
sem perder o equilbrio (Figura 4).
Para tanto foram levantados parmetros do funcionamento do pendulo
invertido individual e logo aps foram somados novos graus de liberdade.

29

Com isto foi necessrio simular o funcionamento de uma articulao na base


igualmente ao tendo de Aquiles, uma segunda articulao ligando o pendulo um ao
pendulo dois semelhante ao joelho e por ultimo uma articulao ligando o pndulo
dois a um eixo ligado outra perna.
O desenvolvimento exigiu tambm as anlises de equilbrio para dois graus
de liberdade, j que o corpo do prottipo movia-se independente de um ponto fixo.

Figura 4 - Esquema geomtrico de um bpede com seis articulaes


Fonte: Parseghian, 2000.

Grasser et al (2002) desenvolveram um modelo de um pendulo invertido


mvel denominado JOE, com o objetivo de ter um mecanismo que se movimenta
livremente enquanto corrige sua posio vertical (Figura 5).
O mecanismo composto por duas rodas coaxiais, porm, para cada roda h
um motor de corrente contnua e um sistema de controle independente que monitora
os deslocamentos tanto nos eixos de rotao quanto no deslocamento angular do
pendulo com relao ao plano horizontal.

30

Isto possibilita que o mecanismo se movimente livremente ao controlar


constantemente as perturbaes angulares e ao mesmo tempo restringe o
comportamento dos motores para que o conjunto no gire constantemente em torno
de seu prprio eixo ou haste.

Figura 5 - Pendulo Invertido Mvel JOE


Fonte: Grasser, 2002.

Outra aplicao relevante do pendulo invertido foi desenvolvida por Lakie et al


(2003) em uma pesquisa na rea de fisiologia. O objetivo do trabalho era demonstrar
como possvel manter o equilbrio do corpo humano com baixa rigidez do tornozelo
atravs da correo de postura e da sustentao dos ps, porm foi levantada a
questo do efeito mola das panturrilhas.
Para esta demonstrao foi montado um mecanismo de pendulo invertido
acoplado a um brao atravs de um fio com mola (Figura 6). O equilbrio do pendulo

31

no se deu por fora e rigidez, mas sim por movimentos intermitentes contrrios ao
movimento do deslocamento angular com auxlio da mola, isto amorteceu a
oscilao do pendulo de forma a alcanar o equilbrio.
Os resultados dos experimentos com o pendulo invertido foram extremamente
satisfatrios, pois levantaram outras hipteses com relao dinmica dos membros
inferiores ao realizarem os controles musculares de correo de equilbrio.

Figura 6 - Mecanismo de teste com pendulo invertido


Fonte: Lakie, 2006.

Seguindo o objetivo de identificar o comportamento de equilbrio humano


atravs do pendulo invertido, Borg (2003) analisou o desempenho do controle do
equilbrio utilizando um mecanismo com uma mola acoplada haste do pendulo e
sua base (Figura 7), simulando um tendo igual ao de um ser humano.

32

Figura 7 - Modelo de sustentao simples do corpo humano


Fonte: Borg, 2003.

Este modelo tambm chamado de Pendulo Invertido Humano (HIP Human


Inverted Pendulum). O autor destaca a relevncia do pendulo na cincia tanto em
teoria de controle quanto em modelos biomecnicos, que tambm so de grande
instabilidade.
Conforme os sistemas de controle e as pesquisas na rea de robtica
avanam, novas aplicaes dos conceitos do pendulo invertido surgem propondo
solues mais complexas.
Estas

solues

visam

envolver

outras

variveis

que

aproximam

desempenho dos sistemas ao funcionamento real dos mecanismos, podendo utilizar


seus resultados em reas onde se tem ainda grande dependncia do envolvimento
humano.

33

Iida et al (2003) desenvolveram um prottipo de um pendulo invertido em T


utilizando uma estrutura bpede com quatro ps (Figura 8). A proposta do projeto a
utilizao do mecanismo na explorao de terrenos irregulares.

Figura 8 - Prottipo do pendulo em T desenvolvido por Iida


Fonte: Iida, 2003.

Dentro desta proposta esta a movimentao do rob em linha reta, podendo


este tambm inverter o sentido de sua movimentao e controlar seu raio de giro. O
diferencial nesta aplicao a capacidade de saltar que o rob apresenta
juntamente com os dois graus de liberdade no pendulo, com isso possvel, atravs
dos sensores angulares, determinar as inclinaes no solo por onde o rob estiver
caminhando e assim emitir sinais de controle aos atuadores.

34

3.3 Sistemas de Controle

Os sistemas de controle esto presentes no s nas aplicaes da cincia


moderna como tambm nos seres vivos, e nestes ltimos so os responsveis pelas
tomadas de decises que regem a sobrevivncia. Nise (2011) exemplifica os
sistemas de controle que ns, seres humanos possumos, citando o exemplo de
situaes em que, sofrendo presses e havendo necessidade de maior raciocnio e
maior velocidade na execuo de tarefas, nosso corpo libera adrenalina aumentando
os batimentos cardacos e liberando uma maior quantidade de oxignio. Este
apenas um exemplo entre muitos outros que ocorrem sem que percebamos ou que
possamos interferir.
Nise (2011) define que, sistemas de controle so constitudos por processos e
subsistemas que leem uma informao, processam e ajustam de forma a obter uma
sada nas condies desejadas.
Segundo Dorf & Bishop (2009), sistemas de controle so formados por
componentes interligados que operam de forma estruturada para produzir uma
resposta satisfatria a uma entrada (Figura 9).

Figura 9 - Diagrama de blocos de um sistema de controle

Dentro ainda do conceito de sistemas de controle, pode-se diferenciar os


tipos de controle devido sua tratativa com relao resposta fornecida. Esta tratativa
o que define sistemas de controle de malha aberta e sistemas de controle de
malha fechada. Sistemas de controle de malha aberta usam dispositivos para atuar

35

de acordo com sua resposta, porem, no verificam se a resposta satisfatria


(Figura 10).

Figura 10 - Sistema de controle de Malha Aberta

Surge ento necessidade de sistemas de controle com realimentao que


emitem um sinal de controle, comparam a sada real com a sada desejada e
realimentam a entrada com um sinal de erro, deixando de atuar apenas quando
alcanam o resultado desejado (Figura 11).

Figura 11 - Sistema de controle com de Malha Fechada

Conforme o avano nas pesquisas relacionadas s formas de se controlar


sistemas, foram surgindo diversos tipos de sistemas de controle, entre eles podemos
citar as principais divises, tais como o controle clssico e o controle moderno que
sero discutidos adiante.
Dentro do controle clssico esto tcnicas de definio de sistemas atravs
de modelagem matemtica, esta modelagem estabelece as variveis fsicas do

36

sistema que se pretende controlar e equaciona suas variaes a fim de obter


respostas satisfatrias de acordo com a entrada.
O controle clssico largamente utilizado em processos com sistemas
lineares, que produzem uma resposta equivalente entrada. Segundo Ogata (2010),
a obteno da resposta de um sistema com diversas entradas pode se dar atravs
do tratamento de cada entrada individualmente, somando os resultados.
Entre as tcnicas que compem o controle clssico esto o controle
proporcional, o controle integrativo, o controle derivativo, o controle PID
(Proporcional Integrativo Derivativo), o controle por atraso de fase, controle por
avano de fase e o controle por avano e atraso de fase.
A dinmica do pendulo invertido caracteriza um sistema no linear devido a
quantidade de variveis de entrada que no podem ser diretamente correlacionadas
com a sada, porem sistemas no lineares podem passar por um processo de
linearizao. Para a simulao necessrio que se obtenha o maior numero de
informaes a fim de aproximar os resultados ao real comportamento da planta.

Figura 12 - Esquema do Pendulo Invertido


Fonte: Ribeiro, 2007.

A fim de simular o comportamento do sistema necessrio obter uma


modelagem matemtica do mesmo. O modelo matemtico apresentado foi
desenvolvido por Deley (2006), que levou em considerao no calculo, tanto a
posio da haste como a posio do carro, tornando a modelagem mais complexa,

37

abrangendo mais variveis de forma a aproximar ao mximo os resultados obtidos


na simulao com a realidade.

+ < =(1);

=i @ +

B<(1)1@;

= + B<(1) 1D < =(1) 1@ ;

(1.1)

+ B<(1);

@ = @ < =(1) 1@; @ = 0;

D = < =(1) 1D B<(1) @.

(1.2)

Somando as foras na direo do eixo X tem-se a fora horizontal


representada por H, como segue em (1.3) e (1.4).

= "[L +

= " D ;

(1.3)

B<(1)1D < =(1)1@ ],

= " D + " B<(1) 1D " < =(1) 1@.

(1.4)

Somando as foras na direo do eixo Y tem-se a fora vertical representada


por V, como segue em (1.5) e (1.6).

O =

" D

) " = "[ < =(1)1D

(1.5)
B<(1)1@ ],

) = " < =(1)1D " B<(1) 1@ + " . (1.6)

Modelando a soma dos momentos de inrcia temos (1.7) e (1.8).


! = 1D +

) < =(1)

B<(1) = 1D +

(1.7)
1@

(1.8)

38

Combinando as equaes de forma a obter a reduo vem:


1D +

1D +

1@ = ) < =(1)

B<(1);

1@ = Q" < =(1)1D " B<(1)1@ + " R < =(1)

[" D + " B<(1)1D " < =(1) 1@ ] B<(1);

1D +

1@ = " < =(1)1D " < =(1) B<(1)1@


B<(1) " B<(1) 1D +

+ " < =(1) " D


1D +

+" < =(1) B<(1)1@;

1@ = " 1D + " < =(1) " D

( + " )1D +

1@ " < =(1) = " D

B<(1);

B< (1).

(1.9)

Adotando que o pendulo seja feito de haste uniforme, possuindo momento de


inrcia de

ST

e tambm que 1 muito pequeno, temos:


4
" 1D(&) +
3

1@(&) " 1(&) = " D (&);

1D + Z

UXY

ST

@ U 1=
1
ZS

ZS

XD\ . (1.10)

Aplicando a nomenclatura definida a seguir transformada de Laplace


podemos obter a funo de transferncia tpica do sistema do pendulo invertido.
UXY

2]^_ = Z

, ^_ = ZS ,
U

1D (&) + 2]^_ 1@(&) ^_ 1(&) =


`( )

a( )

b c

d efg bfg

= ZS, (1.11)
U

D (&) (1.12)

(1.13)

Para controlar o pendulo invertido na posio vertical utilizado um carro que


se desloca ao longo de um eixo atravs de uma correia dentada, que por sua vez
recebe um torque de um motor de corrente contnua. O motor controlado atravs
de um driver amplificador que recebe um sinal do microcontrolador. As seguintes

39

equaes descrevem a relao entre a corrente com o torque resultante e tambm a


tenso induzida.

+ i % (1.15)

)+ =

)+ (1.14)

)* =

i =

j@ (1.16)

'( (1.17)

Substituindo as equaes de forma a combin-las temos:


)* =

$j@ + $'( m. (1.18)

Para o torque total requerido do motor temos


' =

jD +

j@ + ' .

Considerando o torque resistente no motor vem


' = $ .
Equacionando a fora (F) exercida na correia de transmisso do carro temos,
= ! D +

@ +

= " .

Analisando a estrutura e assumindo que a massa da haste seja menor do que


a massa do carro, podemos dizer que a acelerao do centro de gravidade da haste
aproximadamente a mesma do ponto de pivotamento da haste no carro e, portanto
a fora horizontal desprezvel. Equacionando temos que m<<M implica em
no XD \ e, portanto H<<Mr + Bn X@\ , assim,
' =

= ! D +

jD +

j@ + $t! D +

Substituindo na equao (2.8) temos

@ u

40

)* =

)* =

)* =

k
k

$j@ + $t

$j@ + $t

$jD + 3

jD +

j@ + !$ D +

$jD +
k

$j@ + !$

D +

5 $j@ + !$

$ @ um,

D +

@ um,

@ m.

(1.19)

So conhecidas as relaes a seguir:

@ = $j@;

= $vj;

D = $jD.

Substituindo na equao (1.19) vem


)* =

)* =

Adotando =

l
k

l(

D +3

5 $j@ + !$

+ !$ ) D + 3

+ !$ temos

= 3

)* =

@ m,

$ 5 @ m.

$ 5,

Q D +

D +

@ R.

Resultando em (1.20):

(<) = )* (<)

<(< + )

Aplicando a transformada de Laplace tem-se a funo de transferncia do


conjunto amplificador-motor-carro em (1.21).
ac ( )
yz ( )

( dX)

(1.21)

Pode-se notar a complexidade do desenvolvimento matemtico para o


levantamento das variveis e dos fatores que compem este sistema.

41

Utilizando o controle PID, Lee et al (2012) desenvolveram um prottipo do


pendulo invertido chamado OWIPS, estruturado sobre uma roda, podendo mover-se
livremente por um espao (Figura 13).

Figura 13 - Prottipo do pendulo invertido OWIPS


Fonte: Lee, 2012.

Os controladores modernos contemplam sistemas extremamente dinmicos,


caracterizados por equaes no lineares. Para resolver estes problemas, o controle
moderno conta com tcnicas como o controle multivarivel, o controle adaptativo, o
controle timo, o controle de carter no linear, o controle preditivo, o controle
robusto e o controle inteligente.
Dentro da analise do problema do pendulo invertido, foram propostas diversas
solues, com utilizao do controle moderno. Dentre elas, um trabalho interessante
foi desenvolvido por Zhang et al (2011), o desenvolvimento e modelagem
matemtica foi feito utilizando a anlise por espao de estados, as equaes
resultantes da anlise foram testadas atravs de simulao, demonstrando resposta
satisfatria dinmica do sistema.
Ogata (2010) define estado como o menor conjunto de variveis conhecidas
que determinam o comportamento de um sistema. Nise (2011) aborda a utilizao

42

de tcnicas no espao de estados, justificando sua utilizao em sistemas com


entradas e sadas mltiplas (Figura 14).

Figura 14 - Diagrama de blocos representado no espao de estados.


Fonte: Ogata, 2010

Dentro deste conceito, possvel fazer uma analogia com os resultados


obtidos de varias pesquisas com o objetivo de estabilizar o pendulo, as quais foram
desenvolvidas utilizando equaes no espao de estados.
Outro trabalho interessante utilizando o conceito
conceito de variveis de estado foi
desenvolvido por Belusso (2010), que tratou da dinmica catica de um sistema de
pendulo invertido duplo montado sobre um sistema de suspenso mvel
caracterizado por um sistema massa mola (Figura 15).

43

Figura 15 - Modelo do sistema pndulo invertido com suspenso veicular.


Fonte: Sartori, 2008.

Nele foram levantadas as variveis de estado e agrupadas em equaes,


estas equaes foram inseridas no MATLAB para simulao e obteno de grficos
que permitem a analise do desempenho do sistema s perturbaes inerentes a
planta em estudo.
A resposta s simulaes (Figura 16) demonstra que as equaes e o
sistema proposto para o controle da planta so insuficientes, sendo necessria uma
melhoria na estrutura de controle ou talvez at o desenvolvimento de um sistema de
controle mais inteligente, que se adapte a complexidade desta planta.

44

Figura 16 - Comportamento do sistema com suspenso veicular


Fonte: Sartori, 2008.

Este um entre muitos casos em que se deve avaliar o tipo de controlador a


ser aplicado de acordo com a complexidade do sistema. Nestes casos muitas vezes
necessrio adotar sistemas inteligentes, que na resposta as mltiplas entradas se
adaptam, aprendendo de acordo com os erros registrados. Entre eles pomos citar
controladores fuzzy, redes neurais, algoritmos genticos, controladores adaptativos
entre outros.
Como citado anteriormente, os sistemas de controle fornecem resposta a uma
determinada entrada de acordo com funes pr-estabelecidas. Estes sistemas, no
entanto, dependem do desenvolvimento de modelos matemticos tanto para o
controlador quanto para a planta.
Os sistemas de controle inteligente tm como objetivo fornecer respostas s
perturbaes de uma planta ou processo sem a necessidade de que haja a
modelagem matemtica do mesmo. Para atender seus objetivos de controle, os

45

sistemas inteligentes recorrem a tcnicas similares ao funcionamento do raciocnio


humano, que age de forma qualitativa e no apenas quantitativa. Entre estas
tcnicas podemos citar a tomada de decises mesmo com base em informaes
vagas ou confusas, a extrao de informaes de uma determinada planta ou
processo e o aprendizado automtico.
Simes e Shaw (2007) descrevem o controle inteligente como um sistema
capaz de responder a determinadas entradas de forma a solucionar os erros mesmo
que estes sejam diferentes dos previstos, agindo de forma nica e dinmica.
Existem

diversos

tipos

de

sistemas

de

controle

inteligentes

em

desenvolvimento, entre eles podemos citar as redes neurais, lgica fuzzy, e


algoritmos genticos. interessante tambm notar o desenvolvimento de sistemas
que se utilizam da integrao de duas ou mais tcnicas de controle, por exemplo, as
redes neurofuzzy.

Figura 17 - Modelo de Rede Neural Artificial


Fonte: Cavalcanti (1998)

Utilizando os conceitos de Sistema de Controle Inteligente (SCI), Cavalcanti


(1998) um controlador para o pendulo invertido utilizando as tcnicas de Algoritmos
Genticos, Lgica Nebulosa e Redes Neurais Artificiais. Um dos objetivos do projeto
foi desenvolver um controlador capaz de processar as informaes recebidas
reduzindo as incertezas provenientes das respostas atravs da anlise da prpria
resposta, agindo de forma a corrigi-la.

46

O desempenho do controlador foi testado atravs de simulaes e as


concluses obtidas por anlise das curvas levantadas sem a confeco de um
prottipo fsico.

Figura 18 - Estrutura com Algoritmos Genticos, Fuzzy e Redes Neurais


Fonte: Cavalcanti, 1998.

Outro trabalho interessante foi desenvolvido por Lu et al. que utilizaram uma
rede neurofuzzy com controle adaptativo aplicado ao problema do pendulo invertido.
importante salientar que o sistema por eles desenvolvido visava obteno
de uma lgica fuzzy autoajustvel, onde o prprio controlador identifica as falhas em
sua base de regras, adicionando e eliminando regras conforme o acmulo de
resultados e a anlise destes, baseando-se no mtodo estocstico.

47

3.4 Lgica Fuzzy

A lgica fuzzy, ou lgica nebulosa, foi desenvolvida por Zadeh (1965), que
props uma nova forma de tratar conjuntos de informaes. Ao contrrio da lgica
clssica, binria [0,1], em que algo verdadeiro ou no, a lgica fuzzy permite o
tratamento de informaes qualitativas, possibilitando um funcionamento semelhante
forma de raciocnio humano, que toma decises baseado em informaes j
conhecidas, porm imprecisas.
Sistemas lineares, que possuem variaes nas sadas proporcionais s
variaes nas entradas, podem ser controlados facilmente atravs de sistemas de
controle baseados em modelagem matemtica, no entanto, os sistemas no lineares
apresentam uma maior complexidade de controle devido a fatores como valores
imprecisos de parmetros, dimenso e complexidade do modelo elevadas,
fenmenos fsicos no compreendidos ou de pobre compreenso e distrbios e
perturbaes externas no mensurveis.
A aplicao de controladores baseados em lgica fuzzy em sistemas no
lineares apresenta desempenho superior com relao aos controladores baseados
em modelagem matemtica, pois permitem que sejam inseridas variveis lingusticas
que so mais rpidas e fceis de manipular.
Sendo assim, podemos descrever as caractersticas da lgica fuzzy da
seguinte maneira:

A lgica fuzzy capaz de trabalhar com mltiplos valores, fazendo com


que a verdade numrica seja apenas uma questo de ponto de vista;

Atravs da lgica fuzzy possvel trabalhar com incertezas, onde a


certeza absoluta demonstrada atravs dos valores 0 ou 1;

A lgica fuzzy possibilita que computadores trabalhem com variveis


lingusticas traduzidas em grupos numricos;

48

Atravs da lgica fuzzy possvel manusear facilmente expresses


verbais carregadas de incertezas tais como claro, talvez, alto, baixo,
quente, frio, rpido, devagar, grande, pequeno e etc;

De forma geral, a lgica fuzzy opera transformando valores em variveis


lingusticas, acessando uma base de regras atravs do peso ou valor da varivel
lingustica, tomando uma deciso com base nas regras predeterminadas e emitindo
um valor defuzzificado, sendo composta das seguintes etapas:

Fuzzificao dos dados de entrada;

Base de conhecimento ou base de regras;

Lgica de tomada de decises;

Defuzzificao.

Para termos uma melhor compreenso do fluxo de funcionamento desta


lgica iremos expor os componentes de cada etapa de forma sequencial.

3.4.1 Teoria de Conjuntos Fuzzy

Dentro da teoria de conjuntos fuzzy desenvolvida por Zadeh (1965) tido


como base a pertinncia de um elemento x em um conjunto A, sendo a pertinncia
representada matematicamente atravs do smbolo :
x A

(3.4.1)

Com base na pertinncia de um elemento em um conjunto demonstrada a


funo de pertinncia atravs de _A (x). Simes e Shaw (2007) descrevem que
todos os valores dentro de um intervalo [0,1] esto contidos em uma funo de

49

pertinncia _A (x), sendo assim um membro pode estar contido parcialmente em


um conjunto sendo representado por um valor fracionrio.
Para demonstrar a diferena entre os conjuntos fuzzy e os conjuntos
baseados na lgica booleana tradicional so mostrados dois grficos conforme as
figuras 19 e 20 seguintes:

Figura 19 - Exemplo de Funo de Pertinencia Booleana

Pode-se observar que os valores entre 50 e 100 fazem parte do conjunto em


que a condio imposta para valores verdadeiros no universo de discurso que varia
entre o e 100 obedecida.
Um exemplo desta utilizao seria o levantamento de uma pesquisa com
concluso precisa do tipo: Uma pesquisa mostrou que pessoas com mais de 50
anos tendem a gastar mais com remdios do que com entretenimento. Onde todos
os dados pesquisados esto contidos nos valores entre 50 e 100.

50

Figura 20 - Exemplo de Funo de Pertinencia fuzzy

Na figura 20 demonstrada uma funo de pertinncia do tipo fuzzy, onde


possvel observar que uma reta caracterstica de uma equao de segundo grau
aplicvel.
Utilizado o exemplo da relao idade/medicao citado anteriormente
poderamos adaptar a concluso da seguinte maneira: Uma pesquisa mostrou que
a partir dos 40 anos, uma pessoa passa a diminuir os gastos com entretenimento
para gastar mais com remdios, sendo que a partir dos 55 anos isto j uma
certeza.
Sendo assim definido que um elemento fuzzy pode pertencer totalmente ou
parcialmente a uma funo:
A={xX | _A (x)= ,0 1}

(3.4.2)

Onde o valor de pertinncia de x no conjunto A, contido no intervalo entre


0 e 1.

51

3.4.2 Fuzzificao

Segundo Zadeh (1965), fuzzificao a converso de um valor que o torna


parte de um universo de discurso, possibilitando sua insero em uma funo de
pertinncia. Neste trabalho isto se aplica basicamente atravs da leitura de sensores
que emitem um sinal analgico ou digital.
Este valor fuzzificado aciona uma determinada funo de pertinncia,
podendo acionar mais do que uma funo ao mesmo tempo, o que a base do
sistema fuzzy. Neste projeto, a varivel fuzzificada a tenso fornecida atravs do
potencimetro, que lida pelo Hardware e processada na base de regras.

3.4.3 Base de Regras

A base de regras tem por objetivo avaliar as entradas e direcion-las para que
atuem de uma maneira pr-determinada. Em muitas aplicaes fuzzy, a base de
regras criada a partir da experincia de um operador sobre determinado processo,
com isto garante-se que o sistema ir ter um comportamento semelhante ao de um
operador.
Esta base composta por funes lingusticas que representam as funes
de pertinncia, atravs delas possvel determinar o tipo de reao para cada valor
de entrada ou ao lida pelo sensor. Abaixo mostrado o exemplo de uma base de
regras:

SE entrada for ErroBaixo ENTO sada ser SadaBaixa

SE entrada for ErroAlto ENTO sada ser SadaAlta

52

Onde

os

nomes

ErroBaixo,

ErroAlto,

SadaBaixa

SadaAlta

representam as funes de pertinncia de entrada e sada. Cada uma destas


funes possui valores pr determinados e so ativadas de acordo com a entrada
lida.

3.4.4 Inferncia e Tomada de Decises

tomada

de

decises,

tambm

conhecida

como

inferncia,

processamento das regras e a execuo de suas decises. Esta inferncia atua


diretamente na sada da informao, executando informaes pr-determinadas.
Basicamente, o processo de tomada de decises respeita uma sequencia
lgica de ao e reao, esta sequencia utiliza variveis lingusticas do tipo se e
ento. Na linguagem fuzzy pode-se considerar que a condio se representa um
antecedente e a reao ento representa uma inferncia, com isto tomada a
deciso que ir agir no controlador.
Abaixo

descrito

um

exemplo

de

base

de

regras

utilizado

no

desenvolvimento deste projeto:

SE entrada for ErroMdio ENTO sada ser SadaMdia

SE entrada for ErroGrande ENTO sada ser SadaGrande

A base de regras fuzzy pode operar no sistema SISO (Simple Input Simple
Output) e tambm no sistema MIMO (Multiple Input Multiple Output), sendo assim
possvel utilizar parte da lgica booleana na lgica fuzzy atravs das funes AND
e OR, estas funes podem ser aplicadas na tomada de decises para inferncia
quando se utiliza mais de uma entrada. Para exemplificar esta estrutura podemos
utilizar um trecho do projeto onde foram adicionadas duas entradas e uma sada. As
entradas utilizadas foram a posio angular da haste e a velocidade da haste.

53

SE posio for Mdia E velocidade for Mdia ENTO sada ser Mdia;
SE posio for Alta E velocidade for Alta ENTO sada ser Alta;
Vale salientar que as condies impostas na base de regras podem ser
tambm do tipo OU. Isto depende da aplicao do controlador, da resposta que se
pretende obter por parte da tomada de decises e do tipo de experincia em que as
regras foram baseadas.

3.4.5 Defuzzificao

A defuzzificao consiste em transformar um valor lingustico, proveniente das


funes de pertinncia em um valor real, capaz de ser utilizado no mundo real. Isto
aplicvel quando necessrio que a tomada de deciso do controlador emita algum
tipo de sinal para o mundo fsico.
Simes & Shaw (2007) exemplificam a defuzzificao atravs do acionamento
de motores e tambm demonstram que em certos casos a defuzzificao no
necessria, j que a resposta pode ser considerada apenas qualitativamente.
Existem alguns mtodos de defuzzificao que so largamente utilizados,
entre eles esto:

Defuzzificao pelo Centro de Area (C-o-A);

Defuzzificao pelo Centro do Mximo (C-o-M);

Defuzzificao pela Mdia do Mximo (M-o-M);

Neste trabalho optou-se por utilizar a defuzzificao por centro de rea (C-oA). Este mtodo tambm conhecido como Centro-de-Gravidade, pois calcula o
peso de uma entrada atravs da localizao do centro de gravidade das funes
ativadas. O calculo da defuzzificao por Centro de rea baseia-se na posio das

54

coordenadas de uma funo de pertinncia com relao ao universo de discurso e a


pertinncia de um erro com relao a funo. Sendo demonstrada conforme
equao 3.4.5:
| =

}z ~ (}z )

~ (}z )

(3.4.5)

Onde, (|* ) descreve a rea da funo de pertinncia ativada,


considerando que seja uma porcentagem da rea total, dependendo da localizao
do dado de entrada no universo de discurso e |* representa a localizao do centro
da funo de pertinncia com relao ao universo de discurso da funo de entrada.

55

4 PROPOSTA E CONTRIBUIO

Neste tpico sero apresentados os conceitos de construo dos prottipos


mecnico e eltrico para implementao fsica do modelo do pendulo invertido. De
forma geral o pendulo invertido constitudo por uma haste montada sobre uma
base mvel com um grau de liberdade apenas, com o deslocamento da base atravs
de um motor pretende-se manter a haste equilibrada a noventa graus com relao
ao trilho.

4.1 Mtodo Proposto

A princpio, as tarefas planejadas para o desenvolvimento e execuo do


projeto foram conduzidas da seguinte maneira:

Projetar a estrutura mecnica para deslocamento em um eixo;

Modelar matematicamente o conjunto do pendulo em um eixo;

Modelar matematicamente o Conjunto Carro/Motor;

Adquirir os atuadores;

Adquirir os sensores;

Realizar ensaio com o Pendulo;

Identificar os parmetros do conjunto do pendulo;

Realizar ensaio com o Carro/Motor;

Identificar os parmetros do conjunto do carro/motor;

56

Desenvolver o modelo completo em MATLAB;

Adequar as variveis do processo lgica fuzzy;

Criar programao em C;

Adicionar o controlador ao prottipo;

Testar a operao do conjunto completo.

Para desenvolver um controlador adequado, necessrio que haja um


prottipo da planta, onde sero levantados parmetros e aps isso sero feitos
testes. Sendo assim, a primeira etapa do trabalho consistiu em desenvolver o
prottipo, obedecendo a configuraes pr-determinadas por questes fsicas e
financeiras.
Na segunda etapa, foram feitos testes com o prottipo e o hardware inicial. No
decorrer do desenvolvimento do projeto, algumas das tarefas que no estavam
previstas e que, no entanto, eram necessrias para dar continuidade no projeto,
foram includas. Entre elas identificamos:

Montar o prottipo e analisar as interferncias;

Desenvolver driver para o motor;

Simular o controlador atravs de software;

Desenvolver placa de aquisio de dados;

Desenvolver interface para visualizao em tempo real.

Algumas destas tarefas no eram imprescindveis para realizao do trabalho,


porem atravs delas seria possvel fazer uma anlise mais criteriosa do
desempenho do controlador e do comportamento da planta.
O desenvolvimento da placa de aquisio de dados e a interface para
visualizao em tempo real so itens que no influenciam diretamente no
desenvolvimento e execuo do projeto, porem, na fase de testes de desempenho
do controlador estes se mostraram extremamente teis devido a facilidade de
interpretao dos grficos obtidos.

57

4.2 Diagrama de Blocos

A princpio, a sequncia de funcionamento da planta completa consistia em: O


potencimetro encoder - l o desvio angular
ar da haste e emite um sinal analgico
ao Microcontrolador, o microcontrolador transforma o sinal analgico em digital e
transmite a informao ao computador, o computador recebe e processa a
informao emitindo um sinal de comando ao circuito de acionamento
acionamen do motor, o
circuito de acionamento do motor processa o sinal e converte em tenso acionando
o motor de acordo com a necessidade de controle, o motor movimenta o carrinho
causando uma nova posio e deslocamento na haste.

Figura 21 - Diagrama de blocos da operao inicial

Este procedimento pode ser observado no diagrama de blocos da sequencia


de operao do prottipo (Figura 21) e diagrama de blocos de funcionamento da
lgica de controle (Figura 22).

58

Figura 22 - Fluxograma da lgica de controle

Porm, aps a analise do tipo de hardware utilizado para implementao do


controlador, foi verificado que no seria necessria a utilizao de um computador
para o processamento da lgica
lgica de controle j que o hardware implementado, neste
caso um Arduino Mega 2560, apresentou um desempenho satisfatrio.
Sendo assim, foi alterado a sequencia de funcionamento da lgica, como
segue: O potencimetro l o desvio angular da haste e emite um sinal
si
analgico ao
Microcontrolador, o microcontrolador transforma o sinal analgico em digital, o sinal
digital lido atravs da lgica fuzzy e processado atravs das funes de
pertinncias e base de regras, o controlador fuzzy emite um sinal em forma de PWM
ao driver do motor, o driver transforma este sinal em tenso e aplica-o
aplica no motor, o
motor movimenta o carrinho causando uma nova posio e deslocamento na haste.

59

O diagrama de blocos resultante desta sequencia de operao pode ser


verificado na figura 23.

Figura 23 - Diagrama de blocos da operao inicial revisado

60

5 RESULTADOS PRELIMINARES

Neste tpico so apresentadas e descritas as etapas que compem o


desenvolvimento do projeto. Cada uma das etapas apresentadas so descritas na
ordem de sua ocorrncia ao longo do trabalho, levando em considerao a influencia
da alterao de caractersticas antecedentes nas decorrentes.

5.1 Prottipo Mecnico

Na primeira etapa do projeto foi construdo um prottipo simples do pendulo


invertido, a fim de inicializar os testes e aprender sobre a dinmica da planta.

Figura 24 - Vista em perspectiva do Prottipo Planta Menor montado

61

Como base foi utilizada o trilho e o carro de uma impressora jato de tinta
modelo HP Officejet J3680, para sustentar o trilho com o carro foram adaptados
perfis de alumnio o que permitiu aproveitar apenas a parte metlica da impressora.
O carro movimentado por um motor DC 12 V que transmite o torque ao carro
atravs de uma correia dentada.

Figura 25 - Vista frontal do Prottipo Planta Menor

O carro foi adaptado para instalao da haste do pendulo e do potencimetro


atravs da confeco de um eixo que preso ponta do potencimetro e passa por
um rolamento preso ao carro, fazendo com que seja garantido o posicionamento
perpendicular da haste com o trilho.

Figura 26 - Detalhe do carro com o eixo de transmisso da Planta Menor

62

O trilho da impressora foi montado sobre uma base de alumnio que permite a
movimentao do carro sem interferncia mecnica, apenas atrito viscoso. Esta
configurao foi escolhida para os testes preliminares pela facilidade de montagem e
baixo custo.

Figura 27 - Detalhe do carro com o suporte para o potencimetro

Aps a realizao do acionamento bsico do motor, foi verificada a


necessidade de amortecedores nas extremidades do trilho, devido ao impacto
causado pelo carro quando este se deslocava em velocidade considervel.
Para fins de amortecimento foram adicionado molas, o que reduziu o
desgaste causado pelos impactos do carro com as extremidades do trilho.

Figura 28 - Detalhe da correia dentada e mola nas extremidades

63

Como base para as relaes dimensionais entre os componentes dos


prottipos, foram utilizados os parmetros de um modelo profissional desenvolvido
para fins didticos, este modelo foi desenvolvido pela Quanser, o IP01.

Figura 29 - Detalhe do Pendulo Invertido IP01 da Quanser


Fonte: Quanser, 2008.

A relao entre as caractersticas de ambas as plantas pode ser observado


na Tabela 1.

Caractersticas

Dimenses

Unidade

IPO1

Prottipo Menor

Comprimento total do percurso

1.02

0.37

Trajeto do Carro

0.814

0.33

Relao das engrenagens

3.71

No Aplicvel

Massa do Pendulo

0.23

0.17

Kg

Massa mdia do Pendulo

0.127

0.085

Kg

Comprimento total do pendulo

0.6413

0.3

Comprimento mdio do Pendulo

0.3365

0.15

Tabela 1 - Comparativo entre o Prottipo e equipamento Quanser IP01

64

Vale ressaltar que os valores do equipamento IP01 serviram apenas como


comparativo, j que o prottipo planta menor teve seu componente bsico, o trilho,
retirado de uma impressora de uso pessoal.

5.2 Prottipo Eltrico: Pic Board V3.0

O acionamento eltrico inicial foi implementado com a utilizao do


PIC16F877A em uma placa teste denominada Pic Board V3.0.
V3.0. Com esta placa foi
possvel, atravs do software MPLAB, desenvolver um programa em C, para realizar
o acionamento do motor.
Este PIC possui dois canais PWM que foram utilizados para emisso de
sinais de forma que o motor se movesse no sentido horrio ou anti-horrio
anti
podendose variar a velocidade do mesmo.

Figura 30 - Placa de Teste Pic Board V3.0

65

A princpio o objetivo era identificar os valores de tenso necessrios para


que o carro do prottipo planta menor sasse de seu estado de inrcia. Sendo assim
o desenvolvimento de um programa simples para acionamento bsico atravs de
PWM era satisfatrio.
Para enviar efetivamente uma tenso que acionasse o motor foi utilizado um
drive LM298. Este drive fez a interface com o motor transformando os sinais de
PWM em tenso equivalente.

Figura 31 - Drive LM298

Uma vez montado o circuito com o drive LM298, foi possvel acionar a
movimentao do motor do carro da impressora em ambos os sentidos por um
tempo e velocidade pr-determinados no programa.

Figura 32 - Placa com circuito do Driver LM298 completo

66

No diagrama de hardware (figura 33) possvel observar a conexo completa


entre a placa de teste Pic Board V3.0, o driver LM298 e a planta menor. A
programao desenvolvida para acionamento bsico
bsico pode ser verificada no Anex

Figura 33 - Diagrama de hardware com Pic Board e LM298

Desta forma foram realizados os testes iniciais de acionamento eltrico e


verificao da eficincia mecnica da planta menor para a posterior construo de
um novo prottipo de pendulo em uma escala maior. Com isto foi possvel, a
princpio, verificar que a transmisso de fora por correia dentada exigia um torque
maior do motor, este foi um dos pontos levados em considerao na construo do
prottipo planta maior.
Outro ponto levantado foi necessidade de criar uma reduo por
engrenagens no potencimetro,
potencimetro, isto devido leitura efetuada pelo potencimetro
fornecer baixa preciso j que a princpio foi utilizado um potencimetro de baixo
custo. A utilizao de uma reduo por engrenagens no potencimetro o tornaria

67

mais preciso j que para dar uma volta completa seria necessrio que a haste desse
mais do que uma volta em torno do eixo de pivotamento.

5.3 Projeto Mecnico da Planta

Aps os testes com o prottipo, foi dado incio ao desenvolvimento de uma


planta em escala maior do que o desenvolvido inicialmente. Para construo deste
prottipo foram utilizadas peas de sucatas especiais, que possibilitaram o
desenvolvimento de um prottipo com qualidade superior no que tange mecnica.
As dificuldades e interferncias mecnicas encontradas na planta menor serviram
com base de melhoria no pr-projeto do prottipo da planta maior.
O trilho utilizado foi reaproveitado de um equipamento de analises clnicas
(Figura 34), sucateado devido inviabilidade de sua reabilitao. Deste equipamento
foi aproveitado no s o trilho como tambm o carro que desliza sobre ele j que o
ajuste mecnico entre as partes era extremamente satisfatrio.

Figura 34 - Parte do equipamento de Anlises Clnicas reaproveitado

68

O carro montado sobre este trilho possui engraxadeiras que facilitam na sua
manuteno. O atrito entre as partes do conjunto mnimo, o que torna a demanda
de potencia do motor menor.
O equipamento foi desmontado atentando-se para que fosse mantida a
integridade dos componentes a serem utilizados. A figura 35 mostra os carros
independentes previamente montados sobre o trilho do equipamento.

Figura 35 - Trilho com carros independentes

Como suporte ao trilho, foi adicionado um perfil de alumnio que de mesmo


comprimento, com isto, caso houvesse necessidade de qualquer adaptao de
suporte ou itens a serem adicionados, no seria necessrio retrabalhar o trilho
principal.

Figura 36 - Detalhe do trilho montado sobre perfil de alumnio

69

A partir do desenvolvimento e montagem da estrutura foram feitas


observaes com base na planta menor para determinar qual seria a melhor
maneira de fazer o deslocamento do transportador (carro) do pendulo. Ainda
aproveitando o equipamento que estava sendo reaproveitado, surgiu a ideia de
utilizar patim e trilho. Com esta parte j determinada optamos por fazer a
movimentao do carro atravs do patim e trilho por correia sincronizada.

Figura 37 - Detalhe da base do carro com correia dentada

Foram desenvolvidos os desenhos mecnicos e a partir dos mesmos foi


inicializada a construo fsica da Planta. Aps a primeira verso da montagem da
Planta com a utilizao da transmisso por correias, foi constatado que o torque do
motor estava sendo muito exigido, por causa das perdas ocasionadas por tal
transmisso. Essa exigncia de torque aumentou consideravelmente a corrente
solicitada pelo motor.
Aps verificarmos que devido ao torque exigido do motor precisaramos
investir em um motor mais potente ou uma fonte de maior capacidade, decidimos
fazer o teste com a transmisso por coroa e cremalheira, pois assim no
precisaramos modificar tanto a Planta que estava montada. Foi feita a modificao
e o dispositivo assimilou muito bem a mudana. A transmisso ficou leve e no foi
exigido torque elevado para a movimentao do motor.

70

Figura 38 - Detalhe do carro montado com coroa e cremalheira

Aps a execuo desta montagem, e com os testes com motor j realizados,


verificamos que para valores de tenso altos, o deslocamento do motor e a baixa
resistencia apresentada pela cremalheira permitiam que houvessem colises nas
extremidades do trilho. Sendo assim, onde a pricpio estava o motor e a polia que
conectava a correia dentada, foram implementados dois amortecedores hidrulicos
de final de curso para reduzir os impactos que os deslocamentos causavam.

Figura 39 - Detalhe do fim de curso e carro montado

A figura 40 mostra a montagem completa da planta. O carro maior foi usinado


em alumnio e montado sobre os carros que foram reaproveitados.

71

Figura 40 - Perspectiva da planta maior montada

Figura 41 - Detalhe do carro montado com o motor

Com o trilho e o carro montado, o prximo passo era ento definir como seria
feito para adaptar a haste do pendulo no carrinho de deslocamento.
A haste do pendulo necessitaria de uma transmisso para se comunicar com
o potencimetro. Como utilizamos um potencimetro de preciso com 10 voltas

72

desenvolvemos uma reduo do eixo da haste do pendulo para o eixo do


potencimetro.

Figura 42 - Detalhe da reduo para o potencimetro

Foi projetado uma caixa de reduo (Figura 42) com a relao de 1 para 3,
com uma engrenagem de 20 dentes para uma engrenagem de 60 dentes. Esta caixa
de reduo foi constituda de placas de policarbonato para suas paredes, rolamentos
para suavizar os movimentos dos eixos, um eixo motor da haste e um eixo movido
do potencimetro.
Aps a montagem da caixa de reduo atentamos a necessidade de
implementar um acoplamento elstico no potencimetro, pois apesar dos eixos
estarem bem alinhados o potencimetro tinha uma pequena variao de centro na
sua montagem original. Foi preciso dimensionar um suporte para fazer a integrao
entre eixo movido, acoplamento e potencimetro (Figura 43), aps feito isto notou-se
que o mecanismo funcionou bem suave e ficou mais fcil de ajust-lo.

73

Figura 43 - Detalhe da montagem do acoplamento do potencimetro

No desenvolvimento do projeto mecnico a utilizao de perfis de alumnio


contribuiu muito nas mudanas que a Planta sofreu, pois se a estrutura tivesse sido
usinada com materiais slidos no pr-montveis seria quase que impossvel ter
avanos no desenvolvimento da Planta. Entre os materiais utilizado para confeco
deste prottipo podemos citar os mais signifcativos:

Perfil de alumnio 40x80 e 40x40;

Trilho THK SR20W;

Patim THK SR20W;

Amortecedor YSR 20-20 Festo;

Engrenagem 20 dentes modulo 1;

Engrenagem 60 dentes modulo 1;

Potencimetro de preciso;

Esteira porta cabos Igus;

74

Os detalhes e caractersticas dos itens citados acima podem ser encontrados


nos anexos. interessante tambem comparar as dimenses obtidas no prottipo
desenvolvido com o prottipo profissional da Quanser, o IP01, conforme tabela 2:

Caractersticas

Dimenses

Unidade

IPO1

Prottipo Maior

Comprimento total do percurso

1.02

1.0

Trajeto do Carro

0.814

0.92

Relao das engrenagens

3.71

3.0

Massa do Pendulo

0.23

0.221

Kg

Massa mdia do Pendulo

0.127

0.1105

Kg

Comprimento total do pendulo

0.6413

0.275

Comprimento mdio do Pendulo

0.3365

0.1375

Tabela 2 - Comparativo entre a Planta e o equipamento Quanser IP01.

5.4 Projeto Eltrico

No projeto optou-se por utilizar um motor DC em vez de um de motor de


passo que requer certo grau de complexidade para ser operado e tem um baixo
desempenho em altas velocidades. J o motor DC, alm da preciso no
posicionamento, tem um controle bem desenvolvido de torque e velocidade,
fundamentais para o controle do pendulo.
Nos primeiros testes utilizamos motores de baixo torque e pouca rotao e
observamos que para realizar o controle do pendulo, no bastaria ser um motor DC
qualquer. Seria necessrio que tivesse uma rotao alta e um torque grande para
movimentar o carrinho.

75

Sendo assim selecionamos o motor HC785LP-012 da Johnson Electric, com


uma rotao nominal de 18310 rpm.

Figura 44 - Motor Jhonston Eletric HC785LP-012

Este motor possui as seguintes especifies:


Dimenses: 42,3 X 67,0 mm
Dimetro do eixo: 5,005 mm
Tenso de entrada: 18,0 V DC
Velocidade sem carga: 20950 rpm
Corrente sem carga: 2,90 A
Mx corrente: 138,64 A
Potncia mxima: 644,74 W
Eficincia mxima: 78%
Velocidade com eficincia mxima: 18.300 rpm
Vida (estimada): 18 horas
Peso: 380 g
Com estas caractersticas possvel obter um bom desempenho no
deslocamento do carro.

76

Para alcanar um bom desempenho, o motor necessita de uma alimentao


considervel com uma tenso de 12V, utilizando uma corrente de 22A no arranque.
Vendo esta necessidade foi utilizada uma fonte DC industrial estabilizada com
entrada: 110-230V AC 50/60Hz e sada: 12V DC 25A, suficientes para alimentar o
motor.

Figura 45 - Fonte industrial DC

Para construo do driver de acionamento do motor DC foi confeccionado um


circuito utilizando transistores de efeito de campo (FET de cdigo IRF3205).
O limite de corrente deste semicondutor 110A, mas como pode ser
observado no datasheet, o encapsulamento limita a corrente mxima em 75A.

Figura 46 - Relao entre Corrente mxima e Temperatura do IRF3205


Fonte: Datasheet IRF3205

77

Para uma ponte-h com transistores FET, so necessrios transistores canal P


e canal N, como no exemplo da ponte bipolar onde usamos transistores PNP e NPN
complementares conforme datasheet do TIP31. Como transistor complementar foi
utilizado um transistor FET canal N devido ao baixo custo e a grande disposio no
mercado. Foi projetada uma ponte H conforme o circuito da imagem 47.

Figura 47 - Diagrama de Hardware da ponte H

Ao analisar o circuito em funcionamento, foi possvel notar duas coisas: O


motor no recebe 12 Volts e sim 7,9 Volts aproximadamente, fazendo com que ele
no atinja sua velocidade mxima.
O outro detalhe que o transistor FET Q1 superaquece e queima. Atravs de
consultas do datasheet foi verificado que a tenso Gate-Source no estava dentro
da range de trabalho do FET. E a razo do funcionamento inadequado que o
transistor FET um dispositivo controlado por tenso (transcondutncia). A tenso
no pino G (gate) controla a corrente na sada (corrente dreno-fonte ou drain-source).

78

A tenso no gate tem que ser maior que a tenso de gatilho (Vg
Vgs) que entre 2 e 4
Volts na maioria dos FETs canal N. Essa tenso deve ser medida entre o pino G
(gate) e o pino Source (S) do transistor. Para que o transistor "ligue" a tenso entre o
Gate e o Source deve ser de 2 a 4 Volts maior que a tenso no pino Drain.
D
Ao
conectar o dreno do transistor Q1 direto nos 12V no conseguimos que a tenso no
gate ficasse mais de 4V acima desta tenso pois esta a tenso de alimentao,
portanto a maior tenso no circuito 12 Volts. Ao acionar o transistor Q1 para ligar,
o pino S (source) do transistor ficar com a tenso muito parecida com a tenso de
alimentao, e, portanto a condio de gatilho (4V acima da tenso Drain
D
ou 16
Volts) nunca poder ser atingida.
Como a tenso de gatilho no atingida, o transistor entra em um estado de
conduo chamado "zona linear" onde a corrente chaveada proporcional tenso
no pino G (gate) antes do gatilho, o transistor funciona como um resistor dissipando
potncia em forma de calor. Com os transistores Q2 e Q4 no tivemos problemas,
proble
pois o seu pino Source est conectado no 0 Volts, portanto a tenso Gate-Source
Gate
sempre vai ser maior que zero. Para resolver o problema, necessrio aplicar 12 +
4 Volts no pino G de Q1 ou Q3.
Como citado anteriormente, os transistores FET so controlados
contro
por tenso e
as correntes necessrias para o controle so muito baixas. Para solucionar o
problema foi utilizado o circuito dobrador de tenso.

Figura 48 - Diagrama do circuito dobrador de tenso

79

Esse circuito utiliza um oscilador


oscilador baseado no CI 555 que chaveia um conjunto
de capacitores e diodos dobrando a tenso de alimentao. Depois de construir o
circuito dobrador de tenso, foram adicionados os transistores com funo de
chaveamento e transistores bipolares para controlar
controlar as tenses de acionamento dos
FETs.

Figura 49 - Diagrama de hardware do driver completo

5.4.1 Hardware: Arduino Mega 2560

Neste projeto foi utilizado o microcontrolador Arduino Mega 2560, que surgiu
na italia em 2005, criado pelo professor Massimo Banzi que tinha o intuito de ensinar

80

eletrnica e programao de computadores para seus alunos de design que no


tinham conhecimentos nestas reas. Neste contesto o professor criou uma placa
poderosa, de simples utilizao e barata.
O Arduino utiliza uma variao da linguagem de programao C/C++, sendo
esta de mais simples compreenso para usurios pouco familiarizados com
programao, porm no limitando sua capacidade comparada com variaes mais
complexas desta linguagem.
O Arduino constituido por uma placa de controle com diversas entradas e
sada de dados, boto de reset, regulador de teno de 5v, plugue de alimentao,
porta USB (que pode fornecer tambm a alimentao da placa), pinos conectores
(entradas e sadas), led indicativos e um cristal oscilador de 16MHz.

Figura 50 - Arduino Mega 2560

Sua alimentao pode variar de 7V a 12V (graas ao seu regulador de


teno) e sua comunicao com o computadores e outros componentes pode ser
realizada por porta USB, Bluetooth, wireless entre outros.
O Arduino Mega 2560 utilizado no projeto baseado no micro controlador
Atmega2560, possui 54 portas entrada/sada digitais, 16 portas de entrada analgica
e 4 portas seriais de hardware. Esta placa tambm compativel com a maioria dos
Shields feitos para o arduino.
Na tabela 3 possvel verificar as caractersticas bsicas do Arduino,

81

Micro controlador

ATmega2560

Tenso de operao

5V

Tenso de entrada (recomendada)

7-12V

Tenso de entrada (limites)

6-20V

Pinos (I/O) digitais

54 (14 podem ser sadas PWM)

Pinos de entradas analgicas

16

Corrente DC por pino I/O

40mA

Memria Flash

256KB (8KB para o bootloader)

SRAM

8KB

EEPROM

4KB

Velocidade de Clock

16MHz

Tabela 3 - Caractersticas bsicas do Arduino Mega 2560

5.4.2 Ambiente de desenvolvimento

O ambiente de desenvolvimento do arduino simples, possui um editor de


texto onde escrito o cdigo, com uma barra de ferramentas com diversas funes,
como por exemplo, dar acesso s bibliotecas, fazer upload de programas para a
placa, verificar o cdigo entre outros.
O software ainda possui uma barra de mensagens que apresenta o retorno
das aes e mensagens de erro, que podem aparecer no programa, e de outras
informaes. Os programas escritos nesta plataforma so chamados de sketches e

82

so salvas com a extenso .ino. Este editor ainda possui a funo de monitor
serial o que mostra a resposta fsica da placa em tempo real.
Os principais botes de comando estam localizados acima do campo de
escrita do codigo e so:
Verify: verifica se o programa escrito contem erros;
Upload: compila e faz a transferncia do cdigo para a placa;
New: cria um novo sketch;
Open: apresenta as sketches criadas para serem abertas;
Save: salva a sketch;
Serial Monitor: abre o monitoramento serial.

Figura 51 - Interface de programao do Arduino

83

5.4.3 Linguagem de programao

Como j dito anteriormente a linguagem de programao do arduino


baseada nas linguagens C e C++, utiliza os conceitos bsicos destas linguagens
como, por exemplo, a declarao de variveis, a estrutura, a manipulao de vetores
etc. So utilizadas dois tipos de funes principais: Setup() e Loop().
A funo Setup() utilizada basicamente para configurao do arduino e
manipulao das bibliotecas. Pode-se tambm declarar variveis nesta funo,
porm no obrigatrio que estas sejam declaradas nela. A funo Setup()
executada no programa durante a inicializao apenas uma vez.
A funo Loop() serve para executar um cdigo em looping permitindo ao
programa criado executar as operaes dentro dela, pode ser considerada a funo
principal do programa.
A linguagem utiliza a maioria dos comandos bsicos de qualquer lgica de
programao (IF, ELSE, CASE...), porm possui alguns comandos especficos para
a interface com o arduino.
A razo da escolha do arduino como plataforma base para o desenvolvimento
do cdigo para o controle da planta do pendulo invertido deve-se a vrios motivos,
dentre eles esta principalmente o baixo custo deste tipo de placa o que vem de
encontro proposta de nosso trabalho que desenvolv-lo com materiais de custo
reduzido.
A linguagem de programao que utilizada no arduino simples e dada
complexidade do desenvolvimento do controle por lgica fuzzy, se mostrou a melhor
escolha uma vez que em nosso grupo de trabalho no possumos nenhum
integrante com amplo conhecimento em programao e o tempo reduzido se mostra
insuficiente para o aprendizado de uma complexa linguagem de programao.
O microcontrolador do arduino j vem pr-configurado o que facilita seu
manuseio em detrimento a outros microcontroladores como o PIC , por exemplo, o

84

que possibilita uma maior agilidade nas alteraes que so necessrias durante os
testes na planta.
O software do arduino livre e compatvel com a maioria dos sistemas
operacionais como o, por exemplo, o Windows 7 64bits, em nossos trabalhos
anteriores e preparatrios ao TCC o grupo encontrou dificuldades de comunicao
entre alguns modelos de PIC e esta plataforma.
Outra facilidade que no prprio website do arduino encontramos um vasto
material para a utilizao do deste, alm disso, por todas as facilidades
apresentadas, muitos estudantes e profissionais utilizam este microcontrolador, o
que invariavelmente forma uma ampla comunidade na internet onde se podem trocar
experincias e informaes.
O arduino se comunica de forma ideal ao matlab, por meio de uma biblioteca
deste ltimo, o que facilita a aquisio de dados para a coleta de informaes para o
TCC.

5.5 Lgica de Controle

Para modelar o controlador fuzzy foi utilizada a Tollbox

de lgica Fuzzy

disponvel no MatLab (Fuzzy Logic Toollbox). Inicialmente foram definidas duas


variveis de entrada (ngulo da haste e velocidade angular da mesma) e uma sada
(tenso aplicada ao motor) para realizar testes, afim de levantar os parametros do
sistema e observar o comportamento do mesmo.
Os valores dos limites das variveis de entrada e sada so mostrados na
tabela 4.

85

Variveis

Descrio das Variveis

Limites

Angulo da Haste (rad)

[-0.8 0.8]

Velocidade Angular (rad/s)

[-2 2]

Tenso aplicada ao Motor (V)

[-12 12]

Entradas
Sada

Tabela 4 - Parmetros das Variveis de Entrada e Sada.

Os valores dos limites foram definidos de forma emprica por Dietrich (2008)
atravs de simulaes e conhecimento de fenmenos fsicos. Para o nosso estudo,
no entanto, o valor dos limites da sada diferem devido as especificaes do motor
utilizado serem diferentes.
O ngulo da haste foi tido como aceito em -45 e 45, que convertidos em
radianos resultam em -0.8 e 0.8 rad. A velocidade admitida aps as simulaes
variam entre -2 rad/s e 2 rad/s.
Foram definidas 7 funes de pertinncia para cada varivel sendo 5
triangulares e 2 trapezoidais, visando abranger todas as possveis variaes do
sistema. Segundo Simes e Shaw (2007), a preciso do controlador aumenta
conforme o nmero de funes de pertinencia porem, atraves de experiencias
realizadas, no h aumento significativo na preciso para valores maiores do que 7.
Afim de facilitar a montagem das funes de pertinencia no software foi criado um
quadro com as regras, conforme segue abaixo

\
NG
NM
NB
Z
PB
PM
PG

NG
PG
PG
PM
PG
PG
PM
PB

NM
PG
PM
PM
PM
PM
PB
PB

NB
PM
PM
PM
PB
PM
PB
PB

Z
PG
PM
PB
Z
NB
NM
NG

PB
NB
NB
NM
NB
NM
NM
NM

PM
NB
NB
NM
NB
NM
NM
NM

Tabela 5 - Base de regras do sistema para duas variveis

PG
NB
NM
NG
NG
NM
NG
NG

86

Inserindo os valores limites para o ngulo da haste temos:

Figura 52 - Funo de pertinncia da entrada ngulo da Haste

Inserindo os valores limites para a velocidade angular temos:

Figura 53 - Funo de pertinncia da entrada Velocidade Angular

87

Inserindo os valores de sada de tenso temos:

Figura 54 - Funo de pertinncia da varivel Tenso do Motor

Inserindo as regras quantitativas temos:

Figura 55 - Insero da base de regras no sistema Mandami

88

Na tabela de inferncia descrita a ao do controlador para as possveis


situaes nas quais o modelo pode se encontrar. So estimativas que foram
encontradas interpolando os valores de posio angular e velocidade angular. O
intervalo de sada de tenso foi dividido em 7 regies: Tenso Positiva Grande
(TPG), Tenso Positiva Mdia (TPM), Tenso Positiva Baixa (TPB), Tenso Zero
(TZ), Tenso Negativa Baixa (TPB), Tenso Negativa Mdia (TPM) e Tenso
Negativa Baixa (TPM).
Sendo assim gerada a curva mostrada abaixo:

Figura 56 - Surface

Aps a insero dos valores nas funes de pertinncia, criao da base de


regras e insero da base de regras no controlador podemos verificar como ele
responde a cada tipo de entrada e combinaes de entradas atravs da ferramenta

89

Rule Viewer. Pode-se variar apenas uma das entradas e verificar a sada, a fim de
perceber e analisar a coerncia da base de regras.

Figura 57 - Rule Viewer

90

6 TESTES E RESULTADOS

Os testes realizados e resultados obtidos tm por finalidade avaliar o


desempenho de um controlador fuzzy embarcado em um microcontrolador ao
problema complexo do pendulo invertido.

6.1 Testes com o prottipo

Foram feitos testes com o prottipo desenvolvido atravs do microcontrolador.


Os testes consistiram de um acionamento bsico, que faz com que o carro da
impressora corra alternadamente para a esquerda e direita.
Com isto foi possvel identificar uma tendncia do carro de correr para a
esquerda, sendo assim necessrios ajustes na frequncia do PWM quando este
inverte a rotao do motor.
Este deslocamento progressivo do carro para a esquerda s foi observado
aps alguns minutos do movimento ininterrupto, de outra forma no seria possvel
identificar a falha j que por hora a velocidade do motor esta elevada, tanto para
testes da parte mecnica, quanto de acionamento por parte do driver.
Para os testes preliminares da aplicao da lgica Fuzzy para o controle do
pendulo invertido foi utilizado prottipo onde foi instalado na base da haste mvel um
potencimetro padro de 1k ohm para gerar os parmetros de posio angular da
mesma. Este potencimetro foi ligado a uma tenso de 5v e o terminal central foi
ligado a entrada analgica da placa do Arduino, logo o deslocamento da haste no
sentido angular gera um determinado sinal eltrico, de 0v a 5v, que interpretado
pela entrada analgica do Arduino e convertido em um nmero com resoluo de 10

91

bits tento ento para efeito de clculo dentro da programao do Arduino uma
resoluo que varia de 0 a 1024 sendo 0v igual 0 e 5v igual a 1024.
O dado lido na entrada analgica convertido e armazenado em uma varivel
dentro do programa escrito no Arduino, esta varivel a entrada do Fuzzy, neste
estgio do trabalho optamos em trabalhar com apenas uma entrada e uma sada
para testar o funcionamento da biblioteca Fuzzy, que foi instalada no Arduino, esta
biblioteca (efll) foi criada por Msc. Marvin Lemos da Universidade Estadual do Piau
(UESPI) e disponibilizada para download.
Tendo como base a resoluo e as limitaes mecnicas do potencimetro
foram definidas as pertinncias de entrada, uma vez que o potencimetro tem o giro
limitado em 280, definimos como ponto de equilbrio o valor de 2,5v de tenso ou
512, limitamos tambm a queda do pendulo em 45 para esquerda ou para a direita,
sendo assim as pertinncias de entrada ficaram limitadas a valores de 320 a 720.
Com base na entrada o Fuzzy gera uma sada que ser responsvel pelo
acionamento do motor que move o carro onde a haste esta instalada, para o
acionamento deste motor foram utilizadas as sadas PWM da placa do Arduino,
desta forma foi possvel aplicar diretamente um sinal de controle no drive do motor,
as sadas de PWM do Arduino so de resoluo de 8 bits sendo assim podemos
variar a sada de 0 a 255, sendo 0 igual a 0v e 255 igual a 5v. Para o correto
funcionamento da alimentao do motor foram utilizadas duas sadas PWM uma que
manda o sinal de controle para o motor girar no sentido horrio e outra no sentido
anti-horrio, o programa seleciona a porta de sada PWM (neste projeto utilizamos
as sadas 9 e 10) de acordo com o valor lido na entrada do potencimetro, uma vez
que este esta definido para um valor de equilbrio de 512 (haste a 90 em relao a
mesa), se os valores forem menores que 512 significa que o pendulo esta caindo
para a esquerda e a sada PWM responsvel pelo giro anti-horrio do motor
acionada fazendo o carro se movimentar para tentar equilibrar o pendulo, se os
valores forem maiores do que 512 a sada acionada a responsvel pelo giro
horrio, quem determina a velocidade do giro o algoritmo do Fuzzy, de acordo com
a entrada que lida pelo potencimetro, por exemplo, se o pendulo estiver mais
prximo ao centro de equilbrio a correo da velocidade ser menor se estiver
muito afastado do ponto de equilbrio a velocidade ser maior.

92

Para conseguirmos este tipo de controle os valores de entrada foram


classificados em cinco pertinncias: EsqG (caindo para esquerda grande), EsqP
(caindo para esquerda pequeno), Ctr (Centro), DirP (caindo para a direita pequeno)
e DirG (caindo para a direita grande).
Tambm foram criadas pertinncias de sada, que determina o valor a ser
aplicado ao PWM variando de 180 a 255: Baixa (velocidade baixa), Media
(velocidade media) e Alta (velocidade alta).

Figura 58 - Pertinncias para entrada posio 5 regras

93

Figura 59 - Pertinncias para sada velocidade 5 regras

Com as pertinncias de entrada e sada do Fuzzy criadas foram estabelecidas 5


regras para o controle da velocidade:
1) Se a posio for EsqG a velocidade ser Alta;
2) Se a posio for EsqP a velocidade ser Media;
3) Se a posio for CTR a velocidade ser Baixa;
4) Se a posio for DirP a velocidade ser Media;
5) Se a posio for DirG a velocidade ser Alta;
Desta forma o Fuzzy consegue calcular um sinal de sada para cada entrada
apresentada, este sinal de sada guardado em uma varivel e aplicado ao PWM.
De forma resumida o ciclo de operao do controle : se aplica uma
perturbao na haste do pendulo, o potencimetro l a posio atual, este valor
guardado em uma varivel de entrada, esta varivel fuzzyficada, calculada sua
pertinncia pelo Fuzzy, esta pertinncia cai em uma das regras, calculado o valor
de sada, o valor defuzzyficado, o valor guardado em uma varivel de sada, o
programa usa a varivel de entrada para decidir em qual sada PWM (horrio ou

94

anti-horrio) a sada ser aplicada, a sada defuzzyficada aplicada a sada PWM


escolhida, isto cria uma nova perturbao no sistema proporcional e contraria a
perturbao original criando um novo valor de entrada e o ciclo se reinicia.
Os testes preliminares se mostraram satisfatrios, no que se diz respeito ao
funcionamento da lgica Fuzzy e da biblioteca instalada no Arduino, porm neste
primeiro momento no se avanou muito na questo do equilbrio do pendulo
propriamente dito, devido principalmente as prprias limitaes do prottipo e ao fato
de estarmos trabalhando com uma s entrada e poucas pertinncias de entrada e
sada.

6.2 Testes com a planta

Para a continuao dos testes foi utilizada a planta, pois esta possui uma
mecnica mais precisa, um motor com torque maior e um potencimetro de preciso
de 10 voltas e 5k ohm instalado a haste com uma reduo de 3 para 1, o que
possibilita a queda do pendulo sem a quebra do potencimetro.
Em um primeiro momento foram utilizadas as mesmas entradas, sadas e
regras Fuzzy utilizadas no controle do prottipo, porm foram realizados ajustes nos
parmetros uma vez que se mudou o potencimetro de leitura da entrada. Com os
valores de queda da haste limitados a 45 para a esquerda ou para a direita a partir
do centro, os valores das pertinncias ficaram na faixa de 480 a 544. Outra mudana
foi na distribuio dos valores dentro das pertinncias de sada uma vez que
comeamos a trabalhar com um motor de maior torque.
J em um primeiro momento os resultados de controle do pendulo foram
melhores do que na planta menor, porm ainda longe do equilbrio.

95

A prxima etapa foi adicionar novas pertinncias a entrada e a sada, dentro


das faixas estabelecidas (de 480 a 540 na entrada e de 100 a 255 na sada) foram
elas:
Entrada posio angular: EsqG (caindo para esquerda grande), EsqMG
(caindo para esquerda mdio grande), EsqP (caindo para esquerda pequeno),
EsqMP (caindo para a esquerda mdio pequeno), Ctr (Centro), DirMP (caindo para a
direita mdio pequeno), DirP (caindo para a direita pequeno), DirMG (caindo para a
direita mdio grande) e DirG (caindo para a direita grande);
Sada velocidade do motor: Baixa (velocidade baixa), Mbaixa (velocidade
media baixa), Media (velocidade media), Malta (velocidade media alta) e Alta
(velocidade alta).

Figura 60 - Pertinncias para entrada posio 9 regras

96

Figura 61 - Pertinncias para sada velocidade 9 regras

Com a entrada das novas pertinncias as regras aumentaram em nmero e


tambm foram modificadas:
1. Se a posio for EsqG a velocidade ser Alta;
2. Se a posio for EsqMG a velocidade ser Malta;
3. Se a posio for EsqP a velocidade ser Media;
4. Se a posio for EsqMP a velocidade ser Mbaixa;
5. Se a posio for CTR a velocidade ser Baixa;
6. Se a posio for DirMP a velocidade ser Mbaixa;
7. Se a posio for DirP a velocidade ser Media;
8. Se a posio for DirMG a velocidade ser Malta;
9. Se a posio for DirG a velocidade ser Alta;

Somente esta alterao melhorou muito o controle o que resultou em uma


resposta muito perto do equilbrio do pendulo. Neste estagio do trabalho
adicionamos ao projeto um sensor de posio ultrassnico que por meio de regras
dentro da programao seria utilizado para mandar o carro onde o pendulo fica
fixado para o centro uma vez que o potencimetro atingisse a posio de equilbrio,

97

o que acontecia em tempo real toda vez que o pendulo ficava a 90 com relao a
mesa mesmo ainda no estando em estado esttico.
A insero do sensor de posio ultrassnico causou dois problemas: o
superaquecimento do motor e um atraso intermitente no ciclo do programa, por
conta disto foi retirado do circuito para a continuidade dos testes.
O prximo passo foi inserir mais uma entrada para o controle fuzzy, a
velocidade de queda da haste, para isso foi derivado dentro do programa o valor de
posio lido pelo potencimetro, a variao desta posio dentro do ciclo do prprio
programa apresentou um valor de velocidade em nmeros inteiros (lembrando que
derivamos o valor de posio j convertido pelo arduino) que varia de 0 a 10, sendo
0 a velocidade mnima e 10 a velocidade mxima.
Com a insero uma nova entrada no fuzzy foram criadas pertinncias para a
mesma, obedecendo os valores de velocidade mxima e mnima observados, so
elas: Vbaixa (velocidade de queda baixa), Vmedia (velocidade de queda media) e
Valta (velocidade de queda alta).
Foram modificadas tambm as pertinncias da entrada de posio angular:
EsqG (caindo para esquerda grande),EsqM (caindo para esquerda mdio), EsqP
(caindo para esquerda pequeno), Ctr (Centro), DirP (caindo para a direita pequeno),
DirM(caindo para a direita mdio) e DirG(caindo para a direita grande). As
pertinncias de sada continuaram as mesmas.

98

Figura 62 - Pertinncias para entrada posio 21 regras

Figura 63 - Pertinncias para entrada velocidade haste 21 regras

99

Figura 64 - Pertinncias para sada velocidade motor 21 regras

Com a insero destas pertinncias foram criadas 21 novas regras levando-se em


conta as duas entradas e a sada para o PWM do motor:

Velocidade
Posio
EsqG
EsqM
EsqP
Ctr
DirP
DirM
DirG

Vbaixa

Vmedia

Valta

alta
media
mbaixa
baixa
mbaixa
media
alta

Alta
media
mbaixa
baixa
mbaixa
media
Alta

Alta
Malta
Media
Mbaixa
Media
Malta
Alta

Tabela 6 - Controle de 21 regras

Esta alterao resultou em uma melhora considervel no controle, com o


pendulo chegando ao controle para perturbaes grandes, porm na rea central de
equilbrio o pendulo ainda no apresentava uma condio estvel, pois tendia a cair
para um dos lados, era necessrio trabalhar com mais posies e mais faixas de

100

velocidade, foram adicionadas ento novas pertinncias na entrada de posio, na


entrada de velocidade e uma nova pertinncia de sada. Na entrada de posio
foram adicionadas as pertinncias: EsqMP (caindo para esquerda mdio pequeno) e
DirMP (caindo para direita mdio pequeno). Na entrada de velocidade foram
adicionadas

as

pertinncias:

vmtbaixa

(velocidade

muito

baixa),

Vmbaixa

(velocidade mdia baixa), Vmalta (velocidade media alta). Na sada foi adicionada a
pertinncia: mtbaixa (muito baixa).

Figura 65 - Pertinncias para entrada posio 54 regras

101

Figura 66 - Pertinncias para entrada velocidade haste 54 regras

Figura 67 - Pertinncias para sada velocidade motor 54 regras

102

Com as novas pertinncias foi construda uma nova base com 54 regras:

Velocidade Vmtbaixa
Posio
EsqG
malta
EsqM
media
EsqP
mbaixa
EsqMP
baixa
Ctr
mtbaixa
DirMP
baixa
DirP
mbaixa
DirM
media
DirG
malta

Vbaixa

Vmbaixa

Vmedia

Vmalta

Valta

alta
malta
media
baixa
mtbaixa
baixa
media
malta
alta

Alta
Malta
Media
Mbaixa
Mtbaixa
Mbaixa
Media
Malta
Alta

alta
alta
malta
mbaixa
mtbaixa
mbaixa
malta
alta
alta

alta
alta
malta
media
mtbaixa
media
malta
alta
alta

alta
alta
alta
media
mtbaixa
media
alta
alta
alta

Tabela 7 - Controle 54 regras

Com esta alterao o pendulo chegou ao equilbrio, apresentando uma boa


performance e uma rpida resposta a perturbaes.
importante ressaltar que nesta nova configurao a entrada de posio
ficou com nove pertinncias, segundo Simes & Shaw (2007) aconselhvel usar
no mximo sete pertinncias, porm em nosso caso conseguimos um melhor
resultado com um nmero maior que o recomendado, isto pode ser explicado devido
a trabalharmos com duas sadas PWM, sendo que cada metade controla a resposta
para um dos lados, esquerda ou direita, portanto se dividirmos a entrada de posio
ao meio teremos quatro pertinncias e meia para cada lado.
Neste ponto do projeto iniciamos os testes aquisio de dados e simulaes
no Simulink e no Matlab. Com ajuda destes softwares conseguimos diminuir o
nmero de pertinncias de entrada e otimizar os conjuntos fuzzy. Foram utilizadas 5
pertinncias na entrada de posio (EsqG, EsqP, Ctr, DirP e DirG), 3 pertinncias na
entrada de velocidade (baixa, media e alta) e 4 sadas de velocidade para o motor
(vmtbaixa, baixa, media e alta).

103

Figura 68 - Pertinncias para entrada posio 15 regras

Figura 69 - Pertinncias para entrada velocidade haste 15 regras

104

Figura 70 - Pertinncias para sada velocidade haste 15 regras

A nova base totalizou 15 regras:


Velocidade
Posio
EsqG
EsqP
Ctr
DirP
DirG

Vbaixa

Vmedia

Valta

media
baixa
mtbaixa
baixa
media

alta
media
baixa
media
alta

Alta
Alta
Media
Alta
Alta

Tabela 8 - Controle 15 regras

Com esta configurao o pendulo demonstrou um comportamento ainda


melhor diminuindo o tempo de estabilizao da haste. Vale ressaltar que os valores
utilizados na simulao tiveram que ser adaptados aos valores reais da planta por
este motivo o range, grandezas e faixas de trabalho so diferentes.

105

6.3 Aquisio de dados

Com o objetivo de observar o comportamento do controlador e as variaes


decorrentes das aes de controle, foi desenvolvida uma comunicao entre a
planta e o software Matlab.
Para aquisio de dados foi utilizada uma placa Arduino 2560 dedicada
apenas a esta finalidade. Existem diversos arquivos disponveis na internet que
descrevem como utilizar o Arduino como placa de aquisio de dados. Entre estes
arquivos foi selecionado um que estava disponvel no site Mathworks, o site possui
uma srie de aplicaes e exemplos de utilizao. O pacote de bibliotecas foi
disponibilizado por Campa (2012), que inclui um arquivo a ser compilado no Arduino
e uma pasta de diretrio a ser instalada no Matlab, este pacote, chamado Arduino
IO, pode ser baixado gratuitamente.
Os testes iniciais de aquisio de dados possibilitaram a observao de
interferncias que no haviam sido detectadas. A figura abaixo mostra o primeiro
teste com oscilao livre da haste, possvel notar nos picos, pequenos
sobressinais e variaes decorrentes da existncia de rudos.

Figura 71 - Oscilao livre do pendulo com carro livre

106

O movimento pendular foi finalizado aps aproximadamente 750 ciclos de


aquisio, possvel observar que aps este perodo foi registrada ainda uma
variao na leitura. Na imagem abaixo demonstrada a oscilao pendular com o
carro preso.

Figura 72 - Oscilao livre do pendulo com carro preso

De forma semelhante ao movimento pendular com o carro livre, ocorreu


sobressinais e variaes na leitura, porm, possvel observar que o tempo de
oscilao aumentou, finalizando em aproximadamente 850 ciclos de aquisio, isto
se deve ao fato de que no havendo amortecimento combinado com o carro a haste
leva mais tempo para amortecer seu movimento.
Com o objetivo de eliminar o rudo proveniente da leitura do potencimetro, foi
adicionado um capacitor na entrada da porta analgica do Arduino, com isto os
sobressinais e variaes de leitura foram reduzidos consideravelmente, como pode
ser observado nas figuras 73 e 74.

107

Figura 73 Oscilao do pendulo com carro livre sem rudos

Tendo reduzido o rudo na leitura dos sinais possvel perceber que a


oscilao da haste com o carro livre terminou aps aproximadamente 790 ciclos de
aquisio. A oscilao da haste com o carro preso terminou aps aproximadamente
860 ciclos de aquisio.

Figura 74 - Oscilao do pendulo com carro preso sem rudos

108

Aps ter realizado aquisies com auxlio do Matlab, foi criada uma estrutura
no Simulink para observao em tempo real do comportamento do controlador. O
Simulink possui em sua biblioteca um bloco denominado Fuzzy Logic Controller,
com este bloco possvel inserir um arquivo de dados fuzzy criado atravs da
interface do Matlab e simular o comportamento da estrutura fuzzy.
Para visualizar a aquisio de dados atravs do Simulink foi montada uma
estrutura com blocos j existentes no software, porm, para que o Simulink pudesse
se comunicar com o Arduino foi necessrio inserir o pacote Arduino IO,
disponibilizado por Campa (2012), no Matlab. Este pacote inclui alguns blocos que o
Simulink no possui em sua configurao padro, com eles possvel receber ou
enviar dados ao Arduino, podendo utiliza-lo apenas como placa de comunicao
com o hardware.
A estrutura montada no Simulink para obteno de grficos em tempo real
pode ser observada na figura abaixo:

Figura 75 - Estrutura para aquisio de dados em tempo real com Simulink

109

Aps a configurao do sistema no Simulink, foi possvel obter grficos da


variao da leitura do potencimetro e sada do bloco fuzzy em tempo real. Vale
salientar que a imagem demonstra a leitura do potencimetro e a sada calculada do
fuzzy em tempo real, partindo de uma perturbao gerada manualmente apenas
para testes do desempenho da aquisio.

Figura 76 - Teste de aquisio de dados em tempo real com Simulink

6.4 Simulao de desempenho

Aps concluda a estrutura de aquisio de dados com Simulink, foi elaborada


uma estrutura mais complexa, capaz de simular o comportamento do controlador em
frente a diferentes tipos de perturbaes.

110

Para que fosse possvel simular o comportamento do controlador, foi


necessrio o levantamento da funo de transferncia da planta, levando em
considerao informaes bsicas a seu respeito, para que o resultado fosse o mais
prximo possvel da realidade. Entre estas informaes podemos citar a massa do
carro, massa do pendulo, distancia da ponta da haste ao seu centro de gravidade, o
momento de inrcia da haste e o atrito do carro com o trilho, os valores podem ser
observados abaixo:

Caracterstica
Massa do Carro
Massa da Haste
Comprimento da Metade da Haste
Frico do Carro
Momento de Inrcia da Haste
Gravidade

Sigla
M
m
l
b
I
g

Unidade
Kg
Kg
m
N.s/m
Kg.m
m/s

Valor
2,4282
0.221
0.275
0.1
0.00000176
9.8

Tabela 9 - Parmetros da Planta para simulao

Com base nestes valores, a funo de transferncia foi obtida atravs do


Matlab, utilizando uma equao que considera a fora necessria para movimentar o
carro e, por conseguinte o ngulo da haste. A equao para obteno da funo de
transferncia foi demonstrada no trabalho de Vasconcelos (2012) onde foram
comparados os valores simulados de um controlador com PID e um controlador
baseado em fuzzy. A funo de transferncia pode ser observada abaixo na
equao (6.4).
& = ,

,hh
d ,Z b , b ,hh

(6.4)

Utilizando esta funo de transferncia, foram feitas simulaes com os


arquivos fuzzy atravs do Simulink, onde foi possvel observar diferentes respostas
de acordo com as alteraes feitas em qualquer dos componentes da estrutura
fuzzy.
Entre estas alteraes foram testadas modificaes na base de regras, porem
mantendo o numero e tamanho das funes de pertinncia e tambm foram
testadas alteraes na quantidade de dados de entrada.

111

A estrutura montada no software Simulink considerou 2 perturbaes em


sentidos diferentes, com um espao de tempo entre cada para que fosse possvel
observar o amortecimento. A figura 77 mostra a estrutura do controlado com uma
base de 9 regras.

Figura 77 - Estrutura em Simulink para controlador com 9 regras

Simulando o comportamento do controlador foi possvel obter o grfico da


figura 78. possvel observar que a resposta s perturbaes satisfatria.

Figura 78 - Variao Angular da haste com 9 regras

112

A figura 79 mostra os sinais obtidos da sada do controlador fuzzy, possvel


observar que o sistema estabiliza de forma satisfatria.

Figura 79 - Resposta do controlador com base de 9 regras

Aps as simulaes do controlado com base de 9 regras foi alterado o bloco


fuzzy para um controlador com base de 25 regras. A estrutura pode ser observada
na figura 80.

Figura 80 - Estrutura em Simulink para controlador com 25 regras

113

Simulando o comportamento do controlador foi possvel obter o grfico da


figura 81. possvel observar que a resposta s perturbaes j apresenta
diferenas com relao ao controlador de 9 regras porm tambm satisfatria.

Figura 81 - Variao Angular da haste com 25 regras

Figura 82 - Resposta do controlador com base de 25 regras

114

A figura 82 mostra os sinais obtidos da sada do controlador fuzzy, tambm


possvel observar que o sistema se comportou de forma diferente ao apresentado
com 9 regras e estabiliza de forma satisfatria.
Ficou claro aps as simulaes que a alterao na quantidade de funes de
pertinncia de entrada altera de forma significativa o comportamento do controlador,
com base nesta observao foi criada uma estrutura que possibilitasse a
visualizao simultnea do comportamento dos controladores, esta estrutura pode
ser observada na figura 83.

Figura 83 - Estrutura para comparao entre controladores

Figura 84 - Grfico comparativo entre base 9 regras e 25 regras

115

A figura 84 mostra os resultados da comparao entre os controladores com


diferentes nmeros de funes de pertinncia e regras. possvel observar que o
controlador com 9 regras apresentou um pico menor do que o controlador com 25
regras, o desvio angular da haste controlada com nove regras foi maior do que a
haste controlada por 25 regras. Com isto possvel concluir que aumentando o
numero de regras na base e a quantidade de funes de pertinncia na entrada
obtm-se uma melhora significativa na resposta.

6.5 Discusses

A implementao de uma lgica de controle inteligente em um hardware de


baixo custo tem se mostrado vivel em muitos casos, em outros porem, onde a
necessidade de processamento e monitoramento de sensores maior, deve ser
avaliado, pois demandaria um alto processamento do microcontrolador, com
possibilidades de no atingir os objetivos por saturao de memria. Para o caso
especfico da planta apresentada neste trabalho o microcontrolador embarcado na
placa Arduino Mega conseguiu suprir as necessidades mesmo com uma velocidade
limitada pelo cristal de 16MHz.
Durante os testes na planta foi notado que a quantidade de pertinncias e
consequentemente de regras criadas no fuzzy influencia no controle, porm no
necessariamente um nmero maior de pertinncias e regras deixar o controlador
mais preciso, pois a partir de um ponto acrescentar novas pertinncias a uma
entrada se torna irrelevante ou at prejudica o controle. Por outro lado acrescentar
uma nova entrada ao conjunto fuzzy deixou o controle da planta mais preciso.
Outro ponto que chamou a ateno durante os testes foi os inmeros
interferentes fsicos e eltricos que alteram e at impossibilitam o controle como, por
exemplo, um rudo no potencimetro que no permitia definir a posio de setpoint.

116

6.6 Custo do Projeto: Planilha de Custos

Conforme tabela 9 o custo do projeto do foi de R$12.024,18 porm,


importante salientar que o custo elevado deu-se em razo da construo do
prottipo e da planta, uma vez que do montante geral foram gastos apenas R$90,00
com a placa microcontroladora o que vem de encontro com a proposta do trabalho
que de controlar o pendulo com um microcontrolador de baixo custo.

Custos do Projeto
Materiais Eltricos

Controle

Componentes Diversos

R$

254,76

Microcontrolador

R$

90,00

Fonte

R$

170,00

Total controle

R$

90,00

Motores

R$

425,24

Total Eltrica

R$

850,00
Horas Trabalhadas

Materiais Mecnicos
Materia Prima
Perfil
Trilho
Patin

R$
R$
R$
R$

500,00
200,00
250,00
200,00

Total Mecnica

R$

1.150,00

Joo Claudio
Cesar
Thiago
David
Usinagem

R$
R$
R$
R$
R$

3.236,00
1.730,91
1.236,36
1.730,91
2.000,00

Total Horas de trabalho

R$

9.934,18

Total Geral

R$ 12.024,18

Tabela 10 - Custos do Projeto

117

7 CONCLUSO

Este trabalho apresenta a compilao de uma extensa pesquisa realizada


para a viabilizao da aplicao de lgica fuzzy embarcada em microcontrolador
para o controle de um sistema de pendulo invertido, bem como a construo de um
prottipo e de uma planta e os testes realizados para averiguar o controle.
Na primeira etapa do projeto foram definidos procedimentos, mtodos e linha
de pesquisa o que nos proporcionou grande aprendizado com relao ao
desenvolvimento de um controlador, a aplicao de uma lgica estruturada em
linguagem adequada para microcontrolador e a criao de um prottipo capaz de
integrar os sensores, o controlador e os atuadores.
Em uma segunda etapa foi construda a planta final onde pode ser testado o
controle utilizando lgica fuzzy, o projeto fsico e lgico ocorreu dentro da
normalidade e prazos estabelecidos, resaltando que a maioria dos componentes
mecnicos foram fabricados por membros da equipe assim como a montagem do
prottipo e da planta. A programao realizada no arduino apesar de apresentar
uma linguagem simples se mostrou complexa na construo das pertinncias e
regras fuzzy, porm uma vez criada esta programao de fcil manipulao.
importante ressaltar tambm os avanos alcanados por meio de simulao
computacional que ajudou a definir os parmetros para criao das pertinncias
fuzzy alm da prpria aquisio de dados dos testes prticos.
A maioria das dificuldades encontradas durante os testes esto relacionadas
a interferentes fsicos e eltricos da planta e sua correo pelo controlador.
Os resultados adquiridos mostraram que a proposta do trabalho foi atingida e
que este controlador pode ser aplicado ao pendulo invertido o que pode contribuir
para o desenvolvimento de diversos sistemas na rea da robtica e automao.

118

7.1 Sugestes para Trabalhos Futuros

Para trabalhos futuros, seria vlida a troca da transmisso dos cabos de


acionamento e controle do motor por um barramento eltrico para diminuir a
interferncia mecnica que o cabeamento causa no deslocamento do motor.
Outro ponto de melhoria seria a substituio do potencimetro de preciso
por um encoder incremental, melhorando a preciso e eliminando interferncia de
rudos eltricos.
A incluso de um acelermetro seria de grande valia, pois possibilitaria a
criao de mais uma entrada para o controlador o que possivelmente melhoraria o
controle.
Outra sugesto seria testar outras geometrias nas funes de pertinncia
dentro do fuzzy o que tambm poderia resultar em um controle mais preciso.

119

120

8 REFERNCIAS BIBLIOGRFICAS

BELL, A. E. Christian Huygens and The development of Science int he


Seventh Century. [S. I.], [s. d.]. Disponvel em: http://ia600502.us.archive.org
BELUSSO, C. L. M.; FLIX, J. L. P. Dinmica Catica de Um Sistema
Pndulo Invertido com Suspenso Veicular. [S. I.], 1999. Disponvel em:
http://www.sbmac.org.br/eventos/cnmac/xxxiii_cnmac/pdf/568.pdf. Acesso em: 03
mar, 2013.
BORG, F. G. An Inverted Pendulum with Springly Control As A Model Of
Human

Standing.

Jyvskyl,

2003.

Disponvel

em:

http://arxiv.org/

abs/physics/0512122. Acesso em: 16 mar, 2013.


BOULOS, P. Newtons Path to Universal Gravitation: The Role of the
Pendulum.

[S.

I.],

2005.

Disponvel

em:

http://link.springer.com/

article/10.1007/s11191-005-1790-5. Acesso em: 05 mai, 2013.


CAMPA, G. Matlab Support Package For Arduno. [S. I.], 2012 Disponvel
em http://www.mathworks.com/matlabcentral/fileexchange/27843. Acesso em: 06
set,2013.
DELEY, D. W. Controlling an Inverted Pendulum. An Example of a Digital
Feedback

Control

System.

[S.

I.],

[s.

d.].

Disponvel

em:http://www.

daviddeley.com/pendulum/synopsis.htm. Acesso em: 16 mar, 2013.


DORF, R. C.; BISHOP, R. H. Sistemas de Controle Modernos. 11 ed. Rio
de Janeiro: LTC, 2009.
FOUCAULT, L.; GARIEL, C. M. LISSAJOUS, J. A. Recueil des travaux
scientifiques

de

Lon

Foucault

1878.

[S.

I.],

1878.

Disponvel

em:

http://archive.org/details/recueildestrava00lissgoog. Acesso em: 05 mai, 2013.


GALILEI, G. Dialogues Concerning Two New Sciences. [S. I.], 1638.
Disponvel

em:

http://www.dominiopublico.gov.br/pesquisa/Detalhe

ObraForm.do?select_action=&co_obra=3933. Acesso em: 04 mai, 2013.

121

GRASSER, F. et al. JOE, A Mobile Inverted Pendulum. [S. I.], 2002.


Disponvel

em:

http://www.cec.uchile.cl/~lemoreno/segway/Memoria/

grasser_darrigo_colombi_rufer_ieee_02.pdf. Acesso em: 16 mar, 2013.


HUYGENS, C. Horologium Oscillatorium. [S. I.], 1656. Disponvel em:
http://www.17centurymaths.com/contents/huygenscontents.html. Acesso em: 05 mai,
2013.
IIDA, F. DRAVID, R. PAUL, C. Design and Control of a Pendulum Driven
Hopping Robot. [S. I.], [s. d.]. Disponvel em: http://people.csail.mit.edu/
iida/papers/stumpyIROS02.pdf. Acesso em: 16 mar, 2013.
LAKIE, M.; CAPLAN, N.; LORAM, I. D. Human balancing of an inverted
pendulum with a compliant linkage: neural control by anticipatory intermittent
bias.

Pennsylvania,

2002.

Disponvel

em:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2343154/pdf/tjp0551-0357.pdf+M46.
Acesso em: 16 mar, 2013.
LEMOS, M.

Biblioteca Fuzzy eFLL. [S. I.], [S.D.], Diponivel em:

http://zerokol.com/product/51e93616e84c5571b7000018/1/pt-BR. Acesso em: 15


ago,2013
NISE, N. S. Engenharia de Sistemas de Controle. 5 ed. Rio de Janeiro:
LTC, 2011.
OGATA, K. Engenharia de Controle Moderno. 5 ed. So Paulo: Pearson
Prentice Hall, 2010.
PARSEGHIAN, A. S. Control of a Simulated, Three Dimensional Bipedal
Robot to Initiate Walking, Continue Walking, Rock Side-to-Side and Balance.
Massachusetts,

2000.

Disponvel

em:

http://citeseerx.ist.psu.edu/viewdoc/

summary?doi=10.1.1.23.3602. Acesso em: 16 mar, 2013.


RIBEIRO, R. Implementao de um Sistema de Controle de Um Pendulo
Invertido.

Itajub,

2007.

Disponvel

em:

http://www.joinville.udesc.br/portal/

professores/farias/materiais/Controle_de_um_Pendulo_Invertido.pdf. Acesso em: 03


mar, 2013.

122

ROSRIO, J. M. Princpios de Mecatrnica. So Paulo: Prentice Hall, 2005.


SILVA, E. M.; ANTUNES, R. Controle de em Pendulo Invertido. Rio de
Janeiro, 2010. Disponvel em: http://www.lee.eng.uerj.br/~elaine/pend.pdf. Acesso
em: 03 mar, 2013.
SILVA, M. A. O. Estudo de Tcnicas de Controle Aplicada ao Sistema
Pendulo Invertido. Disponvel em: http://www.em.ufop.br/cecau/monografias/2009/
MOZZER%20ANTONIO%20DE%20OLIVEIRA%20SILVA.pdf. Acesso em: 03 mar,
2013.
SIMES, M. G.; SHAW, I. S. Controle e Modelagem Fuzzy. 2 ed. So Paulo:
Blucher, 2007.
SOUZA, D. J. Desbravando o PIC: Ampliado e Atualizado para
PIC16F628A. 12 ed. So Paulo: rica, 2008.
STOKES, G. On the Motion of Pendulums, Transactions of the Cambridge
Philosophical

Society

IX.

[S.

I.],

1851.

Disponvel

em:

http://ia700301.

us.archive.org/2/items/transactionsofca09camb/transactionsofca09camb.pdf. Acesso
em: 05 mai, 2013.
VASCONCELOS, V. B. et. al. Controle de um sistema pendulo invertido
usando

controladores

inteligentes.

2012.

Disponvel

em:

http://www.cobenge.edu.br/artigos/pdfcduspiuci.pdf. Acesso em: 05 mai, 2013.


ZAYAS,
Characteristics

H.

Earthquake
of

Friction

Protection
Pendulum.

Systems,
1985.

Inc.;

Technical

Disponvel

http://www.earthquakeprotection.gov/pmc/articles/PMC2343154/pdf/tjp05510357.pdf+M46. Acesso em: 16 mar, 2013.

em:

PL
IA
NT

Features
RoHS compliant*

CO
M

Bushing mount

Optional AR pin feature


Plastic or metal shaft and bushings
Wirewound
Solder lugs or PC pins
Sealable (Full body seal)

*R

oH
S

Designed for use in HMI applications

3590 - Precision Potentiometer


Electrical Characteristics1
Standard Resistance Range........................................................................................................................................................................ 200 to 100 K ohms
Total Resistance Tolerance................................................................................................................................................................................................ 5 %
Independent Linearity ................................................................................................................................................................................................... 0.25 %
Effective Electrical Angle ................................................................................................................................................................................3600 +10 , -0
Absolute Minimum Resistance ......................................................................................................................1 ohm or 0.1 % maximum (whichever is greater)
Noise ................................................................................................................................................................................................ 100 ohms ENR maximum
Dielectric Withstanding Voltage (MIL-STD-202, Method 301)
Sea Level ...............................................................................................................................................................................................1,500 VAC minimum
Power Rating (Voltage Limited By Power Dissipation or 450 VAC, Whichever is Less)
+40 C.........................................................................................................................................................................................................................2 watts
+125 C.........................................................................................................................................................................................................................0 watt
Insulation Resistance (500 VDC) ..................................................................................................................................................... 1,000 megohms minimum
Resolution..............................................................................................................................................................................See recommended part numbers

Environmental Characteristics1
Operating Temperature Range ...................................................................................................................................................................... -40 C to +125 C
Storage Temperature Range ......................................................................................................................................................................... -55 C to +125 C
Temperature Coefficient Over Storage Temperature Range2 .........................................................................................................50 ppm/C maximum/unit
Vibration .............................................................................................................................................................................................................................15 G
Wiper Bounce ................................................................................................................................................................................0.1 millisecond maximum
Shock..................................................................................................................................................................................................................................50 G
Wiper Bounce ................................................................................................................................................................................0.1 millisecond maximum
Load Life ....................................................................................................................................................................................................1,000 hours, 2 watts
Total Resistance Shift ....................................................................................................................................................................................2 % maximum
Rotational Life (No Load)................................................................................................................................................................ 1,000,000 shaft revolutions
Total Resistance Shift ....................................................................................................................................................................................5 % maximum
Moisture Resistance (MIL-STD-202, Method 103, Condition B)
Total Resistance Shift ....................................................................................................................................................................................2 % maximum
IP Rating
Sealed Versions (-3, -4, -7, and -8) ............................................................................................................................................................................... IP 65
Unsealed Versions (-1 -2, -5, and -6) ............................................................................................................................................................................ IP 40

Mechanical Characteristics1
Stop Strength.............................................................................................................................................................................. 45 N-cm (64 oz.-in.) minimum
Mechanical Angle ...........................................................................................................................................................................................3600 +10 , -0
Torque (Starting & Running) ................................................................................................................................ 0.35 N-cm (0.5 oz.-in.) maximum (unsealed)
1.1 N-cm (1.5 oz.-in.) maximum (sealed)
Mounting ..............................................................................................................................................................................55-80 N-cm (5-7 lb.-in.) (plastic)
90-113 N-cm (8-10 in.-lb.) (metal)
Shaft Runout......................................................................................................................................................................................0.13 mm (0.005 in.) T.I.R.
Lateral Runout ...................................................................................................................................................................................0.20 mm (0.008 in.) T.I.R.
Shaft End Play ...................................................................................................................................................................................0.25 mm (0.010 in.) T.I.R.
Shaft Radial Play ...............................................................................................................................................................................0.13 mm (0.005 in.) T.I.R.
Pilot Diameter Runout .......................................................................................................................................................................0.08 mm (0.003 in.) T.I.R.
Backlash ............................................................................................................................................................................................................ 1.0 maximum
Weight ........................................................................................................................................................................................................Approximately 19 G
Terminals ................................................................................................................................................................................................Solder lugs or PC pins
Soldering Condition
Manual Soldering........................................................... 96.5Sn/3.0Ag/0.5Cu solid wire or no-clean rosin cored wire; 370 C (700 F) max. for 3 seconds
Wave Soldering ...................................................................................96.5Sn/3.0Ag/0.5Cu solder with no-clean flux; 260 C (500 F) max. for 5 seconds
Wash processes .......................................................................................................................................................................................Not recommended
Marking ..................................... Manufacturers name and part number, resistance value and tolerance, linearity tolerance, wiring diagram, and date code.
Ganging (Multiple Section Potentiometers) ...................................................................................................................................................... 1 cup maximum
Hardware ............................................................................................................ One lockwasher and one mounting nut is shipped with each potentiometer.
NOTE: For Anti-rotation pin add 91 after configuration dash number. Example: -2 becomes -291 to add AR pin.
1At room ambient: +25 C nominal and 50 % relative humidity nominal, except as noted.
2Consult manufacturer for complete specification details for resistances below 1k ohms.

Recommended Part Numbers


(Printed Circuit)
3590P-2-102L
3590P-2-202L
3590P-2-502L
3590P-2-103L
3590P-2-203L
3590P-2-503L
3590P-2-104L

(Solder Lug)
3590S-2-102L
3590S-2-202L
3590S-2-502L
3590S-2-103L
3590S-2-203L
3590S-2-503L
3590S-2-104L

(Solder Lug)
3590S-1-102L
3590S-1-202L
3590S-1-502L
3590S-1-103L
3590S-1-203L
3590S-1-503L
3590S-1-104L

Resistance ()
1,000
2,000
5,000
10,000
20,000
50,000
100,000

Resolution (%)
.029
.023
.025
.020
.019
.013
.009

BOLDFACE LISTINGS ARE IN STOCK AND READILY AVAILABLE


THROUGH DISTRIBUTION. FOR OTHER OPTIONS CONSULT FACTORY.
ROHS IDENTIFIER:
L = COMPLIANT

Specifications are subject to change without notice.


Customers should verify actual device performance in their specific applications.
*RoHS Directive 2002/95/EC Jan. 27, 2003 including annex and RoHS Recast 2011/65/EU June 8, 2011.

+&/3

/RZ9ROWDJH'&0RWRUV

&KDUDFWHULVWLFV
+LJK3RZHU'&PRWRU

40.0 44.9 mm

6SHFLILFDWLRQV
'LPHQVLRQV

 ;PP

6KDIW'LDPHWHU

 PP

,QSXW9ROWDJH

 9'&

1R/RDG6SHHG

 USP

1R/RDG&XUUHQW

 $

6WDOO7RUTXH

 P1P

6WDOO&XUUHQW

 $

0D[LPXP2XWSXW3RZHU

 :

0D[LPXP(IILFLHQF\

 

6SHHGDW0D[LPXP(IILFLHQF\

 USP

/LIH W\SLFDO

 KU

:HLJKW

 J

2SHUDWLRQ7HPSHUDWXUH

 WR &

6WRUDJH7HPSHUDWXUH

 WR &

(OHFWULFDO&RQQHFWLRQ

 7HUPLQDO

3HUIRUPDQFH'DWD
1R/RDG

6WDOO

0D[(IILFLHQF\

0D[3RZHU

&XUUHQW $









(IILFLHQF\ 





2XWSXW3RZHU :



6SHHG USP







7RUTXH P1P







$SSOLFDWLRQ([DPSOHV
'ULOOV 3RZHU(TXLSPHQW

-RKQVRQ0RWRU
Johnson Motor

VDOHV#MRKQVRQHOHFWULFFRP
web: www.johnsonelectric.com
40

email: KWWSZZZMRKQVRQPRWRUFRP
sales@johnsonelectric.com

+&/3

/RZ9ROWDJH'&0RWRUV

'UDZLQJ

3HUIRUPDQFH&XUYHV

40.0 44.9 mm
8QLWVLQ0HWULF

-RKQVRQ0RWRU
Johnson Motor

VDOHV#MRKQVRQHOHFWULFFRP
web: www.johnsonelectric.com
41

KWWSZZZMRKQVRQPRWRUFRP
email: sales@johnsonelectric.com

PD-91279E

IRF3205
HEXFET Power MOSFET
l
l
l
l
l
l

Advanced Process Technology


Ultra Low On-Resistance
Dynamic dv/dt Rating
175C Operating Temperature
Fast Switching
Fully Avalanche Rated

VDSS = 55V
RDS(on) = 8.0m

ID = 110A

Description
Advanced HEXFET Power MOSFETs from International
Rectifier utilize advanced processing techniques to achieve
extremely low on-resistance per silicon area. This
benefit, combined with the fast switching speed and
ruggedized device design that HEXFET power MOSFETs
are well known for, provides the designer with an extremely
efficient and reliable device for use in a wide variety of
applications.
The TO-220 package is universally preferred for all
commercial-industrial applications at power dissipation
levels to approximately 50 watts. The low thermal
resistance and low package cost of the TO-220 contribute
to its wide acceptance throughout the industry.

TO-220AB

Absolute Maximum Ratings


Parameter
ID @ TC = 25C
ID @ TC = 100C
IDM
PD @TC = 25C
VGS
IAR
EAR
dv/dt
TJ
TSTG

Continuous Drain Current, VGS @ 10V


Continuous Drain Current, VGS @ 10V
Pulsed Drain Current
Power Dissipation
Linear Derating Factor
Gate-to-Source Voltage
Avalanche Current
Repetitive Avalanche Energy
Peak Diode Recovery dv/dt
Operating Junction and
Storage Temperature Range
Soldering Temperature, for 10 seconds
Mounting torque, 6-32 or M3 srew

Max.
110

Units

80
390
200
1.3
20
62
20
5.0
-55 to + 175

A
W
W/C
V
A
mJ
V/ns
C

300 (1.6mm from case )


10 lbfin (1.1Nm)

Thermal Resistance
Parameter
RJC
RCS
RJA

www.irf.com

Junction-to-Case
Case-to-Sink, Flat, Greased Surface
Junction-to-Ambient

Typ.

Max.

Units

0.50

0.75

62

C/W

1
01/25/01

IRF3205
Electrical Characteristics @ TJ = 25C (unless otherwise specified)

RDS(on)
VGS(th)
gfs

Parameter
Drain-to-Source Breakdown Voltage
Breakdown Voltage Temp. Coefficient
Static Drain-to-Source On-Resistance
Gate Threshold Voltage
Forward Transconductance

Qg
Qgs
Qgd
td(on)
tr
td(off)
tf

Gate-to-Source Forward Leakage


Gate-to-Source Reverse Leakage
Total Gate Charge
Gate-to-Source Charge
Gate-to-Drain ("Miller") Charge
Turn-On Delay Time
Rise Time
Turn-Off Delay Time
Fall Time

Min.
55

2.0
44

IDSS

Drain-to-Source Leakage Current

LD

Internal Drain Inductance

LS

Internal Source Inductance

Ciss
Coss
Crss
EAS

Input Capacitance
Output Capacitance
Reverse Transfer Capacitance
Single Pulse Avalanche Energy

V(BR)DSS
V(BR)DSS/TJ

IGSS

Typ.

0.057

14
101
50
65

Max. Units
Conditions

V
VGS = 0V, ID = 250A
V/C Reference to 25C, ID = 1mA
8.0
m VGS = 10V, ID = 62A
4.0
V
VDS = VGS, ID = 250A

S
VDS = 25V, ID = 62A
25
VDS = 55V, VGS = 0V
A
250
VDS = 44V, VGS = 0V, TJ = 150C
100
VGS = 20V
nA
-100
VGS = -20V
146
ID = 62A
35
nC VDS = 44V
54
VGS = 10V, See Fig. 6 and 13

VDD = 28V

ID = 62A
ns

RG = 4.5

VGS = 10V, See Fig. 10


Between lead,
4.5
6mm (0.25in.)
nH
G
from package
7.5
and center of die contact
3247
VGS = 0V
781
VDS = 25V
211
pF
= 1.0MHz, See Fig. 5
1050 264 mJ IAS = 62A, L = 138H

Source-Drain Ratings and Characteristics


IS
ISM

VSD
trr
Qrr
ton

Parameter
Continuous Source Current
(Body Diode)
Pulsed Source Current
(Body Diode)
Diode Forward Voltage
Reverse Recovery Time
Reverse Recovery Charge
Forward Turn-On Time

Min. Typ. Max. Units

Conditions
D
MOSFET symbol
110
showing the
A
G
integral reverse
390
S
p-n junction diode.
1.3
V
TJ = 25C, IS = 62A, VGS = 0V
69 104
ns
TJ = 25C, IF = 62A
143 215
nC di/dt = 100A/s
Intrinsic turn-on time is negligible (turn-on is dominated by LS+LD)

Notes:

Repetitive rating; pulse width limited by


max. junction temperature. ( See fig. 11 )
Starting TJ = 25C, L = 138H
RG = 25, IAS = 62A. (See Figure 12)

ISD 62A, di/dt 207A/s, VDD V(BR)DSS,


TJ 175C

Pulse width 400s; duty cycle 2%.


Calculated continuous current based on maximum allowable
junction temperature. Package limitation current is 75A.

This is a typical value at device destruction and represents


operation outside rated limits.

This is a calculated value limited to TJ = 175C.

www.irf.com

NE555
SA555 - SE555

GENERAL PURPOSE SINGLE BIPOLAR TIMERS

..
..
.
..
.

LOW TURN OFF TIME


MAXIMUM
OPERATING
FREQUENCY
GREATER THAN 500kHz
TIMING FROM MICROSECONDS TO HOURS
OPERATES IN BOTH ASTABLE AND
MONOSTABLE MODES
HIGH OUTPUT CURRENT CAN SOURCE OR
SINK 200mA
ADJUSTABLE DUTY CYCLE
TTL COMPATIBLE
TEMPERATURE STABILITY OF 0.005%
PERoC

DESCRIPTION
The NE555 monolithic timing circuit is a highly stable
controller capable of producing accurate time delays
or oscillation. In the time delay mode of operation,
the time is precisely controlled by one external resistor and capacitor. For a stable operation as an oscillator, the free running frequency and the duty cycle are both accurately controlled with two external
resistors and one capacitor. The circuit may be triggered and reset on falling waveforms, and the output structure can source or sink up to 200mA. The
NE555 is available in plastic and ceramic minidip
package and in a 8-lead micropackage and in metal
can package version.

D
SO8
(Plastic Micropackage)

N
DIP8
(Plastic Package)

ORDER CODES
Part
Number
NE555

Package

Temperature
Range

0oC, 70oC

SA555

40 C, 105 C

SE555

55oC, 125oC

PIN CONNECTIONS (top view)

July 1998

1
2
3
4
5
6
7
8

GND
Trigger
Output
Reset
Control voltage
Threshold
Discharge
VCC

1/10

NE555/SA555/SE555
BLOCK DIAGRAM
VCC+

5k
COMP
THRESHOLD
CONTROL VOLTAGE

DISCHARGE
R
FLIP-FLOP

5k
COMP

OUT

TRIGGER

S
INHIBIT/
RESET
5k

RESET

S - 8086

SCHEMATIC DIAGRAM
CONTROL
VOLTAGE

OUTPUT

THRESHOLD
COMPARATOR
5

VCC
R2
830

R1
4.7k

R4 R8
1k 5k

R3
4.7k

R12
6.8k
Q21
Q19

Q5

Q6

Q7

Q8

Q9

Q20

Q22

3.9k

R11
5k
THRESHOLD

D1

R17
4.7k

Q4

Q1

Q23
Q2

Q3

R9
5k

Q11 Q12

R14
220

D2

Q24
TRIGGER

Q13

Q10

Q16
RESET
DISCHARGE

Q18

R16
100

R15
4.7k

Q15

Q17
Q14

R5
10k

R6
100k

R7
100k

R10
5k

1
GND

TRIGGER COMPARATOR

FLIP FLOP

ABSOLUTE MAXIMUM RATINGS


Symbol
Vcc
Toper

Tj
Tstg

2/10

Parameter

Value

Supply Voltage
Operating Free Air Temperature Range

Junction Temperature
Storage Temperature Range

18
for NE555
for SA555
for SE555

Unit
V

0 to 70
40 to 105
55 to 125

150

65 to 150

C
C

NE555/SA555/SE555
OPERATING CONDITIONS
Symbol
VCC
Vth, Vtrig, Vcl, Vreset

Parameter
Supply Voltage
Maximum Input Voltage

SE555

NE555 - SA555

Unit

4.5 to 18

4.5 to 18

VCC

VCC

ELECTRICAL CHARACTERISTICS
Tamb = +25oC, VCC = +5V to +15V (unless otherwise specified)
Symbol
ICC

VCL

Vth

Ith
Vtrig

Itrig

Parameter

SE555
Min.

Max.

3
10
2

Timing Error (monostable)


(RA = 2k to 100k, C = 0.1F)
Initial Accuracy - (note 2)
Drift with Temperature
Drift with Supply Voltage

0.5
30
0.05

Timing Error (astable)


(RA, RB = 1k to 100k, C = 0.1F,
VCC = +15V)
Initial Accuracy - (note 2)
Drift with Temperature
Drift with Supply Voltage

1.5
90
0.15

Max.

5
12

3
10
2

6
15

2
100
0.2

1
50
0.1

3
0.5

10.4
3.8

9
2.6

10
3.33

11
4

Threshold Voltage
VCC = +15V
VCC = +5V

9.4
2.7

10
3.33

10.6
4

8.8
2.4

10
3.33

11.2
4.2

0.1

0.25

0.1

0.25

5
1.67

5.2
1.9

5
1.67

5.6
2.2

0.5

0.9

0.5

2.0

0.7

0.7

Threshold Current - (note 3)

A
V

4.8
1.45

Trigger Current (Vtrig = 0V)


Reset Current

%
ppm/C
%/V

V
10
3.33

Trigger Voltage
VCC = +15V
VCC = +5V

Unit

%
ppm/C
%/V

2.25
150
0.3

9.6
2.9

Reset Voltage - (note 4)

0.4

4.5
1.1
0.4

A
V
mA

0.1
0.4

0.4
1

0.1
0.4

0.4
1.5

Low Level Output Voltage


VCC = +15V, IO(sink) = 10mA
IO(sink) = 50mA
IO(sink) = 100mA
IO(sink) = 200mA
IO(sink) = 8mA
VCC = +5V,
IO(sink) = 5mA

0.1
0.4
2
2.5
0.1
0.05

0.15
0.5
2.2

0.1
0.4
2
2.5
0.3
0.25

0.25
0.75
2.5

High Level Output Voltage


VCC = +15V, IO(source) = 200mA
IO(source) = 100mA
IO(source) = 100mA
VCC = +5V,

12.5
13.3
3.3

Vreset = +0.4V
Vreset = 0V

Notes :

Typ.

Control Voltage level


VCC = +15V
VCC = +5V

Ireset

VOH

Min.

mA

Supply Current (RL ) (- note 1)


Low State
VCC = +5V
VCC = +15V
High State
VCC = 5V

Vreset

VOL

NE555 - SA555

Typ.

0.25
0.2

0.4
0.35
V

13
3

12.75
2.75

12.5
13.3
3.3

1. Supply current when output is high is typically 1mA less.


2. Tested at VCC = +5V and VCC = +15V.
3. This will determine the maximum value of RA + RB for +15V operation the max total is R = 20M and for 5V operation
the max total R = 3.5M.

3/10

503BR

Modelos SR-W, SR-WM, SR-V e SR-VM


W
B

T
K

H3
W2

W1

Dimenses
externas
Modelo

SR 15V/VM
SR 15W/WM
SR 20V/VM
SR 20W/WM
SR 25V/VM
SR 25W/WM
SR 30V/VM
SR 30W/WM
SR 35V/VM
SR 35W/WM
SR 45W
SR 55W
SR 70T
SR 85T
SR 100T
SR 120T
SR 150T

Dimenses do bloco

Altura

Largura

Comprimento

24

34

28

42

33

48

42

60

48

70

60
68
85
110
120
110
135

86
100
126
156
178
205
250

40,4
57
47,3
66,2
59,2
83
67,9
96,8
77,6
111
126
156
194,6
180
200
235
280

Niple de
lubrificao
B
26
32
35
40
50
60
75
90
100
120
160
200

26

32

35

40

50
60
75
90
80
100
120
160

S
M47
M58
M69
M812
M812
M1015
M1220
M1625
M1830
M2035
M2035
M2035

L1
22,9
39,5
27,8
46,7
35,2
59
40,4
69,3
45,7
79
90,5
117
147,6
130
150
180
215

H3

5,7

18,2

5,5

PB1021B

5,8

7,2

22

12

B-M6F

7,7

26

12

B-M6F

8,5

32,5

12

B-M6F

9,5

12,5 36,5

8,5

12

B-M6F

11,5

15 47,5
16,7 54,5
24,5 70
25,5 91,5
29,5 101
24
95
24
113

11,5
12
12
27
32
14
17

16
16
16
12
12
13,5
13,5

B-PT1/8
B-PT1/8
B-PT1/8
A-PT1/8
A-PT1/8
B-PT1/4
B-PT1/4

12,5
13,5
15
18,5
19
15
22

Codificao do nmero do modelo

SR25 W 2 UU C0 M +1240L Y P T M -
Smbolo do
Bloco em ao Comprimento
Trilho em ao
raspador contra inoxidvel
Smbolo para
do trilho
inoxidvel
contaminao
n de trilhos usados
(em mm)
(*1)
no mesmo plano (*4)
Aplicado apenas Smbolo para
N de blocos usados Smbolo de folga radial (*2) ao 15 e 25
trilho unido
Normal (sem smbolo)
no mesmo trilho
Smbolo de preciso (*3)
Pr-carga leve (C1)
Classe normal (sem smbolo)/Classe de preciso (H)
Pr-carga mdia (C0)
Classe de alta preciso (P)/Classe de superpreciso (SP)
Classe de ultrapreciso (UP)

Modelo

Tipo de
Bloco

(*1) Consulte o raspador contra contaminao em A1-510. (*2) Consulte A1-71. (*3) Consulte A1-77. (*4) Consulte A1-13.
Nota) Este nmero de modelo indica que uma unidade de trilho nico constitui um conjunto (isto , o nmero necessrio de
conjuntos quando 2 trilhos so usados , no mnimo, 2.)

A1-214

Para baixar os dados desejados, procure


o nmero do modelo correspondente no site tcnico.

https://tech.thk.com

503BR

SR

4-S
E
d2

M1

L
L1
C

Guia Linear

d2

2-S
L
L1
N

M1
d1

d1

Modelo SR-V

Modelo SR-W
Unidade: mm

Capacidade de
carga nominal

Dimenses do trilho
Largura
W1

Altura

Passo

0,05

W2

M1

15

9,5

12,5

60

20

11

15,5

60

23

12,5

18

60

28

16

23

80

34

18

27,5

80

45 20,5 35,5 105


48
26
38 120
70
28
47 150
85 35,5 65,5 180
100 39 70,3 210
114 45,5 65 230
144 53
77 250

d1d2a

MA

Comprimento

C0

Mx.

kN

kN

5,39
9,51
7,16
12,5
11,7
20,3
17,2
30
23,8
41,7
55,3
89,1
156
120
148
279
411

11,1
19,3
14,4
25,2
22,5
39,5
32,5
56,8
44,1
77,2
101
157
266
224
283
377
537

(1240)
2500
(1480)
69,58,5
3000
(2020)
7119
3000
(2520)
7119
3000
(2520)
91412
3000
1117,514 3000
142017
3000
182622
3000
182622
3000
223225
3000
263930
3000
334836
3000
3,564,5

Momento de carga esttica


permitida kN-m

1
bloco
0,0326
0,0925
0,053
0,146
0,103
0,286
0,163
0,494
0,259
0,74
1,1
2,27
2,54
2,54
3,95
5,83
9,98

2
blocos
0,224
0,516
0,332
0,778
0,649
1,52
1,08
2,55
1,68
4,01
5,96
11,3
13,2
15,1
20,9
32,9
55,8

MB

1
bloco
0,0203
0,0567
0,0329
0,0896
0,0642
0,175
0,102
0,303
0,161
0,454
0,679
1,39
2,18
1,25
1,95
2,87
4,92

2
blocos
0,143
0,321
0,21
0,481
0,41
0,942
0,692
1,57
1,07
2,49
3,69
6,98
11,3
7,47
10,3
16,2
27,5

Massa

MC

1
bloco
0,0654
0,113
0,11
0,194
0,201
0,355
0,352
0,611
0,576
1,01
1,77
2,87
4,14
5,74
8,55
13,7
24,3

Bloco

Trilho

kg

kg/m

0,12
0,2
0,2
0,3
0,3
0,4
0,5
0,8
0,8
1,2
2,2
3,6
7
10,1
14,1

1,2
2,1
2,7
4,3
6,4
11,3
12,8
22,8
34,9
46,4

Nota1) O smbolo M indica que o ao inoxidvel usado no bloco, trilho e esferas. Os modelos marcados com este smbolo
so, portanto, altamente resistentes corroso e ao ambiente.
Esses nmeros de modelo, inclusive o SR85T e acima dele, so modelos semipadro. Se desejar esses modelos,
entre em contato com a THK.
Os modelos SR85T e SR100T so equipados com niple de lubrificao na face lateral do bloco.
O comprimento mximo em Comprimento indica o tamanho mximo padro de um trilho. (Consulte A1-218.)
Momento de carga esttica permitida: 1 bloco: valor do momento de carga esttica permitida com 1 bloco
2 blocos: valor do momento de carga esttica permitida com 2 blocos em contato prximo um com o outro
Nota2) Para os modelos SR15 e 25, so oferecidos dois tipos de trilhos com furos de montagem de diferentes dimenses
(consulte Tabela1).
Ao substituir este modelo pelo modelo SSR, preste ateno na dimenso do furo de montagem do trilho LM.
Entre em contato com a THK para obter detalhes.
Tabela1 Dimenso do furo de montagem do trilho

modelo

Trilho padro

Trilho semipadro

SR 15

Para M3 (nenhum smbolo) Para M4 (smbolo Y)

SR 25

Para M6 (smbolo Y) Para M5 (nenhum smbolo)

OpcionaisA1-473

A1-215

133

Apendice A - Programao em C
/**********************************************************************
* UNIP Universidade Paulista
* Curso de Bacharelado em automao e controle
***********************************************************************
***********************************************************************
* Sistema Pendulo Invertido Utilizando Lgica Fuzzy
***********************************************************************
***********************************************************************
* Orientador: Prof. Msc. Hugo Magalhes
* Orientador: Prof MSc Diogo Ferreira Lima Filho
* Co-orientador: Prof. Msc. Rafael Bachega
***********************************************************************
* Integrantes:
* Cesar Umberto Modesti
* David Luna Santos
* Joo Claudio dos Santos
* Thiago Henrique Marques Silva
**********************************************************************/
//incluido biblioteca Fuzzy
#include <FuzzyRule.h>
#include <FuzzyComposition.h>
#include <Fuzzy.h>
#include <FuzzyRuleConsequent.h>
#include <FuzzyOutput.h>
#include <FuzzyInput.h>
#include <FuzzyIO.h>
#include <FuzzySet.h>
#include <FuzzyRuleAntecedent.h>
//Instanciando um objeto da biblioteca
Fuzzy* fuzzy = new Fuzzy();
//Declarao das variveis globais
int sensorPin = A0;//declarao da varivel de leitura da entrada anlogica
int output;//declaracao da varivel de retorno do fuzzy
int distatual;//declaracao da varivel para calculo da velocidade
int distanterior;//declaracao da varivel para calculo da velocidade
int velocidade;//declaracao da varivel para armazenamento da velocidade
int dist;//declaracao da varivel da leitura analgica de posio
//Configuraes de portas e da lgica fuzzy
void setup(){
Serial.begin(9600);//configurao da sada serial
pinMode(9, OUTPUT);//define a porta digital 9 como sada
pinMode(10, OUTPUT);//define a porta digital 10 como sada
//Inicio da configurao do fuzzy
//Criando o FuzzyInput posio
FuzzyInput* posicao = new FuzzyInput(1);// Como parametro seu ID
// Criao das pertinencias de entrada
// Criando os FuzzySet que compoem o FuzzyInput posio
FuzzySet* esqG = new FuzzySet(484, 490, 490, 498); // Caindo para
esquerda grande
posicao->addFuzzySet(esqG); // Adicionando o FuzzySet esqG em posio
FuzzySet* esqM = new FuzzySet(492, 498, 498, 504); // Caindo para
esquerda medio

134

posicao->addFuzzySet(esqM); // Adicionando o FuzzySet esqM em posio


FuzzySet* esqP = new FuzzySet(500, 504, 504, 508); // Caindo para
esquerda pequeno
posicao->addFuzzySet(esqP); // Adicionando o FuzzySet esqP em posio
FuzzySet* esqMP = new FuzzySet(504, 508, 508, 512); // Caindo para
esquerda muito pequeno
posicao->addFuzzySet(esqMP); // Adicionando o FuzzySet esqMP em posio
FuzzySet* ctr = new FuzzySet(510,512,512,514); //Centro
posicao->addFuzzySet(ctr); // Adicionando o FuzzySet ctr em posio
FuzzySet* dirMP = new FuzzySet(512, 516, 516, 520); // caindo para
direita muito pequeno
posicao->addFuzzySet(dirMP); // Adicionando o FuzzySet dirMP em posio
FuzzySet* dirP = new FuzzySet(516, 520, 520, 524); // caindo para direita
pequeno
posicao->addFuzzySet(dirP); // Adicionando o FuzzySet dirP em posio
FuzzySet* dirM = new FuzzySet(520, 526, 526, 532); // caido para direita
medio
posicao->addFuzzySet(dirM); // Adicionando o FuzzySet dirM em posio
FuzzySet* dirG = new FuzzySet(526, 534, 534, 540); // caindo para direita
grande
posicao->addFuzzySet(dirG); // Adicionando o FuzzySet dirG em posio
fuzzy->addFuzzyInput(posicao); // Adicionando o FuzzyInput no objeto
Fuzzy

//Criando o FuzzyInput vaste(velocidade da aste)


FuzzyInput* vaste = new FuzzyInput(2);// Como parametro seu ID
// Criando os FuzzySet que compoem o FuzzyInput posio
FuzzySet* vmtbaixa = new FuzzySet(-1, 0, 0, 1); // velocidade muito baixa
vaste->addFuzzySet(vmtbaixa); // Adicionando o FuzzySet vmtbaixa em vaste
FuzzySet* vbaixa = new FuzzySet(0, 1, 1, 2); // velocidade baixa
vaste->addFuzzySet(vbaixa); // Adicionando o FuzzySet baixa em vaste
FuzzySet* vmbaixa = new FuzzySet(1, 2, 2, 3); // velocidade media baixa
vaste->addFuzzySet(vmbaixa); // Adicionando o FuzzySet vmbaixa em vaste
FuzzySet* vmedia = new FuzzySet(2, 4, 4, 6); // velocidade media
vaste->addFuzzySet(vmedia); // Adicionando o FuzzySet vmedia em vaste
FuzzySet* vmalta = new FuzzySet(5, 6, 6, 8); // velocidade media alta
vaste->addFuzzySet(vmalta); // Adicionando o FuzzySet vmalta em vaste
FuzzySet* valta = new FuzzySet(6, 8, 15, 15); // velocidade alta
vaste->addFuzzySet(valta); // Adicionando o FuzzySet valta em vaste

fuzzy->addFuzzyInput(vaste); // Adicionando o FuzzyInput no objeto Fuzzy

// Criao das pertinencias de sada


// Criando o FuzzyOutput velocidade (velocidade do motor
FuzzyOutput* velocidade = new FuzzyOutput(1);// Como parametro seu ID
// Criando os FuzzySet que compoem o FuzzyOutput velocidade
FuzzySet* mtbaixa = new FuzzySet(0, 20, 20, 50); // Velocidade muito
baixa
velocidade->addFuzzySet(mtbaixa); // Adicionando o FuzzySet mtbaixa em
velocidade
FuzzySet* baixa = new FuzzySet(25, 55, 55, 85); // Velocidade baixa
velocidade->addFuzzySet(baixa); // Adicionando o FuzzySet baixa em
velocidade
FuzzySet* mbaixa = new FuzzySet(60, 90, 90, 110); // Velocidade media
baixa

135

velocidade->addFuzzySet(mbaixa); // Adicionando o FuzzySet mbaixa em


velocidade
FuzzySet* media = new FuzzySet(95, 135, 135, 155); // Velocidade media
velocidade->addFuzzySet(media); // Adicionando o FuzzySet media em
velocidade
FuzzySet* malta = new FuzzySet(145, 175, 175, 225); // Velocidade media
alta
velocidade->addFuzzySet(malta); // Adicionando o FuzzySet malta em
velocidade
FuzzySet* alta = new FuzzySet(185, 230, 285, 285); // Velocidade alta
velocidade->addFuzzySet(alta); // Adicionando o FuzzySet alta em
velocidade
fuzzy->addFuzzyOutput(velocidade); // Adicionando o FuzzyOutput no objeto
Fuzzy
// Criao da base de regras
// 1)FuzzyRule "SE posio = esquerda grande e velocidade da aste = muito
baixa ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaoesqgandvastevmtbaixa = new
FuzzyRuleAntecedent();// Instanciando um Antecedente para a expresso
posicaoesqgandvastevmtbaixa->joinWithAND(esqG, vmtbaixa);// Adicionando o
FuzzySet correspondente aos objetos Antecedentes
FuzzyRuleConsequent* thenvelocidadeesqgvmtbaixa = new
FuzzyRuleConsequent();// Instancinado um Consequente para a expressao
thenvelocidadeesqgvmtbaixa->addOutput(malta);// Adicionando o FuzzySet
correspondente ao objeto Consequente
// Instanciando um objeto FuzzyRule
FuzzyRule* fuzzyRule1 = new FuzzyRule(1, posicaoesqgandvastevmtbaixa,
thenvelocidadeesqgvmtbaixa);// Passando o Antecedente e o Consequente da
expressao
fuzzy->addFuzzyRule(fuzzyRule1);// Adicionando o FuzzyRule ao objeto
Fuzzy
// 2)FuzzyRule "SE posio = esquerda grande e velocidade da aste = baixa
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqgandvastevbaixa = new
FuzzyRuleAntecedent();
posicaoesqgandvastevbaixa->joinWithAND(esqG, vbaixa);
FuzzyRuleConsequent* thenvelocidademediadir = new FuzzyRuleConsequent();
thenvelocidademediadir->addOutput(alta);
FuzzyRule* fuzzyRule2 = new FuzzyRule(2, posicaoesqgandvastevbaixa,
thenvelocidademediadir);
fuzzy->addFuzzyRule(fuzzyRule2);
// 3)FuzzyRule "SE posio = esquerda grande e velocidade da aste = media
baixa ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqgandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaoesqgandvastevmbaixa->joinWithAND(esqG, vmbaixa);
FuzzyRuleConsequent* thenvelocidadeesqgvmbaixadir = new
FuzzyRuleConsequent();
thenvelocidadeesqgvmbaixadir->addOutput(alta);
FuzzyRule* fuzzyRule3 = new FuzzyRule(3, posicaoesqgandvastevmbaixa,
thenvelocidadeesqgvmbaixadir);
fuzzy->addFuzzyRule(fuzzyRule3);
// 4)FuzzyRule "SE posio = esquerda grande e velocidade da aste = media
ENTAO velocidade do motor = alta"

136

FuzzyRuleAntecedent* posicaoesqgandvastevmedia = new


FuzzyRuleAntecedent();
posicaoesqgandvastevmedia->joinWithAND(esqG, vmedia);
FuzzyRuleConsequent* thenvelocidademaltadir = new FuzzyRuleConsequent();
thenvelocidademaltadir->addOutput(alta);
FuzzyRule* fuzzyRule4 = new FuzzyRule(4, posicaoesqgandvastevmedia,
thenvelocidademaltadir);
fuzzy->addFuzzyRule(fuzzyRule4);
// 5)FuzzyRule "SE posio = esquerda grande e velocidade da aste = media
alta ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqgandvastevmalta = new
FuzzyRuleAntecedent();
posicaoesqgandvastevmalta->joinWithAND(esqG, vmalta);
FuzzyRuleConsequent* thenvelocidadeesgvmaltadir = new
FuzzyRuleConsequent();
thenvelocidadeesgvmaltadir->addOutput(alta);
FuzzyRule* fuzzyRule5 = new FuzzyRule(5, posicaoesqgandvastevmalta,
thenvelocidadeesgvmaltadir);
fuzzy->addFuzzyRule(fuzzyRule5);
// 6)FuzzyRule "SE posio = esquerda grande e velocidade da aste = alta
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqgandvastevalta = new
FuzzyRuleAntecedent();
posicaoesqgandvastevalta->joinWithAND(esqG, valta);
FuzzyRuleConsequent* thenvelocidadealtadir = new FuzzyRuleConsequent();
thenvelocidadealtadir->addOutput(alta);
FuzzyRule* fuzzyRule6 = new FuzzyRule(6, posicaoesqgandvastevalta,
thenvelocidadealtadir);
fuzzy->addFuzzyRule(fuzzyRule6);
// 7)FuzzyRule "SE posio = esquerda medio e velocidade da aste = muito
baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaoesqmandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaoesqmandvastevmtbaixa->joinWithAND(esqM, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadeesqmvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadeesqmvmtbaixa->addOutput(media);
FuzzyRule* fuzzyRule7 = new FuzzyRule(7, posicaoesqmandvastevmtbaixa,
thenvelocidadeesqmvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule7);
// 8)FuzzyRule "SE posio = esquerda medio e velocidade da aste = baixa
ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaoesqmandvastevbaixa = new
FuzzyRuleAntecedent();
posicaoesqmandvastevbaixa->joinWithAND(esqM, vbaixa);
FuzzyRuleConsequent* thenvelocidadembaixadir = new FuzzyRuleConsequent();
thenvelocidadembaixadir->addOutput(malta);
FuzzyRule* fuzzyRule8 = new FuzzyRule(8, posicaoesqmandvastevbaixa,
thenvelocidadembaixadir);
fuzzy->addFuzzyRule(fuzzyRule8);
// 9)FuzzyRule "SE posio = esquerda medio e velocidade da aste = media
baixa ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaoesqmandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaoesqmandvastevmbaixa->joinWithAND(esqM, vmbaixa);

137

FuzzyRuleConsequent* thenvelocidadeesqmvmbaixadir = new


FuzzyRuleConsequent();
thenvelocidadeesqmvmbaixadir->addOutput(malta);
FuzzyRule* fuzzyRule10 = new FuzzyRule(10, posicaoesqmandvastevmbaixa,
thenvelocidadeesqmvmbaixadir);
fuzzy->addFuzzyRule(fuzzyRule10);
// 10)FuzzyRule "SE posio = esquerda medio e velocidade da aste = media
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqmandvastevmedia = new
FuzzyRuleAntecedent();
posicaoesqmandvastevmedia->joinWithAND(esqM, vmedia);
FuzzyRuleConsequent* thenvelocidademediadir2 = new FuzzyRuleConsequent();
thenvelocidademediadir2->addOutput(alta);
FuzzyRule* fuzzyRule11 = new FuzzyRule(11, posicaoesqmandvastevmedia,
thenvelocidademediadir2);
fuzzy->addFuzzyRule(fuzzyRule11);
// 11)FuzzyRule "SE posio = esquerda medio e velocidade da aste = media
alta ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqmandvastevmalta = new
FuzzyRuleAntecedent();
posicaoesqmandvastevmalta->joinWithAND(esqM, vmalta);
FuzzyRuleConsequent* thenvelocidadeesqmvmaltadir2 = new
FuzzyRuleConsequent();
thenvelocidadeesqmvmaltadir2->addOutput(alta);
FuzzyRule* fuzzyRule12 = new FuzzyRule(12, posicaoesqmandvastevmalta,
thenvelocidadeesqmvmaltadir2);
fuzzy->addFuzzyRule(fuzzyRule12);
// 12)FuzzyRule "SE posio = esquerda medio e velocidade da aste = alta
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqmandvastevalta = new
FuzzyRuleAntecedent();
posicaoesqmandvastevalta->joinWithAND(esqM, valta);
FuzzyRuleConsequent* thenvelocidademaltadir2 = new FuzzyRuleConsequent();
thenvelocidademaltadir2->addOutput(alta);
FuzzyRule* fuzzyRule13 = new FuzzyRule(13, posicaoesqmandvastevalta,
thenvelocidademaltadir2);
fuzzy->addFuzzyRule(fuzzyRule13);
// 13)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
muito baixa ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaoesqpandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaoesqpandvastevmtbaixa->joinWithAND(esqP, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadeesqpvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadeesqpvmtbaixa->addOutput(mbaixa);
FuzzyRule* fuzzyRule14 = new FuzzyRule(14, posicaoesqpandvastevmtbaixa,
thenvelocidadeesqpvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule14);
// 14)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaoesqpandvastevbaixa = new
FuzzyRuleAntecedent();
posicaoesqpandvastevbaixa->joinWithAND(esqP, vbaixa);
FuzzyRuleConsequent* thenvelocidadebaixa = new FuzzyRuleConsequent();
thenvelocidadebaixa->addOutput(media);

138

FuzzyRule* fuzzyRule15 = new FuzzyRule(15, posicaoesqpandvastevbaixa,


thenvelocidadebaixa);
fuzzy->addFuzzyRule(fuzzyRule15);
// 15)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
media baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaoesqpandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaoesqpandvastevmbaixa->joinWithAND(esqP, vmbaixa);
FuzzyRuleConsequent* thenvelocidadeesqpvmbaixadir = new
FuzzyRuleConsequent();
thenvelocidadeesqpvmbaixadir->addOutput(media);
FuzzyRule* fuzzyRule16 = new FuzzyRule(16, posicaoesqpandvastevmbaixa,
thenvelocidadeesqpvmbaixadir);
fuzzy->addFuzzyRule(fuzzyRule16);
// 16)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
media ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaoesqpandvastevmedia = new
FuzzyRuleAntecedent();
posicaoesqpandvastevmedia->joinWithAND(esqP, vmedia);
FuzzyRuleConsequent* thenvelocidadembaixa2 = new FuzzyRuleConsequent();
thenvelocidadembaixa2->addOutput(malta);
FuzzyRule* fuzzyRule17 = new FuzzyRule(17, posicaoesqpandvastevmedia,
thenvelocidadembaixa2);
fuzzy->addFuzzyRule(fuzzyRule17);
// 17)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
media alta ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaoesqpandvastevmalta = new
FuzzyRuleAntecedent();
posicaoesqpandvastevmalta->joinWithAND(esqP, vmalta);
FuzzyRuleConsequent* thenvelocidadeesqpvmaltadir = new
FuzzyRuleConsequent();
thenvelocidadeesqpvmaltadir->addOutput(malta);
FuzzyRule* fuzzyRule18 = new FuzzyRule(18, posicaoesqpandvastevmalta,
thenvelocidadeesqpvmaltadir);
fuzzy->addFuzzyRule(fuzzyRule18);
// 18)FuzzyRule "SE posio = esquerda pequeno e velocidade da aste =
alta ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaoesqpandvastevalta = new
FuzzyRuleAntecedent();
posicaoesqpandvastevalta->joinWithAND(esqP, valta);
FuzzyRuleConsequent* thenvelocidademedia3 = new FuzzyRuleConsequent();
thenvelocidademedia3->addOutput(alta);
FuzzyRule* fuzzyRule19 = new FuzzyRule(19, posicaoesqpandvastevalta,
thenvelocidademedia3);
fuzzy->addFuzzyRule(fuzzyRule19);
// 19)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste
= muito baixa ENTAO velocidade do motor = baixa"
FuzzyRuleAntecedent* posicaoesqmpandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevmtbaixa->joinWithAND(esqMP, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadeesqmpvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvmtbaixa->addOutput(baixa);
FuzzyRule* fuzzyRule20 = new FuzzyRule(20, posicaoesqmpandvastevmtbaixa,
thenvelocidadeesqmpvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule20);

139

// 20)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste


= baixa ENTAO velocidade do motor = baixa"
FuzzyRuleAntecedent* posicaoesqmpandvastevbaixa = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevbaixa->joinWithAND(esqMP, vbaixa);
FuzzyRuleConsequent* thenvelocidadeesqmpvbaixa = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvbaixa->addOutput(baixa);
FuzzyRule* fuzzyRule21 = new FuzzyRule(21, posicaoesqmpandvastevbaixa,
thenvelocidadeesqmpvbaixa);
fuzzy->addFuzzyRule(fuzzyRule21);
// 21)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste
= media baixa ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaoesqmpandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevmbaixa->joinWithAND(esqMP, vmbaixa);
FuzzyRuleConsequent* thenvelocidadeesqmpvmbaixadir = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvmbaixadir->addOutput(mbaixa);
FuzzyRule* fuzzyRule22 = new FuzzyRule(22, posicaoesqmpandvastevmbaixa,
thenvelocidadeesqmpvmbaixadir);
fuzzy->addFuzzyRule(fuzzyRule22);
// 22)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste
= media ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaoesqmpandvastevmedia = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevmedia->joinWithAND(esqMP, vmedia);
FuzzyRuleConsequent* thenvelocidadeesqmpvmedia = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvmedia->addOutput(mbaixa);
FuzzyRule* fuzzyRule23 = new FuzzyRule(23, posicaoesqmpandvastevmedia,
thenvelocidadeesqmpvmedia);
fuzzy->addFuzzyRule(fuzzyRule23);
// 23)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste
= media alta ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaoesqmpandvastevmalta = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevmalta->joinWithAND(esqMP, vmalta);
FuzzyRuleConsequent* thenvelocidadeesqmpvmaltadir = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvmaltadir->addOutput(media);
FuzzyRule* fuzzyRule24 = new FuzzyRule(24, posicaoesqmpandvastevmalta,
thenvelocidadeesqmpvmaltadir);
fuzzy->addFuzzyRule(fuzzyRule24);
// 24)FuzzyRule "SE posio = esquerda muito pequeno e velocidade da aste
= alta ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaoesqmpandvastevalta = new
FuzzyRuleAntecedent();
posicaoesqmpandvastevalta->joinWithAND(esqMP, valta);
FuzzyRuleConsequent* thenvelocidadeesqmpvalta = new
FuzzyRuleConsequent();
thenvelocidadeesqmpvalta->addOutput(media);
FuzzyRule* fuzzyRule25 = new FuzzyRule(25, posicaoesqmpandvastevalta,
thenvelocidadeesqmpvalta);
fuzzy->addFuzzyRule(fuzzyRule25);

140

// 25)FuzzyRule "SE posio = centro e velocidade da aste = muito baixa


ENTAO velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaoctrandvastevmtbaixa->joinWithAND(ctr, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadectrvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadectrvmtbaixa->addOutput(mtbaixa);
FuzzyRule* fuzzyRule26 = new FuzzyRule(26, posicaoctrandvastevmtbaixa,
thenvelocidadectrvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule26);
// 26)FuzzyRule "SE posio = centro e velocidade da aste = baixa ENTAO
velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevbaixa = new
FuzzyRuleAntecedent();
posicaoctrandvastevbaixa->joinWithAND(ctr, vbaixa);
FuzzyRuleConsequent* thenvelocidadebaixa2 = new FuzzyRuleConsequent();
thenvelocidadebaixa2->addOutput(mtbaixa);
FuzzyRule* fuzzyRule27 = new FuzzyRule(27, posicaoctrandvastevbaixa,
thenvelocidadebaixa2);
fuzzy->addFuzzyRule(fuzzyRule27);
// 27)FuzzyRule "SE posio = centro e velocidade da aste = media baixa
ENTAO velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaoctrandvastevmbaixa->joinWithAND(ctr, vmbaixa);
FuzzyRuleConsequent* thenvelocidadectrvmbaixa = new
FuzzyRuleConsequent();
thenvelocidadectrvmbaixa->addOutput(mtbaixa);
FuzzyRule* fuzzyRule28 = new FuzzyRule(28, posicaoctrandvastevmbaixa,
thenvelocidadectrvmbaixa);
fuzzy->addFuzzyRule(fuzzyRule28);
// 28)FuzzyRule "SE posio = centro e velocidade da aste = media ENTAO
velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevmedia = new
FuzzyRuleAntecedent();
posicaoctrandvastevmedia->joinWithAND(ctr, vmedia);
FuzzyRuleConsequent* thenvelocidadebaixa3 = new FuzzyRuleConsequent();
thenvelocidadebaixa3->addOutput(mtbaixa);
FuzzyRule* fuzzyRule29 = new FuzzyRule(29, posicaoctrandvastevmedia,
thenvelocidadebaixa3);
fuzzy->addFuzzyRule(fuzzyRule29);
// 29)FuzzyRule "SE posio = centro e velocidade da aste = muito baixa
ENTAO velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevmalta = new
FuzzyRuleAntecedent();
posicaoctrandvastevmalta->joinWithAND(ctr, vmalta);
FuzzyRuleConsequent* thenvelocidadectrvmalta = new FuzzyRuleConsequent();
thenvelocidadectrvmalta->addOutput(mtbaixa);
FuzzyRule* fuzzyRule30 = new FuzzyRule(30, posicaoctrandvastevmalta,
thenvelocidadectrvmalta);
fuzzy->addFuzzyRule(fuzzyRule30);
// 30)FuzzyRule "SE posio = centro e velocidade da aste = alta ENTAO
velocidade do motor = muito baixa"
FuzzyRuleAntecedent* posicaoctrandvastevalta = new FuzzyRuleAntecedent();
posicaoctrandvastevalta->joinWithAND(ctr, valta);

141

FuzzyRuleConsequent* thenvelocidadembaixa3 = new FuzzyRuleConsequent();


thenvelocidadembaixa3->addOutput(mtbaixa);
FuzzyRule* fuzzyRule31 = new FuzzyRule(31, posicaoctrandvastevalta,
thenvelocidadembaixa3);
fuzzy->addFuzzyRule(fuzzyRule31);
// 31)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= muito baixa ENTAO velocidade do motor = baixa"
FuzzyRuleAntecedent* posicaodirmpandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaodirmpandvastevmtbaixa->joinWithAND(dirMP, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadedirmpvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadedirmpvmtbaixa->addOutput(baixa);
FuzzyRule* fuzzyRule32 = new FuzzyRule(32, posicaodirmpandvastevmtbaixa,
thenvelocidadedirmpvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule32);
// 32)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= baixa ENTAO velocidade do motor = baixa"
FuzzyRuleAntecedent* posicaodirmpandvastevbaixa = new
FuzzyRuleAntecedent();
posicaodirmpandvastevbaixa->joinWithAND(dirMP, vbaixa);
FuzzyRuleConsequent* thenvelocidadedirmpvbaixa = new
FuzzyRuleConsequent();
thenvelocidadedirmpvbaixa->addOutput(baixa);
FuzzyRule* fuzzyRule33 = new FuzzyRule(33, posicaodirmpandvastevbaixa,
thenvelocidadedirmpvbaixa);
fuzzy->addFuzzyRule(fuzzyRule33);
// 33)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= media baixa ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaodirmpandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaodirmpandvastevmbaixa->joinWithAND(dirMP, vmbaixa);
FuzzyRuleConsequent* thenvelocidadedirmpvmbaixaesq = new
FuzzyRuleConsequent();
thenvelocidadedirmpvmbaixaesq->addOutput(mbaixa);
FuzzyRule* fuzzyRule34 = new FuzzyRule(34, posicaodirmpandvastevmbaixa,
thenvelocidadedirmpvmbaixaesq);
fuzzy->addFuzzyRule(fuzzyRule34);
// 34)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= media ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaodirmpandvastevmedia = new
FuzzyRuleAntecedent();
posicaodirmpandvastevmedia->joinWithAND(dirMP, vmedia);
FuzzyRuleConsequent* thenvelocidadedirmpvmedia = new
FuzzyRuleConsequent();
thenvelocidadedirmpvmedia->addOutput(mbaixa);
FuzzyRule* fuzzyRule35 = new FuzzyRule(35, posicaodirmpandvastevmedia,
thenvelocidadedirmpvmedia);
fuzzy->addFuzzyRule(fuzzyRule35);
// 35)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= media alta ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaodirmpandvastevmalta = new
FuzzyRuleAntecedent();
posicaodirmpandvastevmalta->joinWithAND(dirMP, vmalta);
FuzzyRuleConsequent* thenvelocidadedirmpvmaltaesq = new
FuzzyRuleConsequent();

142

thenvelocidadedirmpvmaltaesq->addOutput(media);
FuzzyRule* fuzzyRule36 = new FuzzyRule(36, posicaodirmpandvastevmalta,
thenvelocidadedirmpvmaltaesq);
fuzzy->addFuzzyRule(fuzzyRule36);
// 36)FuzzyRule "SE posio = direita muito pequeno e velocidade da aste
= alta ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaodirmpandvastevalta = new
FuzzyRuleAntecedent();
posicaodirmpandvastevalta->joinWithAND(dirMP, valta);
FuzzyRuleConsequent* thenvelocidadedirmpvalta = new
FuzzyRuleConsequent();
thenvelocidadedirmpvalta->addOutput(media);
FuzzyRule* fuzzyRule37 = new FuzzyRule(37, posicaodirmpandvastevalta,
thenvelocidadedirmpvalta);
fuzzy->addFuzzyRule(fuzzyRule37);
// 37)FuzzyRule "SE posio = direita pequeno e velocidade da aste =
muito baixa ENTAO velocidade do motor = media baixa"
FuzzyRuleAntecedent* posicaodirpandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaodirpandvastevmtbaixa->joinWithAND(dirP, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadedirpvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadedirpvmtbaixa->addOutput(mbaixa);
FuzzyRule* fuzzyRule38 = new FuzzyRule(38, posicaodirpandvastevmtbaixa,
thenvelocidadedirpvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule38);
// 38)FuzzyRule "SE posio = direita pequeno e velocidade da aste =
baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaodirpandvastevbaixa = new
FuzzyRuleAntecedent();
posicaodirpandvastevbaixa->joinWithAND(dirP, vbaixa);
FuzzyRuleConsequent* thenvelocidadebaixaesq = new FuzzyRuleConsequent();
thenvelocidadebaixaesq->addOutput(media);
FuzzyRule* fuzzyRule39 = new FuzzyRule(39, posicaodirpandvastevbaixa,
thenvelocidadebaixaesq);
fuzzy->addFuzzyRule(fuzzyRule39);
// 39)FuzzyRule "SE posio = direita pequeno e velocidade da aste =
media baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaodirpandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaodirpandvastevmbaixa->joinWithAND(dirP, vmbaixa);
FuzzyRuleConsequent* thenvelocidadedirpvmbaixaesq = new
FuzzyRuleConsequent();
thenvelocidadedirpvmbaixaesq->addOutput(media);
FuzzyRule* fuzzyRule40 = new FuzzyRule(40, posicaodirpandvastevmbaixa,
thenvelocidadedirpvmbaixaesq);
fuzzy->addFuzzyRule(fuzzyRule40);
// 40)FuzzyRule "SE posio = direita pequeno e velocidade da aste =
media ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaodirpandvastevmedia = new
FuzzyRuleAntecedent();
posicaodirpandvastevmedia->joinWithAND(dirP, vmedia);
FuzzyRuleConsequent* thenvelocidadembaixaesq = new FuzzyRuleConsequent();
thenvelocidadembaixaesq->addOutput(malta);
FuzzyRule* fuzzyRule41 = new FuzzyRule(41, posicaodirpandvastevmedia,
thenvelocidadembaixaesq);

143

fuzzy->addFuzzyRule(fuzzyRule41);
// 41)FuzzyRule "SE posio = direita pequeno e velocidade da aste =
media alta ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaodirpandvastevmalta = new
FuzzyRuleAntecedent();
posicaodirpandvastevmalta->joinWithAND(dirP, vmalta);
FuzzyRuleConsequent* thenvelocidadedirpvmaltaesq = new
FuzzyRuleConsequent();
thenvelocidadedirpvmaltaesq->addOutput(malta);
FuzzyRule* fuzzyRule42 = new FuzzyRule(42, posicaodirpandvastevmalta,
thenvelocidadedirpvmaltaesq);
fuzzy->addFuzzyRule(fuzzyRule42);
// 42)FuzzyRule "SE posio = direita pequeno e velocidade da aste = alta
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirpandvastevalta = new
FuzzyRuleAntecedent();
posicaodirpandvastevalta->joinWithAND(dirP, valta);
FuzzyRuleConsequent* thenvelocidademediaesq = new FuzzyRuleConsequent();
thenvelocidademediaesq->addOutput(alta);
FuzzyRule* fuzzyRule43 = new FuzzyRule(43, posicaodirpandvastevalta,
thenvelocidademediaesq);
fuzzy->addFuzzyRule(fuzzyRule43);
// 43)FuzzyRule "SE posio = direita medio e velocidade da aste = muito
baixa ENTAO velocidade do motor = media"
FuzzyRuleAntecedent* posicaodirmandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaodirmandvastevmtbaixa->joinWithAND(dirM, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadedirmvmtbaixa = new
FuzzyRuleConsequent();
thenvelocidadedirmvmtbaixa->addOutput(media);
FuzzyRule* fuzzyRule44 = new FuzzyRule(44, posicaodirmandvastevmtbaixa,
thenvelocidadedirmvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule44);
// 44)FuzzyRule "SE posio = direita medio e velocidade da aste = baixa
ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaodirmandvastevbaixa = new
FuzzyRuleAntecedent();
posicaodirmandvastevbaixa->joinWithAND(dirM, vbaixa);
FuzzyRuleConsequent* thenvelocidadembaixaesq2 = new
FuzzyRuleConsequent();
thenvelocidadembaixaesq2->addOutput(malta);
FuzzyRule* fuzzyRule45 = new FuzzyRule(45, posicaodirmandvastevbaixa,
thenvelocidadembaixaesq2);
fuzzy->addFuzzyRule(fuzzyRule45);
// 45)FuzzyRule "SE posio = direita medio e velocidade da aste = media
baixa ENTAO velocidade do motor = media alta"
FuzzyRuleAntecedent* posicaodirmandvastevmbaixa = new
FuzzyRuleAntecedent();
posicaodirmandvastevmbaixa->joinWithAND(dirM, vmbaixa);
FuzzyRuleConsequent* thenvelocidadedirmvmbaixaesq = new
FuzzyRuleConsequent();
thenvelocidadedirmvmbaixaesq->addOutput(malta);
FuzzyRule* fuzzyRule46 = new FuzzyRule(46, posicaodirmandvastevmbaixa,
thenvelocidadedirmvmbaixaesq);
fuzzy->addFuzzyRule(fuzzyRule46);

144

// 46)FuzzyRule "SE posio = direita medio e velocidade da aste = media


ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirmandvastevmedia = new
FuzzyRuleAntecedent();
posicaodirmandvastevmedia->joinWithAND(dirM, vmedia);
FuzzyRuleConsequent* thenvelocidademediaesq2 = new FuzzyRuleConsequent();
thenvelocidademediaesq2->addOutput(alta);
FuzzyRule* fuzzyRule47 = new FuzzyRule(47, posicaodirmandvastevmedia,
thenvelocidademediaesq2);
fuzzy->addFuzzyRule(fuzzyRule47);
// 47)FuzzyRule "SE posio = direita medio e velocidade da aste = media
alta ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirmandvastevmalta = new
FuzzyRuleAntecedent();
posicaodirmandvastevmalta->joinWithAND(dirM, vmalta);
FuzzyRuleConsequent* thenvelocidadedirmvmaltaesq= new
FuzzyRuleConsequent();
thenvelocidadedirmvmaltaesq->addOutput(alta);
FuzzyRule* fuzzyRule48 = new FuzzyRule(48, posicaodirmandvastevmalta,
thenvelocidadedirmvmaltaesq);
fuzzy->addFuzzyRule(fuzzyRule48);
// 48)FuzzyRule "SE posio = direita medio e velocidade da aste = alta
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirmandvastevalta = new
FuzzyRuleAntecedent();
posicaodirmandvastevalta->joinWithAND(dirM, valta);
FuzzyRuleConsequent* thenvelocidademaltaesq= new FuzzyRuleConsequent();
thenvelocidademaltaesq->addOutput(alta);
FuzzyRule* fuzzyRule49 = new FuzzyRule(49, posicaodirmandvastevalta,
thenvelocidademaltaesq);
fuzzy->addFuzzyRule(fuzzyRule49);
// 49)FuzzyRule "SE posio = direita grande e velocidade da aste = muito
baixa ENTAO velocidade do motor = malta"
FuzzyRuleAntecedent* posicaodirgandvastevmtbaixa = new
FuzzyRuleAntecedent();
posicaodirgandvastevmtbaixa->joinWithAND(dirG, vmtbaixa);
FuzzyRuleConsequent* thenvelocidadedirgvmtbaixa= new
FuzzyRuleConsequent();
thenvelocidadedirgvmtbaixa->addOutput(malta);
FuzzyRule* fuzzyRule50 = new FuzzyRule(50, posicaodirgandvastevmtbaixa,
thenvelocidadedirgvmtbaixa);
fuzzy->addFuzzyRule(fuzzyRule50);
// 50)FuzzyRule "SE posio = direita grande e velocidade da aste = baixa
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirgandvastevbaixa = new
FuzzyRuleAntecedent();
posicaodirgandvastevbaixa->joinWithAND(dirG, vbaixa);
FuzzyRuleConsequent* thenvelocidademediaesq3= new FuzzyRuleConsequent();
thenvelocidademediaesq3->addOutput(alta);
FuzzyRule* fuzzyRule51 = new FuzzyRule(51, posicaodirgandvastevbaixa,
thenvelocidademediaesq3);
fuzzy->addFuzzyRule(fuzzyRule51);
// 51)FuzzyRule "SE posio = direita grande e velocidade da aste = media
baixa ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirgandvastevmbaixa = new
FuzzyRuleAntecedent();

145

posicaodirgandvastevmbaixa->joinWithAND(dirG, vmbaixa);
FuzzyRuleConsequent* thenvelocidadedirgvmbaixaesq= new
FuzzyRuleConsequent();
thenvelocidadedirgvmbaixaesq->addOutput(alta);
FuzzyRule* fuzzyRule52 = new FuzzyRule(52, posicaodirgandvastevmbaixa,
thenvelocidadedirgvmbaixaesq);
fuzzy->addFuzzyRule(fuzzyRule52);
// 52)FuzzyRule "SE posio = direita grande e velocidade da aste = media
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirgandvastevmedia = new
FuzzyRuleAntecedent();
posicaodirgandvastevmedia->joinWithAND(dirG, vmedia);
FuzzyRuleConsequent* thenvelocidademaltaesq2= new FuzzyRuleConsequent();
thenvelocidademaltaesq2->addOutput(alta);
FuzzyRule* fuzzyRule53 = new FuzzyRule(53, posicaodirgandvastevmedia,
thenvelocidademaltaesq2);
fuzzy->addFuzzyRule(fuzzyRule53);
// 53)FuzzyRule "SE posio = direita grande e velocidade da aste = media
alta ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirgandvastevmalta = new
FuzzyRuleAntecedent();
posicaodirgandvastevmalta->joinWithAND(dirG, vmalta);
FuzzyRuleConsequent* thenvelocidadedirgvmalta= new FuzzyRuleConsequent();
thenvelocidadedirgvmalta->addOutput(alta);
FuzzyRule* fuzzyRule54 = new FuzzyRule(54, posicaodirgandvastevmalta,
thenvelocidadedirgvmalta);
fuzzy->addFuzzyRule(fuzzyRule54);
// 54)FuzzyRule "SE posio = direita grande e velocidade da aste = alta
ENTAO velocidade do motor = alta"
FuzzyRuleAntecedent* posicaodirgandvastevalta = new
FuzzyRuleAntecedent();
posicaodirgandvastevalta->joinWithAND(dirG, valta);
FuzzyRuleConsequent* thenvelocidadealtaesq= new FuzzyRuleConsequent();
thenvelocidadealtaesq->addOutput(alta);
FuzzyRule* fuzzyRule55 = new FuzzyRule(55, posicaodirgandvastevalta,
thenvelocidadealtaesq);
fuzzy->addFuzzyRule(fuzzyRule55);
}
// Incio do programa principal
void loop(){
distatual = analogRead(sensorPin);//leitura do potenciometro para calculo
da velocidade
dist = analogRead(sensorPin);//leitura do potenciometro para calculo para
a entrada de posio
fuzzy->setInput(1, dist);//Executar a fuzzyficao 1 posio
fuzzy->setInput(2, velocidade); //Executar a fuzzyficao 2 velocidade
fuzzy->fuzzify(); //Executar a desfuzzyficao para cada sada, passando
seu ID
output = fuzzy->defuzzify(1);//Executar a defuzzificao 1 e quardar na
varivel output
//Cobdio para aplicao do PWM
if (dist < 511) { //Se pendulo cair para esquerda

146

analogWrite(9, output);//Aplica o valor de output na saida PWM 9


movimentando o pendulo para direita
analogWrite(10, 0);//Aplica 0 na sada PWM 10
}
else {
if (dist > 513){//Seno pendulo cair para direita
analogWrite(10, output);////Aplica o valor de output na saida PWM 10
movimentando o pendulo para esquerda
analogWrite(9, 0);//Aplica 0 na sada PWM 9
}
else{//condio de equilibrido valor de entrada entre 488 a 492
analogWrite(10, 0);////Aplica 0 no PWM 10 mantendo o pendulo parado
analogWrite(9, 0);//Aplica 0 na sada PWM 9 mantendo o pendulo parado
}
}
velocidade = abs(distatual-distanterior);//Calculo da velocidade
distanterior = distatual;//quarda o valor da leitura do potenciometro em
uma nova variavel
delay(40);//delay de 40ms
}//Fim do programa

#
$
"! "
$

"#

! "

$%&' ()$
*+,- (.+

"#

$%&' ()$
*+,- (.+

HISTRICO DE REVISO
DESCRIO

DATA

APROVAO

200
620

1150
780

POS. QUANT.

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

NOME
PROJETISTA JOAO CLAUDIO
REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
SIZE DESCRIO: MONTAGEM MECNICA
A3
DO PROJETO

TRABALHO DE CONCLUSO DE CURSO 2013


FOLHA 1 DE 26
ESCALA:

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

240

874

REV

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

1
20
17

20

20

18
19
7

18
23

21
4

19

11

22
5
9

20
12

14

16

10

13

17
11

18

15

7
19

16

19

14

18

23

24 02 PARAFUSO SEM CABEA M4x6mm


DIN 913
23 04 PINO GUIA PARALELO 4x20MM
ISO 8734
22 02
DIN 912
PARAFUSO M4x20
21 04
DIN 912
PARAFUSO M5x25
PARAFUSO M5x16
20 26
DIN 912
DIN 912
19 04
PARAFUSO M6x25
18 04
PARAFUSO M6x16
DIN 912
THK
17 02
GRAXETA
ALLPERF
PAMPA 40x80
16 04
ALLPERF
PERFIL 40x80x200mm
15 02
14 02
ALLPERF
PERFIL 40x80x160mm
ALLPERF
13 01
PERFIL 40x80x1000mm
CONJUNTO DO AMORTECEDOR
CONF. DESENHO
12 02
THK SR20W
PATIN
02
11
THK SR20W
10
TRILHO
01
09 01
AO 1045/ATI BRASIL
CREMALHEIRA
AO 1045/ATI BRASIL
08 01
ENGRENAGEM DO MOTOR
07 02
ALUMNIO
PLACA LATERAL
06 02
ALUMNIO
BASE LATERAL
05 01
ALUMNIO
SUPORTE DO MOTOR
04 01
ALUMNIO
BASE DO PNDULO
03 05
LATO
MASSOR
02 01
AO PRATA
HASTE DO PNDULO
01 01 MONTAGEM DA CAIXA DE REDUO CONF. DESENHO
NOMENCLATURA
MATERIAL/FABRIC.
POS. QUANT.

COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
COMERCIAL
MONTAGEM
COMERCIAL
COMERCIAL
SEM TRAT.
SEM TRAT.
JATO GRANALHA
JATO GRANALHA
JATO GRANALHA
JATO GRANALHA
USINADO
RETIFICADO
MONTAGEM
TRATAMENTO

TITULO:
6
16
16
15

NOME
PROJETISTA JOAO CLAUDIO
REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
SIZE DESCRIO: MONTAGEM MECNICA
A3
DO PROJETO

TRABALHO DE CONCLUSO DE CURSO 2013


FOLHA 2 DE 26
ESCALA:

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

12

HISTRICO DE REVISO
REV

DESCRIO

01 01
POS. QUANT.

CAIXA DE REDUO
NOMENCLATURA

DATA

APROVAO

153

113

CONF. DESENHO CONF. DESENHO


MATERIAL
TRATAMENTO
TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 3 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

109

85

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

1.13
1.6

1.17

14.1
1.2

1.11

1.9
1.14

1.1
1.11

1.5
1.2
1.1
1.16

1.10

1.8
1.15

1.12
1.4
1.11

1.3

1.11

1.17 01
BAOTER
POTENCIMETRO 10 VOLTAS
COMERCIAL
1.16 02
DIN 6885
FOSFATIZADO
CHAVETA 4x4x7
1.15 10
DIN 6799
ANL DE RETENO
FOSFATIZADO
1.14 04
DIN 913 OXIDAO NEGRA
PARAFUSO ALLEN SEM CABEA
ISO 7380 OXIDAO NEGRA
1.13 04 PARAFUSO ALLEN CABEA ABAULADA
1.12 01 PARAFUSO ALLEN CABEA SEXTAVADA
DIN 912
OXIDAO NEGRA
1.11 14 PARAFUSO ALLEN CABEA SEXTAVADA
DIN 912 OXIDAO NEGRA
1.10 04
SKF 6001-2Z
COMERCIAL
ROLAMENTO
1.9 01
ALUMNIO
ARM 075-6-6
ACOPLAMENTO FLEXIVEL
AO 1045/ATI BRASIL
1.8 01
SEM TRAT.
ENGRENAGEM 60 DENTES
AO 1045/ATI BRASIL
1.7 01
SEM TRAT.
ENGRENAGEM 19 DENTES
1.6 01
ALUMINIO
JATO GRANALHA
SUPORTE DO POTENCIMETRO
1.5 01
AO VND
RETIFICADO
EIXO DO POTENCIMETRO
1.4 01
AO VND
RETIFICADO
EIXO DO PNDULO
1.3 01
POLICARBONATO
POLIDO
BASE DOS MANCAIS
1.2 02
POLICARBONATO
POLIDO
MANCAL LATERAL
1.1 02
POLICARBONATO
POLIDO
MANCAL DOS ROLAMENTOS
NOMENCLATURA
MATERIAL/FABRIC. TRATAMENTO
POS. QUANT.
TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME
PROJETISTA JOAO CLAUDIO
REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
FOLHA 4 DE 26
ESCALA:
SIZE DESCRIO:

A3

REV

UNIP CAMPUS MARQUS- ENGENHARIA DE CONTROLE E AUTOMAO

1.7

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

+0,01

O 28 -0,00
(2x)

84

81,5

42

42
O7
(3x)

O 4,5
(3x)

22
0

0
0 8

12

4,5
(3x)

61 69

CORTE A-A
34,5

57 69

1.1

02

MANCAL DOS ROLAMENTOS

POLICARBONATO

POLIDO

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

45
69

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 5 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

105
15

105

12

M 4 (6x)

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

61
105

22
0

4,5 (4x)
04

57
1.2
8

02

POS. QUANT.

MANCAL LATERAL

POLICARBONATO

POLIDO

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

53
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 6 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

O 4,5 (4x)

O 7,5 (4x)

105

84

HISTRICO DE REVISO
REV

34,5

DESCRIO

DATA

APROVAO

BASE DOS MANCAIS

POLICARBONATO

POLIDO

NOMENCLATURA

MATERIAL

TRATAMENTO

61 69
M 4 (6x)
45
38,5

6,5
0
4
0

19

50

69

5 (4x)

O 5,5
(4x)

O9
(4x)

1.3

01

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 7 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

6,5
0

12
15

45
38,5

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

O 8 H7

12,4

4,7

20,4

R2

M5

1,3 (5x)

O 12

12

-0,01
-0,02

O 20

6,5 `2mm
67

40
107

1.4

01

POS. QUANT.

EIXO DO PNDULO

AO VND

RETIFICADO

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 8 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

0,5 X 45
(3x)

O 11 (5x)

RETITIFICAR

HISTRICO DE REVISO

20,4

R2

60

O 11 (5x)

DETALHE A

O 20

6,5 `2mm

0,5 X 45
(4x)
64,3
77,3

1.5

01

EIXO DO POTENCIMETRO

AO VND

RETIFICADO

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 9 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

12,4

1,3 (5x)

APROVAO

-0,01
-0,02

DATA

O 12

RETITIFICAR
7

DESCRIO

O 6 g6

REV

HISTRICO DE REVISO
REV

04

DATA

APROVAO

57

85
4

R 12,5
25

20
R 10 (2x)

R 4,5

0
25,5

61

95
1.6

R2

01

SUPORTE DO POTENCIMETRO

ALUMNIO

JATO GRANALHA

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.
44

44

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
91

CORTE B-B

NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 10DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

65

30

DESCRIO

HISTRICO DE REVISO
REV

DATA

APROVAO

O 12 H7

CORTE C-C

ENGRENAGEM 19 DENTES
MODULO 1
NGULO DE PRESSO 20
DISTRIBUIIDOR ATI BRASIL CD. BE401010019
DE= 21 mm
DP= 19 mm
MODELO B

1.7

01

ENGRENAGEM 19 DENTES

AO 1045

SEM TRAT.

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 11 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

14

DESCRIO

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

O 12 H7

ENGRENAGEM 60 DENTES
MODULO 1
NGULO DE PRESSO 20
DISTRIBUIIDOR ATI BRASIL CD. BE401010060
DE= 62 mm
DP= 60 mm
MODELO B

CORTE D-D

1.8

01

ENGRENAGEM 60 DENTES

AO 1045

SEM TRAT.

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 12DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

14

20

1 X 45

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

560

02

01

HASTE DO PNDULO

AO PRATA

RETIFICADO

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 13 DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

O 8 g6

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

O 8 H7

O 25

0,5 X 45

CORTE E-E

03

05

POS. QUANT.

MASSOR

LATO

USINADO

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

10

NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 14DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

M4
(2x)

HISTRICO DE REVISO

COORDENADAS DOS FUROS ROSCADOS M5


45,5

79,5

DATA

APROVAO

110,5 125

47
57,75

47

110

110

12

15

O 5,5
(7x)

0
15

O 9,5
(7x)

5,5 (7x)

0
15

M 5 (4x)

CORTE F-F

COORDENADAS DOS FUROS DE ALOJAMENTO DE PARAFUSO


47 62,5 78

04

110 125

01

POS. QUANT.

BASE DO PNDULO

ALUMNIO

JATO GRANALHA

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

13,5

0 15

DESCRIO

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

0,5 X 45
nos contornos
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 15DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

0 14,5

REV

HISTRICO DE REVISO
REV

50

APROVAO

15

13,5

DATA

O 7,5 (4x)

0
6,75

45,5
O 4,5 (2x)

O 18

H
0

14,5

45,5

67

R 10 (4x)

79,5

CORTE H-H

110,5 125

05

01

SUPORTE DO MOTOR

ALUMNIO

JATO GRANALHA

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

O 9,5
(4x)

CORTE G-G

O 5,5
(4x)

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 16DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

DESCRIO

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

M 6 (4x)
0

35
50
60

CORTE I-I

7,5

15

O 5 H7 `15 (2x)
06

02

POS. QUANT.

BASE LATERAL

ALUMNIO

JATO GRANALHA

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

15

25
20

55

65

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

80
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 17DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

15

60

12

HISTRICO DE REVISO
REV

APROVAO

15
O 6,5 (2x)

O 5 (2x)

DATA

0
7,5
20

40

5,5 (2x)

O 10,5
(2x)

CORTE K-K

15

25

55

65

80

07

02

POS. QUANT.
O 9,5
(2x)

CORTE J-J

PLACA LATERAL

ALUMNIO

JATO GRANALHA

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

O 5,5
(2x)

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 18DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

DESCRIO

HISTRICO DE REVISO
REV

12

APROVAO

90

DATA

M 4 (2x)

O 5 H7

25
13

CORTE L-L
ENGRENAGEM 16 DENTES
MODULO 1
NGULO DE PRESSO 20
DISTRIBUIIDOR ATI BRASIL CD. BE401010016
DE= 18 mm
DP= 16 mm
MODELO A

08

01

ENGRENAGEM DO MOTOR

AO 1045

SEM TRATAM.

NOMENCLATURA

MATERIAL

TRATAMENTO

POS. QUANT.

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 19DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

DESCRIO

HISTRICO DE REVISO
DATA

APROVAO

15

O9
(5x)

DESCRIO

O 5,5
(5x)

REV

300

500

700

900

5,5 (5x)

1000

MODULO 1
NGULO DE PRESSO 20
DISTRIBUIIDOR ATI BRASIL
CD. BE490110200
PASSO= 3,1416
09

01

POS. QUANT.

CREMALHEIRA

AO 1045

SEM TRATAM.

NOMENCLATURA

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 20DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

100

15

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

CONJUNTO DO AMORTECEDOR

CONF. DESENHO

CONF. DESENHO

NOMENCLATURA

MATERIAL

TRATAMENTO

96,5
88,5
46,5

12

02

POS. QUANT.

TITULO:

51

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

64
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 21DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

34

M 16 x1

19

HISTRICO DE REVISO
REV

DESCRIO

DATA

APROVAO

12.3

12.2

12.1

12.4
12.4

12.4 04
12.3 04
12.2 02
12.1 02
POS. QUANT.

PARAFUSO M6x20
PORCA DO AMORTECEDOR
AMORTECEDOR YSR-12-12-C
SUPORTE DO AMORTECEDOR
NOMENCLATURA

DIN 912
OXID. NEGRA
FESTO
NIQUEL QUIMICO
FESTO
NIQUEL QUIMICO
ALUMNIO JATO DE GRANALHA
CDIGO/FABRIC. TRATAMENTO
TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME
PROJETISTA JOAO CLAUDIO
REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 22DE 26
SIZE DESCRIO:

A3

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

12.3

HISTRICO DE REVISO
REV

DATA

APROVAO

15

34

45

O 10,5
(2x)

13

6,5

8 X 45

M O 16 x1

O 6,5
(2x)

A
0

12,5

CORTE A-A

0
10
25

12.1

35

POS. QUANT.

02

SUPORTE DO AMORTECEDOR

ALUMNIO

MATERIAL

NOMENCLATURA

JATEADO

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY

50
25

NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 23DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

DESCRIO

HISTRICO DE REVISO
DESCRIO

DATA

APROVAO

40

1000

13

01

PERFIL

NOMENCLATURA

POS. QUANT.

ALUMNIO

ANODIZADO

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 24DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

80

REV

HISTRICO DE REVISO
DATA

APROVAO

40

160

14

02

PERFIL

NOMENCLATURA

POS. QUANT.

ALUMNIO

ANODIZADO

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 25DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

DESCRIO

80

REV

HISTRICO DE REVISO
DESCRIO

DATA

APROVAO

40

200

15

02

PERFIL

NOMENCLATURA

POS. QUANT.

ALUMNIO

ANODIZADO

MATERIAL

TRATAMENTO

TITULO:

CONTROLE DE PNDULO INVERTIDO


POR LGICA NEBULOSA FUZZY
NOME

PROJETISTA JOAO CLAUDIO


REVISADO
David Luna
APROVADO Prof. Hugo

DATA
16/10/13
16/10/13
16/10/13

MONTAGEM MECNICA
DO PROJETO
TRABALHO DE CONCLUSO DE CURSO 2013
ESCALA:
FOLHA 26DE 26
SIZE DESCRIO:

A4

REV

UNIP CAMPUS MARQUS_ ENGENHARIA DE CONTROLE E AUTOMAO

80

REV

Vous aimerez peut-être aussi