Você está na página 1de 68

Eletrnica Digital

Setembro/Outubro 2011 I SABER ELETRNICA 456 I 67

editorial
Editora Saber Ltda.
Diretor Hlio Fittipaldi

Tecnologia e Custos
Nos ltimos anos os fabricantes de microcontroladores esto aderindo ao core ARM, tendendo este a se tornar um padro de mercado. A concorrncia obriga os fabricantes a perseguirem a meta de ter microcontroladores cada vez mais rpidos, eficientes e baratos se quiserem sobreviver. Apresentamos nos ltimos tempos alguns desenvolvimentos com micros de diversos fabricantes e, agora, descrevemos o Kinetis (da Freescale) em um circuito DAC Conversor Digital-Analgico elaborado pelo engenheiro e professor Edriano Carlos de Arajo. O comportamento da indstria eltrica e eletrnica durante o ano de 2011 foi analisado pela ABINEE, a qual apresentou um quadro preocupante e requer urgente interveno do Congresso Nacional para trabalharem em novas leis que diminuam a altssima carga de impostos e burocracia do poder pblico, o que provoca um Custo Brasil que transfere para o exterior os nossos empregos. O desemprego em grande volume no Brasil ainda poder ser evitado, se os parlamentares e o poder executivo souberem agir coordenadamente e sem o mesquinho jogo poltico. De acordo com os nmeros divulgados, o faturamento da indstria eletroeletrnica, neste ano, crescer 8% na comparao com 2010, totalizando R$ 134 bilhes, o que frustra as expectativas anteriores que projetavam, inicialmente, um crescimento de 13%, mas ainda bom se comparado com outros pases em crise. Este crescimento no espelha um aumento da produo local mas sim, na maioria dos casos, um aumento de importaes de produtos que eram fabricados aqui no Brasil, mas que devido aos altos custos gerados pela burocracia e impostos governamentais transferem empregos para o exterior. S para ilustrar com um componente que no requer alta tecnologia, temos os para-raios que em 2010 tiveram um volume de importao de US$ 10,5 milhes. Em 2011 houve um aumento de 113%, atingindo US$ 22,5 milhes.
Submisses de Artigos Artigos de nossos leitores, parceiros e especialistas do setor sero bem-vindos em nossa revista. Vamos analisar cada apresentao e determinar a sua aptido para a publicao na Revista Saber Eletrnica. Iremos trabalhar com afinco em cada etapa do processo de submisso para assegurar um fluxo de trabalho flexvel e a melhor apresentao dos artigos aceitos em verso impressa e online.

www.sabereletronica.com.br twitter.com/editora_saber Editor e Diretor Responsvel Hlio Fittipaldi Conselho Editorial Joo Antonio Zuffo, Redao Elizabete Rossi Reviso Tcnica Eutquio Lopez Colaboradores Alexandre Capelli Augusto Einsfeldt Csar Cassiolato Edriano Carlos de Arajo Eutquio Lopez Filipe Pereira Lus Fernando F. Bernabe Newton C. Braga Designers Carlos Tartaglioni, Diego M. Gomes Publicidade Caroline Ferreira

Hlio Fittipaldi

PARA ANUNCIAR: (11) 2095-5339 publicidade@editorasaber.com.br Capa Freescale Semicondutores/Divulgao Impresso Parma Grfica e Editora Distribuio Brasil: DINAP Portugal: Logista Portugal tel.: 121-9267 800 ASSINATURAS
www.sabereletronica.com.br fone: (11) 2095-5335 / fax: (11) 2098-3366 atendimento das 8:30 s 17:30h Edies anteriores (mediante disponibilidade de estoque), solicite pelo site ou pelo tel. 2095-5330, ao preo da ltima edio em banca.

Saber Eletrnica uma publicao bimestral da Editora Saber Ltda, ISSN 0101-6717. Redao, administrao, publicidade e correspondncia: Rua Jacinto Jos de Arajo, 315, Tatuap, CEP 03087-020, So Paulo, SP, tel./fax (11) 20955333. Associada da:

Atendimento ao Leitor: atendimento@sabereletronica.com.br


Os artigos assinados so de exclusiva responsabilidade de seus autores. vedada a reproduo total ou parcial dos textos e ilustraes desta Revista, bem como a industrializao e/ou comercializao dos aparelhos ou idias oriundas dos textos mencionados, sob pena de sanes legais. As consultas tcnicas referentes aos artigos da Revista devero ser feitas exclusivamente por cartas, ou e-mail (A/C do Departamento Tcnico). So tomados todos os cuidados razoveis na preparao do contedo desta Revista, mas no assumimos a responsabilidade legal por eventuais erros, principalmente nas montagens, pois tratam-se de projetos experimentais. Tampouco assumimos a responsabilidade por danos resultantes de impercia do montador. Caso haja enganos em texto ou desenho, ser publicada errata na primeira oportunidade. Preos e dados publicados em anncios so por ns aceitos de boa f, como corretos na data do fechamento da edio. No assumimos a responsabilidade por alteraes nos preos e na disponibilidade dos produtos ocorridas aps o fechamento.

Associao Nacional das Editoras de Publicaes Tcnicas, Dirigidas e Especializadas

2011 I SABER ELETRNICA 457 I 

ndice

16

Componentes
12 Conhea os Ultracapacitores

Microcontroladores
16 DAC - Conversor Digital-Analtico - no microcontrolador Kinetis, da Freescale

Eletrnica Aplicada
23 Curso sobre Arduino - Parte 3 30 Controle para Automao Industrial PLL, P, D, PID - Uma abordagem prtica sobre essas tcnicas 38 Reduzindo a EMI com Componentes Magnticos

40

Instrumentao
40 Curso sobre Osciloscpio - Parte 2 45 Medidas em RF Digital 48 Minicurso LabView - Parte 7

Projetos

48

54 Sistemas de Superviso e Aquisio de Dados

Desenvolvimento
58 Introduo ao VHDL 64 Fonte Fixa de 12 / 12,6 / 13,2 V x 10 A

Editorial Acontece Reportagem


ndice de anunciantes
Samtec ................................................................................... 5 Tato ..................................................................................... 9 Patola ................................................................................. 9 Globtek .............................................................................. 15 Metaltex .............................................................................. 21 Honeywell ........................................................................... 29 Mosaico ........................................................................... 51 Cika .................................................................................. 53

03 06 08
NovaSaber ....................................................................... 63 Infineon ....................................................................... 2 capa National Instruments .................................................. 3 capa Texas Instruments ...................................................... 4 capa

 I SABER ELETRNICA 457 I 2011

acontece
Agilent Technologies apresenta a 1 Aplicao
com Osciloscpio para o Protocolo Ethernet 64b/66b
A empresa norte-americana acaba de aumentar o seu portflio de aplicaes com osciloscpio, apresentando o software de decodificao e triggering para o protocolo Ethernet 64b/ 66b. A srie Infinium, da Agilent, a primeira e nica famlia de osciloscpios capaz de suportar a decodificao e o gatilhamento desse protocolo. At os dias de hoje, as poucas solues disponveis para esse protocolo, utilizando osciloscpio, destinavam-se a barramentos como IC, SPI, CAN ou esquemas de decoding baseados em 8b/ 10b. Os projetistas de 64b/ 66b trabalhavam com dificuldade em seus projetos, obrigados a fazerem a decodificao do protocolo manualmente. A aplicao N8815A Ethernet 10GbaseKR faz a decodificao em tempo real, permitindo que as equipes de projeto desenvolvam produtos de qualidade superior em menos tempo. O protocolo Ethernet 64b/ 66b utilizado principalmente pelas atuais tecnologias de transmisso e networking de dados. FibreChannel, Ethernet e Infiniband consistem nas trs tecnologias que se beneficiam do protocolo citado, justamente pelo seu menor custo. O software N8815A foi desenvolvido para ajudar os projetistas das tecnologias 10Gbase-KR e 40Gbase-KR, definidas pelo padro IEEE 802.3, as quais operam sobre vias de PCIs backplane.A nova aplicao compartilha a vantagem trazida pela srie Infinium, no que se refere busca e decodificao serial mltipla, obtida recentemente, o que permite aos projetistas observarem 4 dessas vias simultaneamente. Na maioria das indstrias eletrnicas americanas h equipes de projetistas e testadores que produzem projetos de hardware com uma crescente sofisticao. Isso se v nas fbricas de computadores, telecomunicaes , semicondutores, Espao Areo/ Defesa, automveis e wireless. Os osciloscpios consistem na ferramenta inicial dos engenheiros para testes e debug dos seus projetos, portanto, esses instrumentos precisam ter suas capacidade gerais de medida melhoradas continuamente de modo que os profissionais possam entregar produtos mais robustos. Alm de decodificar os sinais 64b/ 66b, o software N8815A tambm identifica apropriadamente sinais PRBS e seus comprimentos. Quando os projetistas querem ter certeza de que esto passando realmente um padro PRSB de um determinado comprimento para o seu sinal, o N8815A permite a eles apurarem o padro desejado e o seu comprimento exato. A aplicao tambm leva em conta correes de erros precoces. A aplicao N8815A Ethernet 10GBaseKR suportada pelos osciloscpios Infinium das sries 90.000 e 90.000X, da Agilent, sendo que esta ltima famlia possui os mais rpidos osciloscpios em tempo real da indstria, alcanando uma largura de faixa de 33 GHz. Esses novos equipamentos apresentam o menor rudo de fundo e menor jitter entre os osciloscpios industriais, garantindo assim uma preciso de medida superior.

Fontes Green Power da Globtek cumprem os requisitos de Eficincia Nvel V


A srie GT-41135 de Fontes de Alimentao tipo Plug-in, com Lminas intercambiveis e entradas IEC, est disponvel para venda, tanto no modelo de lmina nica (wall plug-in) quanto para comercializao na forma de kits, nas seguintes regies do mundo: Amrica do Norte, Europa, Reino Unido, Austrlia, China, Coreia, frica do Sul e Argentina. As fontes possuem configuraes mecnicas com dupla isolao obrigatria, fornecem tenses de sada reguladas desde 5,0 at 48,0 VDC em incrementos de 0,1 VDC: e proveem potncia de sada contnua at 12 W. Os modelos fechados so alojados em invlucros de policarbonato sem aberturas de ventilao, resistentes a impactos, com refrigerao trmica, nas dimenses de 43,5 x 74 x 35,3 (mm). Essa famlia de fontes caracteriza-se por apresentar: Tenso de Sada regulada com baixssimo ripple, Especificaes de Proteo internas contra sobrecorrente, sobretenso, sobretemperatura e outras. A srie GT-41135 admite Tenso de Entrada Universal de 90 a 264 VAC, e obedece aos requisitos das normas IEC/EN60950, de Labortorios Certificados (UL e cUL), bem como de outras agncias internacionais de segurana de modo a cumprir as Regulaes de EMI/RFI e as Diretivas de EMC/CE e FCC Classe B para aplicaes ITE. Todos os modelos trazem os logos das agncias e a marcao CE. Relatrios , incluindo CB, so produzidos por laboratrios certificados independentes. Projetos customizados e/ou modificados de acordo com o cliente tambm so possveis. A Globtek oferece agora uma garantia de 5 anos para os produtos desta srie.

Produtos

 I SABER ELETRNICA 457 I 2011

acontece
1 Apresentao do Ambiente completo de
Produo de Baterias de Alto Desempenho
A Productronica, principal feira mundial de novos produtos eletrnicos, acaba de apresentar o seu show especial Battery Manufacturing and power electronics, organizado em estreita colaborao com a Associao Produtrnica na Federao Alem de Engenharia VDMA, com a RWTH Aachen University, o Instituto Fraunhofer para Tecnologia da Produo e outras empresas lderes. O ambiente de produo da bateria completa, desde o revestimento do material do eletrodo at o mdulo concludo, foi apresentado pela primeira vez como parte de um evento comercial. Dessa forma , a Digatron Industrie-Elektronik, a ERSA, F&F Devoltec, Automao IBG, KUKA Roboter, KMS Automao, M+W Group, Manz, OMT, Reis Robotics, Siemens, UTL, e Viscom expuseram suas novas solues para a cadeia do processo de fabricao em uma rea de 200 m. O show especial foi realizado no Hall B2 da Productronica. Caracterizadas pelo alto desempenho, as baterias para os carros eltricos ou energias renovveis diferem muito das baterias para laptops ou telefones celulares, por exemplo, em termos de confiabilidade, tempo de vida til e tambm nos tamanhos. Isso, por si s, exige enormes avanos na produo, o tema- chave da Productronica. A soluo para o maior desafio, ou seja, a reduo de custos, requer uma estreita cooperao entre fabricantes, fornecedores, empresas de engenharia mecnica e institutos de pesquisa. A Productronica 2011 reuniu todos os participantes importantes do mercado e estabeleceu novas normas com respeito interao entre mquinas, processos, tecnologias de automao, produtos intermedirios, etc. e os produtos finais foram demonstrados durante o show especial. Com a ajuda de especialistas em virtual factoryda RWTH Aachen University, os visitantes da feira foram capazes de construir interativamente uma fbrica de baterias e at mesmo desenvolver alguns cenrios de custos. Alm disso, empresas e institutos comprometidos com o tema divulgaram as ltimas informaes sobre mercados, tecnologias e estratgias relativas produo de baterias no Frum da Inovao. A seguir, alguns nomes de Especialistas que participaram da feira Mundial Productronica 2011: Dr. Eric Maiser, Managing Director da VDMA Productronica e Chefe do Grupo Industrial de Produo de Baterias do Frum VDMA E-Motive; Prof. Dr. Achim Kampker, da RWTH Aachen University; Guido Feind, Chefe de Vendas da Siemens/ Sistemas de Automao Industrial; Dr. Michael Wenzel, Managing Director da Holding Grupo Reis; Rainer Kurtz, Managing Partner da Ersa e Presidente do Comit Tcnico Consultivo da Productronica; Norbert Bargmann, Presidente do Conselho de Administrao da Messe Mnchen Gmbh. Com efeito a partir do outono de 2012, a Messe Mnchen GmbH ampliar o seu portflio na Diviso de Novas Tecnologias; a nova feira de negcios orientados para o futuro Energy Storage ir abranger a cadeia completa para as tecnologias de armazenamento de energia e novas baterias. A Energy Storage ser realizada anualmente ao mesmo tempo que a Productronica, no Novo Centro de Feiras de Negcios de Munique, acompanhada por conferncias que duraro vrios dias. Ela dever ter incio no dia 13 de novembro e estendendo-se at 16 de novembro de 2012.

PCIM - Amrica do Sul


ser lanada no Brasil
A PCIM Amrica do Sul ser realizada pela primeira vez em So Paulo (Brasil), de 11 a 13 de setembro de 2012. Aps o sucesso da PCIM - Europa e da PCIM - sia, a empresa organizadora Mesago PCIM GmbH lanar o novo evento no Brasil visando aumentar o alcance internacional da principal Exposio/Conferncia sobre produtos de eletrnica de potncia, movimento inteligente, energias renovveis e controle da energia. O crescente mercado de produtos eletrnicos no Brasil oferece grandes oportunidades, tanto para empresas nacionais como internacionais, uma vez que existe um aumento na procura de informaes, troca de ideias e possibilidades de mostrar conceitos e solues. Com a PCIM - Amrica do Sul, a Mesago oferece s empresas e aos especialistas em tecnologias e cincias aplicadas uma plataforma ideal para atenderem s trs demandas citadas simultaneamente, comenta o Sr. Udo Weller presidente da empresa organizadora do evento. A frmula - conceito j comprovada anteriormente, combinando uma exposio de temas dirigidos com conferncias orientadas para as aplicaes em curso, ser replicada na PCIM - Amrica do Sul. O foco principal ser voltado para os semicondutores de potncia, componentes passivos, gerenciamento trmico, os novos materiais e suas aplicaes na rea de movimento, energias renovveis e controle da energia. O Conselho de Especialistas para a PCIM - Amrica do Sul, formado por 26 membros, liderado pelo Prof. Marcelo Lobo Heldwein do Instituto de Eletrnica de Potncia INEP, da Universidade de Santa Catarina (Brasil) em conjunto com o Prof. Ivo Barbi, chefe do INEP e com o Prof. Leo Lorenz da Infineon Technologies.

2011 I SABER ELETRNICA 457 I 

reportagem

Setor eletroeletrnico cresce em 2011, mas importaes preocupam

Hlio Fittipaldi

umberto Barbato, presidente da ABINEE e os diretores da entidade apresentaram os nmeros do faturamento da indstria eletroeletrnica, em 2011 que crescer 8% em comparao com 2010, totalizando R$ 134 bilhes. As expectativas do incio do ano previam um crescimento de 13%. J a balana comercial, do setor, dever fechar com um dficit de mais de US$ 32 bilhes, o que significa crescimento de 18% em relao ao ano passado. Esse dficit resultado das importaes que devero atingir US$ 40 bilhes e das exportaes que no chegaro aos US$ 8 bilhes. No transcorrer do ano, as perspectivas de se atingir 13% em 2011 foram aos poucos diminuindo como mostra a figura 1. O diretor da rea de Pesquisas e Estatsticas Econmicas da ABINEE o economista Luiz Cezar Elias Rochel em sua apresentao mostrou O quadro do Desempenho da Industria Eltrica e Eletrnica 2011 (figura 02) e observou que os estoques no tem variado tradicionalmente e um ano para o outro. Isto quer dizer que, o que aumentou, foi mesmo comercializado. Podemos observar que o investimento caiu 14,8% e tambm houve queda de produo fsica de produtos.

Na figura 3, mostra o ndice de Produo e Importao de Produtos Eltricos e Eletrnicos em 2011 onde podemos notar que a produo (92,6) menor que a importao (127,4). Estamos perdendo participao pois houve queda de 7,4% de produo fsica e cresceu 21% a importao. Em 2008 35% dos produtos eletroeletrnicos eram importados, hoje so 42%. Segundo Barbato, h alguns anos o faturamento refletia o nvel de atividade das empresas, hoje, porm, este ndice no est refletindo a situao efetiva pela qual passa o setor eletroeletrnico. preciso analisar, o quanto do mercado interno est sendo atendido por produto local ou por importao, disse. Incentivadas pelo real valorizado, as importaes de bens finais representaram 22% do faturamento total do setor, o que evidencia a dificuldade das

empresas para competir. Para o presidente da ABINEE, a situao j chegou a tal limite que apenas mexer no cmbio talvez no seja suficiente para reverter esta perda de competitividade. O que precisamos criar um programa de incentivos para estimular a compra de produtos de empresas instaladas no Brasil. As estatais e operadoras tm que ter vantagens para comprar daqui, disse. (Figura 05 e 06) Citando o ex-ministro Delfim Netto que, em reunio do Conselho Consultivo da ABINEE, abordou a necessidade do Brasil criar empregos para uma populao

F1.

 I SABER ELETRNICA 457 I 2011

reportagem

F2.

F3.

economicamente ativa de 130 milhes de habitantes em 2030, Barbato afirmou que com o atual processo de destruio do parque industrial instalado no pas, no haver capacidade para absorver esta mo de obra potencial.

Na ocasio, Barbato voltou a ressaltar que a realizao da Copa do Mundo e das Olmpiadas no pas deve servir como uma alavanca de oportunidades para as empresas instaladas no pas.

Um dos setores mais afetados pelo cmbio o de Gerao, Transmisso e Distribuio de Energia Eltrica (GTD), cujas importaes atingiram um crescimento de 54% em 2011. O diretor da rea na ABINEE, Newton Duarte, afirmou que os nmeros

F4.

F5.

F6.

F7.

2011 I SABER ELETRNICA 457 I 

reportagem

F8.

F9.

mostram uma tendncia horripilante. Partimos de um quadro de supervit, no qual importvamos metade do que exportvamos e, agora, pela primeira vez, fomos deficitrios. Isto aponta que as empresas no tm mais competitividade para atender os projetos daqui.

O diretor da rea de informtica, Hugo Valrio, afirmou que o problema de competitividade no pas no recente, mas vem se agravando por conta do Custo Brasil e do cmbio, que expe ainda mais os gargalos estruturais. Dessa forma, as empresas passam a buscar maior

automao e transferncia da produo para outras localidades com menor custo de mo-de-obra, o que pode gerar uma queda de empregos no pas, ressaltou. Para ele, necessrio que o governo encare esta situao por um prisma estratgico.

F10.

F11.

F12.

F13.

10 I SABER ELETRNICA 457 I 2011

reportagem

F14.

F15.

Segundo o diretor da rea de telecomunicaes da entidade, Paulo Castelo Branco, o processo de desindustrializao j est chegando ao segmento. As importaes representaram 33% do faturamento das empresas neste ano, enfatizou. Ele acrescentou, ainda, que, para atenuar o arrefecimento nas vendas de equipamentos, as empresas esto transferindo seus negcios para a parte de servios.

Destacando os trabalhos da ABINEE com o objetivo de fortalecer da indstria de componentes, o diretor da entidade, Aluzio Byrro, afirmou que sem o desenvolvimento de uma indstria desta rea no Brasil, a agregao de valor dos bens finais continuar reduzido. O diretor Newton Duarte, disse que precisamos dar isonomia empresa brasileira. Impostos, investimentos, juros, cmbio semelhantes aos nossos concorrentes

estrangeiros que no pagam isto, como os chineses.Almoar hoje em So Paulo mais caro do que em diversas cidades do mundo. Os funcionrios dos restaurantes ganham mais hoje? No. Ento por que isto? o custo Brasil. Precisamos de uma boa estratgia para o Brasil. A estratgia da marolinha, da conversa fiada no d mais. A presidente Dilma precisa agora por ordem na casa. E

2011 I SABER ELETRNICA 457 I 11

Componentes

Conhea os

Ultracapacitores
Quando nos referimos aos veculos autnomos e robs mveis, a primeira forma de fonte de energia que nos vem mente para alimentar esses equipamentos a bateria. No entanto, as baterias tm limitaes, e em busca de novas formas de fontes de energia algumas delas tm se revelado muito interessantes em diversas aplicaes. Uma delas o ultracapacitor. Com densidade de armazenamento altssima e uma capacidade de corrente extremamente elevada, essa nova fonte de energia para alimentar robs, veculos e outros equipamentos poder abrir novos campos para o projetista. Veja neste artigo o que so os ultracapacitores.
Newton C. Braga

t hoje a melhor forma de obtermos energia barata e em boa quantidade para movimentar robs, veculos e alimentar outros equipamentos eltricos e eletrnicos, conseguida atravs de baterias. Essas clulas qumicas convertem energia qumica em energia eltrica em um fluxo constante com um bom rendimento, mas possuem algumas limitaes. Uma bateria tem a corrente mxima limitada pela sua resistncia interna. Assim, ela no pode fornecer picos de corrente elevados, o que pode ser importante em algumas aplicaes. Se uma bateria tiver que fornecer uma corrente muito intensa por um curto intervalo de tempo, a sua tenso cair e a maior parte da energia passar a ser dissipada no seu interior, conforme ilustra a figura 1. Isso significa que elas so boas para fornecer energia em pequenas doses por intervalos prolongados de tempo. Entretanto, no somente em baterias que podemos armazenar energia eltrica. Um dispositivo que tambm pode armazenar cargas eltricas sob determinada tenso o capacitor.

O Capacitor

Um capacitor formado por duas placas de metal separadas por um material isolante denominado dieltrico. O material de que feito o dieltrico determina seu nome: capacitores de mica, cermica, polister, policarbonato, eletroltico, etc. Na figura 2 temos a construo bsica de um capacitor. A quantidade de cargas que um capacitor pode armazenar, ou seja, sua capacitncia, depende da superfcie das placas de metal (armaduras), da espessura do dieltrico e do material de que este feito atravs do que denominamos constante dieltrica. Desse modo, para armazenar mais cargas os capacitores devem ter grandes superfcies de armadura e a espessura do dieltrico deve ser a menor possvel. Uma tcnica muito usada para se conseguir boas capacidades de armazenamento, e portanto grandes capacitncias, consiste em se enrolar o dieltrico e as armaduras na forma de tubos, obtendo-se assim os chamados capacitores tubulares, conforme mostra a figura 3.

12 I SABER ELETRNICA 457 I 2011

Armazenando energia no capacitor

A energia armazenada em um capacitor depende tanto de sua capacitncia quanto da tenso em que as cargas se encontram, observe a figura 4. Essa energia pode ser calculada pela frmula: E = 1/2 x C x V2 Onde: E a energia, em joules (J); C a capacitncia do capacitor, em farads (F); V a tenso em que as cargas so mantidas, em volts (V). Ocorre, entretanto, que os capacitores comuns no so capazes de armazenar muita energia. Os maiores capacitores comuns so os eletrolticos. Neles, o dieltrico consiste de uma finssima camada de xido de alumnio que formada num eletrodo quando uma substncia qumica denominada eletrlito a ataca, veja a figura 5. Esse xido, alm de ser finssimo tem uma constante dieltrica algo elevada, o que permite a obteno de capacitncias altas. Os tipos comuns com tamanhos mostrados na figura 6 podem ter capacitncias de 1 F a 100 000 F, tipicamente. Maiores densidades de armazenamento podem ser obtidas com materiais de constantes dieltricas maiores tais como o tntalo, dando origem assim famlia dos capacitores de tntalo exibida na figura 7. Mas, mesmo assim, a energia armazenada em um capacitor de 100 000 F (0,1F) com uma tenso de 6 V irrisria, quando comparada a uma pilha. Um capacitor desse tamanho armazena: E = 1/2 x 0,1 x 36 E = 1,8 joules Isso significa que ele poderia alimentar uma lmpada de 6 V x 100 mA (600 mW) por apenas 3 segundos!
F4. Um capacitor armazena energia F8. O capacitor funciona como um reservatrio de energia "extra" F5. Construo de um capacitor eletroltico. F1. Energia perdida devido resistncia interna do gerador.

F6. Capacitores eletrolticos comuns F2. O capacitor bsico.

F7. Capacitores de tntalo. F3. Construo de um capacitor tubular.

Qual a vantagem de empregar capacitores como fontes de energia?

evidente que com essa capacidade de fornecimento de energia, um capacitor no pode substituir uma pilha comum ou bateria capaz de alimentar a mesma lmpada por horas seguidas.

No entanto, os capacitores possuem uma caracterstica que as baterias no tm: baixa resistncia interna. Os capacitores podem fornecer toda a energia armazenada de forma praticamente instantnea. Isso ocorre porque possuem uma resistncia interna muito baixa que no limita a corrente como sucede no caso das baterias e pilhas.

Assim, o capacitor poder ser til se precisarmos fornecer uma corrente muito alta a um circuito por um curtssimo intervalo de tempo. por este motivo que, na maioria dos circuitos eletrnicos, em paralelo com a bateria ligamos um capacitor de alto valor, que justamente para suprir os picos de corrente mais intensos em determinados momentos,

2011 I SABER ELETRNICA 457 I 13

Componentes
mente por todos os poros. Pode-se, ento, obter uma densidade de capacitncia at 100 vezes maior do que a que seria possvel com as tecnologias de fabricao dos capacitores eletrolticos convencionais. Em outras palavras, dois capacitores com mesmo tamanho e mesma tenso de trabalho, sendo um eletroltico comum e o outro um ultracapacitor, mostram que este ltimo tem uma capacitncia 100 vezes maior, atente para a figura 11. Outra caracterstica importante que obtida nos ultracapacitores sua baixssima resistncia em srie, conforme podemos ver pelo circuito equivalente da figura 12, o qual limita a corrente de pico de descarga. Os ultracapacitores tm resistncias da ordem de frao de milsimo de ohm. Assim, para um capacitor de 0,1 mohm com 2,5 V, possvel obter uma corrente de pico de 625 ampres! Um exemplo do que isso significa: um ultracapacitor do tamanho de uma moeda desenvolvido por uma empresa americana capaz de armazenar energia suficiente para fornecer (por alguns segundos) a corrente necessria para a partida de um motor de caminho! Aplicaes atuais e possveis para os ultracapacitores: Nobreak - Os ultracapacitores podem manter o circuito em funcionamento por alguns segundos durante curtas interrupes no fornecimento de energia. Alm disso, eles atuam como excelentes dispositivos para absorver surtos e transientes. Partida rpida para carro - Os ultracapacitores podem ser usados para a partida de carros sob quaisquer condies de tempo j que seu desempenho, diferentemente das baterias, no afetado pela temperatura. Alm do mais, o processo da partida contribui para a diminuio da vida til da bateria pela corrente exigida, sendo o capacitor uma alternativa para seu prolongamento. Pr-aquecimento do catalisador - Os catalisadores dos carros precisam de um certo tempo para se aquecerem e entrar em ao, evitando a emisso de gases poluentes. Com o uso do ultracapacitor no pr-aquecimento esses dispositivos entram em ao no momento em que o carro ligado.

F9. O ultracapacitor est entre as pilhas/ baterias e os capacitores comuns.

F10. Construo de um ultracapacitor.

F11. Os ultracapacitores possuem capacidade de armazenamento 100 vezes maior que os eletrolticos comuns.

F12. Circuito equivalente a um ultracapcitor.

o que no poderia ser feito com uma bateria comum, conforme mostra a figura 8.

Os Ultracapacitores

Se, por um lado, as baterias fornecem correntes pequenas durante intervalos de tempo longos e, por outro, os capacitores podem ser colocados para fornecer correntes intensas por curtssimos intervalos de tempo, o projetista poder, em breve, contar com uma soluo intermediria: o ultracapacitor. Empregando tecnologias apropriadas ser possvel multiplicar a densidade de armazenamento de energia e, com isso, fabricar capacitores de valores to elevados que permitam o armazenamento de quantidades de energia comparveis quelas que uma pilha ou bateria comum capaz de armazenar. Isso nos permitir colocar

o ultracapacitor como fonte de energia em um ponto intermedirio entre o capacitor comum e a bateria, observe a figura 9. Conforme j vimos, em um capacitor a capacitncia tanto maior quando maior a superfcie efetiva das armaduras e menor a espessura do dieltrico. Para se obter capacidades de armazenamento enormes, o que se faz no ultrapacitor utilizar um eletrodo poroso ( base de carbono), o qual imerso numa substncia condutora (eletrlito), veja exemplo na figura 10. O eletrlito penetra nos poros do carbono e, ao reagir, forma uma pelcula ultrafina, (da ordem de ngstrons) cobrindo internamente todos os poros e atuando assim como dieltrico. A superfcie total ocupada pelo dieltrico enorme, uma vez que se espalha interna-

14 I SABER ELETRNICA 457 I 2011

Sinalizao em boias e faris

alimentados por baterias solares durante o dia. Aplicaes onde carga rpida importante, tais como brinquedos e veculos mecatrnicos, etc. Backup de memrias - mantendo alimentadas RAMs, por longos intervalos de tempo. Uso automotivo, principalmente em veculos eltricos.

Aplicaes em Robtica e Mecatrnica

Existem casos onde se necessita de uma potncia muito grande por apenas alguns segundos ou mesmo frao de segundo, o que no pode ser conseguido a partir de baterias ou motores comuns.

Com os ultracapacitores isso possvel. Podemos citar como exemplo o caso de um rob de combate que pode requerer uma alta potncia apenas por um instante para acionar uma garra que esmague o adversrio, ou ainda para desferir um potente golpe. Um rob que seja usado em trabalhos de salvamento poder precisar de uma potncia instantnea elevada para arrombar uma porta ou vencer um obstculo encontrado em seu caminho. Na indstria, uma potncia instantnea muito alta pode ser usada para que uma ferramenta possa furar, cortar ou dobrar uma pea, mesmo que a mquina no disponha de uma fonte de capacidade elevada. A energia ficar armazenada no ultracapacitor, sendo depois aplicada ao ponto em que necessria apenas pela frao de segundo que resulte nos efeitos desejados. E

EMI - Uma arma?

EMI a abreviao de ElectroMagnetic Interference ou Pulso Eletromagntico. H alguns anos, os militares soviticos desenvolveram uma arma bastante simples baseada na sensibilidade dos aparelhos eletrnicos interferncia eletromagntica: em um conflito com os americanos, eles simplesmente detonariam uma bomba atmica entre a ionosfera e a atmosfera da Terra. Como a ionosfera funciona como uma das armaduras de um gigantesco capacitor onde a outra armadura a prpria Terra, contendo uma carga eltrica descomunal, a detonao colocaria em curto esse capacitor descarregando-o com uma fasca de propores enormes no local da exploso. Pois bem, essa fasca geraria uma corrente de descarga com a produo de um pulso eletromagntico to forte que queimaria todos os circuitos eletrnicos sensveis em um raio de muitos quilmetros. Assim, todos os equipamentos eletrnicos do inimigo, tais como radares, sistemas de guia de msseis, detectores e sistemas de comunicaes ficariam instantaneamente inutilizados!

Mas, e os deles? Os russos desenvolveram na ocasio uma tecnologia eletrnica totalmente baseada em vlvulas (o que no Ocidente era visto como atraso!), que no so sensveis aos pulsos eletromagnticos. Desse modo, os equipamentos deles no seriam afetados. A guerra fria acabou e parece que o projeto no tem mais finalidade, mas existe ainda um perigo: os computadores e outros sistemas sensveis de armazenamento de dados. Um terrorista que esteja levando um ultracapacitor numa maleta (o qual pequeno o suficiente para isso) e entre em um local com muitos computadores, poder (com o simples apertar de um boto) comandar um circuito de descarga de baixa resistncia formado por um pedao de fio ou uma bobina. O resultado ser uma corrente instantnea de vrias centenas ou milhares de ampres que gerar um potente pulso eletromagntico capaz de afetar computadores, discos rgidos, memrias, etc., apagando seu contedo ou paralisando seu funcionamento! Uma forma de terrorismo que deve ser prevista e analisada!

2011 I SABER ELETRNICA 457 I 15

DAC

Microcontroladores

com microcontrolador Kinetis, da Freescale


Aprenda a desenvolver um Conversor Digital-Analgico com um microcontrolador de ncleo ARM
Edriano Carlos de Arajo

Conversor Digital-Analgico

notvel o aumento de fabricantes produzindo microcontroladores equipados com ncleos ARM que, por sua vez, esto cada vez mais prximos de se tornarem padro de mercado. Para os fabricantes, fornecer microcontroladores rpidos, eficientes e baratos se tornou uma questo de sobrevivncia o que, naturalmente, faz com que invistam cada vez mais em pesquisa e desenvolvimento.

Os Cs Kinetis

Atualmente podemos encontrar microcontroladores repletos de perifricos, cada vez mais rpidos e baratos, o que no ocorria no passado. Seguindo esta tendncia de mercado, a Freescale Semicondutores lanou a sua mais recente famlia de microcontroladores Kinetis que, segundo a sua prpria definio, the gateway to the most scalable portflio of ARM MCUs in the industry. O Kinetis possui dois mdulos DAC de 12 bits que podem ser alocados para um pino de sada, entrada do mdulo comparador, conversor digital-analgico, amplificador operacional ou para outros perifricos. Conforme descrito anteriormente, os perifricos presentes nesta famlia de microcontroladores no esto simplesmente isolados no sistema executando funes simples, mas sim fazendo parte de um sofisticado e complexo conjunto de features que devolve ao

programador a capacidade de inovar e fazer a diferena, pois devido grande quantidade de possibilidades oferecidas pelo microcontrolador, o sucesso e a qualidade do produto sendo desenvolvido esto diretamente ligados, capacidade do profissional. Partindo deste princpio, ser proposta uma situao-problema simples que possa ser desenvolvida de maneira fcil e prtica, mas que proporcione ao leitor ferramentas suficientes para o entendimento deste perifrico. No sero abordados neste artigo a transferncia por DMA e a gerao de interrupes, ficando estes para uma segunda parte. Para o desenvolvimento destas tarefas utilizaremos o Kit de desenvolvimento KiwikStik (figura 1).

O mdulo DAC

A figura 2 mostra um diagrama de blocos do mdulo DAC. Suas principais features so: Tenso de sada em passos de 1/4096 Vin; Vin tenso de entrada selecionvel entre duas fontes distintas; Operao esttica do mdulo em modos STOP e WAIT; Buffer de 16 palavras com nveis mximo e mnimo selecionveis, capazes de gerar interrupes; E suporte a DMA.

16 I SABER ELETRNICA 457 I 2011

Situao-problema

Utilizando o mdulo DAC do Kinetis, gerar uma forma de onda senoidal de 5 kHz, analisando o impacto no uso da CPU e dos recursos aplicados no projeto.

Proposta A

Nesta primeira soluo, o mdulo ser configurado de maneira simples sem considerar o buffer de 16 palavras, ou qualquer outra caracterstica avanada do DAC, utilizando o perifrico como um mdulo isolado muito semelhante maioria dos DACs presentes em microcontroladores mais antigos. importante salientar que durante o desenvolvimento deste artigo, o Reference Manual do Kinetis K40 j estava em 1731 pginas e aumentando com o tempo, pois, como em toda famlia nova, ajustes so feitos de tempos em tempos. Portanto, mesmo lendo este artigo, de suma importncia se ter o Reference Manual prximo. Tambm importante entender que devido grande quantidade de registradores contidos nesta famlia de microcontroladores apenas iremos inicializar os registradores que afetam diretamente o nosso desenvolvimento, deixando os demais em sua condio de RESET.

F1. Kit de desenvolvimento KiwikStik.

Primeiro passo
Configurar o mdulo. Para um melhor entendimento ser utilizado como base o exemplo contido no CD que acompanha o livro (box 1): Configurar o clock para o perifrico. Neste caso, o clock habilitado setando o BIT 12 do registrador SIM_SCGC2; Se, por algum motivo, o clock do mdulo no seja habilitado, uma interrupo por Hard fault ser gerada, portanto muito importante que o clock do mdulo seja habilitado (figura 3a); Zerar o contedo dos registradores de controle. Este passo no obrigatrio, pois, em sua grande maioria os registradores nascem do Reset em zero (figura 3b, 3c e 3d); Configurar os registradores de controle (tabela 1).

F2. Diagrama de Blocos do Conversor Digital-Analgico (DAC). BOX1 : Configurao do mdulo DAC void inic_dac(void) { UInt8 offset; SIM_SCGC2 |= SIM_SCGC2_DAC1_MASK; // Habilita o clock do DAC1 DAC1_C0 = 0; // Limpa registradores de controle do DAC DAC1_C1 = 0; DAC1_C2 = 0; // Habilita DAC1 trigger por software e referencia2 // OBS: Referencia dois -> VDDAD DAC1_C0 |= DAC_C0_DACEN_MASK | DAC_C0_DACTRGSEL_MASK | DAC_C0_DACRFS_MASK; // Desabilita Buffer neste caso apenas o primeiro registrador usado DAC1_C1 = 0 << DAC_C1_DACBFEN_SHIFT; //Posiciona ponteiro do buffer na posio zero e o limite mximo para 15 DAC1_C2 |= DAC_C2_DACBFUP(0x0F) | DAC_C2_DACBFRP(0x00); }

Segundo passo
Configurar uma interrupo de tempo responsvel pela atualizao do mesmo e

Novembro/Dezembro 2011 I SABER ELETRNICA 457 I 17

Microcontroladores
criar uma sub-rotina para atualizar o valor de sada do DAC. Lembrando que, neste caso, apenas o primeiro registrador do buffer ser utilizado: Rotina responsvel por atualizar a sada do DAC. Ao atualizar o registrador DAC1_DAT0H a sada atualizada. O Kinetis possui um conjunto de 32 registradores intitulados DACx_DATxL E DACxDATxH, ambos de 8 bits, para cada um dos seus mdulos DAC. A representao deles neste artigo ocuparia muito espao, sendo melhor sua verificao no reference manual (box 2); Rotina de interrupo gerada a cada 6,25 s. Esta rotina baseada no timer PIT0, para maiores informaes sobre a sua inicializao vide captulo TIMER (box 3). Nesta rotina foi implementada uma tabela onde cada valor diz respeito a uma posio da senoide (figura 4); Rotina Principal inicializa a PLL, configura o TIMER e o DAC. A partir deste ponto uma interrupo gerada a cada 6,25 s atualizando o DAC e, consequentemente gerando uma senoide. O cdigo-fonte para a PLL e o Timer est presente no CD que acompanha o livro. Neste momento o programa ser gravado e executado e o resultado comentado a seguir:
int main(void) { inicializa_pll2(); Configura_Timer(); inic_dac(); // Inicializa DAC com buffers desabilitados for(;;) { }

a)

SIM_SCGC2 |= SIM_SCGC2_DAC1_MASK; // Habilita o clock do DAC1

b)

DAC1_C0 = 0; // Limpa registradores de controle do DAC

c)

DAC1_C1 = 0;

d)

DAC1_C2 = 0;

F3. Habilitao do clock do mdulo DAC.

BOX2 : Rotina de atualizao da sada do DAC void grava_dac(UInt16 dado) { DAC1_DAT0L = (UInt8)(dado); // carrega o byte menos significativo DAC1_DAT0H = (UInt8)((dado >> 8) & (0x0F)); // carrega o byte menos significativo }

BOX3 : Rotina de interrupo gerada a cada 6,25 s unsigned const int Dac_Tab1[]={4095,4050,3918,3704,3418,3071,2680,2262,1833,1415,1024,6 77,391,177,45,0, 45,177,391,677,1024,1415,1833,2262,2680,3071,3418,3705,3918,4050}; void Timer_Isr(void) { PIT_TFLG0 = 0X01; // limpa o flag da interrupo de tempo ++ Dac_Timer; // incrementa o ponteiro utilizado para carregar a tabela if (Dac_Timer > 31) Dac_Timer = 0; // zera o ponteiro caso fim da tabela grava_dac(Dac_Tab[Dac_Timer]); // efetivamente atualiza o valor do dac (void) PIT_TCTRL0; // prepara para que outra interrupo seja servida }

DAC1_C0 |= DAC_C0_DACEN_MASK | DAC_C0_DACTRGSEL_MASK | DAC_C0_DACRFS_MASK; DACEN Nvel lgico um habilita todo o sistema. 1 Este mdulo pode ser conectado a duas fontes de referencia VDDAD alimentao externa ou VREFs gerada internamente pelo Kinetis. muito importante observar que, se VREFs for utilizada simultaneamente para o DAC e para o ADC alguma degradao nas medidas feitas atravs do DACRFS ADC pode ser observada. Nvel lgico 0 VREFs selecionado. 1 Nvel lgico 1 VDDAD selecionado. Seleciona a maneira como um novo dado fornecido na sada do DAC. DACTRGSEL Nvel lgico zero, o trigger feito por hardware. Nvel lgico um, o trigger feito por software. DAC1_C1 = 0 << DAC_C1_DACBFEN_SHIFT; Nvel lgico zero desabilita o buffer. DACBFEN Nvel lgico um Habilita o Buffer. 1

DAC1_C2 |= DAC_C2_DACBFUP(0x0F) | DAC_C2_DACBFRP(0x00); Posio do ponteiro do buffer. Neste exemplo ser usado somente o DACBFRP 0 primeiro registro. Limite mximo do ponteiro do buffer. Neste caso esta configurao no DACBFUP 15 relevante, pois apenas o primeiro registrador ser utilizado. T1. Contribuio dos registradores de controle. 18 I SABER ELETRNICA 457 I 2011

Conforme mostra a figura 5 possvel observar que o objetivo foi alcanado e uma senoide de 5 kHz foi gerada na sada do DAC. importante salientar que para que o resultado fosse alcanado uma interrupo foi gerada a cada 6,25 s e uma posio de memria carregada, utilizando assim muito tempo de processamento da CPU para uma tarefa relativamente simples para o Kinetis.

BOX4 : Habilitao do modo swing void inic_dac_sw_trg(void) { UInt8 offset; SIM_SCGC2 |= SIM_SCGC2_DAC1_MASK; // Habilita o clock do DAC1 DAC1_C0 = 0; // Limpa registradores de controle do DAC DAC1_C1 = 0; DAC1_C2 = 0; // Habilita DAC1 trigger por software e referencia2 // OBS: Referencia dois -> VDDAD DAC1_C0 |= DAC_C0_DACEN_MASK | DAC_C0_DACTRGSEL_MASK | DAC_C0_DACRFS_MASK; // Habilita Buffer neste caso todos os 16 registradores da fila sero usados no modo SWING DAC1_C1 = DAC_C1_DACBFEN_MASK | DAC_C1_DACBFMD(1); //Posiciona ponteiro do buffer na posio zero e o limite mximo para 15 DAC1_C2 |= DAC_C2_DACBFUP(0x0F) | DAC_C2_DACBFRP(0x00); // Carrega a tabela nos 16 registradores do DAC for (offset=0; offset != 16; ++ offset) { DAC_DATL_REG(DAC1_BASE_PTR,offset) = (UInt8)(Dac_Tab[offset]); DAC_DATH_REG(DAC1_BASE_PTR,offset) = (UInt8)((Dac_Tab[offset] >> 8) & (0x0F)); } }

F4. Uma posio de senoide.

F5. Senoide de 5 kHz na Sada do DAC.

DACBFEN

DAC1_C1 = DAC_C1_DACBFEN_MASK | DAC_C1_DACBFMD(1); Nvel lgico zero desabilita o buffer. Nvel lgico um Habilita o Buffer.

Proposta B

Neste segundo exemplo ser utilizado um pouco mais dos features avanados do Kinetis, o objetivo ser o mesmo: gerar uma forma de onda senoidal de 5 kHz na sada do DAC, porm diminuindo um pouco mais o consumo em processamento exigido da CPU. Para que este objetivo seja alcanado o buffer de 16 words do Kinetis ser habilitado e o trigger por software realmente aproveitado: Assim como na primeira proposta, o primeiro passo ser configurar o mdulo. Algumas mudanas bsicas podem ser observadas nesta nova configurao como, por exemplo o buffer foi habilitado assim como o modo swing; Habilitando-se o modo swing (box 4) temos a nossa disposio 16 palavras do buffer e no 32 como utilizamos anteriormente, portanto a tabela ser carregada de tal forma que a cada 16 interrupes metade da senoide seja gerada, conforme ilustra a figura 6. Configurar os registradores de controle. A partir deste ponto apenas mudanas ou adaptaes no cdigo sero explicadas (tabela 2); Carregar a tabela no buffer do DAC. Ao contrrio da primeira proposta, a

DACBFMD

Seleciona o modo de trabalho do buffer os quais podem ser definido como. Normal mode: Neste modo o buffer se comporta de forma circular o ponteiro vai de zero a quinze e retornando ao zero reiniciando o ciclo. Modo ativado em 00. Swing mode: neste modo o ponteiro vai de zero a quinze no retornando ao 1 zero e sim decrescendo at zero. Modo ativado em 01. One-time scan: Neste modo o ponteiro incrementa a cada trigger e para na posio quinze. Modo ativado em 10. T2. Configuraes dos registradores de controle.

BOX5 : Carregamento nico da tabela 2 no buffer do DAC for (offset=0; offset != 16; ++ offset) { DAC_DATL_REG(DAC1_BASE_PTR,offset) = (UInt8)(Dac_Tab[offset]); DAC_DATH_REG(DAC1_BASE_PTR,offset) = (UInt8)((Dac_Tab[offset] >> 8) & (0x0F)); }

tabela ser carregada uma nica vez no buffer, excluindo a necessidade de acesso a memria pela CPU todas as vezes que um novo dado deva ser carregado (box 5); Reescrever a rotina de interrupo. Neste caso uma interrupo a cada 6,25 s ainda se faz necessrio, porm o nico processamento por parte da CPU ser o de acionar o trigger por software e o perifrico se encarregar de atualizar a sada do DAC (tabela 3); No h mudanas significativas na rotina principal:

Antes void Timer_Isr(void) { PIT_TFLG0 = 0X01; ++ Dac_Timer; if (Dac_Timer > 31) Dac_Timer = 0; grav a_dac(Dac_ Tab[Dac_Timer]); (void) PIT_TCTRL0; }

Depois void Timer_ Isr(void) { PIT_TFLG0 = 0X01; DAC1_C0 |= 1 << DAC_C0_DACSWTRG_SHIFT; (void) PIT_TCTRL0; } T3. Re-escrita da rotina de interrupo. F6. Uma metade da senoide gerada a cada 16 interrupes.

Novembro/Dezembro 2011 I SABER ELETRNICA 457 I 19

Microcontroladores

F7. Senoide de 5 kHz na sada do DAC.

int main(void) { inicializa_pll2(); Configura_Timer(); inic_dac_sw_trg();// Inicializa DAC com buffers habilitados e trigger por software for(;;) { }

Como observado, a rotina grava_dac

no se faz necessria assim como no ser mais preciso carregar uma posio da tabela Dac_Tab a cada interrupo. Atravs da figura 7 possvel notar que o resultado obtido foi o mesmo da proposta anterior, utilizando muito menos processamento da CPU.

Proposta C

Neste terceiro exemplo o objetivo ser o mesmo: gerar uma forma de onda senoidal de 5 kHz. O principal diferencial desta proposta ser o de que no haver consumo da CPU para gerao da senoide, sendo esta tarefa executada nica e exclusivamente pelos perifricos DAC e PDB. O mdulo PDB prov tempos controlados em funo de triggers externos ou internos, ou de pulsos programados para os perifricos ADC e DAC; utilizando estes TICs programados, podemos automatizar a gerao da senoide, onde cada atualizao do DAC ser disparada atravs de um TIC do PDB. Este mdulo no ser alvo de estudos neste momento, mas possvel verificar um pouco de sua estrutura atravs do Diagrama de Blocos da figura 8; Como de costume, o primeiro passo ser o de configurar os registradores de controle, e para tal utilizaremos

F8. Diagrama de blocos do mdulo PDB. BOX6 : Configurao dos registradores de controle void inic_dac_sw_trg(void) { UInt8 offset; SIM_SCGC2 |= SIM_SCGC2_DAC1_MASK; // Habilita o clock do DAC1 DAC1_C0 = 0; // Limpa registradores de controle do DAC DAC1_C1 = 0; DAC1_C2 = 0; // Habilita DAC1 trigger por hardware e referencia2 // OBS: Referencia dois -> VDDAD DAC1_C0 |= DAC_C0_DACEN_MASK | DACDAC_C0_DACRFS_MASK; // Habilita Buffer neste caso todos os 16 registradores da fila sero usados no modo SWING DAC1_C1 = DAC_C1_DACBFEN_MASK | DAC_C1_DACBFMD(1); //Posiciona ponteiro do buffer na posio zero e o limite mximo para 15 DAC1_C2 |= DAC_C2_DACBFUP(0x0F) | DAC_C2_DACBFRP(0x00); // Carrega a tabela nos 16 registradores do DAC for (offset=0; offset != 16; ++ offset) { DAC_DATL_REG(DAC1_BASE_PTR,offset) = (UInt8)(Dac_Tab[offset]); DAC_DATH_REG(DAC1_BASE_PTR,offset) = (UInt8)((Dac_Tab[offset] >> 8) & (0x0F)); } } DAC1_C0 |= DAC_C0_DACEN_MASK | DACDAC_C0_DACRFS_MASK; DACTRGSEL Seleciona a maneira como um novo dado fornecido na sada do DAC. Nvel lgico zero, o trigger feito por hardware. Nvel lgico um, o trigger feito por software. 0

20 I SABER ELETRNICA 457 I 2011

a mesma funo da proposta anterior, fazendo apenas uma pequena alterao comentada (box 6); Observe que a mscara DAC_C0_ DACTRGSEL_MASK, foi retirada do cdigo, fazendo com que o bit DACTRGSEL do registrador C0 fique em zero. Habilitando assim o trigger por hardware; Configurar o mdulo PDB (Programable Delay Block). O PDB um perifrico do Kinetis que torna possvel gerar triggers peridicos tanto para os mdulos ADC quanto DAC. Atravs deste perifrico tambm possvel gerar delays entre converses dos ADCs e converses do DAC. Devido a complexidade e versatilidade destes mdulos, aqui sero apenas configurados os registradores pertinentes ao DAC, conforme figura 9 (para maiores esclarecimentos consultar o capitulo PDB no Reference Manual). Como regra uma das dicas mais importantes : nunca se esquea de habilitar o clock do mdulo, caso

BOX7 : Habilitao do clock do mdulo PDB void Configura_Pdb(void) { // HABILITA CLOCK DO MDULO PDB SIM_SCGC6 |= SIM_SCGC6_PDB_MASK; // HABILITA O MODO DE CONTAGEM CONTINUA E TRIGGER POR SOFTWARE PDB0_SC = PDB_SC_CONT_MASK | PDB_SC_TRGSEL(15); // CARREGA O INTERVALO ENTRE TRIGGERS NO COMPARADOR DO PDB PDB0_DACINT1 = (uint32_t)0x013DUL; // HABILITA HABILITA GERAAO DE TRIGGERS PARA O DAC PDB0_DACINTC1 |= PDB_INTC_TOE_MASK; // HABILITA O MDULO PDB PDB0_SC |= (uint32_t)0x81UL; // INICIA A GERAO DE TRIGGERS ATRAVS DE UM SOFTWARE TRIGGER. PDB0_SC |= PDB_SC_SWTRIG_MASK; }

contrrio uma interrupo por hard falt ser gerada (box 7). Veja um exemplo do contador em modo contnuo na figura 10; Rotina de interrupo. No h mais necessidade de uma rotina de interrupo, o PDB se encarregara de gerar uma atualizao do DAC a cada 6,25 s; Rotina Principal. Foi retirada a rotina configura timer, a qual no mais se faz necessria e acrescentada

a rotina configura PDB que, a partir deste momento, ser responsvel pela atualizao do DAC (box 8); Conforme a figura 11, possvel notar que o resultado obtido foi o mesmo alcanado pelas propostas anteriores, com a vantagem de que a partir do momento em que o PDB foi inicializado No h consumo em processamento da CPU, ficando esta livre para executar outras tarefas.

Novembro/Dezembro 2011 I SABER ELETRNICA 457 I 21

Microcontroladores
Concluso
O Conversor digital-analgico do Kinetis pode ser configurado e utilizado de vrias formas, desde as mais simples at as mais avanadas, cabendo ao programador identificar a melhor maneira de se implementar a sua soluo. Ainda possvel otimizar o funcionamento do DAC fazendo uso de suas interrupes, ou at mesmo do DMA, quando a quantidade de dados a se transferir se torna uma preocupao. Em algum momento pode-se questionar a qualidade da senoide gerada, porm para o entendimento do projeto esta foi pensada desta maneira para proporcionar uma melhor compreenso do perifrico, e algumas solues podem ser utilizadas para melhorar a qualidade: Colocar um filtro passabaixas na sada do DAC, utilizando-se um resistor e um capacitor para obter uma senoide de 5 kHz perfeita; Aumentar a taxa de amostragem de sada, para isto deveramos ativar as interrupes e alimentar o buffer do Kinetis a cada vez que o buffer esvaziasse. E assim teramos consumo de processamento da CPU novamente; Ativar o DMA e program-la para sempre que o buffer esvazie, a mesma transfira um novo bloco de dados, desta forma sem consumo de processamento da CPU; Como, foi visto, cabe ao programador desenvolvedor achar a soluo que melhor lhe atenda tanto em tempo de aprendizado quanto em custo. E

PDB0_SC = PDB_SC_CONT_MASK | PDB_SC_TRGSEL(15) CONT Este Bit controla a maneira como o contador do PDB funciona. Nvel lgico zero, o contador do PDB ser inicializado no modo one-shot, onde o contador faz apenas uma varredura e aguarda o prximo trigger. Nvel lgico um, O contador ser inicializado no modo continuo. 1

F9. Configurao do mdulo PDB. BOX8 : Configurao da rotina principal int main(void) { inicializa_pll2();// Inicializa Inicializa PLL inic_dac_sw_trg();// Inicializa DAC com buffers habilitados e trigger por hardware Configura_Pdb();// Inicializa PDB for(;;) { }

TRGSEL

O trigger do modulo pode ser selecionado entre vrias fontes do Kinetis, tornando seu funcionamento muito flexvel, neste caso especfico o trigger utilizado ser por software. Atravs deste BIT possvel selecionar a fonte do Trigger Quinze seleciona por software.

15

PDB0_DACINT1 = (uint32_t)0x013DUL; INT Especfica o intervalo entre triggers aplicado ao DAC. Quando o valor especificado em INT for igual ao valor do contador um trigger gerado.

PDB0_DACINTC1 |= PDB_INTC_TOE_MASK; TOE EXT Habilita o gerador de trigger para o DAC. Nvel lgico um, Habilita Trigger externo para o gerador de intervalos do DAC. Nvel lgico zero, Ultiliza o mesmo trigger do PDB para o gerador de intervalos. 1 0 F11. Senoide de 5 kHz na sada do DAC.

F10. Contador do PDB em modo da rotina principal.

22 I SABER ELETRNICA 457 I 2011

Eletrnica Aplicada

Curso sobre

Arduino
Varivel do tipo Boolean
Uma varivel deste tipo apenas pode tomar dois valores distintos - true ou false. Esta varivel reserva 1 Byte de memria para a sua utilizao.

Par te 3

Dando continuiade ao curso apresentamos a descrio e sintaxe dos principais tipos de variaes e funes aplicveis no Arduino e tambm duas aplicaes prticas: o controle de um servomotor de posio e a converso analgico-digital para aquisio de sinais
Filipe Pereira

Sintaxe: boolean varivel = valor; Quando referido acima a valor,

estamos nos referindo a true ou false.

Exemplo: (1) int entrada_analogica=3,val,i=

0,f[10]; // Declarao de uma varivel do tipo integer, com o nome entrada_analogica inicializada com o valor 3, de uma varivel do mesmo tipo com o nome val no inicializada, i inicializada com o valor 0 e de um vetor f[] com 11 posies de memria do mesmo tipo (integer). (2) boolean teste = false; // Definio de uma varivel do tipo boolean inicializada com false (3) void setup() { (4) Serial.begin(9600); // Permite a inicializao da comunicao Srie (5) pinMode(entrada_ analogica,INPUT); // Permite definir o pino 3 como INPUT (6) } (7) void loop(){ (8) do{ // Permite definir o incio do ciclo (9) val=analogRead(entrada_analogica); // Permite a leitura analgica do valor do pino 3, atribuindo o seu valor varivel val (10) f[i]=val: //Atribui o valor da varivel val ao vetor f[i], ou

seja, permite preencher o mesmo com valores provenientes do pino analgico 3 (11) i++; // Incremento do valor de i inicialmente a zero, instruo semelhante a i=i+1 (12) teste = !teste; //modifica o valor atribudo varivel booleana teste ou seu oposto ( se true fica false, e vice-versa) (13)} (14) while(i<=10); // Se a condio se verificar, repete o ciclo; caso no se verifique, o ciclo termina (15) }

double exemplo_1 = 1.589; // Declara um varivel do tipo double e atribui-lhe o valor de 1.589

Varivel do tipo array e a Noo de string

considerado um array, um vetor de variveis do mesmo tipo ao qual se pode aceder atravs do seu respectivo ndice. O conceito de string comumente utilizado para designar um vetor de variveis do tipo char.

Sintaxe:
tipo_varivel nome_varivel[ndice] = valor; Ao declarar um ndice de valor 10, estamos na verdade reservando 11 espaos na memria para a varivel do tipo declarado. Pois, tambm, temos de contar com o ndice zero, este fator torna-se muitas vezes objeto de erro.

Varivel do tipo float vs double

A varivel do tipo float apresenta uma maior resoluo, face s variveis do tipo integer. So reservados em memria 4 Bytes (32 bits), para armazenar o seu contedo. Este tipo de varivel pode conter valores no intervalo de 3.402823510^38 e 3.402823510^38. Paralelamente, o conceito de double leva-nos a considerar uma varivel que possua o dobro da preciso de uma varivel do tipo float, apesar de no contexto de estudo a declarao de uma varivel do tipo float ou do tipo double serem iguais. Ou seja, no existe um incremento de preciso mantendo o mesmo espao reservado de memria para ambos os tipos utilizando o Arduino.

Exemplos: float exemplo[10]; // Declarao

Sintaxe: float varivel = valor; double varivel = valor; Exemplos:


float exemplo = 1.589; // Declara um varivel do tipo float e atribui-lhe o valor de 1.589

de um vetor com 11 espaos, do tipo float float exemplo_2[]={1,2,3,4,5,6,7,8,9 ,10}; // Declarao de um vetor do tipo float, que vai ter um ndice compreendido entre 0 e 9 char exemplo_3[11]=Hello World; // Declarao de uma string char exemplo_4[11]={H,E,L,L, O, ,W,O,R,L,D}; // Declarao de uma string com o contedo semelhante ao exemplo anterior, mas com outra forma de colocar o mesmo contedo

pinMode()

Ao recorrer a esta instruo, possvel configurar o modo de comportamento

2011 I SABER ELETRNICA 457 I 23

Eletrnica Aplicada
de um determinado pino, possibilitando assim defini-lo como input ou output, esta definio normalmente efetuada recorrendo funo void setup().

Industrial
O Modo acima descrito, pode ser
definido como: HIGH LOW o nome botao, inicializada com o valor 3 e de uma varivel do mesmo tipo com o nome val no inicializada com nenhum valor (2) void setup() { (3) Serial.begin(9600); // Permite a inicializao da comunicao Srie (4) pinMode(botao,INPUT); // Permite definir o pino 3 como INPUT (5) pinMode(13,OUTPUT); // Permite definir o pino 13 como OUTPUT (6) } (7) void loop(){ (8) val=digitalRead(botao); // Permite a leitura do valor do pino 3 digital, atribuindo o seu valor varivel val (9) if(val==1) // Ciclo if que testa a condio val>=500 (maior ou igual a 500) (10) digitalWrite(13,HIGH); // Se a condio for verificada, atribudo ao pino digital 13 a condio HIGH (5 V) (11) } (12) else{ // Caso a condio do ciclo if no se verifique (13) digitalWrite(13,LOW); // Se a condio no for verificada, atribudo ao pino digital 13 a condio LOW (0 V) (14) } (15) }

Sintaxe: pinMode(Nmero do pino, O Modo acima descrito pode ser


definido da seguinte forma: INPUT OUTPUT Modo);

Exemplo: (1) int botao=3,val; // Declarao de

Exemplo: (1) int botao=3,val; // Declarao de

uma varivel do tipo integer com o nome botao, inicializada com o valor 3 e de uma varivel do mesmo tipo com o nome val no inicializada com nenhum valor (2) void setup() { (3) Serial.begin(9600); // Permite a inicializao da comunicao Srie (4) pinMode(botao,INPUT); // Permite definir o pino 3 como INPUT (5) pinMode(13,OUTPUT); // Permite definir o pino 13 como OUTPUT (6) } (7) void loop(){ (8) val=analogRead(botao); // Permite a leitura analgica do valor do pino 3, atribuindo o seu valor varivel val (9) if(val>=500) // Ciclo if que testa a condio val>=500 (maior ou igual a 500) (10) digitalWrite(13,HIGH); // Se a condio for verificada, atribudo ao pino digital 13 a condio HIGH (5 V) (11) } (12) }

uma varivel do tipo integer com o nome botao, inicializada com o valor 3 e de uma varivel do mesmo tipo com o nome val no inicializada com nenhum valor (2) void setup() { (3) Serial.begin(9600); // Permite a inicializao da comunicao Srie (4) pinMode(botao,INPUT); // Permite definir o pino 3 como INPUT (5) pinMode(13,OUTPUT); // Permite definir o pino 13 como OUTPUT (6) } (7) void loop(){ (8) val=analogRead(botao); // Permite a leitura analgica do valor do pino 3, atribuindo o seu valor varivel val (9) if(val>=500) // Ciclo if que testa a condio val>=500 (maior ou igual a 500) (10) digitalWrite(13,HIGH); // Se a condio for verificada, atribudo ao pino digital 13 a condio HIGH (5 V) (11) } (12) }

digitalRead()

digitalWrite()

Possibilita estabelecer nos pinos configurados como output, atravs da instruo pinMode, a sada dos respectivos pinos com o valor lgico 1 (HIGH 5 V) ou com o valor lgico 0 (LOW 0V)

Possibilita a leitura de uma entrada digital especfica, retornando um valor no formato integer (int). Se obtivermos um valor de retorno de 1, estaremos perante uma leitura do tipo HIGH (valor lgico 1). Se tal no se verificar, e tivermos um valor de retorno igual a 0, estaremos perante uma leitura do tipo LOW (valor lgico 0).

Input/Output analgico analogRead()

Possibilita a leitura do valor analgico do pino especificado com um conversor A/D com uma resoluo de 10 bits, o que leva a que um valor compreendido entre 0 e 5 V esteja compreendido entre os valores inteiros (int) 0 e 1023. Sintaxe: Varivel do tipo inteiro = analogRead(Nmero do pino);

Sintaxe: Varivel do tipo integer = digitalRead (Nmero do pino);

Exemplo: (1) int botao=3,val; // Declarao de

Sintaxe: digitalWrite(Nmero do pino,


Modo);

Exemplo: (1) int botao=3,val; // Declarao de

uma varivel do tipo integer com

uma varivel do tipo integer com o nome botao, inicializada com o valor 3 e de uma varivel do mesmo tipo com o nome val no inicializada com nenhum valor (2) void setup() {

24 I SABER ELETRNICA 457 I 2011

(3) Serial.begin(9600); // Permite

a inicializao da comunicao Srie (4) pinMode(botao,INPUT); // Permite definir o pino 3 como INPUT (5) pinMode(13,OUTPUT); // Permite definir o pino 13 como OUTPUT (6) } (7) void loop(){ (8) val=analogRead(botao); // Permite a leitura analgica do valor do pino 3, atribuindo o seu valor varivel val (9) if(val>=500) // Ciclo if que testa a condio val>=500 (maior ou igual a 500) (10) digitalWrite(13,HIGH); // Se a condio for verificada, atribudo ao pino digital 13 a condio HIGH (5 V) (11) } (12) }

(5) pinMode(13,OUTPUT); // Per-

mite definir o pino 13 como OUTPUT (6) } (7) void loop(){ (8) val=analogRead(botao); // Permite a leitura analgica do valor do pino 3, atribuindo o seu valor varivel val (9) if(val>=500) // Ciclo if que testa a condio val>=500 (maior ou igual a 500) (10) analogWrite(9,255); // Instruo com a mesma funo que digitalWrite(9,HIGH) (11) } (12) else{ (13) analogWrite(9,0); // Instruo com a mesma funo que digitalWrite(9,LOW) (14) } (15) }

Sintaxe: delay (tempo que deseja efetuar a


pausa ms);

Exemplo: (1) int led_pin=13; // Declarao

Tempo millis()

analogWrite()

Possibilita a utilizao dos pinos PWM (Pulse Width Modulation) da placa Arduino. O sinal PWM mantm-se at ser modificado atravs de uma outra instruo que afete esse pino, a frequncia do sinal PWM criado de 490 Hz.

Possibilita o retorno da quantidade de tempo, em milissegundos, na forma de uma varivel do tipo unsigned long. O valor retornado representa o tempo que passou desde que o programa atual comeou a ser executado. O overflow (voltar ao incio, valor zero) do contador ocorre passado um tempo de 50 dias.

de uma varivel do tipo integer com o nome led_pin, sendo-lhe atribudo o valor 13 (2) void setup() { (4) pinMode(led_pin,OUTPUT); // Permite definir o pino 13 como OUTPUT (5) Serial.begin(9600); // Permite a inicializao da comunicao Srie (6) } (7) void loop(){ (8) digitalWrite(led_pin,HIGH); // atribudo ao pino digital 13 a condio HIGH (5 V) (9) delay(200); // efetuado um delay de 200 ms, antes de efetuar a prxima instruo (10) digitalWrite(led_pin,LOW); // atribudo ao pino digital 13 a condio LOW (0 V) (11) delay(600); // efetuado um delay de 600 ms, antes de efetuar a prxima instruo, neste caso a funo void loop() recomea (12) }

Sintaxe: analogWrite(Nmero do pino,

valor); O valor referido anteriormente varia entre 0 (sempre desligado), at ao valor 255 (que representa um sinal de 5 V constante).

Sintaxe: unsigned long tempo = millis(); Exemplo: (1) unsigned long tempo; // Decla-

Servomotor

Exemplo: (1) int botao=3,val; // Declarao

de uma varivel do tipo integer com o nome botao, inicializada com o valor 3 e de uma varivel do mesmo tipo com o nome val no inicializada com nenhum valor (2) void setup() { (3) Serial.begin(9600); // Permite a inicializao da comunicao Srie (4) pinMode(botao,INPUT); // Permite definir o pino 3 como INPUT

rada uma varivel do tipo unsigned long com o nome tempo (2) void setup() { (3) (..) (4) } (5) void loop(){ (6) tempo = millis(); // Atribui varivel tempo o valor, em milissegundos, desde que o sketch atual comeou a ser executado (7) }

delay (milissegundos)

Possibilita efetuar uma pausa no programa em execuo, por uma quantidade de milissegundos especificada. til para manter um estado durante uma certa quantidade de tempo.

Um servomotor um pequeno dispositivo, cujo veio pode ser posicionado numa determinada posio angular de acordo com um sinal de entrada. Enquanto esse sinal se mantiver constante e for enviado para o servomotor, este ir manter a sua posio angular. Ao variar o sinal de entrada, possibilita uma variao da posio angular do veio. Os servomotores so muito usados no controle de avies telecomandados, robs, barcos telecomandados, helicpteros telecomandados, entre outras possveis aplicaes. Veja figura 1. Um servomotor, como se pode ver na seguinte figura, possui trs entradas. Uma entrada a alimentao (normalmente 5 V para servomotores standard), outra ser a massa e a ltima que falta referir ser o sinal de entrada. Este sinal de entrada ser um pulso PWM, onde, fazendo-se variar o seu duty-cicle, podemos variar a posi-

2011 I SABER ELETRNICA 457 I 25

Eletrnica Aplicada
o angular do servomotor. Isto em servomotores de posio, pois tambm existem servomotores de rotao contnua. Nestes, a variao do duty-cicle far variar no a posio angular, mas a velocidade e sentido de rotao do servomotor. Existe possibilidade de modificar, sem grande dificuldade, um servomotor de posio para rotao contnua. Esta modificao permanente, no podendo ser reversvel. No entanto, o objetivo deste subcaptulo no se centra nisso, mas sim em como fazer a sua interao com a plataforma de desenvolvimento Arduino. (Figura 2) Pela anlise da figura anterior, podemos constatar que os componentes mais importantes de um servomotor de posio so os seguintes: Circuito de controle (Control Circuit) Potencimetro (Potentiometer) Motor DC (Motor) O circuito de controle, como o prprio nome indica, responsvel por controlar e mover o motor DC, com base nas informaes obtidas pela leitura do potencimetro e do sinal de entrada. O potencimetro, neste contexto, utilizado acoplado ao eixo de rotao para conseguir obter a posio angular do eixo. A enorme aplicabilidade dos servomotores leva a que, tendo em conta o universo da eletrnica, seja uma temtica obrigatria. Dessa necessidade surge a criao de uma biblioteca especfica para facilitar a operao com servomotores, que at j se encontra disponvel no Software de desenvolvimento Arduino. A biblioteca Servo.h utiliza os pinos 9 e 10 para fazer o controle dos respectivos servomotores, ao utilizar esta biblioteca (ao associar um servomotor a uma das duas sadas) no poder utilizar-se os pinos 9 e 10 para outras aplicaes. A seguir, vai ser explorada a sintaxe possvel para facilitar o uso desta biblioteca.

Industrial

F1. Servomotor: aspecto e smbolo.

F2. Componentes de um servomotor de posio.

Sintaxe: Servo.attach(Pino); Servo.attach(Pino, Valor do n-

Exemplo: (1) #include<Servo.h> // Declarao (2) Servo Exemplo; // Criao de


da biblioteca <Servo.h> uma varivel do tipo Servo, com o nome de Exemplo (3) void setup(){ (4) Exemplo.attach(10); //Atri buio da varivel do tipo Servo Exemplo, ao pino digital 10 (5) (..) (6) void loop(){ (7) (..) (8) }

Sintaxe das Instrues da Biblioteca <Servo.h> - attach()

Permite atribuir a um pino (pinos disponveis 9 ou 10), uma varivel do tipo Servo. A atribuio de uma varivel deste tipo vai ser necessria para controlar o respectivo servomotor.

gulo mnimo, Valor do ngulo mximo); Servo Varivel do tipo Servo pode ser declarada da seguinte forma: Servo nome_a_atribuir: Podendo atribuir qualquer nome escolha, o exemplo abaixo esclarecedor em relao a esta questo: Valor do ngulo mnimo Permite definir qual a largura mnima do pulso a utilizar, em microssegundos, que vai corresponder ao ngulo mnimo (0). Valor do ngulo mximo Permite definir qual a largura mxima do pulso a utilizar, em microssegundos, que vai corresponder ao ngulo mximo (180).

detach()

Permite eliminar a ligao entre uma varivel do Servo a um dos pinos possveis de utilizar pela biblioteca <Servo. h> (Pinos 9 e 10). Se nenhum dos pinos possveis estiver atribudo a uma varivel do tipo Servo, os pinos 9 e 10 podem ser utilizados normalmente.

26 I SABER ELETRNICA 457 I 2011

Sintaxe: Servo.detach(); Servo Varivel do tipo Servo pode Servo nome_a_atribuir;


ser declarada da seguinte forma:

(4) void setup(){ (5) Exemplo.attach(10); // Atri-

attached()

Exemplo: (1) #include<Servo.h> // Declarao (2) Servo Exemplo; // Criao de


da biblioteca <Servo.h> uma varivel do tipo Servo, com o nome de Exemplo (3) void setup(){ (4) Exemplo.attach(10); // Atribuio da varivel do tipo Servo Exemplo, ao pino digital 10 (5) (..) (6) void loop(){ (7) Exemplo.detach(); // Elimina a ligao entre a varivel do tipo Servo Exemploe pino digital 10 (8) analogWrite(10, 255); // Como nenhuma varivel do tipo Servo se encontra atribuda, podem-se usar as funcionalidades PWM dos pinos 9 e 10 (9) }

buio da varivel do tipo Servo Exemplo, ao pino digital 10 (6) Exemplo_2.attach(9); // Atribuio da varivel do tipo Servo Exemplo_2, ao pino digital 9 (7) (..) (8) void loop(){ (9) Exemplo.write(0); // Faz com que um servomotor de posio, por exemplo, se movimente para a posio correspondente ao ngulo 0 (1) Exemplo_2.write(90); // Faz com que um servomotor de rotao contnua, por exemplo, pare a sua rotao (11) }

Instruo que permite verificar se uma varivel do tipo Servo se encontra atribuda a um pino especfico.

Sintaxe: Estado (int) = Servo.attached(); Servo Varivel do tipo Servo pode Servo nome_a_atribuir; Estado 0,1 , ou seja, s pode tomar o valor true (valor 1) ou false (valor 0). ser declarada da seguinte forma:

Exemplo: (1) #include<Servo.h> // Declarao (2) int atribuido=0; // Declarao


da biblioteca <Servo.h> de uma varivel do tipo integer de nome atribudo, atribuindo-lhe o valor de 0 (3) Servo Exemplo; // Criao de uma varivel do tipo Servo, com o nome de Exemplo (4) void setup(){ (5) Exemplo.attach(10); // Atribuio da varivel do tipo Servo Exemplo, ao pino digital 10 (6) (..) (7) void loop(){ (8) atribuido = Exemplo.attached(); // Atribui o valor 1 varivel atribudo, caso a varivel do tipo Servo Exemplo se encontre associada a algum pino; caso contrrio retorna o valor 0 (9) if (atribuido ==1){ //Se a varivel do tipo Servo Exemplo estiver atribuda, a condio verificada (10) Exemplo.write(180); // Faz com que um servomotor de posio se movimente para a posio correspondente ao valor 180 (11) } (12) (..) (13) }

read()

Instruo que retorna o valor do ltimo ngulo utilizado, recorrendo instruo Servo.write(ngulo).

Sintaxe:
ngulo (int) = Servo.read(); Servo Varivel do tipo Servo pode ser declarada da seguinte forma: Servo nome_a_atribuir;

write()

Permite movimentar o eixo de um servomotor de posio para o ngulo pretendido. No caso de um servomotor de rotao contnua, o valor 0 corresponder velocidade de rotao mxima num sentido, o valor 180 a velocidade de rotao mxima noutro sentido e o valor 90 ser o ponto em que o servomotor se encontrar parado.

Exemplo: (1) #include<Servo.h> // Declarao (2) int angulo = 0; // Declarao de uma


da biblioteca <Servo.h> varivel do tipo integer de nome ngulo, atribuindo-lhe o valor de 0 (3) Servo Exemplo; // Criao de uma varivel do tipo Servo, com o nome de Exemplo (4) void setup(){ (5) Exemplo.attach(10); // Atribuio da varivel do tipo Servo Exemplo, ao pino digital 10 (6) (..) (7) void loop(){ (8) Exemplo.write(angulo); // Faz com que um servomotor de posio se movimente para a posio correspondente ao valor da varivel ngulo (9) angulo = (Exemplo.read() + 1); // Vai incrementado uma unidade ao ltimo valor de ngulo utilizado, recorrendo instruo Exemplo. write(angulo) (10) }

Sintaxe: Servo.write(ngulo); Servo Varivel do tipo Servo


pode ser declarada da seguinte forma: Servo nome_a_atribuir; ngulo [0,180]

Exemplo: (1) #include<Servo.h> // Declarao (2) Servo Exemplo; // Criao de


da biblioteca <Servo.h> uma varivel do tipo Servo, com o nome de Exemplo (3) Servo Exemplo_2; // Criao de uma varivel do tipo Servo, com o nome de Exemplo_2

Resumo

O uso desta biblioteca simplifica a operao com servomotores, o que no implica que a movimentao dos servomotores no seja feita com recurso diretamente instruo analogWrite(), ou seja, gerar os sinais PWM diretamente. Tal possvel, obviamente, porm mais trabalhoso, existindo esta biblioteca para simplificar esse trabalho de implementao.

2011 I SABER ELETRNICA 457 I 27

Eletrnica Aplicada

Industrial

F3. Converso analgico-digital.

F4. o clock de sistema dividido pelo prescaler.

Aquisio de Sinal: Converso A/D

Os microcontroladores utilizados at ao momento, nos modelos disponveis da plataforma de desenvolvimento Arduino, possuem conversores A/D com 10 bits de resoluo (informao retirada do datasheet dos respectivos microcontroladores), ou seja, uma entrada analgica cujo valor varia entre 0 V e 5 V, ter a sua correspondncia em binrio a valores entre 0 (0000000000) e 1023 (1111111111) respectivamente. O que nos leva a resolues na ordem dos 5 mV. Figura 3. Segundo informao disponvel no datasheet dos respectivos microcontroladores, a primeira converso A/D demora 25 ciclos de Clock enquanto as restantes demoram 13. Esta diferena acontece, pois a primeira converso A/D precisa de efetuar a inicializao do ADC. Analisando o referido anteriormente, e considerando um Clock de 1 MHz, podemos facilmente concluir o seguinte (ignorando a converso inicial):
106 13

F5. Contedo do registro ADCSRA.

Namostras por segundo =

= 77000

este o Clock de entrada que vamos obter no nosso conversor A/D. O Clock de sistema dividido por um fator de diviso (Prescaler ), sendo este sim o Clock que vamos obter no nosso ADC como podemos constatar pela figura 4. Mas existe uma forma de configurar este fator de diviso, fazendo variar o contedo do bit ADPS0, ADPS1 e ADPS2 (como se pode constatar pela anlise da figura anterior). Estes bits so parte inteADPS2 0 0 0 0 1 1 1 1 ADPS1 0 0 1 1 0 0 1 1

grante do registro ADCSRA, que pode ser visto na figura 5. As combinaes possveis, para os bits referidos anteriormente, podem ser resumidas pela tabela 1. Ou seja, o Clock de entrada do conversor A/D obtido atravs da seguinte condio:
Clock de Sistema (16 MHz) Fator de diviso (Prescaler)

input clock =

Ou seja, estamos perante uma taxa de 77 kHz. Analisando a taxa de amostragem obtida, e tendo em conta o referido no subcaptulo anterior, a frequncia mxima do sinal a amostrar deve ser menor que 38,5 kHz, de forma a respeitar o Teorema da Amostragem. O Arduino possui um Clock de sistema de 16 MHz, no entanto, no

ADPS0 0 1 0 1 0 1 0 1

Fator de diviso 2 2 4 8 16 32 64 128 T1. Combinaes possveis para os bits.

28 I SABER ELETRNICA 457 I 2011

Da equao anterior podemos retirar facilmente, e apenas efetuando o clculo acima referido para cada condio (Tabela 2). Pela anlise da tabela anterior podemos afirmar, ento, que a maior frequncia de amostragem que poderemos obter se situa nos 8 MHz, o que nos leva a concluir: para haver uma reconstruo sem perda de informao de um possvel sinal amostrado, o mesmo dever ter uma frequncia mxima de 4 MHz. Depois do abordado anteriormente, resta referir a forma de faz-lo, indicando a sintaxe a utilizar para alterar os registros referidos antes. A sintaxe utilizada no serve especificamente para alterar o contedo do registro ADCSRA, podendo a mesma sintaxe ser utilizada para alterar o contedo de outros registros com as respectivas adaptaes, claro. Os registros disponveis, e o seu contedo e funo, encontram-se no da-

tasheet do respectivo microcontrolador. Na sequn-cia sero descritas quais as instrues a utilizar, dando um exemplo de implementao.

Fator de diviso
2 4 8 16 32 64 128

Clock de entrada no ADC


8 4 2 1 0,5 0,25 0,125

Sintaxe utilizada:

bit); // Define o bit Nome do bit situado no registro Nome do registro a 1 (set bit) cbi(Nome do registro, Nome do bit); // Define o bit Nome do bit situado no registro Nome do registro a 0 (clear bit) O cdigo acima apresentado est elaborado de forma a medir, na realidade, qual o tempo gasto para efetuar uma converso A/D. Os valores foram obtidos por medidas experimentais, fazendo a mdia de 1000 amostras de tempo gasto na converso A/D (Valores obtidos por comunicao srie efetuando a aquisio e clculo com o Software MatLab). Os resultados obtidos so apresentados na tabela 3. E

sbi(Nome do registro, Nome do

T2. Valores de Clock de entrada no ADC.

Fator de diviso
128 64 32 16 8 4 2

Taxa de amostragem (kHz) (Valores aproximados)


8 16 31 50 63 83 125 T3. Valores obtidos na converso A/D.

2011 I SABER ELETRNICA 457 I 29

Eletrnica Aplicada

Industrial

Controle para

Automao Industrial
PLL, P, D, PID Uma abordagem prtica sobre essas tcnicas
O assunto controlepara sistemas automticos, principalmente com servomecanismos, um tanto curioso nos meios acadmico e industrial. Enquanto de um lado v-se clculo integral e transformadas de Laplace , do outro utilizam-se softwares de controle de movimento e supervisrios. Mas, afinal, qual o ponto comum entre esses dois mundos? Quais so as tcnicas, a melhor tecnologia e os circuitos prticos que executam esses controles? possvel tratarmos o assunto em uma linha ideal entre a teoria e a prtica? A inteno deste artigo responder a essas questes e mostrar, no campo, como funcionam e quais so as caractersticas das principais filosofias de controle: PLL, Proporcional, Integral, Derivativo, e PID. Como sempre, com propostas de solues prticas. Controle Phase-Locked Loop (PLL)
A primeira filosofia de controle que veremos o PLL. Esse nome pode ser traduzido de vrias formas, mas, elo travado em fase, no meu entender, o mais adequado. muito til nos sistemas de micro-ondas dos radares, desenvolvidos na Segunda Guerra Mundial. Contudo, devido ao grande nmero de estgios de um receptor super-heterdino (frequncias intermedirias), um mtodo mais simples era necessrio. Em 1932 um time de engenheiros ingleses desenvolveu um novo receptor, chamado homdino, mais tarde renomeado sincrdino. Basicamente, era composto de um oscilador local, um mixer, e um amplificador de udio. Quando o sinal recebido era misturado ao sinal do oscilador local, na mesma fase e frequncia (principal diferena com o super-heterdino), a sada era o sinal de udio pronto para ser amplificado. O nico problema com esse mtodo era garantir a preciso da frequncia de oscilao do oscilador local. Erros de driftnesse mdulo comprometiam a recepo. A soluo foi mudar o oscilador tradicional para um oscilador controlado por tenso (VCO). Dessa forma, as frequncias do sinal recebido e do mixer eram comparadas via um detector de fase. O erroentre elas gerava um sinal dc de correo que atuava sobre o VCO, corrigindo assim o erro de drift. Resumindo, o PLL composto por um oscilador controlado por tenso, cuja frequncia oriunda de um sinal DC de controle, gerado a partir da diferena de fase entre o sinal recebido e o prprio oscilador local. Caso ambos os sinais estejam em perfeito sincronismo, a tenso de correo (controle) DC dever ser nula.

Mas o que um elo travado em fase, afinal?

Alexandre Capelli

O PLL um sistema fechado de controle, cujo funcionamento baseado na deteco da diferena de fases entre a sada e a entrada de dois sinais, controlados atravs de um oscilador. Como mencionado logo na introduo deste artigo (e aproveitando, agora para explic-lo melhor), voc no encontrar muitas frmulas e teoremas matemticos nessa matria. Isso no significa, entretanto, que no os julguemos importantes, apenas desejamos passar ao leitor uma viso mais prtica sobre o tema , uma vez que a terica relativamente fcil de ser obtida. Para abordarmos sobre a tcnica de PLL, acredito que vale a penaestudar um pouco sobre sua histria. Antes de ser utilizada no controle de movimento, a tcnica de PLL foi (e at hoje ainda ) muito usada nos equipamentos de RF, principalmente em rdios. Na verdade, no incio de 1930, o rdio super-heterdino dominava o mercado. A prpria RCA (Radio Corporation of America) monopolizava o mercado deste tipo de equipamento que j ultrapassa o ambiente residencial. A tcnica do super-heterdino, por exemplo, foi

30 I SABER ELETRNICA 457 I 2011

Curiosamente, o primeiro artigo escrito de que se tem registro a respeito dos princpios de PLL foi de autoria do francs H. de Bellescise, em La Rception Synchrone. Algum tempo depois, em meados de 1940, o PLL comeou a equipar circuitos dos osciladores verticais de TV, chamados de Synchro-Lock. A partir da a tecnologia PLL foi estendida para outras reas, tais como: satlites, decodificadores FSK, controle de motores, robtica, e receptores AM e FM. Embora o foco deste artigo seja o controle de motores e servomecanismos, nos receptores de rdio que podemos contemplar bem esta evoluo. Quem mora na cidade de So Paulo, por exemplo, e tem mais de trinta anos de idade, j deve ter notado a diferena de performance dos rdios automotivos atuais quando se transita pela Avenida Paulista. Considerado um dos locais mais poludos com interferncias eletromagnticas no mundo, devido a macia presena de antenas transmissoras (TVs, rdios, servios, telefonia, etc.), no permitia o funcionamento de nenhum rdio por mais de 10 m de trajeto. Nem mesmo o famoso road-starconseguia um bom resultado. O jeito era desligar o rdio (ou colocar uma fita cassete) at sair do permetro prximo a regio. Hoje, porm, um rdio (normalmente tambm equipado com CD) opera sem interferncias do lado do prdio da Gazeta! Como? Com o PLL.

Essa tenso controlar o oscilador VCO, de modo a manter a frequncia de entrada igual a de sada (fe = fo), porm, com uma defasagem fixa entre ambas. A figura 2 mostra um exemplo tpico de defasagem de 90 , onde, nessa condio o circuito fica estvel, sincronizado e travado em fase. Em outras palavras, o PLL mantm as frequncias de entrada e sada iguais s custas de uma defasagem fixa. bom lembrar, entretanto, que a capacidade de manter a estabilidade limitada segundo uma faixa de variao de frequncia do sinal de entrada. Esse parmetro conhecido como lock range, e a figura 3 exibe um exemplo de comportamento do PLL, segundo Vc em funo de fe.

F1. Diagrama de um PLL bsico.

Comportamento Dinmico

Como funciona o PLL?

A figura 1 ilustra o diagrama de um PLL bsico, onde temos: um detector de fase, um filtro passabaixa, e um oscilador controlado por tenso. Sendo: Ve = sinal de entrada Vd = sinal de detector de fase para o filtro Vc = tenso de controle DC para o VCO Vo = sinal de retorno (sada) Temos que, na ausncia de sinal de entrada Ve, a tenso Vc zero, e o VCO oscila na frequncia central fo . Caso a frequncia do sinal de entrada (fe) varie, uma tenso Vd surgir na sada do detector de fase e, aps filtrada, se transformar em uma tenso de controle Vc.

O circuito PLL tem, por excelncia, um comportamento dinmico. Para cada variao de frequncia do sinal de entrada, uma resposta imediata da tenso de controle para o oscilador ocorre. fato, contudo, que o sinal de entrada pode ter sua frequncia invarivel (fixa). Alguns autores dizem que, nessa situao, o comportamento do PLL esttico, e apenas quando variaes sucessivas de fe acontecem que ele pode ser considerado dinmico. Particularmente, prefiro dizer que, quando temos fe fixa, o PLL menos dinmico(se que isso existe!) do que quando fe varia significativamente. A preocupao com isto no em vo, porm. Atravs da figura 4 podemos notar o comportamento do PLL sob variaes severas de fe. Como os circuitos no so perfeitos, atrasos e defasamentos so introduzidos resposta do circuito em variaes muito rpidas. Com certeza, este um fator a se considerar na utilizao desta tcnica.

F2. Exemplo tpico de defasagem de 90.

Construindo um PLL

Construindo separadamente cada bloco e, depois, interligando-os. O bloco detector de fase pode ser construdo com uma simples porta OUexclusivo. O filtro pode ser feito com um circuito RC. Os dois blocos j unidos so mostrados na figura 5. Quanto ao VCO, conforme ilustra a figura 6, montagem com um FET cujo gate excitado por uma rede de deslocamento

F3. Comportamento do PLL. 2011 I SABER ELETRNICA 457 I 31

Eletrnica Aplicada

Industrial
de fase. Notem que um dos capacitores um varicap, que muda sua capacitncia segundo a tenso a qual est submetido. Alterando sua capacitncia, automaticamente, a frequncia de operao do VCO muda na mesma proporo. Estrategicamente, a tenso de controle alocada exatamente sobre o varicap.

Sim, utilizando circuitos integrados projetados para essa funo. A figura 7 nos traz dois exemplos da National, o LM 565 em encapsulamentos metal cane dual-in-line. Outros tipos famosos so: NE560 a NE567 (Signetics), MC 4046 (Motorola) e NTE 989 (NTE Electronics).

No h um modo mais simples?

Acionamento CA com PLL

F4. Comportamento dinmico.

A figura 8 exibe a estrutura bsica de um acionamento do motor eltrico CA trifsico, cujo princpio de funcionamento baseia-se em PLL. A vantagem deste tipo de equipamento sobre um acionamento convencional uma maior estabilidade do torque mediante uma variao abrupta na carga. A etapa de potncia do dispositivo feita por um conversor tipo Buck, excitado por PWM. A corrente do motor monitorada por TCs (transformadores de corrente) e configuram umadas entradas do mdulo PLL. A outra entrada o sinal do encoder que, nesse sistema, informa a velocidade de rotao. Podemos analisar o comportamento dinmico desta tcnica atravs da figura 9.

F5. Detector de fase. 32 I SABER ELETRNICA 457 I 2011

F6. Oscilador controlado por tenso (VCO).

Observem que a posio rotrica tende a permanecer constante segundo a variao de carga. Tendo como ponto de partida a situao a, onde o motor est sob regime constante de carga, notamos a curva Lao centro do grfico. Quando reduzimos a carga repentinamente (situao b), a corrente de fase tambm diminui. Isso acontece devido a resposta do circuito PLL, que atua sob o circuito PWM. Este ltimo controla a potncia sobre o conversor Buck. Por outro lado, quando a carga acrescida em um intervalo de tempo pequeno, a corrente aumenta, causando o efeito contrrio. fcil visualizar que o deslocamento para a direita da posio rotrica (situao b), e para a esquerda (situao c) no foram significativos. Em outras palavras, mesmo aps variao da carga, o torque tendeu a se manter constante. Quanto mais rpido for o circuito PLL, tanto menor ser a variao do torque. Esse tipo de acionamento muito utilizado em servomotores que atuam no movimento do eixo (mquinas-ferramenta, por exemplo), ou em sistemas onde a preciso de velocidade de rotao necessria sem, contudo, exigir um sistema vetorial. Mais adiante mostraremos um quadro comparativo entre essa filosofia de controle e as demais.

F7. LM565H ou LM565CH.

Controle ON-OFF

Outro mtodo de controle, mais simples que o PLL, o tipo on-off. Devido a sua simplicidade as variaes so mais bruscas, e a ao menos precisa. Porm, h casos em que ele suficiente para um bom resultado. O que o leitor deve ter em mente a estrutura bsica de um sistema de controle. No importa qual tipo de ao esse controle exera, essa estrutura sempre a mesma. A figura 10 ilustra o diagrama de blocos bsico. Trs so os parmetros que comandam o processo: Valor desejado set point (SP) Valor real (PV) Algoritmo de controle. A ideia bsica simples, o controlador compara o valor desejado (SP) com o valor do processo (PV) e, atravs do algoritmo de

F8. Acionamento do motor eltrico CA trifsico.

F9. Comportamento dinmico do acionamento CA com PLL. 2011 I SABER ELETRNICA 457 I 33

Eletrnica Aplicada

Industrial

F10. Diagrama de blocos do controle ON - OFF.

F11. Sistema de controle ON - OFF.

controle, faz as devidas correes a fim de PVaproximar-se ao mximo de SP. O PLL, on-off, ao proporcional, entre outros, portanto, so os algoritmos de controle. Cada qual com sua filosofia de executar a correo. A figura 11 apresenta um esquema bsico de controle on-off. Uma cubatem sua temperatura controlada por meio de um resistor de aquecimento e um termistor. Programado determinado valor, ou melhor faixa de valores, assim que a temperatura atinge o set-point, o rel desligado. Uma vez que ela decaia, o rel ativa o resistor novamente. Esse controle muito comum nos equipamentos de refrigerao residenciais e industriais. A principal vantagem do on-off sua simplicidade, e sua desvantagem a falta de preciso e linearidade.

F12. Resposta do controle proporcional.

Controle Proporcional

Nem sempre possvel controlar um sistema atravs do on-off, entretanto. Muitas vezes, necessitamos de uma ao mais suave. Uma filosofia do controle deste tipo a proporcional. Sua ao pode ser vista na figura 12. Assim como no on-off, tambm h um momento de desligamento total, ou acionamento total, mas, nesse caso, h uma curva entre os extremos. Se fssemos utilizar o mesmo exemplo da cubateramos de substituir o rel por um TRIAC e, ao invs de simplesmente lig-lo (ON) ou deslig-lo (OFF), controlaramos seu ngulo de disparo. Ainda com base na curva, podemos ver no exemplo que a temperatura de

F13. Controle proporcional.

operao varia de 50 C a 550 C. J o raio de ao do controlador limita-se faixa de 150 C a 450 C, ento, entre os extremos ligado e desligado existe uma regio sem controle proporcional. O ponto central 300 C, com uma faixa de atuao de 150 C. Caso a temperatura caia abaixo dos 150 C, o TRIACentrar em plena conduo (ngulo de disparo prximo a 0). Por outro

lado, no intervalo, sua ao linear (suave) at atingir a temperatura de 450 C. Neste ponto, o controle desligar o TRIAC. A porcentagem de ao ativaneste caso pode ser determinada atravs dos valores limites. Ou seja, o rangede controle proporcional 300 C (450 C C). Dividindo esse valor pela variao de temperatura total do processo 500 C (550 C C), teremos 300/500 = 60 %.

34 I SABER ELETRNICA 457 I 2011

F14. Erro de off-set.

F15. Circuito integrador.

F16. Resposta do controle.

Outra maneira de explicarmos o comportamento desse controlador atravs do seu ganho (A), que a relao entre a porcentagem de variao do elemento controlador pela variao proporcional da grandeza. Assim temos:
100 ganho

Faixa proporcional =

No exemplo, o ganho :
100% (total do processo) 60% (range de controlador)

E como construir o circuito de controle proporcional?

Atravs de um circuito de diferena e um amplificador linear. A figura 13 mostra o modo clssico utilizando dois amplificadores operacionais. O primeiro deles faz a diferena entre o valor real e o desejado, que, ento, amplificada pelo segundo A.O. Embora no esteja na figura, o sistema fechado, isto , o sinal do termistor informa o valor real (PV) atravs da entrada inversora do primeiro operacional. Os valores dos resistores sero analisados mais adiante, atravs da tabela de ajustes e ganho.

F17. Controle PI.

Controle Integral

Outro conceito importante quando estudamos controle o erro de off-set. O erro de off-set uma caracterstica intrnseca a qualquer ao de controle de variveis.

F18. Circuito derivativo.

F19. Resposta do controle. 2011 I SABER ELETRNICA 457 I 35

Eletrnica Aplicada
Em termos prticos quando uma grandeza (temperatura, rotao de um motor, etc) varia, a resposta do circuito no se estabiliza no exato valor desejado do set point (SP), mas sim ligeiramente fora dele. Isto ocorre porque a malha de controle (amplificadores operacionais, por exemplo) possui um ganho. O erro de off-set inversamente

Industrial
proporcional ao ganho, pois os sinais so sempre tratados pelas entradas inversoras. Desta forma, quanto maior o ganho, menor o erro e vice-versa. Figura 14.

Ento, basta um circuito com ganho quase infinito, para o erro ser quase zero, certo?

F20. Ao PD.

Teoricamente sim, mas na prtica, quando aumentamos o ganho, o sistema comea a oscilar e perde estabilidade. Esse parmetro, portanto, deve ser ajustado de modo a prover o menor erro segundo a melhor estabilidade. No controle proporcional isto feito manualmente, mas h sistemas que exigem uma correo de off-set automtica e, mais do que isso, dinmica. Para esses casos, utilizamos uma ao conjunta entre o controle proporcional e a ao integral, o chamado controle PI. Eletronicamente, o circuito de ao integral o prprio integrador (figura 15). Atravs da figura 16 podemos contemplar as diferentes respostas das aes proporcional, integral e proporcional/integral segundo a variao de uma grandeza. O circuito completo de um controlador PI pode ser visto na figura 17, onde notamos que apenas um somador une as aes proporcional e integral.

Controle Derivativo

A principal caracterstica do controle derivativo a correo proporcional velocidade com que o desvio aumenta. Caso haja uma ao conjunta entre o proporcional e o derivativo, teremos uma correo antecipada a um desvio que ainda no aconteceu. Isto tambm chamado de supercorreo. Eletronicamente, a ao derivativa pode ser implementada atravs de um simples circuito derivativo (figura 18). Na figura 19 observamos as diferentes respostas entre as aes P, D, e PD segundo a alterao de uma grandeza. Notem que h uma reposta mais rpida em relao a PI. Um controlador PD pode ser construdo conforme o circuito da figura 20. Neste caso tambm um somador articula as aes proporcional e derivativa.

Controle PID
F21. Controle PID. 36 I SABER ELETRNICA 457 I 2011

H ainda uma outra necessidade de controle, onde processos com tempo morto(da ordem de dois minutos) so

elevados. Tempo mortosignifica que a faixa proporcional a ser estabilizada muito ampla e torna-se necessrio um tempo de ajuste grande para evitar-se oscilaes. Os controles PI e PD no apresentam bons resultados nesses casos. A soluo, portanto, o circuito PID (proporcional/ integral/derivativo) e que pode ser visto na figura 21. Assim como nos demais, uma etapa somadora articula as aes. O melhor ponto de operao (otimizao) para o controle PID ocorre quando temos um caimento de no tempo de ajuste segundo a variao da grandeza (figura 22).

F22. Calmento de 1/4 sintonia de Ziegler-Nichols.

F23. A oscilao fica constante em amplitude e perodo.

obtemos, aproximadamente, uma razo de caimento de .

Mas como posso determinar os ganhos, e, consequentemente os resitores dessas malhas de controle?

O mtodo de ajuste de controle em malhas fechadas mais conhecido e utilizado at hoje, foi desenvolvido em 1942 por J. G. Ziegler e N. B. Nichols, quando trabalhava na empresa americana Taylor Instrument Company, na cidade de Rochester, Nova Iorque. Esse mtodo, apesar de antigo, o mais empregado por instrumentistas e na rea de controle de processo, tanto nos discretos (manufatura), como nos contnuos. O mtodo consiste em determinar um ganho, chamado de ganho crtico (Gu), e um perodo designado como perodo crtico (Pu). Para isso, deve-se seguir alguns passos. Tira-se a ao integral e a derivativa do controlador, deixando apenas a proporcional. Mantm-se o controlador em modo automtico em malha fechada. Ajusta-se o ganho do controlador em um nvel baixo a fim de se evitar oscilaes no sistema. Aumenta-se o ganho, passo a passo, at que a oscilao fique constante em amplitude e perodo, como ilustrado na figura 23. Com base no ganho crtico e no perodo crtico, os ajustes do controlador so calculados para um ideal do controlador. Ziegler e Nichols observaram que em um controlador proporcional o ganho ideal a metade do ganho crtico, isto : Ganho (A) = Gu/2, com esse ganho

Tenho que, efetivamente, fazer todos esses passos para otimizar meu controle? No h um modo mais simples e objetivo?

e desvantagens de cada uma, servindo como guia ao tcnico ou engenheiro de aplicao.

Concluso

Ziegler e Nichols descobriram que as equaes mostradas na tabela 1 fornecem bons resultados para controle em malha fechada. Basta, ento, cumprir os respectivos ganhos.

Supondo que eu queira controlar motores atravs dos sistemas em malha fechada, como posso saber qual a melhor filosofia segundo minha necessidade?

A tabela 2 abaixo deve proporcionar uma comparao entre vantagens


Ganho proporcional Controle (P) Controle (PI) Controle (PID) Gu/2 Gu/2,2 Gu/1,7

A teoria, regras prticas e demais conceitos tratados nesta matria, so vlidos tanto para processos da manufatura quanto contnuos. O circuito de controle PID, por exemplo, o mesmo para acionar um servomotor de um eixo robtico, ou um TRIAC para resistnciade aquecimento de um forno. Em breve, analisaremos outros sistemas, tais como V I e EMF. Esperamos, porm, ter desmistificado as famosas funes de transfernciaabordadas com tanta nfase em teoria de controle, e mostrar um pouco sobre a aplicao real em campo. E
Tempo Integral 1,2 Pu 2/Pu Pu/8 T1. Equaes para o controle Tempo Derivativo

Controle P Alta Preciso Mdia Baixa Velocidade Alta Baixa O Alto Custo Mdio Baixo O O O T2. Comparativo para diversos controles. O O O O O O O O PI PID PLL O

Boa performance em baixa rotao

2011 I SABER ELETRNICA 457 I 37

Eletrnica Aplicada

Reduzindo a EMI
Tcnicas de layout e de distribuio de componentes em uma placa podem reduzir em muita a EMI gerada por circuitos. No entanto, quando mesmo essas tcnicas no reduzem a EMI aos nveis desejados, componentes apropriados devero ser usados. Uma famlia importante de componentes empregados na reduo da EMI aquela representada pelos tipos que se baseiam no magnetismo, ou seja, pelos componentes indutivos ou magnticos.Neste artigo trataremos de alguns desses componentes, baseados em ampla documentao do catlogo de Indutores e Produtos Magnticos da Vishay

Energia

com componentes magnticos


Newton C. Braga

m artigo anterior, nesta mesma Revista, mostramos como os procedimentos apropriados de disposio de trilhas, componentes e circuitos numa placa de circuito impresso podem ajudar a reduzir de forma acentuada os problemas de EMI (Interferncia Eletromagntica). No entanto, nem sempre possvel reduzir os problemas aos nveis aceitveis somente com esses procedimentos, caso em que componentes adicionais devero ser empregados. Em especial destacamse os componentes indutivos, ou seja, aqueles baseados em bobinas e ncleos de ferrite que, pelas suas propriedades, podem cortar ou desviar sinais de frequncias que no devam ser irradiadas ou no devam passar para uma linha de alimentao. Os componentes indutivos usados com a finalidade de se reduzir a EMI podem ser classificados em quatro grandes grupos de que trataremos a seguir.

tanto como elementos de filtros quanto no armazenamento de energia, conforme mostra a figura 1. Quando o problema interferncia irradiada, os indutores mais eficientes so os do tipo toroidal, veja a figura 2. Uma caracterstica importante deste tipo de componente que, pela sua construo ele menos sensvel interferncia que pode ser induzida pela presena de componentes prximos. De fato, se houver induo, o toroide faz com que as tenses induzidas tenham a mesma intensidade, mas fases opostas, cancelando-se, portanto.

Choques em modo comum e diferencial

Inutores

Dos componentes indutivos, os choques ou indutores so os mais utilizados. Esses componentes podem ser usados

Os choques em modo comum e diferencias so empregados para eliminar rudos que se propagam atravs de um par de condutores. Rudo em modo comum, conforme j vimos em artigo publicado nesta revista, aquele que aparece nos dois condutores de uma linha, conforme ilustra a figura 3. Os choques para rejeio de sinais em modo comum devem ser colocados

F1. Uso de choques ou indutores. 38 I SABER ELETRNICA 457 I 2011

F2. Indutor do tipo toroidal.

os mais prximos quanto seja possvel tanto do receptor quanto do transmissor. Tambm podem ser colocados na entrada de sinal na prpria placa de circuito impresso. Escolhendo um choque apropriado, possvel, inclusive, fazer o casamento de impedncias entre a linha de sinal e o circuito.

F4. Uso de transformadores.

Trasnformadores

Os transformadores tm como principal vantagem nos circuitos onde so usados o fato de proporcionarem isolamento entre a linha de sinal e o circuito de processamento desse sinal, conforme sugere a figura 4. Outra vantagem est na eliminao das diferenas entre os potenciais de terra que podero existir entre o circuito transmissor e o circuito receptor do sinal. Um ponto importante em que a imunidade ao rudo se faz necessria, so os circuitos de excitao de tiristores. Alm de proporcionar um isolamento entre o circuito de potncia e o circuito de controle, normalmente baseado em lgica com microcontroladores ou microprocessadores, quando operando com pulsos, ele prover uma imunidade muito maior para componentes como IGBTs, dada suas capacitncias algo elevadas de entrada.

F3. Choques em modo comum e diferencial.

F5. Anis e chips de ferrite.

F6. Filtros LC e LCR.

Como selecionar componentes para evitar EMI

Ferrite beads

Os anis de ferrite para montagem em superfcie (SMD) ou chips de ferrite, como tambm so chamados, so usados para eliminar a RF que pode estar presente em linhas de sinais ou alimentao de placas de circuito impresso, observe a figura 5. Os anis de ferrite na forma de chips SMD se comportam como dispositivos de alta impedncia para os sinais de RF, mas apresentam uma baixssima resistncia para a corrente contnua e sinais de baixas frequncias. Esses componentes so especificados normalmente para a impedncia que apresentam em uma frequncia de 100 MHz. Assim, dependendo da aplicao, ser necessrio que o projetista analise os grficos de comportamento dos componentes visados para verificar como eles se comportam na frequncia dos sinais que devem passar ou que devem ser rejeitados.

Antes de escolher quais componentes usar e de que forma, preciso identificar os locais do circuito onde o rudo deve ser eliminado. Existem reas dos circuitos que podem atuar como antenas irradiando os rudos, assim como outras reas que podem atuar como antenas recebendo os rudos. Ento, o projetista deve fazer um estudo do melhor local para posicionar o componente que ir eliminar um possvel sinal que esteja sendo transmitido ou captado indevidamente. Nos circuitos onde uma pequena atenuao desejada, os componentes indutivos apenas j podem proporcionar os resultados desejados. No entanto, nos circuitos mais complexos de alta velocidade, poder ser necessrio combinar componente indutivos com capacitivos, formando assim filtros. Filtros LC e LCR, veja a figura 6, devem ser considerados. Um ponto importante a ser considerado na escolha dos componentes para o filtro a estabilidade do terra do circuito. Para os sistemas estveis, os componentes capacitivos j podem levar aos resultados esperados. Todavia, para terras instveis,

componentes indutivos de alta impedncia so os recomendados. Alguns cuidados so necessrios para o projeto: Os componentes que reduzem EMI devem ser colocados o mais prximo possvel das fontes de rudo. Os componentes devem ser escolhidos de tal forma a casar sua impedncia com a linha de conduo em que eles forem colocados. O componente selecionado deve ser dimensionado apenas para reduzir nos nveis desejados os rudos.

Concluso

Os componentes indutivos ou magnticos podem ajudar muito na reduo dos problemas com a EMI. Porm, como existem diversos tipos com caractersticas que se adaptam diferentes aplicaes, preciso saber escolher o tipo ideal Lembramos que a incluso de novos componentes em um circuito implica no s no aumento de custos como tambm na necessidade de um espao maior, o que nem sempre algo que se permite num projeto. Os limites para a incluso de novos projetos e o aumento de custos so sempre muito estreitos. E

2011 I SABER ELETRNICA 457 I 39

Instrumentao

Curso sobre o Osciloscpio


Dando continuidade ao estudo do Osciloscpio, abordamos nesta segunda parte do curso o osciloscpio digital
Eng. Filipe Pereira

Parte 2

Osciloscpio Digital

Um osciloscpio digital tem etapas parecidas com as de um osciloscpio analgico, embora funcione de forma totalmente diferente (como mostra a figura 1). Em primeiro lugar, e semelhana do osciloscpio analgico, tem-se uma etapa atenuadora e um pr-amplificador vertical que amplifica o nvel de sinal ao valor adequado para as etapas seguintes. Do pr-amplificador vertical, o sinal deriva em direo a dois circuitos: por um lado, aplica-se ao comparador que faz parte do circuito de disparo, mediante o qual selecionaremos o instante do sinal que dar lugar varredura horizontal do spot na tela. Por outro, aplica-se a um conversor analgico / digital (A/D), no qual cada amplitude instantnea do sinal que se visualiza convertida num cdigo binrio. Para esta converso necessria uma amostra do sinal; isso quer dizer que se

mede a amplitude do sinal em tempos iguais. Para levar a cabo esta amostra, sem erros de medida, necessrio que os pulsos de amostra tenham uma frequncia extremamente estvel. Consegue-se isso com um oscilador a cristal, que disparado quando recebe o pulso do incio de explorao do circuito de disparo. Observe-se no diagrama de blocos que o oscilador a cristal aplica tambm os seus pulsos retangulares a um conversor digital/ analgico (D/A). Este conversor necessrio, j que para a varredura horizontal do spot necessitamos de uma tenso em dente de serra, e o oscilador a cristal gera apenas pulsos retangulares. Com o conversor D/A obtemos uma tenso em dente de serra muito estvel e linear, vlida para aplicar s placas de deflexo horizontal do tubo de raios catdicos previamente amplificadas ao valor adequado pelo amplificador horizontal.

40 I SABER ELETRNICA 457 I 2011

Prossigamos o percurso do sinal em direo s placas de deflexo vertical do tubo. Frisamos que o sinal analgico foi convertido em pulsos binrios sada do conversor A/D. Assim pois, a partir deste ponto, o sinal pode ser tratado como qualquer sinal digital e guard-lo num circuito de memria. Do circuito de memria o sinal pode tomar dois caminhos: um para o conversor D/A onde se converte de novo numa onda analgica de forma igual original. O outro caminho para o sinal digital em direo a um microprocessador (P). O P permite efetuar medidas automticas dos parmetros do sinal, tais como intervalos de tempo, tempos de subida e de descida, amplitude, frequncia e visualizar estes dados na prpria tela mediante caracteres alfanumricos (osciloscpios Read - Out) ou envi-los para uma impressora.

F1. Diagrama de blocos de um osciloscpio digital.

Amostragem do sinal nos osciloscpios digitais

O conversor analgico - digital a etapa chave do funcionamento dos osciloscpios digitais e tem por funo transformar o sinal analgico numa srie de pulsos eltricos. Para que a amostra do sinal seja correta e se apresente na tela um sinal que corresponde ao real, a amostra deve realizar-se, pelo menos, a uma frequncia dupla da maior harmnica do sinal (figura 2). a) Onda senoidal que se pretende amostrar (figura 2a); b) Pontos de amostragem. Na amostra da onda (figura 2b) observa-se que, desde que se inicia o ciclo at que volte a passar pelo mesmo ponto, efetuaram-se quatro amostras, e com elas obteremos um total de quatro valores ou amplitudes para codificar; c) Pulsos obtidos como consequncia dessa amostragem. Estes pulsos de diferentes amplitudes, sero os que se codificam de imediato em binrio (figura 2c). Se levarmos a cabo uma amostragem a uma frequncia maior, por exemplo triplicando a frequncia do oscilador de cristal, obteremos uma srie de valores cujo conjunto se aproxima mais da forma de onda original. Disto se deduz que, quanto maior for a frequncia da amostragem, melhor ser a

F2. Amostragem do sinal no osciloscpio digital.

informao que obtemos e mais prximo estaremos da forma de onda do sinal, pelo que poderemos reproduzi-la com a mxima fidelidade (figura 2d). Como a frequncia da amostragem est limitada tecnologicamente, para aumentar o nmero de amostras por perodo deve reduzir-se o limite da largura de banda do aparelho, com o fim de, pelo menos, poderem efetuar-se duas amostras por perodo. O problema complica-se perante a presena de harmnicas do sinal de entrada. Um caso tpico o de uma onda retangular ou quadrada. Toda a onda retangular formada por uma onda senoidal de igual frequncia e um

nmero praticamente infinito de harmnicas desta onda fundamental, tal como se mostra graficamente na figura 3. A velocidade de representao nos osciloscpios digitais lenta, j que a soma de vrios tempos: de quantificao, de voltar memria, de processamento do sinal e de converso do digital a analgico.

Medida de Frequncias

Para medir a frequncia de um sinal com o osciloscpio pode-se proceder das seguintes maneiras: Com a base de tempo calibrada; Por meio das figuras de Lissajous.

2011 I SABER ELETRNICA 457 I 41

Instrumentao

Onda Fundamental f= 100 MHz

2 harmnica f= 200 MHz

F4. Variando-se a frequncia do gerador para obter uma circunferncia ou elipse na tela.

3 harmnica f= 300 MHz

4 harmnica f= 400 MHz

F5. A frequncia desconhecida diferente das proporcionadas pelo gerador.

F3. Onda senoidal (100 MHz) e trs harmnicas em 200; 300 e 400 MHz.

Com a base de tempo calibrada

Este mtodo o mais simples. Consiste simplesmente em aplicar o sinal a uma entrada vertical e ajustar o varredura at se obter na tela um ou mais ciclos do sinal. Obs.: O nmero de ciclos que aparece na tela o que corresponde ao nmero de vezes que a frequncia do sinal superior frequncia de varredura.o. Se ambas as frequncias so iguais, obtm-se um s ciclo. Se no se consegue obter um s ciclo na tela porque a frequncia de varredura no alcana o alto valor da frequncia do sinal. Contando o nmero de divises de um ciclo do sinal e multiplicando-o pela velocidade de varredura da base de tempo (s/div., ms/ div., s/ div.) obtemos o Perodo (T), fazendo o seu inverso obtemos a frequncia do sinal (f = 1/T).

Por meio das figuras de Lissajous

Pressionar o boto XY (que desliga a base de tempo) e aplicar o sinal de frequncia desconhecida s placas de deflexo vertical do osciloscpio. A seguir, aplica-se o sinal de um gerador de sinais s placas de deflexo horizontal do osciloscpio. Efetuadas estas operaes, faz-se variar a frequncia do gerador de sinais at se obter uma circunferncia ou uma elipse na tela. Quando isso se consegue indica-nos que a frequncia desconhecida do sinal a mesma que a do gerador de sinais, se os dois sinais aplicados so senoidais. Se, com a gama de frequncias do gerador de sinais no se conseguir a citada circunferncia ou elipse porque a frequncia desconhecida distinta das proporcionadas pelo gerador de sinais (figura 5).

Observando a imagem na tela, possvel deduzir a relao de frequncias entre os dois sinais aplicados. Na figura 6 mostram-se exemplos. Para obter o valor da frequncia desconhecida, basta contar o nmero de vezes que o trao cruza o eixo de simetria horizontal da tela, e dividi-lo pelo nmero de vezes que cruza o eixo de simetria vertical dela. O quociente multiplicado pela frequncia conhecida proporcionada pelo gerador de sinais, obtendo-se o valor da frequncia desconhecida. fx = fg nh/nv onde: fx a frequncia desconhecida; fg a frequncia proporcionada pelo gerador de sinais; nh o nmero de vezes que o trao cruza o eixo de simetria horizontal da tela; nv o nmero de vezes que o trao cruza o eixo de simetria vertical da tela.

42 I SABER ELETRNICA 457 I 2011

F6. Sistema de ps-acelerao com tenso muito elevada.

F7. Medida de defasagens com a base de tempo calibrada.

Por meio das figuras de Lissajous

Tendo em conta que os sinais aplicados ao osciloscpio so da mesma frequncia, na tela aparecero crculos ou elipses com diferentes graus de excentricidade. A excentricidade da elipse na tela determina a defasagem entre os dois sinais analisados. Na figura 8, mostram-se algumas imagens, nas quais se indicam os seus defasamentos. O osciloscpio no modo XY, permite-nos determinar rapidamente o desfasamento existente entre dois sinais.

em tempo real.

Fazem-no frequncia necessria para representar corretamente num nico ciclo de amostragem o sinal de entrada. Usam amostras do sinal em diferentes pontos, em cada ciclo de amostragem. Posteriormente, reconstituem em memria um ciclo com todas as amostras. Este tipo de amostragem tem o inconveniente de que s utilizvel com sinais peridicos, mas oferece a vantagem de aumentar a largura de banda do aparelho.

Osciloscpios digitais

Aplicao simultnea de duas tenses alternadas senoidais da mesma frequncia e em fase


A imagem que surge na tela um trao oblquo da direita para a esquerda e cuja

em tempo equivalente.

2011 I SABER ELETRNICA 457 I 43

Instrumentao

F9. Aplicao de duas tenses senoidais de mesma frequncia e em fase.

F8. Medida de defasagens atravs das figuras de Lissajous.

inclinao depende da relao entre as amplitudes das tenses.

Aplicao simultnea de duas tenses alternadas senoidais da mesma frequncia defasadas de 1/4 de ciclo
A imagem resultante uma circunferncia se as tenses forem da mesma amplitude. Sendo de amplitudes diferentes, a figura uma elipse de eixo maior vertical ou horizontal conforme a tenso de maior amplitude for aplicada s placas verticais ou horizontais (figura 10).

F10. Duas tenses senoidais de mesma frequncia e defasadas de 1/4 ciclo.

Aplicao simultnea de duas tenses alternadas senoidais da mesma frequncia defasadas de 1/2 ciclo
Neste caso a figura que surge na tela um trao oblquo da esquerda para a direita, com uma inclinao de 45 se as tenses forem da mesma amplitude. Se forem de amplitudes diferentes, a inclinao poder tomar valores entre 0 e 90 (figura 11). E

F11. Duas tenses senoidais de mesma frequncia e defasadas de 1/2 ciclo.

44 I SABER ELETRNICA 457 I 2011

Medidas em RF Digital
Neste artigo, baseado em material da Agilent Technologies, trataremos um pouco das medidas feitas nos circuitos de RF digital.
Newton C. Braga

ara se garantir que um sistema de telecomunicaes funcione perfeitamente, livre de interferncias, rudos, desvios de fase, temporizao e muito mais, necessrio realizar a medida precisa de diversos parmetros. Essas medidas incluem a anlise do circuito modulador e do circuito demodulador, caracterizao do sinal transmitido, etc. O uso do osciloscpio nas medidas de RFdigital no to simples como acontece na maioria dos circuitos analgicos, tanto de alta quanto de baixa frequncia. O modo como os sinais so gerados e a prpria modulao exigem tcnicas especiais para a medida, e a interpretao dos parmetros deve ser feita com pleno conhecimento de seu significado. Assim, as medidas em RF digital normalmente so divididas em quatro categorias: potncia, frequncia, temporizao e preciso de modulao, as quais passamos a analisar a seguir.

Hz. Na figura 1 damos um exemplo de como a energia se distribui numa medida deste tipo. Uma outra medida realizada nos sistemas digitais a da potncia no canal adjacente. Ela permite verificar o nvel de interferncia que afeta os usurios de canais adjacentes. Alm disso, testa a quantidade de energia de um sinal de RF modulado digitalmente que se espalha pelos canais prximos. O resultado desta medida a relao (em dB) da medida no canal adjacente com a potncia total transmitida, conforme ilustra a figura 2. Para sistemas pulsantes como o TDMA, as medidas de potncia possuem tambm uma componente de tempo que deve ser levada em conta. Os tempos de burst devem ser considerados quando o circuito liga e desliga. Neste caso, pode ser feita uma mdia da mdia do tempo em que os ciclos de sinal esto presentes.

Potncia

Frequncia

As medidas de potncia realmente esto relacionadas com a potncia da portadora, o ganho dos circuitos amplificadores e as perdas introduzidas nos circuitos atenuadores. Os circuitos usados nos sistemas modulados digitalmente tm as mesmas caractersticas dos rudos. Eles se espalham por uma certa banda de frequncias, tendo que ser feita uma integrao numa certa faixa, ou ainda devem ser tomadas medidas de densidade espectral (PSD). As medidas de potncia tm geralmente a faixa normatizada em uma largura de 1

As medidas de frequncia so tambm complexas nos sistemas digitais de comunicaes. Nestes sistemas, a faixa ocupada uma medida importante a ser feita, pois ela permite verificar se a faixa destinada comunicao est sendo usada corretamente. A medida da faixa ocupada (BW = bandwidth, ou largura de faixa) mede como o espectro de frequncias ocupado pelo sinal, observe a figura 3. Esta faixa medida em Hz e a potncia envolvida nela especificada por uma porcentagem. Por exemplo, um sinal coloca: 99%

2011 I SABER ELETRNICA 457 I 45

Instrumentao
da potncia na faixa analisada. Uma forma de expressar o resultado desta medida seria 99% da potncia do sinal est contida numa faixa cuja largura 30 kHz. As larguras de faixa encontradas nos sistemas variam bastante, dependendo de diversos fatores. Temos, por exemplo, 30 kHz para os sinais NADC/DQPSK e 350 kHz para os sinais GSM, e GSMK.. Para vdeo digital a faixa tipicamente de 6 a 8 MHz. Observe que a simples utilizao de um frequencmetro nessas medidas no fornece preciso, dada a distribuio de um sinal por um espectro relativamente amplo.

F1. Distribuio de energia em medidas de potncia.

F3. Medida da banda ou largura de faixa BW.

Temporizao

As medidas de temporizao so feitas principalmente nos sistemas pulsados, ou por burst. Elas incluem a determinao de parmetros como os intervalos de repetio, ciclos ativos, tempos entre erros de bits, tempo on, tempo off, etc. Uma medida importante a da preciso de modulao. Ela envolve a medida de quo prximos dos estados da constelao, ou da trajetria do sinal, est o sinal real em relao ao sinal terico. Neste caso, o sinal analisado demodulado e comparado com uma referncia. Os dois sinais so combinados, restando, ento, a diferena residual que pode ser medida. Para estas medidas, necessrio ter recursos para gerar um sinal de referncia preciso. Este muito importante para se avaliar a qualidade de um sinal, encontrando problemas no sistema. Uma vez que o sinal residual seja obtido, torna-se muito fcil visualizar pequenas discrepncias, que podem ter sido obscurecidas pelo processo de modulao e que no seriam visualizadas de outra forma. Para estas medidas, tambm fundamental saber interpretar os erros de magnitude de vetor. Para entender como realiz-las, convm recordar alguns princpios da modulao vetorial. Os bits de informao so colocados numa portadora de RF variando a intensidade e a fase do sinal portador. A cada transio do clock, a portadora ocupa uma nica de certas posies no plano I x Q, conforme mostra a figura 4. Cada locao corresponde a um conjunto especfico de dados, formando assim um diagrama de constelao, conforme ilustra a figura 5.

F2. Medida de potncia no canal adjacente.

F4. Diagrama I/Q para um sinal 64 QAM.

F5. Diagrama de constelao.

Para demodular este sinal, preciso que o circuito demodulador consiga identificar exatamente a posio na constelao (fase e intensidade) do sinal transmitido, fornecendo assim o conjunto de bits correspondentes. O layout do diagrama de constelao e as localizaes ideais dos sinais dependem do formato de modulao escolhido, tais como BPSK, 16QAM, DQPSK, etc. A trajetria tomada pelo sinal ao passar de uma locao para outras depende da implementao do sistema. Nessa medida, o que se faz determinar o fasor do sinal real correspondente a cada posio da constelao e compar-lo com o fasor do sinal ideal, observe a figura 6.

A diferena entre os dois fornece um vetor de erro (exemplo na mesma figura). A medida deste vetor de erro consiste numa ferramenta poderosa de anlise de problemas em sistemas de comunicaes digitais. Podemos, pela anlise deste vetor, determinar diversos desvios que ocorrem na transmisso de um sinal. Assim, a anlise deste vetor consiste em um recurso fundamental de service que o profissional de telecomunicaes deve conhecer. Por este vetor pode-se determinar que tipo de degradao est ocorrendo em um sinal no seu percurso do transmissor ao receptor. A Agilent Technologies possui um documento que ensina a usar as medidas

46 I SABER ELETRNICA 457 I 2011

F6. Medida de vetor de erro corresponde a cada posio da constelao.

F8. Espectro de Erro (EVM) funo da frequncia (MHz).

F7. Rudo de fase interferindo no sinal.

da magnitude de erro na anlise do sinal, ajudando a identificar suas origens. Trata-se do Product Note 89400-14. H diferentes mecanismos de erro que afetam os sinais de diversas formas. Esses mecanismos podem alterar o sinal apenas em intensidade, em fase ou em ambos ao mesmo tempo. Conhecendo o modo como cada erro se manifesta, pode-se chegar a determinados tipos de problemas. Quando o erro de fase (em graus) substancialmente maior que o erro de intensidade (em porcentagem), algum tipo de modulao de fase indesejvel est acontecendo. Isso pode ser causado por rudo, problemas de esprios ou acoplamentos cruzados, ou ainda frequncias indevidas geradas em etapas do circuito. Os Erros de fase I/Q so medidas referenciadas no tempo. Logo, quando analisados em funo do tempo, eles mostram a forma de onda de qualquer sinal residual ou interferente. A presena de sinais senoidais ou outras formas regulares de onda indicam um sinal interferente. Rudo uniforme sinal de alguma forma de rudo de fase (random, jitter, PM/FM residual, etc).

Na figura 7 mostramos como um rudo de fase pode aparecer no sinal. Um sinal perfeito tem uma constelao que simtrica em relao origem. Um sinal deslocado desta posio indica que a constelao no quadrada, havendo um erro de quadratura. Devemos, inclusive, analisar a Magnitude do Vetor de Erro em relao ao tempo. EVM (Magnitude do Vetor de Erro) a diferena entre o sinal de entrada e o sinal de referncia interno. Quando analisados como funo do tempo, os erros podem ser relacionados com pontos especficos da forma de onda de entrada como, por exemplo, picos, passagem por zero, etc. O EVM uma magnitude escalar e os picos indicam que compresso ou corte do sinal. Um caso tpico de no linearidade no cruzamento por zero pode ser dado tomando como exemplo um amplificador pushpull, quando as duas metades do sinal so manuseadas por transistores diferentes. O Espectro de Erro (EVM) em funo da frequncia calculado a partir da Fast Fourier Transformer (FFT, ou Transformada Rpida de Fourier) e resulta na apresentao de uma imagem no domnio da frequncia com detalhes que no so visveis no domnio do tempo, veja exemplo na figura 8.

Concluso

No basta ter a instrumentao apropriada para se analisar os sinais existentes nos circuitos de telecomunicaes digitais. preciso saber interpret-las. Em funo deste conhecimento, a realizao de medidas especficas em um sistema pode revelar problemas importantes de funcionamento que, de outra forma, seriam muito mais difceis de localizar. E

2011 I SABER ELETRNICA 457 I 47

Instrumentao

Minicurso LabVIEW
Aprenda Fazendo
Veremos neste artigo como proceder para a coleta dos dados, anlise e aplicao de algumas variveis estatsticas
Luis Fernando F. Bernabe

Parte 7

stamos chegando reta final. A nossa proposta est parcialmente concluda. Fazendo uma breve reviso: comeamos com algumas possveis linguagens, iniciamos a operao do equipamento com a sua descrio simplificada e algumas aplicaes stand alone como apresentao, fizemos um comparativo entre as linguagens abordadas, apresentamos o processo completo de conexo USB ao PC com os programas de interfaceamento utilizados, desenvolvemos algumas aplicaes funcionais e caminhamos para uma aplicao mais profissional e amigvel com o usurio final. Depois de todas estas informaes, falta pouco para chegarmos ao trmino desta srie. Mas, como o final no agora, nesta parte continuamos, seguindo nossos objetivos iniciais. Agora vamos analisar como podemos proceder para coletarmos os dados da melhor forma possvel, se possvel e interessante fazermos uma anlise dinmica ou esttica, e ainda aprender ou rever algumas das variveis estatsticas aplicadas a coleta de dados digitalizados.

Coletando dados

Vimos que os processos para coleta de dados foram bastante simplificados com o avano da tecnologia e a aplicao da informtica no processo e na intstrumentao, com a utilizao de computadores, programas mais amigveis, interfaces Plug & Play e rede. H um grande volume de casos de sucesso neste ramo da Eletrnica. Muitos equipamentos foram criados e/ou se desenvolveram devido a estas aplicaes inclusive. A eletrnica neste campo se iniciou com experimentos cientficos e militares aplicados em desenvolvimentos de armamentos, sistemas de defesa, RADAR e SONAR desde antes da 2 Guerra Mundial, e foi mantida durante a Guerra Fria e nas misses espaciais a partir dos projetos Apolo e Saturno, at os nibus espaciais e os atuais satlites para GPS e misses para Marte e outros planetas. Se hoje temos mais facilidade de coleta de dados por conta destes sistemas automatizados, devemos nos lembrar sempre de qual varivel fsica estamos medindo, de seus problemas especficos inerentes

48 I SABER ELETRNICA 457 I 2011

medio e termos um cuidado especial com o volume de dados coletados desnecessariamente, que tero de ser descartados depois, em outro processo, consumindo mais tempo na anlise destes dados. Antes tnhamos um sistema dedicado a cada tipo de sensor, hoje todos podem ser conectados num mesmo sistema. Temos que ter cuidado para no nos enganarmos quanto aos sensores, seus tipos, faixa de trabalho, deriva trmica, preciso, reprodutibilidade, etc. Este tema muito vasto alm de interessante, para limitarmos a quantidade de desvios no mesmo, vamos retomar a nossa meta experimental: coletar dados suficientes para a calibrao de um sensor termopar e comparando-o a um segundo, de referncia e previamente calibrado.

A filosofia de calibrao

Para executarmos este projeto vimos o equipamento, a interface e os programas; agora vamos aos detalhes externos ao conjunto e que so fundamentais para a sua realizao prtica. Quando desejamos efetuar uma medida comparativa entre sensores de temperatura, ambos os sensores devem estar nas mesmas condies exatas de variao trmica, ter os mesmos volumes de sensor e estarem no mesmo ambiente, com tempo suficiente para que se estabilizem as suas leituras. Idealmente teramos que ter um ambiente com temperatura controlada, com o menor volume possvel, para termos condies de variao rapidamente estabilizadas mesmo depois de alterarmos a sua temperatura. Para a calibrao de sensores de alta preciso (faixa especial de 1,1 C) e que trabalham com grandes variaes de temperatura, so necessrios ensaios repetidos em condies dinmicas de trabalho, gerando algumas rampas de aquecimento/resfriamento, medindo caractersticas importantes de inrcia trmica, tempo de resposta, comparao ponto a ponto, preciso, reprodutibilidade, estabilidade de medio, etc. Considerando, claro, a sua aplicao, s para citar extremos em aplicaes comerciais: forno industrial de fundio, cmara trmica de laboratrio e avinica. Como estamos em uma apresentao didtica, a filosofia de medio um pouco diferente. Podemos fazer as medies em degraus estticos de temperatura, ao invs

de um ensaio dinmico; o que simplifica bastante. Com dois pontos nas extremidades da faixa podemos obter uma preciso razovel o suficiente, sem precisarmos de uma cmara trmica especial ou um banho seco de calibrao de termopares. Para esta tarefa temos que pensar em quais pontos de temperatura seriam interessantes para a calibrao dos sensores. desnecessrio calibrar um sensor numa faixa de utilizao na qual o mesmo nunca seja utilizado. Para que serve a calibrao de um termopar tipo J at o seu limite de 780 C sendo que este trabalha numa cuba de pr-aquecimento de vapor, e que a temperatura mxima deste equipamento de 150 C? Dependendo do seu fornecedor, talvez o processo de calibrao fosse mais simplificado para calibrar este termopar na faixa de 0 C a 200 C. Ser que sendo mais simples, tambm seria mais barato e rpido com tempo de entrega menor? Dependendo do caso, sim. Se o processo for altamente automatizado, com banho seco controlado por um programa que tambm fizesse a aquisio de temperatura, a resposta poderia ser no. Aqui, como estamos avaliando os procedimentos de automao didaticamente, no temos a rigidez de calibrarmos os termopares em um processo homologado. Com esta liberdade, podemos ento colocar os sensores imersos em gua com gelo (0 C) e em gua fervente (100 C), como alguns de ns fizemos nas aulas de cincias. Alm do que, temos que considerar um sistema que possa ser simplificado ao mximo. Obs.: Lembramos que teremos que efetuar uma correo de valores obtidos de temperatura com a presso atmosfrica em funo da altitude em que estamos. Desta forma, para executarmos esta calibrao como apresentamos aqui nesta srie, faremos a aquisio de um baixo volume de dados, o suficiente para realizarmos uma mdia, melhorando a preciso das medies realizadas. H alguns modos interessantes de efetuarmos as medidas deste ensaio. O primeiro e mais antigo o processo esttico. Com este mtodo definimos as temperaturas de interesse e com uma estufa/geladeira controlada por um termostato (por ex.) estabelecemos a temperatura mais baixa e a medimos com os dois sensores, comparando as duas leituras.

Se o termostato da cmara trmica for do tipo mecnico/eletrnico (liga/desliga), h a necessidade de termos que esperar a temperatura se estabilizar por um tempo mais longo devido a histerese. A histerese ocorre sempre que um dado circuito ou componente muda de estado ativo para inativo, e vice-versa. As cmaras trmicas mais precisas possuem controladores duplos simultneos, de resfriamento e aquecimento e um sistema microcontrolado embarcado, com controle PID (Proporcional, Integral e Derivativo) que coloca neste ambiente a dose certa de frio e calor, para manter a temperatura dentro da preciso especificada pelo fabricante. A histerese a diferena mxima de valor de medida apresentada por um instrumento qualquer, dentro da sua faixa de trabalho, quando efetuada a medida em duas condies diferentes, crescente e decrescente.

Box 1
Vale a pena procurar algumas bibliografias e outras referncias sobre o assunto Matrizes: James Joseph Sylvester http://pt.wikipedia.org/wiki/ James_Joseph_Sylvester Arthur Cayley www.ime.usp.br/~leo/imatica/ historia/cayley.html www.portalsaofrancisco.com. br/alfa/arthur-cayley/arthurcayley.php Joseph-Luis Lagrange http://pt.wikipedia.org/wiki/ Joseph-Louis_Lagrange www.iem.unifei.edu.br/juliano/ Download/EME33/Historia/ Lagrange/texto_Lagrange.pdf Teoria das Matrizes www.geometriadinamica.kit. net/Microsoft%20Word%20%20AlgebraLinear.pdf www.lia.ufc.br/~mcampelo/ notas-matrizes.pdf

2011 I SABER ELETRNICA 457 I 49

Instrumentao
Resumindo, vamos considerar um voltmetro qualquer, ajustamos o fundo de escala para 200 Vdc, conectamos o voltmetro a uma fonte de at 300 Vdc. Com este arranjo, variamos a tenso de 0 Vdc at 200 Vdc em passos de 10 Vdc, de modo crescente. Observamos a leitura do voltmetro e comparamos com a da fonte. Quando medirmos 200 Vdc, refazemos as medidas novamente em variaes decrescentes, iniciando em 200 Vdc indo at 0 Vdc. A histerese a diferena destas medidas de tenso (no caso) nestas duas situaes possveis. A histerese varia com a grandeza, normalmente menor no fim da escala, por isso montado um grfico de histerese dos instrumentos e dos sensores. Sobre a histerese em instrumentao o Curso de Formao de Operadores de Refinaria, na rea de Instrumentao Bsica est disponvel gratuitamente na internet pela Petrobras. Quem quiser aprender sobre instrumentao, este um material excelente. Se o leitor tiver mais curiosidade, procure Curso de Formao de Operadores de Refinaria (com aspas mesmo) no Google. www.dequi.eel.usp. br/~felix/Instcont.pdf alunos. O mais curioso que atualmente todas as cincias exatas tm uma forte utilizao desta organizao matemtica para a soluo de problemas, isso se deve principalmente a informatizao. Isso exige que os profissionais destas reas devam ter necessariamente uma boa habilidade com as matrizes. Comecemos por uma reviso simples do bsico: Como surgiram as matrizes? Bem, no seu incio as matrizes foram utilizadas apenas como um modo de organizar os dados numricos para serem melhor vistos em conjunto, era o que conhecemos hoje por tabela ou planilha. Muito recentemente, considerando a sua histria, h pouco mais de 150 anos, as matrizes foram reconhecidas como tema importante da Matemtica. Por volta desta poca se tornou um mtodo para a organizao de nmeros de uma equao que encontrariam a sua soluo atravs de seu determinante !!! O primeiro matemtico a utilizar este mtodo de soluo parece ter sido Augustin-Louis Cauchy, 1826. Mas, o nome matriz como conhecido hoje, s veio com James Joseph Sylvester, 1850. Seu amigo Arthur Cayley, com o seu livro Memoir on the Theory of Matrices (1858), divulgou esse nome e demonstrou algumas de suas utilidade prticas. James Joseph Sylvester deu o nome de matriz pelo seu significado coloquial: local onde algo se gera ou cria. Antes, o arranjo numrico da matriz era denominado ...um bloco retangular de termos... de onde se originavam vrios determinantes. Apesar de ter criado o nome matriz, Sylvester a enxergava apenas como parte dos determinantes e, somente com seu amigo Cayley, as matrizes passaram a ter vida prpria. As matrizes nasceram da necessidade dos matemticos dos sculos XVIII e XIX, quando comearam a investigar a Teoria das Formas Quadrticas. Hoje, consideramos imprescindvel estudar essas formas atravs da notao e metodologia matricial, como vetores (x,y,z), mas naquela poca elas eram tratadas numericamente, como escalares. Na equao 1, a seguir, apresentamos uma equao de duas variveis representada na sua forma quadrtica, tanto via notao escalar como com a notao matricial: q(x,y) = ax2 + 2bxy + by2 =[ xy ] * ab * x bc y

[ ][ ]

Faltou um detalhe

Ao escrever artigos em sequncias longas, mesmo que tenham a justificativa de serem mais didticos ou de abordarem temas mais complexos, h grande possibilidade do escritor se perder, de fugir do tema central e/ou serem esquecidos pontos importantes que complementam os objetivos. Por isso, ateno e planejamento so fundamentais. Cometi um deslize, e me esqueci de abordar um tpico fundamental dos nossos artigos, o assunto Matriz, tanto na breve reviso matemtica quanto no prprio LabVIEW. Peo que me desculpem pela falta deste tpico nos artigos. Fao um parntese na sequncia abaixo para depois retornar ao tema como deveria ser abordado anteriormente.

A primeira utilizao prtica do conceito de matriz ocorreu quando Lagrange c. 1790 reduziu a caracterizao dos mximos e mnimos de uma funo real de vrias variveis, ao estudo do sinal da forma

As matrizes

As matrizes sempre foram assuntos chatos tanto de serem ensinados como de serem aprendidos em nossa matemtica de segundo e de terceiro graus. Acredito que seja por falta de aplicaes prticas que envolvam e despertem o interesse dos

F1. Diagrama de Blocos completo.

50 I SABER ELETRNICA 457 I 2011

quadrtica associada matriz das segundas derivadas dessa funo. Assim, podemos dizer que a Teoria das Matrizes teve como me a Teoria das Formas Quadrticas, pois seus mtodos e resultados bsicos foram gerados l. Hoje, contudo, o estudo das formas quadrticas um mero captulo da Teoria das Matrizes. Fonte: www.mat.ufrgs.br/~portosil/passa3b.html

Box 2
Internet e Formao de Professores de Matemtica: Desafios e Possibilidades www.athena.biblioteca. unesp.br/exlibris/bd/brc/ 33004137031P7/2005/garcia_tmr_ me_rcla.pdf (underscore) A Histria da Matemtica, o Porqu e o Como www.uff.br/historiadamatematica/ siteantigo/Arquivos/Historia_da_ Matematica_por_que_e_como_ Andre_Weil.pdf (underscore) A Histria da Matemtica : www.ime.usp.br/~leo/imatica/historia/ http://educar.sc.usp.br/licenciatura/2003/hm/page01.htm http://pt.wikipedia.org/wiki/Histria_da_matemtica www.mat.uc.pt/~jaimecs/indexhm. html www.infoescola.com/matematica/ historia-da-matematica/ http://usuarios.upf.br/~pasqualotti/ hiperdoc/matematica.htm http://pt.wikipedia.org/wiki/Cronologia_da_histria_da_matemtica (underscore) http://pt.wikipedia.org/wiki/ Histria_dos_nmeros_longos (underscore) Todo o Conhecimento Humano perde muito do seu estmulo de conquistar os alunos e evoluir tambm, pelo fato de que seus professores se esquecem da Sua Histria e os seus mais importantes colaboradores.

Construindo matrizes em LabVIEW

Por que vamos utilizar matrizes? Na verdade, vamos utilizar as matrizes na sua funo mais simples, a tabela, uma lista de temperaturas relacionada com valores de tempos da medida. Com se tratam de duas grandezas fsicas diferentes, no existe a possibilidade de trabalharmos com determinantes (o resultado da matriz) e termos um resultado vlido. A no ser que fossem linearizados os dados das medies e que crissemos duas equaes de cada grfico resultante, para compararmos a medio padro com a do outro sensor em calibrao.

2011 I SABER ELETRNICA 457 I 51

Instrumentao

F2. Front Panel completo

Aqui vamos utilizar a matriz como tabela, isso significa que construiremos a matriz, mas o seu tratamento matemtico de tabelar os nmeros numa sequncia de interesse. No LabVIEW as matrizes e as tabelas tm tratamentos diferentes. Os dados de uma matriz podem ser numricos, em string, hexadecimal, binrio, etc. J na tabela, o foco apresentao de dados, todo o contedo tem que estar exclusivamente em strings, no LabVIEW h uma biblioteca de converso de formatos de dados e utilizamos apenas uma VI para resolver este caso. H aplicaes em que temos que montar uma matriz e numa prxima etapa, convert-la para tabela e inclu-la no gerador de relatrios, por exemplo. Como todo bom programador sabe, para se construir uma matriz precisamos dos dados a serem inseridos em sequncia de formao em matriz. Para fazermos isso utilizamos os Loop For tantas vezes quantas forem as dimenses da matriz. Comecemos, ento. Abra o LabVIEW com uma VI em branco. Com o boto direito do mouse, clique na rea branca do Block Diagram, com a paleta de Functions procure nas estruturas de loop, o Loop For, (Functions > Programming > Structures), desenhe o loop no diagrama de blocos em tamanho mdio, em seguida, repita o processo e desenhe o segundo Loop For dentro

do primeiro, d um espao suficiente para reproduzir a figura 1. Aproxime o cursor do mouse do lado da varivel N, do loop. Com o boto direito, clique neste cone e dentro da janela, escolha o boto Create Control aparecendo um boto de controle nos dois campos, Block Diagram e Front Panel. Coloque dentro dos dois loops uma VI Random Number (Functions > Programming > Numeric). Esta VI tem o formato de dois dados juntos. Com a VI dentro dos loops, aproxime o cursor dela e automaticamente aparecer um carretel de linha de conexo. Clique com o boto direito, um Indicator. Este o number (0 to 1). Clique novamente neste terminal da VI, arraste o fio de ligao at a borda do loop e clique nesta borda novamente. A funo inicial deste Tunnel (sada do loop) de Auto-Indexed, dentro do cone aparecem os colchetes [ ] indicando que a sada est automaticamente indexada no formato matriz. Aproxime o cursor, clique no boto esquerdo do mouse, e arraste o fio de ligao at a borda do outro loop e clique nela, como feito na anterior. Para construir as matrizes, o modo mais simples aproximar o cursor do cone do Tunnel e clicar com o boto direito e selecionar o boto Indicator. Neste ponto foi construdo a Array. Selecione o Label para que fique visvel, se preferir.

A matriz 2 (Array 2) construda pelo mesmo processo. Esta matriz de uma coluna, pois a sada do FOR LOOP interno. Para vermos os dados em sequncia, no caso conseguiremos visualizar somente o ltimo, refaa as mesmas ligaes dos fios que foram feitas para as matrizes, at o ltimo loop. Selecione o tipo de Tunnel permitindo ou no a indexao, neste caso, a funo de indexao est desativada. No ltimo loop, o externo, aproxime o cursor e crie um Indicator novamente, do mesmo modo que o anterior. Veja, na figura 2, o Front Panel completo. Observe os controles de execuo dos loops, Loop 1 Externo LINHA e Loop 2 Interno LINHA, estes botes criam as dimenses das matriz na sada. Selecione outros valores de Linha e Coluna. O indicador number (0 to 1) apresenta o ltimo valor do sorteio dos dados. Os dados so iguais aos do indicador number: 0 to 1 que a sada dos dois loop, mas sem a indexao. Verifique que os controles number (0 to 1), number: 0 to 1, Array 2 e Array apresentam os mesmos valores no display e na ltima posio, no caso das matrizes. Assim, caros leitores, ficamos por aqui, e na prxima edio continuaremos passo E a passo at atingirmos nossa meta.

52 I SABER ELETRNICA 457 I 2011

Projetos

Sistemas de Superviso e Aquisio de Dados


Sistemas de aquisio de dados e controle de dispositivos vm sendo desenvolvidos para diferentes reas de atuao, tanto industriais como cientficas. O seu objetivo apresentar ao observador, os valores das variveis ou parmetros que esto sendo medidos.

Csar Cassiolato

os ltimos anos tem-se visto um crescente desenvolvimento de sistemas de aquisio e tratamento digital de sinais, sendo que vrios fatores tm contribudo para a evoluo nesta rea: O avano da microeletrnica que tem possibilitado o aumento das capacidades e velocidades dos DSPs, elemento central de uma aplicao de tratamento digital de sinal; A crescente performance dos computadores pessoais, tal como a sua relao qualidade/preo e a sua confiabilidade; A existncia de cada vez mais e melhores ferramentas de desenvolvimento de software, que permitem criar aplicaes de alto nvel com avanadas interfaces grficas; O desenvolvimento de novas tecnologias de comunicao que permitem o controle remoto de instrumentos, usando a internet e o wireless como veculos de transmisso de dados. Por que uma empresa precisa de um sistema de aquisio e superviso? Simplespara proporcionar nveis melhores de qualidade, reduo dos custos operacionais, maior desempenho de produo e, fundamentalmente, para facilitar a excelncia operacional.Vale citar um pouco da histria dos avanos tecnolgicos e que culminaram com n benefcios em desenvolvimento de sistemas de aquisio, controle e automao.

Um pouco de histria

Os primeiros sistemas de automao foram desenvolvidos no final do sculo XIX durante a revoluo industrial.O trabalho que era manual passou a ser

realizado por mquinas dedicadas e customizadas a uma determinada tarefa, visando cada vez mais o aumento da produtividade e eficincia. As funes de controle eram implementadas atravs de dispositivos mecnicos que automatizavam algumas tarefas crticas e repetitivas. Estes dispositivos eram desenvolvidos para cada tarefa e devido natureza mecnica dos mesmos, tinham vida til reduzida e alta manuteno. Posteriormente, com o advento dos rels e contatores, estes dispositivos foram substitudos e apareceram dispositivos automticos em linhas de montagens, dando um grande passo na poca. A lgica a rels viabilizou o desenvolvimento de funes de controle mais complexas e sofisticadas. Aps a Segunda Guerra Mundial, houve um avano tecnolgico e apareceram as mquinas por comando numrico e os sistemas de controle na indstria de processo, assim como o conceito de referncia de tenso para instrumentao analgica. Surgem os primeiros circuitos integrados, os CIs, que proporcionaram o desenvolvimento de uma nova gerao de sistemas de automao. Vale lembrar que em 1947, Willian Shockley, John Barden e Walter Brattain inventaram o transistor, que um componente eletrnico am plamente utilizado nos processadores modernos, de forma integrada. No incio dos anos 70, os primeiros computadores comerciais comearam a ser utilizados como controladores em sistemas de automao de grande porte, porm estes computadores eram grandes, ocupando muito espao, de alto custo, difceis de programar e muito sensveis ao ambiente industrial. Mas, tinham a vantagem de manipular a aquisio e controle de vrias variveis.

54 I SABER ELETRNICA 457 I 2011

Ainda na dcada de 70 tivemos um grande avano em termos de automao. A partir de uma demanda existente na indstria automobilstica norte-americana, foi desenvolvido o Programmable Logic Controller (PLC), ou Controlador Lgico Programvel (CLP). O CLP um computador dedicado e projetado para trabalhar no ambiente industrial, onde sensores e atuadores so conectados a cartes de entradas e sadas. Os primeiros CLPs tinham um conjunto de instrues reduzido: normalmente somente condies lgicas, e no possuam entradas analgicas, podendo manipular apenas aplicaes de controle discreto. Os CLPs substituram os painis de controle com rels, diminuindo assim o alto consumo de energia, a difcil manuteno e modificao de comandos e tambm as onerosas alteraes de fiao. Atualmente, devido demanda das plantas industriais, os CLPs manipulam tanto controle discreto quanto malhas analgicas. Estes sistemas so usualmente chamados de Controladores Programveis, por no serem limitados a operaes com condies lgicas. As atuais funes de controle existentes em uma planta industrial so em geral distribudas entre um nmero de controladores programveis, os quais so montados prximos aos equipamentos a serem controlados. Os diferentes controladores so normalmente conectados via rede local a um computador supervisrio central, o qual gerencia os alarmes, receitas e relatrios. Entramos em uma fase onde a tecnologia e conectividade industrial eram proprietrias e um casamento entre cliente e fornecedor acontecia. No mercado apareceram os SDCSs (Sistemas Digitais de Controle Distribudos). Na dcada de 90, o mundo comeou a presenciar enormes avanos na rea tecnolgica em que os circuitos eletrnicos passaram a proporcionar maior eficincia, maiores velocidades, mais funcionalidades, maiores MTBFs (Mean Time Between Failures, maior confiabilidade), consumos menores, espaos fsicos menores e ainda, com redues de custos. Ao mesmo tempo em que impulsionou o desenvolvimento de computadores, interfaces e perifricos mais poderosos, com alta capacidade de processamento

F1. Componentes de um sistema de aquisio de dados.

F2. Interao de um sistema de aquisio de dados com os fenmenos fsicos.

e memria e o mais interessante, dando vazo a alta escala de produo com custos reduzidos, foi uma vantagem de forma geral, pois aumentou a oferta de microcontroladores, CIs e ASCIs para toda a indstria. E se no bastasse esta revoluo eletrnica, os sistemas mecnicos tambm passaram e vm passando por inovaes e modificaes conceituais com a incorporao da capacidade de processamento, tornando-os mais rpidos, eficientes e confiveis, com custos de implementao cada vez menores. Ao longo dos ltimos anos cada vez mais frequente a utilizao de componentes eletrnicos para acionamento e controle de sistemas mecnicos.

Um grande desenvolvimento verificou-se na interface grfica com o advento de ferramentas baseadas no Windows. A simplicidade da operao juntou-se crescente capacidade de processamento, estabelecendo a unio entre os computadores e a instrumentao. Tornou-se habitual os instrumentos serem embutidos em computadores de aplicao geral, permitindo medidas diversas e manipulaes complexas, e ainda grandes capacidades de armazenamento em memria ou disco, monitorizao inteligente, apresentao grfica de fcil compreenso e controle dos processos avanados. No resta dvida que, hoje, no somente a condio de controle que importa.

2011 I SABER ELETRNICA 457 I 55

Projetos
A gesto da informao, a inteligncia da instrumentao, a tecnologia verdadeiramente aberta e no proprietria, e os benefcios da tecnologia digital so os fatores que agregam valores ao usurio. registradores, dependendo do tipo de dispositivo usado. Assim, tem-se entrada e sada mapeada em memria (Memory-Mapped IO) ou entrada e sada mapeada em espao de entrada e sada (IO Mapped IO). baseados em redes neurais e estatstica, so capazes de explorar um conjunto de dados, extraindo ou ajudando a evidenciar padres nestes dados e auxiliando na descoberta de conhecimento. Esse conhecimento pode ser apresentado por essas ferramentas de diversas formas: agrupamentos, hipteses, regras, rvores de deciso, grafos, ou dendrogramas. Um passo fundamental para um processo de data mining bem sucedido ter um sistema de aquisio de dados que possa gerar um banco de dados, relatrios, logs, etc. Disto nascem os repositrios organizados (Data Marts e Data Warehouses).

Objetivo de um sistema de aquisio de dados

Os sistemas de aquisio tm por finalidade obter dados digitais atravs de medies de grandezas fsicas (analgicas), tais como temperatura, presso,densidade, pH, umidade, posio etc, e vm sendo incorporados por diversas vertentes, tanto industriais quanto cientficas. Estas grandezas so sentidas por sensores ou transdutores, e so convertidas em quantidades eltricas por acondicionadores de sinais que levam os sinais at hardwares dedicados e os transformam em valores digitais. Estes valores so processados por controladores e segundo lgicas de controles devolvem a resposta processada aos atuadores (elementos finais de controle), como se v na figura 1. Em sua grande parte, os valores medidos no so iguais ao da varivel real, ou seja, o sistema de aquisio tem como entrada o valor real da varivel e sua sada o valor medido. Os sensores transformam um fenmeno fsico em sinais eltricos que, uma vez detectados/produzidos, variam de acordo com os parmetros fsicos que esto sendo monitorados, e devem ser acondicionados para fornecer sinais apropriados ao hardware de aquisio de dados. Os circuitos e ou elementos de acondicionamento de sinais amplificam, isolam, filtram e excitam sinais para que estes sejam apropriados aos hardwares de aquisio. Uma vez acondicionados e trabalhados na forma desejada, os sinais podem ser lidos em controladores ou mesmo computadores, com placas especficas instaladas, e armazenados em diferentes formas, como arquivos de texto, excel, banco de dados etc. Figura 2.

Sistemas de Superviso e Aquisio de Dados

Abreviadamente SCADA (proveniente do seu nome em ingls Supervisory Control and Data Acquisition), so sistemas que utilizam software para monitorar e supervisionar as variveis e os dispositivos de sistemas de controle. So conectados atravs de drivers especficos. Estes sistemas podem assumir topologia simples, cliente-servidor ou mltiplos servidores-clientes. De forma genrica, um sistema de superviso uma ferramenta de software que permite monitorar e controlar partes ou todo um processo industrial. Tm dois mdulos bsicos: o desenvolvedor e o executvel (run-time). A maioria dos passos de programao automatizada, suprindo a maior parte das necessidades de um projeto sem a real necessidade de conhecimento de linguagem de programao. Em casos mais complexos e especficos, onde os passos no esto automatizados, algumas ferramentas incorporam mdulos de programao em VBA (Visual Basic For Applications ) ou VBS ( Visual Basic Script).

A ferramenta de aquisio de dados

Data Mining

Tipo de endereamento em Sistemas de Aquisio de Dados

Os dispositivos responsveis por manipular os dados utilizam endereos que podem ser de memria ou de

Prospeco de dados ou minerao de dados (tambm conhecida como data mining) o processo de explorar grandes quantidades de dados procura de padres consistentes, com regras de associao ou sequncias temporais, para detectar relacionamentos sistemticos entre variveis, detectando assim novos subconjuntos de dados. Esse um tpico recente em cincia da computao mas que utiliza vrias tcnicas da estatstica, recuperao de informao, inteligncia artificial, sistemas de aquisio de dados e reconhecimento de padres. A minerao de dados formada por um conjunto de ferramentas e tcnicas que atravs do uso de algoritmos de aprendizagem ou classificao

Este tipo de ferramenta exige a transferncia rpida de dados entre dispositivos, software de processamento e de aplicao com interface grfica avanada, sensores e controladores de elevada preciso. Com a velocidade dos avanos tecnolgicos, cada vez mais equipamentos e instrumentao vm com hardwares poderosos. Na vertente do software, as tecnologias vo-se tornando cada vez mais normalizadas, permitindo um desenvolvimento mais rpido e eficaz dos produtos. O campo de estudos da instrumentao virtual ainda est a dar os primeiros passos. Nos prximos anos sero de senvolvidos vrios equipamentos avanados em recursividades, os chamados instrumentos virtuais. Sero os blocos para a construo da nova gerao de instrumentao e medida. As ferramentas devem ser simples e de fcil uso pelo usurio. Devem permitir o acesso a toda a funcionalidade proporcionada pela aplicao, maximizando a funcionalidade e mantendo a simplicidade da interface.

Concluso

A aplicao da computao para automatizao de diversos processos industriais tem crescido de forma significativa, e mais certo so os benefcios advindos da introduo da computao no processo produtivo que tem incrementado a produtividade e reduzido as possibilidades de falhas durante o processo.

56 I SABER ELETRNICA 457 I 2011

Vimos neste artigo, de forma breve que uma das aplicaes que se destacam a utilizao de sistemas de aquisio de dados e superviso para monitorar os mais diversos sensores que integram um determinado processo e a partir das informaes obtidas enviar sinais de controle para outros dispositivos, ou gerar relatrios tcnicos para posterior anlise. Usurios vem colhendo benefcios com sistemas avanados de aquisio de dados e superviso. Essa mudana encarada como um processo natural demandado pelos novos requisitos de qualidade, confiabilidade e segurana do mercado. A sua utilizao traz uma vantagem competitiva, no sentido que essa nova tecnologia traz aumentos de produtividade pela reduo das variabilidades dos processos e reduo dos tempos de indisponibilidade das malhas de controle. E

F3. Exemplo de uma varivel de processo.

F4. Tela tpica de representao de processo. 2011 I SABER ELETRNICA 457 I 57

Desenvolvimento

Introduo
ao VHDL
T
Saiba mais Sugestes para acesso a mais informaes na Internet: www.gmvhdl.com/ VHDL.html www.erc.msstate.edu/ ~reese/ vhdl_synthesis/ www.vhdl-online.de/ www.eej.ulst.ac.uk/tutor.html

Este artigo apresenta o que so exatamente os circuitos integrados de lgica programvel e como eles funcionam, com uma abordagem tcnica e prtica desses componentes.
Augusto Einsfeldt

odo projetista est acostumado a utilizar desenhos esquemticos para representar circuitos eletrnicos. Naturalmente este um modo fcil de tambm representar circuitos lgicos. Em poucos instantes, analisando um esquema possvel entender o funcionamento do circuito e, desde que o esquema seja bem feito, qualquer outro projetista poder trabalhar sobre o mesmo e no apenas o projetista original. Contudo, quando o projeto complexo, o nmero de folhas de esquemas aumenta, o tamanho das pginas aumenta e o funcionamento j no fica to claro para qualquer um. Alteraes de projeto exigem redesenhar uma ou mais pginas e se a alterao for significativa pode exigir a subdiviso de um circuito em pginas adicionais. Esquemas so uma boa forma de representar circuitos mas, em muitos casos, um outro meio pode ser mais eficaz e poupar algum tempo no processo de desenvolvimento. Este outro meio o uso de uma linguagem textual para descrio do circuito, HDL (Hardware Description Language), onde o comportamento do circuito o que mais importa e no exatamente onde cada sinal conectado.

Uma descrio comportamental facilita a vida do projetista pois ele no precisa se preocupar com detalhes puramente matemticos como os mapas de Karnaugh para reduo de lgica ou mesmo a construo de decodificadores para selecionar cada passo de uma mquina de estados. Por exemplo, um contador sncrono pode ser descrito como: if rising_edge(clock) then saida<=saida+1; end if;. Note-se que o uso de lgica sncrona natural em HDL (de fato, para fazer um contador assncrono tipo ripple-carry d um bocado de trabalho. Leia mais no quadro Lgica Sncrona). Se algum pensar em fazer o mesmo usando esquemas, precisa lembrar-se que cada estgio do contador possui um porta AND com tantas entradas quanto o nmero de estgios anteriores. E quantos estgios so necessrios? Se for um contador de 8 bits sero 8 estgios. Mas, e se o projeto exigir 2 bits a mais porque ocorreu uma alterao nas especificaes? No esquema ser preciso desenhar mais dois estgios (se couberem na folha) ou criar uma nova folha para desenhar o contador completo e depois desenhar as referncias de interconexo das pginas, etc. Como isso feito em HDL? Como pode ser visto no exemplo citado, a largura em

58 I SABER ELETRNICA 457 I 2011

bits do contador no entra na equao. Ela definida em uma parte anterior onde o sinal descrito como: signal saida : std_logic_vector (7 downto 0);. Esta linha diz que o sinal saida tem 8 bits de largura. Se o projetista quiser mudar para 10 bits basta alterar esta linha para signal saida : std_logic_vector (9 downto 0);. Simples, no? Linguagens HDLs so aplicveis no projeto de circuitos integrados (ASICs Application Specific Integrated Circuits) e no uso em circuitos de lgica programvel (FPGAs e CPLDs). Naturalmente, existem muitas linguagens de descrio de hardware alm do VHDL, como VERILOG, ABEL e AHDL. Como VHDL tem sido mais divulgada e aplicada em empresas e universidades, esta foi escolhida para esta srie de artigos que so, de fato, um mini-curso na revista Saber Eletrnica. A primeira verso disponibilizada da linguagem VHDL (VHSIC Hardware Description Language) surgiu em 1987 e foi originalmente encomendada pelas Foras Armadas americanas. Sistemas complexos e produzidos por mltiplas empresas exigiam uma linguagem padronizada para modelagem e simulao. Por isso muitas das instrues no so sintetizveis, ou seja, no podem ser convertidas em um equivalente em circuitos eletrnicos e servem, por exemplo, para permitir a simulao de circuitos. Em 1993 surgiu uma nova reviso que empregada at hoje, o VHDL-93.

Fundamentos

Antes de tudo importante saber como um texto que descreve o comportamento de um circuito pode ser convertido no circuito eletrnico propriamente dito. Existem duas etapas principais neste processo: sntese e implementao. A sntese a traduo da linguagem HDL em um outro texto descritivo que emprega referncias de interconexo entre elementos bsicos de lgica digital como portas lgicas, registradores e pinos de entrada e sada. A implementao emprega o resultado da sntese e outras referncias especficas do dispositivo a ser utilizado (conforme um determinado modelo de FPGA ou de CPLD) para calcular como este dispositivo dever ser programado para obter-se o circuito esperado. A sntese equivalente compilao em software: traduz-se de uma linguagem como

C para cdigo assembly. A implementao equivalente a traduzir a descrio assembly em cdigo objeto para um processador. Apesar do uso da linguagem VHDL estar relacionado, de forma direta, apenas com a sntese, durante o desenvolvimento de um projeto deve-se levar em conta os efeitos na implementao conforme o dispositivo utilizado. Uma funo lgica com muitas entradas poder ser implementada mais eficientemente em um CPLD do que em um FPGA. Contudo, se esta mesma funo for descrita de maneira a ser um agrupamento de pequenas funes o resultado poder ser mais adequado para um FPGA do que para um CPLD. Isso ocorre porque os CPLDs tem poucos geradores de funo (at poucas centenas), porm cada um com muitas entradas (alguns com mais de 40), ao passo que o FPGA tem muitos geradores de funes (at muitos milhares) com poucas entradas (tipicamente entre 4 e 6). Outro aspecto que a descrio em VHDL pode ser ou muito especfica ou, por outro lado, mais genrica. Ela especfica quando indica claramente como o circuito dever ser montado e utilizando recursos particulares do dispositivo. Por exemplo, indicando o uso de um componente chamado CB8CE, que natural dos componentes Xilinx, o projetista estaria empregando um contador binrio de 8 bits. Isso tambm chamado de instanciao (ou ocorrncia forada). J uma descrio genrica deixaria a ferramenta de sntese calcular qual circuito representaria uma funo declarada. Neste caso a declarao valor <= valor + 1; produz o mesmo resultado final, ou seja, um contador binrio. Este clculo feito durante a sntese chamado de inferncia (ou deduo). Naturalmente a inferncia mais simples de usar e de se entender quando o projeto de outra pessoa lido. Pode existir, contudo, uma grande diferena no resultado final: o componente CB8CE emprega recursos otimizados dos dispositivos Xilinx e garantidamente oferecer o melhor desempenho em espao ocupado e velocidade, enquanto a inferncia poder usar recursos genricos dos dispositivos e ser menos rpida ou ocupar mais espao. Todavia, ao empregar o CB8CE o projetista est determinando que o contador ter 8 bits de largura. O que ocorre se ele precisar de 11 bits? Seguindo o raciocnio do uso de componentes ele deveria incluir mais um

Lgica Sncrona Um projeto sncrono quando todos os registradores empregados so acionados por um nico sinal de clock, ou por uma derivao sncrona deste clock (como alguma sada de um divisor). Este procedimento tem a vantagem de tornar conhecido o momento em que cada sinal ser registrado. Em um projeto assncrono o acionamento dos registradores feito pelo resultado da lgica combinacional de um ou mais sinais e est sujeito a variaes de atrasos e escorregamentos inerentes a estes circuitos. Neste caso, o projetista no pode prever com preciso o momento em que vo ocorrer e isso pode ocasionar falhas funcionais. Um caso tpico destes acontece quando um determinado projeto s funciona bem quando utiliza-se um FPGA ou CPLD fabricados em uma data especfica e ainda trabalhando sob temperatura controlada. Qualquer mudana nos atrasos internos devido variaes trmicas ou do processo de fabricao pode comprometer o funcionamento. Um contador sncrono muda todas as suas sadas quase no mesmo instante, independentemente do nmero de bits, enquanto um contador tipo ripple-carry ter seu ltimo bit mudando aps o tempo somado de todos os atrasos de cada estgio. Todo projeto pode ser sncrono. Apenas em alguns casos poder ser necessrio o uso de um clock de referncia mais alto do que o exigido no projeto para garantir a incluso de mudanas rpidas em alguns sinais.

destes componentes e possivelmente ocupar mais espao com os 5 bits restantes e desnecessrios. Usando a inferncia somente o nmero de bits usado ser implementado.

2011 I SABER ELETRNICA 457 I 59

Desenvolvimento
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity main is Port ( LED : out std_logic; CLOCK : in std_logic); end main; architecture RTL of main is signal div : std_logic_vector (7 downto 0); begin process (clock) begin if rising_edge(clock) then div <= div + 1; end if; end process; led <= div(7); end RTL; Quadro 1: Um projeto VHDL que pisca um LED ao ritmo de CLOCK/256. type bit is (0, 1); Sel <= 1; type boolean is (false,true); if enable then type integer is range 0 to 103; soma := conta + 32; - se no especificar o range: assume 32 bits type real is range - 31.5 to 47.2; - til apenas para simulao. No sintetizvel type std_logic is ( ,X,0,1,Z,W,L,H, ); - tambm existe o std_ulogic mas este mais rgido e no permite situaes conflitantes como mltiplas sadas tri- state conectadas type my_type is (RST, LOAD, FETCH, SHIFT); - este o tipo enumerated Quadro 2: Tipos Escalares e alguns exemplos de uso.

As ferramentas de sntese so capazes de um bom nvel de otimizao que resulta no emprego dos recursos especficos dos fabricantes de lgica programvel. Por isso, preferencialmente, o projetista deve descrever o hardware usando inferncia, tornando o projeto mais claro e mais fcil de ser desenvolvido. Mais a frente veremos este assunto novamente. Importante: os sinais e comandos (palavras reservadas) em VHDL podem ser escritos tanto em minsculas como em maisculas ao longo de todo o texto.

VHDL

VHDL uma linguagem tpica: simples em sua funcionalidade bsica e complexa quando o projetista aproveita todos os seus recursos. Cada projeto em VHDL sempre distribudo em um ou mais arquivos de texto, geralmente coma extenso .vhd. Cada arquivo contm sempre a descrio funcional completa de um elemento do projeto ou mesmo do projeto inteiro. De fato, o arquivo VHDL de um elemento um projeto em si sendo usado como um componente. O arquivo principal, topo do projeto, que contm referncias de interconexo com os outros arquivos pode ser imaginado como a descrio de um diagrama de blocos. Geralmente, funes complexas e j verificadas so mantidas como um projeto individual (anlogo a uma sub-rotina bem depurada quando programamos um computador).

Assim o projetista no precisa re-escrever ou copiar trechos extensos em VHDL para um nico arquivo, mantendo a legibilidade e repetibilidade dos resultados. A estrutura de um arquivo VHDL contm sempre a declarao das bibliotecas utilizadas e duas sees bsicas e obrigatrias: ENTITY e ARCHITECTURE, como pode ser visto no exemplo do quadro 1. No texto deste quadro todas as palavras e caracteres que so reservadas do VHDL ou tipicamente obrigatrias em qualquer projeto (como as bibliotecas) esto marcados em negrito. As poucas partes que no esto em negrito so aquelas dependentes e produzidas pelo prprio projetista. A seo ENTITY (entidade) serve como um cabealho onde so indicados todos os sinais de entrada e de sada do projeto ou elemento a ser descrito. No exemplo, a palavra main o nome da entidade e normalmente tambm ser o nome do arquivo VHDL. Os sinais no Port da entidade possuem um descritor indicando o sentido do sinal: In, Out e Inout e o tipo do sinal. Os tipos mais usados so: Bit, Std_logic, Bit_vector e Std_logic_vector. Na prtica utiliza-se preferencialmente std_logic ou std_logic_vector. A razo disto ser vista mais adiante. A seo ARCHITECTURE (arquitetura) onde o projetista descreve o funcionamento da entidade. A primeira linha da arquitetura deve indicar duas coisas: o tipo de arquitetura (no exemplo: RTL) e o nome da entidade qual a arquitetura est relacionada (no exemplo: main). O tipo da arquitetura pode, de fato, ser qualquer nome escolhido pelo projetista. Programas que geram a estrutura de um arquivo VHDL

automaticamente (como o ISE da Xilinx) costumam colocar o tipo como BEHAVIORAL. O VHDL no examina esta informao. Voc pode usar quaisquer palavras tais como: COMPORTAMENTO, DESCRICAO, MINHA_ARQUITETURA, ABC123, etc. Em suma, o tipo da arquitetura serve mais para a pessoa que vai ler o projeto ter uma ideia da finalidade e a palavra usada no importante para o VHDL. A arquitetura tem um incio (begin) e um fim (end). Entre o begin e a primeira linha (architecture) so declarados os sinais internos que sero usados neste projeto ou elemento de projeto. Os sinais devem ser entendidos como fios que vo interligar os componentes e portas lgicas do circuito. No exemplo do quadro 1 o nico sinal utilizado que j no foi declarado no port da entidade um barramento de 8 bits que a sada de um contador de 8 bits chamado DIV. Entre o begin e o end deve ser includo um texto descrevendo a lgica do circuito. No caso do exemplo esta descrio possui um PROCESS (processo) e uma linha de lgica combinacional muito simples que diz que o sinal LED deve ser fornecido a partir do bit 7 do contador DIV. Equaes lgicas podem ser facilmente implementadas e todos os operadores (funes) comumente usados esto disposio. Uma equao deste tipo seria, por exemplo: clk_x <= clock and (not div(0)) and div(3);. Neste caso um sinal de sada chamado clk_x seria o resultado de uma porta AND de trs entradas com os sinais clock, bit 0 de DIV invertido e o bit 3 de DIV. J um decodificador de endereo poderia ser descrito como chipselect <= 0 when (addr = 0011000000000001 and wr = 0 and ale = 1) else 1;. Note-se que o sinal chipselect vai ficar em nvel lgico zero quando o barramento de endereo for 0x3001 e ao mesmo tempo tendo os sinais wr em nvel zero e ale em um. Caso contrrio, o sinal ficar em 1. Esta operao lgica utilizou um recurso do VHDL que um teste condicional. Para fazer isso em esquemtico levaria um pouco mais de tempo...

Tipos de sinais

Existem diversos tipos pr-definidos para serem atribudos aos sinais. Eles so divididos em dois grupos: ESCALARES e COMPOSTOS. O quadro 2 mostra os tipos escalares.

60 I SABER ELETRNICA 457 I 2011

O tipo BIT somente pode ter dois estados: 1 e 0. Por esta razo ele no poderia ser associado a um sinal que possa ficar em alta impedncia (tri-state). O tipo BOOLEAN serve para verificao em testes condicionais. O tipo INTEGER til para equaes matemticas e contadores, mas no prtico quando se precisa extrair um ou mais bits para serem usados em outras equaes. Do ponto de vista do hardware um sinal INTEGER , de fato, um barramento de n bits, sendo o nmero de bits correspondente ao necessrio para expressar toda a gama de valores que o sinal pode ter (indicado no range). O REAL um tipo apenas aplicvel em simulaes e no poder ser sintetizado, isto , a ferramenta de sntese no saber como traduzir um sinal REAL em hardware. Note-se que operaes aritmticas com nmeros reais somente podem ser feitas atravs da implementao de um hardware correspondente, para o processamento em ponto flutuante. Tal implementao fica por conta do projetista. O tipo STD_LOGIC o mais usado. Ele permite que o sinal possa assumir at

9 estados diferentes e isso permite fazer verificaes funcionais mais completas alm de tornar vivel a implementao de sinais em tri-state (Z). O significado de cada um dos estados possveis : U : No inicializado; X : Forado Unknown; 0 : Forado Zero; 1 : Forado Um; Z : Alta impedncia; W : Unknown fraco; L : Zero fraco; H : Um fraco; - : Dont care. A maioria dos estados somente til em projetos mais complexos. Os estados 0, 1, Z e - so mais usados. O tipo MY_TYPE (apenas no exemplo pois poderia ter qualquer nome) tambm chamado de tipo enumerado, ou seja, onde cada estado possvel recebe um nome escolhido pelo projetista. Durante o processo de sntese os sinais de tipo enumerado so montados como barramentos com tantos bits quantos necessrios para, atravs de nmeros binrios ou one-hot (barramento de n bits onde apenas um bit de cada vez pode ficar em nivel 1), representar todos os estados declarados. Observar que, na representao binria podero ser possveis mais estados do que os declarados (com 3 bits existem 8 combinaes e quando apenas 5 estados so declarados ainda sobram outros trs).

Durante a sntese estes estados adicionais so tratados internamente como nomes ou cdigos atribudos aleatoriamente. O projetista deve saber disso pois o hardware final, no sabendo como atuar durante a presena destes estados, pode funcionar incorretamente. Os tipos enumerados so muito usados para definir os possveis estados de uma mquina de estados finitos (FSM ou Finite State Machine). Obviamente o nome de cada estado ajuda a entender a sua finalidade e mais amigvel que sries de valores binrios. Os tipos compostos apareem no quadro 3. Os VECTORs so pr-definidos e no exigem uma declarao de tipo (type). Um std_logic_vector ou bit_vector representa um barramento de tantos bits quanto os declarados na expresso X downto Y, onde X o nmero do bit mais a esquerda do barramento e Y o mais a direita. Embora Y possa ter qualquer valor (sempre menor que X) recomenda-se usar 0 (zero) pois algumas ferramentas de sntese causam erros quando Y maior que zero. A declarao de largura pode ser tanto DOWNTO como TO.

2011 I SABER ELETRNICA 457 I 61

Desenvolvimento
Signal teste: bit_vector (3 downto 0) : = 00100; array type memoria is array (3 downto 0) of std_logic; type dados is array (255 downto 0) of integer range 0 to 9;

1. Os arrays e vetores devem ser do mesmo tipo; 2. Os arrays e vetores devem ser do mesmo tamanho; 3. As designaes so posicionais, da esquerda para direita;
signal BusX, BusY : bit_vector (2 downto 0) signal BusZ: bit_vector (0 to 2);

*bit_vector e std_logic_vector so tipos compostos pr-definidos a)

type OPCODE is recorded parity : bit; address : std_logic_vetor (3 downto 0); data : std_logic_vector (7 downto 0); num_value : integer range 0 to 5 crc : bit_vector (1 downto 0); end record; signal TxPacket, RxPacket : opcode; TxPacket Parity Address Data Num CRC

signal word : bit_vector (15 downto 0); signal data : bit_vector (7 downto 0); signal aux : bit vector (3 downto 0); signal zz : std_logic_vector (0 to3); signal a, b, c, d : bit; (a,b,c,d) <= aux; (*) data < (c, aux(1), aux(2), data (0), 0, 0, b, a); word <= (15 => 1, 14 => data(2), 0 => c,2 a, others => 0); zz <= ( others => 1);
*Apenas tipos escalares podem ser agregados no lado esquerdo da instruo. c)

BusY <= BusX 2 1 0 BusX 2 1 0 BusY

BusZ <= BusX 2 1 0 BusX 0 1 2 BusZ

b)

Quadro 3. Tipos Compostos: a) Vetores e Arrays - Os vetores so os mais comuns; b) Record - Barramento composto de vrios sinais; c) Agregados (agregates) - forma de associao de sinais.

Quadro 4. Atribuies (conexo) com vetores e arrays. A importncia na ordem do barramento.

O VHDL no impe restries e a ordem (do bit mais significativo para o bit menos significativo) sempre feita da esquerda para a direita. Recomenda-se usar consistentemente apenas uma orientao, pois do contrrio uma conexo entre dois sinais pode significar a inverso de um barramento (veja o quadro 4). Normalmente, usa-se a ordem DOWNTO por ser a mesma da representao em esquemas e a mais natural aos projetistas de circuitos lgicos. A inicializao, feita na declarao dos sinais (como indicado no exemplo do quadro 3a :=0100), til para a simulao e no sintetizvel. Quando um sinal no inicializado, os simuladores no conseguem calcular os resultados das lgicas dependetes deste sinal. No caso do ModelSIM, um ou mais sinais e outras lgicas dependentes deste de um sinal no inicializado aparecem na janela de anlise como uma linha vermelha. Um tipo muito interessante e que desperta a imaginao dos projetistas o RECORD. Com ele, monta-se um barramento complexo onde cada parte pode ser tratada individualmente. Depois este barramento pode ser carregado, digamos, em um registrador

de deslocamento (shift register) e a sada resultante usada numa interface serial de comunicao. Outro exemplo o uso do record para descrever microinstrues de um processador. Para acessar as partes individuais de um record basta usar: <signal_name>.<field_name> Exemplo:
Signal contador : std_logic_vector (3 downto 0); TxPacket.address <= contador; TxPacket.num_value := 3; TxPacket.parity <= contador (0) xor contador (1) xor contador (2) xor contador (3);

Finalmente, os agregados so na verdade a forma de associar partes individuais de outros sinais e constantes de forma a compor um sinal diferente. O uso da palavra reservada others indica que todas as demais posies no explicitamente indicadas devem assumir o estado apontado. Os agregados somente podem ser compostos de elementos associados de forma posicional ou nomeada. Os dois modos no podem ser usados juntos na mesma atribuio. Vale dizer neste

momento que a forma posicional serve para indicar a posio exata de um bit de um barramento. Como no exemplo em 3c, segunda linha, onde o sinal c vai ligado no bit 7 de data, o sinal aux(1) vai no bit 6 e assim por diante. J a forma nomeada indica em que bit do barramento o sinal em questo ser ligado. Veja a terceira linha do exemplo onde o sinal data(2) ligado ao bit 14 de word. Lembre-se disso, pois estas formas posicional e nomeada so empregadas em outras referncias no VHDL. Adicionalmente ao exemplo uma expresso data <= (a,b,c,d,aux); no funcionaria porque a ferramenta de sntese percebe que os tipos de data e aux so diferentes. Tambm a expresso zz <= aux; no funcionaria pelo mesmo motivo, contudo isso pode ser resolvido, neste caso, empregando-se uma funo de converso de tipos: zz <= to_stdlogicvector (aux); Ainda sobre sinais, na representao de valores, conforme o tipo usa-se:
Bit ou Std_logic = 0 ou 1 ou Z Bit_vector ou Std_logic_vector = 0010 ou 1110101001Z00 Intege = 23 ou 18594 ou 89234551

62 I SABER ELETRNICA 457 I 2011

Eletrnica Aplicada

Setembro/Outubro 2011 I SABER ELETRNICA 455 I 29

Desenvolvimento

Fonte fixa de
12/12,6/13,2 V x 10 A
Equipamentos de uso mvel como transmissores podem ser facilmente alimentados pela bateria do carro, no entanto, se eles forem usados em uma bancada ou precisarem passar por testes, ajustes ou reparaes precisaro de uma fonte cuja capacidade de corrente est muito alm da fornecida por projetos comuns. O circuito que descrevemos aqui ideal para alimentar transmissores de comunicaes de uso mvel com potncias at 50 W e mesmo para circuitos especiais, a exemplo dos inversores.
Newton C. Braga

quipamentos de uso mvel tais como transmissores de VHF, FM, 11 metros, radioamadores das faixas de ondas curtas, inversores, etc., exigem correntes elevadas quando alimentados por uma fonte. Em alguns casos, a corrente de operao a mxima potncia pode chegar aos 10 ampres, o que inviabiliza o uso de fontes comuns ou simples eliminadores de pilhas. O que propomos neste projeto uma excelente fonte de alimentao de 12 a 13,2 V que pode fornecer correntes at 10 A, servindo pois para a alimentao de todos os equipamentos descritos na introduo.

O uso de um circuito integrado de preciso, como referncia de tenso, torna esta fonte muito estvel e segura na alimentao de qualquer equipamento indicado para o carro ou bateria como fonte de alimentao.

Como funciona

O circuito de entrada consta de um transformador que abaixa a tenso da rede de energia de 110 V ou 220 V para uma tenso menor, entre 15 e 20 V sob corrente mxima de 10 A. H transformadores que podem ser encontrados prontos para esta finalidade. Mas, se isso no for possvel, o leitor ter

F1. Esquema eltrico da fonte fixa. 64 I SABER ELETRNICA 457 I 2011

duas alternativas: uma ser mandar enrol-lo e outra ser usar um de tenso na faixa indicada, mas com corrente menor, caso em que a capacidade da fonte ficar reduzida. Neste caso, se ela puder ainda ser usada com o equipamento que o leitor dispuser, no haver nenhum problema. A tenso reduzida pelo transformador ento retificada por uma ponte de diodos. Podem ser colocados diodos separados ou pontes completas, conforme indicadas na lista de material. Como cada diodo s conduz durante metade do ciclo de alimentao, sua especificao de corrente deve ser apenas um pouco maior que metade do valor mximo de sada. Assim, diodos para 8 A ou mais podem ser utilizados. Sua tenso inversa de pico (PIV) deve ser de pelo menos 100 V para maior segurana. Logo aps a retificao temos a filtragem, que deve ser excelente para que no ocorram zumbidos na reproduo sonora dos aparelhos alimentados. uma prtica segura usar 1 000 F para cada ampre de corrente de sada com uma fonte at 12 V. Recomendamos, portanto, um capacitor de 10 000 F ou

ainda dois capacitores de 4 700 F x 35 V ligados em paralelo. Temos finalmente a etapa de regulao: a referncia de tenso dada pelo circuito integrado 7812, o qual dever ser montado num bom radiador de calor. Ligando ao terminal de referncia deste integrado diodos, podemos alterar levemente a tenso de sada. A chave S2 se encarrega disso. Para cada diodo colocado no circuito temos um acrscimo de 0,6 V o que nos leva a 13,2 V, que aproximadamente a tenso que encontramos nos terminais de uma bateria de uso automotivo de 12 V quando completamente carregada. O circuito integrado 7812 s fornece correntes at 1 A, mas esta intensidade suficiente para excitar trs transistores 2N3055 ligados em paralelo. Cada transistor poder ento controlar 3,33 ampres, o que est bem dentro de sua capacidade. Veja que nos emissores dos transistores temos resistores de 0,22 ohms. Sua finalidade distribuir igualmente a corrente entre estes componentes, pois suas caractersticas no so exatamente iguais. Sem os resistores existe o perigo de um transistor ter de conduzir uma corrente

maior que outro, sofrendo com isso uma sobrecarga que pode lev-lo queima. Na sada do circuito, alm de um fusvel adicional de proteo de 15 A temos tambm um capacitor de desacoplamento e um resistor de carga, cuja finalidade manter a tenso nos terminais, mesmo na ausncia de uma carga externa.

Montagem

O circuito completo da fonte mostrado na figura 1. A disposio dos componentes em uma placa de circuito impresso ilustrada na figura 2. Os transistores devem ser montados em radiadores de calor de pelo menos 50 cm quadrados (5 cm x 10 cm), com fixao em local de boa ventilao. O regulador de tenso CI1 deve ter um radiador de calor menor. Para a retificao pode ser usada uma ponte Semikron SKB 7/02, ou ainda os diodos SK2 ou SK3 para 200V. O capacitor eletroltico de filtragem, de 10 000 F, pode ser obtido com a ligao de dois eletrolticos de 4 700 F x 35 V em paralelo.

2011 I SABER ELETRNICA 457 I 65

Desenvolvimento
Os resistores R2, R3 e R4 so de fio de 0,22 ohms com pelo menos 2 W de dissipao. Tendo dificuldades em se conseguir estes valores de resistores, existem alternativas: Ligao de dois resistores de 0,47 ohms x 1 W em paralelo. Ligao de quatro resistores de 1 ohm x 1W em paralelo. A chave S2 seleciona a tenso de sada: na posio A temos 12 V, na posio B temos 12,6 V e na posio C temos 13,2 V. O resistor R6 deve ser de fio com pelo menos 5 W de dissipao. Observamos que os fios de ligao que conduzem as correntes principais devem ser todos grossos (18 ou 16). Uma outra modificao possvel para este projeto consiste em se alterar a quantidade de transistores 2N3055 ligados em paralelo, caso a corrente mxima desejada seja um pouco menor ou maior que a indicada aqui. Por exemplo, com dois transistores 2N3055 poderemos ter uma fonte at 5 ou 6 A; e com apenas um, a fonte chegar aos 3 ou 4 A de sada. Por outro lado, acrescentando mais um transistor, levando a 4, poderemos ter sadas que superam os 12 A. Evidentemente, o transformador e os diodos devero ter suas especificaes alteradas para as novas correntes que devero ser fornecidas.

Prova e uso

Para provar a fonte, s ligar algum aparelho com consumo conhecido em sua sada, e verificar se a tenso se mantm estvel. Uma lmpada de 12 V de farol de carro uma boa carga para esta prova. Na ligao de equipamentos eletrnicos em geral tais como transmissores, aparelhos de som, transceptores e toca-fitas preciso observar a polaridade dos fios. A lmpada non opcional, servindo apenas para indicar que a fonte se encontra ligada. E

Lista de Materiais
Semicondutores:
CI1 - 7812 - circuito integrado regulador de tenso Q1, Q2, Q3 - 2N3055 - transistores NPN de alta potncia D1 a D2 - diodos SK2 ou SK3 (Semikron) D3, D4 - 1N4002 - diodos de silcio R1 - 220 kW x 1/8 W R2, R3, R4 - 0,22W x 2 W - fio R5 - 2,2 kW x W R6 - 100W x 5 W - fio C1 - 10 000 F x 35 V - eletroltico - ver texto C2 - 100 F x 16 V - eletroltico NE-1 - lmpada non comum S1 - Interruptor simples S2 - Chave de 1 polo x 3 posies, rotativa T1 - Transformador com primrio conforme a rede local de energia e secundrio de 15 a 22 V x 10 A - ver texto F1 - Fusvel de 3 A F2 - Fusvel de 15 A Placa de circuito impresso,radiadores de calor para os transistores,fios,solda,cabo de fora, suporte para os fusveis, caixa para montagem, fios com garras para conexo ao aparelho alimentado ou conector do tipo acendedor de cigarros de carro, fios comuns, solda etc.

Resistores:

Capacitores:

Diversos:

F2. Montagem em placa de circuito

66 I SABER ELETRNICA 457 I 2011

Você também pode gostar