You are on page 1of 16

MÉTODO DE APRENDIZADO DE ELETRÔNICA

DIGITAL BASEADO EM PROJETO E


IMPLEMENTAÇÃO DE SISTEMAS DEDICADOS EM
HARDWARE

Alexandre Marques Amaral1, Carlos Augusto Paiva da Silva Martins2


1
Instituto Politécnico da Universidade Católica / Laboratório de Sistemas Digitais e
Computacionais
2
Programa de Pós-Graduação em Engenharia Elétrica / Instituto de Informática
Pontifícia Universidade Católica de Minas Gerais
Av. Dom José Gaspar 500, 30535-610
Belo Horizonte, Minas Gerais, Brasil
alexandre.marques.am@terra.com.br, capsm@pucminas.br

Abstract. In this paper, we present a new learning method of digital


electronic. Our main objective is to propose and develop mechanisms that
guide, stimulate, facilitate and optimize the learning process, by means of the
development and implementation of projects of realistic digital circuits. As
verification of this method, we present two case studies: a digital image
convolution circuit and a logical controller of step engines. We conclude that,
with the use of the proposed method, we reach the related foreseen objectives
to the orientation, stimulation and motivation of the students for the study of
the practical and theorical concepts of digital electronic, and the consequent
optimization of learning process.

Resumo. Neste artigo, apresentamos um novo método de aprendizado de


eletrônica digital. Nosso objetivo principal é propor e desenvolver
mecanismos que orientem, estimulem, facilitem e otimizem o processo de
aprendizado, por meio do desenvolvimento e implementação de projetos de
circuitos digitais realísticos. Como verificação do método, apresentamos dois
estudos de caso: um circuito de convolução de imagens digitais e um
controlador lógico de motores de passo. Concluímos que, com a utilização do
método proposto, alcançamos os objetivos previstos relacionados à orientação,
estímulo e motivação dos alunos para o estudo dos conceitos e práticas de
eletrônica digital, e a conseqüente otimização do aprendizado.
1. Introdução
Nos últimos anos, observamos um constante avanço da eletrônica digital, que vem
evoluindo através da sua utilização em novas aplicações e complexidade dos circuitos,
agregando um número cada vez maior de funcionalidades. Um sistema digital é
constituído de dispositivos que são construídos para manipular informações discretas,
ou seja, pontos obtidos por amostras de uma grandeza física, sendo que o valor exato
das informações físicas não é importante para seu correto funcionamento, mas sim o seu
valor aproximado [Tocci 2000].
O aparecimento dos atuais sistemas de informação, que manipulam dados
digitais (discretos), viabilizou o surgimento de sub-áreas como a de controle e
automação de processos, processamento e transmissão de dados e sinais, dentre outras.
Estas sub-áreas foram as principais responsáveis por tamanha evolução da eletrônica
digital. No entanto, ao mesmo tempo em que esse avanço tecnológico traz benefícios,
simplificando a vida dos usuários dos produtos, os projetistas e profissionais da área
necessitam estar constantemente atualizados com as novidades.
Dentre as causas da superação dos sistemas digitais sobre os sistemas
analógicos, nos aspectos de utilização, tecnologia, dentre outros, podemos citar:
facilidade de projeto, uma vez que são circuitos de chaveamento; facilidade de
armazenamento de informações, sendo que circuitos de chaveamento especiais podem
reter informações por um tempo indeterminado; precisão e exatidão da saída do circuito
(resposta) são maiores, podendo haver tantos dígitos de precisão quantos forem
necessários, com a simples adição de mais circuitos de chaveamento; facilidade de
programação das operações, sendo relativamente fácil o desenvolvimento de sistemas
cujo comportamento segue um conjunto de instruções previamente armazenadas; baixa
susceptibilidade a ruídos, pois trabalham com valores aproximados; facilidade de
encapsulamento (circuitos integrados) [Tocci 2000]. A tecnologia de integração de
circuitos digitais tem evoluído bastante desde a integração em pequena escala (SSI
Small scale integration), com menos de 12 portas por CI, até os dias atuais como alguns
microprocessadores contendo alguns milhões de portas lógicas (ULSI Ultra large
scale integration) [Tocci 2000].
Nos últimos anos, circuitos integrados capazes de implementar em hardware
circuitos descritos em forma de software, podendo ser reconfigurados, vêm ganhando
espaço no mercado. Atualmente existem vários tipos de CIs com essa característica,
como podemos citar: Eraseable Programmable Logic Device (EPLD), Electrically
Eraseable Programmable Logic Device (EEPLD), Complex Programmable Logic
Device (CPLD), Field Programmable Gate Array (FPGA) [Martins Ordonez et al.
2003] [Ordonez Penteado et al. 2003]. Os FPGAs, dentre os citados, são os que
possuem uma tecnologia mais avançada, capazes de implementar circuitos mais
complexos e podendo ser reconfigurado parcial ou totalmente, estática ou
dinamicamente, dependendo da sua arquitetura [Martins Ordonez et al. 2003][Ordonez
Penteado et al. 2003].
Apesar de a evolução tecnológica ser tão intensa atualmente, os conceitos
básicos de eletrônica digital, permanecem inalterados, como por exemplo, os conceitos
da lógica booleana, utilizados no projeto e compreensão da grande maioria dos circuitos
digitais existentes. Estes conceitos são ensinados nas instituições de ensino, através de
exercícios, práticas e projetos. Porém, analisando e comparando os circuitos digitais
dedicados, que são utilizados para a resolução de muitos problemas cotidianos, com os
circuitos utilizados nos modelos didáticos para o ensino de eletrônica digital, podemos
destacar alguns problemas, tais como: (i) falta de motivação dos alunos para o
estudo/aprendizado, pois o que é ensinado nas aulas tradicionais são conceitos teóricos,
em forma de exercícios manuais, com nenhum enfoque em alguma aplicação realística;
(ii) os projetos dos circuitos didáticos tradicionais não estimulam os aprendizes para o
estudo, não representando, para eles, aplicações nos projetos de circuitos dedicados,
como os atuais aparelhos eletrônicos e computacionais; (iii) os circuitos dedicados
propostos pelos professores, geralmente, não são projetos do interesse dos aprendizes,
não estimulando-os a buscar o conhecimento adequado para o projeto, desenvolvimento
e implementação desses circuitos.
Com base nos problemas citados anteriormente, desenvolvemos esse trabalho
como uma forma de solução, propondo um novo método de aprendizado de eletrônica
digital. Nosso método tem como principais objetivos: (i) incentivar os aprendizes ao
estudo de eletrônica digital; (ii) facilitar e otimizar o processo de aprendizado dos
conceitos teóricos e práticos de eletrônica digital; (iii) formar profissionais que sejam
capazes de realizar atividades mais complexas de estudo, projeto, desenvolvimento e
implementação, somente com uma orientação; (iv) formar profissionais com uma certa
intimidade em determinadas sub-áreas da eletrônica digital, a fim de otimizar a sua
inserção no mercado de trabalho, ou num futuro curso de pós-graduação.
Este artigo é composto por uma descrição crítica do método tradicional e a
apresentação e descrição do método proposto, relatando as suas diretrizes e seus
principais conceitos; posteriormente é descrito como o método foi validado e realizada a
discussão dos resultados da aplicação do método proposto, analisando as suas vantagens
e desvantagens em relação ao método tradicional; finalmente são apresentadas as
conclusões da discussão dos resultados, as principais contribuições e possibilidades de
trabalhos futuros.

2. O Método de Aprendizado Tradicional


Inicialmente analisamos os métodos tradicionalmente usados no ensino e aprendizado
de eletrônica digital nos cursos de graduação em ciência da computação e engenharias.
Percebemos que estes métodos eram compostos de aulas puramente teóricas ou de aulas
puramente práticas, nas quais os problemas propostos são problemas didáticos e de
simples resolução. A seguir apresentamos os principais problemas identificados nestes
dois tipos de aulas.
As aulas teóricas tradicionais não têm o objetivo de fazer os alunos participarem
ativamente das discussões; os alunos não são motivados para o estudo dos conceitos do
tópico antes e após o término da aula; os conceitos são passados para os alunos de
maneira mecanizada, sendo de difícil entendimento os motivos de certos
comportamentos dos circuitos digitais; exercícios, projetos e provas são realizados
manualmente, podendo ocorrer uma grande quantidade de erros de projeto difíceis de
serem detectados. Conseqüentemente, os alunos que deveriam ser os principais
interessados pela aula, ficam desanimados, passando a não gostar das aulas e da própria
eletrônica digital.
As aulas práticas tradicionais são caracterizadas por serem apenas uma
verificação do funcionamento de certos circuitos didáticos, não representando um
complemento no aprendizado; são compostas por práticas de montagem de circuitos
digitais simples e não realísticos; os alunos não são incentivados a buscar alguma
novidade do mercado para realizar práticas de montagem; os projetos e montagens de
circuitos digitais são, na maioria dos casos, propostos pelos professores, fazendo com
que os alunos não possam determinar um projeto de circuito que satisfaça seus
interesses; para desenvolvimento e montagem desses projetos, não é permitido aos
alunos a escolha das ferramentas e métodos de prototipação mais interessantes a eles;
para a verificação dos protótipos são observados apenas os níveis lógicos nas saídas, por
meio de LEDs, quando aplicadas certas combinações de níveis lógicos nas entradas, não
utilizando para tal nenhum equipamento de medição, como osciloscópios e multímetros.
Verificamos que, como conseqüência da aplicação do método tradicional, as
aulas ficam carregadas de teorias e práticas isoladas, ao passo que o aprendiz não
consegue associar essa teoria carregada de informações importantes com as suas
possíveis aplicações. Com isso, o aprendiz ficará incapaz de realizar atividades de
análise e de síntese de projetos de circuitos normalmente produzidos e utilizados na
indústria eletrônica.

3. O Método Proposto
3.1. Apresentação do Método Proposto

O método proposto é uma nova abordagem para o ensino, estudo e conseqüente


aprendizado de eletrônica digital, baseado no projeto, desenvolvimento e
implementação de circuitos digitais que resolvem problemas realísticos, escolhidos
pelos próprios alunos. O método tem como objetivo principal o incentivo do estudo dos
conceitos básicos por meio de suas aplicações em circuitos digitais realísticos e
coerentes com as tecnologias disponíveis. Com ele, os alunos poderão escolher o
circuito a ser projetado, assim como as ferramentas e tecnologias de simulação e
implementação do mesmo.
As possíveis vantagens da aplicação do método são: (i) Os aprendizes sentem-se
motivados para a busca de problemas que seriam interessantes para o seu próprio
aprendizado; (ii) o aprendizado dos conceitos pertinentes ao problema escolhido torna-
se um desafio, que para ser vencido, o aprendiz deve buscar referências bibliográficas e
estudar; (iii) incentivo à independência dos aprendizes com relação às atividades de
estudo de conceitos e práticas; (iv) uso de problemas reais relacionados à eletrônica
digital como forma de aprendizado, utilizando os conceitos de aprendizado baseado em
problemas (Problem Based Learning PBL) [Goulart 1998]; (v) orientação dos
aprendizes para linhas de raciocínio baseadas em métodos científicos para o projeto e
desenvolvimento de circuitos, preparando-os para o mercado atual; (vi) uso de
simulações computacionais como ferramenta de aprendizado; (vii) uso da internet como
auxílio à determinação e resolução dos problemas escolhidos; (viii) contato com a
pesquisa por meio de projetos de iniciação científica, bem como a produção de artigos
científicos, como forma de continuação dos estudos após a finalização das atividades.
3.2. Principais Diretrizes do Método Proposto

O nosso método é fundamentado em aprendizado baseado em problemas (Problem


Based Learning PBL) e estruturado em onze etapas:
1. Aula inicial do professor, para apresentação dos principais conceitos básicos
de eletrônica digital. Estes poderão ser utilizados nos trabalhos e definição das
principais etapas, que os alunos deverão seguir.
2. Os aprendizes deverão iniciar um estudo, análise e seleção dos problemas
motivadores e dos circuitos a serem projetados.
3. Estudo dos conceitos necessários, utilizados no projeto e desenvolvimento
dos circuitos. Os aprendizes que tiverem dificuldades no processo de aprendizado
dos conceitos de seus projetos poderão ser orientados pelo professor da disciplina.
4. Especificação dos circuitos realizada pelos aprendizes, com a definição dos
seus principais parâmetros e características de funcionamento.
5. Projeto e desenvolvimento dos circuitos, ficando a critério dos aprendizes a
definição dos métodos de projeto, assim como as ferramentas de desenvolvimento
e simulação funcional e/ou estrutural dos mesmos. No entanto, é necessário
respeitar as devidas limitações de estrutura, apresentada pela instituição de ensino,
para testes e verificação do funcionamento dos circuitos.
6. Implementação e montagem dos circuitos, ficando a critério dos aprendizes
a definição dos métodos e ferramentas de implementação e montagem dos
mesmos, respeitando as limitações de estrutura da instituição.
7. Teste e verificação do comportamento e funcionamento dos circuitos,
realizados pelos aprendizes, por meio da utilização de osciloscópio, multímetro e
LEDs para efetuar os devidos testes nas entradas, nas saídas e nos módulos
parciais que compõem o circuito;
8. Avaliação dos resultados obtidos e decisão de finalização do projeto ou
retorno a alguma das etapas anteriores se o comportamento do circuito não está
semelhante ao esperado;
9. Finalização do projeto, com análise dos resultados obtidos e elaboração da
documentação final, que deverá ser entregue ao professor.
10. Apresentação dos trabalhos e dos principais conceitos utilizados no projeto,
em sala de aula, fazendo parte da avaliação.
11. Avaliação das atividades. Quando for avaliar os trabalhos, o professor deverá
considerar o conhecimento adquirido pelos alunos durante as fases citadas acima,
a organização e estruturação do projeto, o comportamento parcial e total do
circuito, e a documentação final que deverá relatar o desenvolvimento de cada
uma das fases citadas.
Na utilização deste método, deve existir uma entidade que promove a orientação
dos aprendizes (ensino), assim como estes devem desenvolver atividades de estudo,
para a complementação do processo de aprendizado. Não é obrigatória a execução de
todas as etapas. O orientador das atividades de aprendizado, que pode ser um professor
de aula prática ou teórica, é o responsável pela definição das etapas que serão
executadas e relatadas na documentação final.
Os professores deverão estar aptos para avaliar os trabalhos projetados e
implementados pelos alunos, considerando que, antes dessa avaliação, os alunos
deverão apresentar uma análise dos conceitos e o comportamento ideal de um circuito
dedicado usado para resolver o problema proposto. É importante deixar claro que o
professor deve acompanhar de perto as fases de escolha do problema e especificação do
circuito, de modo a ajudar para que estes aspectos não fiquem aquém do esperado, não
influenciando diretamente na avaliação dos trabalhos. A característica que deve
representar maior peso na avaliação é o fato de o circuito implementado resolver
corretamente o problema proposto. A avaliação das demais características, como
organização, montagem, relatórios, dentre outras, devem ficar a cargo do professor.

3.3. Aspectos de Implementação dos Circuitos

Os projetos deverão ser realizados em grupos de poucos alunos, com interesses comuns.
No projeto, desenvolvimento, simulação e implementação dos circuitos dedicados, os
alunos terão a liberdade de definir as tecnologias e ferramentas de desenvolvimento
mais adequadas para eles.
Para implementações em hardware com os métodos tradicionais, geralmente, são
utilizados CIs de portas lógicas elementares interligados com CIs MSI (Medium Scale
Integration), como por exemplo decodificadores e multiplexadores, os quais realizam as
principais funções dos circuitos. Esses CIs são interligados de forma a compor um
circuito mais complexo que resolve o problema proposto. Como ferramentas de
simulação funcional dessas implementações são utilizados softwares como Circuit
Maker [Circuitmaker 2004], Eletronic Work Bench [EWB 2004], dentre outros.
Para implementações em dispositivos reconfiguráveis, como FPGAs, o aprendiz
pode implementar o circuito projetado utilizando uma linguagem de descrição de
hardware, programando num modo estrutural [Martins Ordonez et al. 2003]. Utilizando
linguagens como VHDL (VHSIC (Very High Speed Integrated Circuits) Hardware
Description Language) [Ashenden 1990] e programando de maneira estrutural, o
aprendiz descreve a estrutura do circuito, utilizando bibliotecas já prontas que
descrevem portas lógicas, e circuitos mais complexos, como decodificadores e
multiplexadores. O aprendiz também pode optar por fazer captura de esquemático,
montando um esquema do circuito no ambiente de desenvolvimento específico de cada
fabricante. Após a finalização do esquema ou do programa que descreve o circuito, o
usuário deverá sintetizá-lo para o tipo de arquitetura reconfigurável utilizada, e
descarregar os bitstreams (bits de configuração) obtidos utilizando o próprio ambiente
de desenvolvimento de projetos [Martins Ordonez et al. 2003].
Existem muitas vantagens na utilização da tecnologia de implementação de
circuitos dedicados utilizando FPGAs sobre as outras tecnologias [Martins Ordonez et
al. 2003][Xilinx 2004][Altera 2004]. Algumas delas são: (i) os FPGAs são circuitos que
podem ser reconfigurados estática ou dinamicamente, parcial ou totalmente,
dependendo de sua arquitetura interna, possuindo grande flexibilidade; (ii) a
implementação das soluções em hardware possibilita um alto índice de desempenho;
(iii) os FPGAs possuem alta eficiência, considerando que todo o circuito estará
implementado num único CI, diminuindo a possibilidade de ocorrência de ruídos
externos; (iv) é possível simular o funcionamento e comportamento dos circuitos, já
considerando os seus tempos de atraso; (v) os CIs possuem um baixo custo,
comparando com os benefícios em relação à integração, desempenho e flexibilidade;
(vi) os circuitos implementados possuem alta tolerância a falhas, devido a possibilidade
de reconfiguração parcial e dinâmica; (vii) o software do ambiente de desenvolvimento
ISE [Xilinx 2004] possui uma versão para estudantes grátis na internet, além de
disponibilizar a documentação necessária para sua utilização.
Devemos considerar que para a correta utilização do método de ensino proposto
neste artigo, os professores das disciplinas deverão conhecer um pouco cada uma das
tecnologias citadas nessa seção, de forma que ele seja capaz de orientar a respeito das
vantagens e desvantagens de cada implementação. Se os alunos tiverem problemas e o
professor não souber orientá-los de maneira adequada, este deverá buscar soluções, e
assim, orientar de forma concisa.

4. Resultados da Verificação do Método Proposto

Para verificação do nosso método realizamos testes com dois alunos, sendo que um é do
curso de Ciência da Computação, na disciplina Introdução aos Sistemas Lógicos (2º
período), e o segundo aluno é do curso de Engenharia Eletrônica e de
Telecomunicações, na disciplina Sistemas Digitais II (4º período), ambos da Pontifícia
Universidade Católica de Minas Gerais (PUC Minas).
Neste teste de verificação foram projetados, desenvolvidos e implementados
dois circuitos realísticos, de acordo com o interesse e motivação de cada uma das áreas.
O aluno de ciência da computação projetou e implementou um circuito convolucionador
de imagens digitais, enquanto que o aluno de engenharia eletrônica projetou e
implementou um circuito controlador lógico para motor de passo. Nas seções a seguir
apresentamos resumidamente esses dois projetos.

4.1. Circuito Convolucionador de Imagens Digitais

Neste item apresentamos o circuito convolucionador de imagens digitais, projetado e


implementado pelo aluno de ciência da computação. Subdividimos esta seção em três
partes: primeiramente apresentamos as principais definições a respeito de um processo
de convolução de imagens digitais; depois descrevemos o circuito projetado e
implementado; e, finalmente, apresentamos os principais resultados obtidos dos testes
para verificação do funcionamento deste circuito.

4.1.1. Definições

A convolução e correlação são operações fundamentais para a compreensão de técnicas


de processamento de imagens digitais baseadas na transformada de Fourier [Gonzalez
Woods 2000]. Um exemplo dessa utilização ocorre na filtragem de imagens, onde os
filtros lineares são geralmente descritos por matrizes de convolução. Esses filtros,
também chamados de máscaras, são matrizes numéricas que irão modificar a freqüência
espacial da imagem a ser filtrada. O termo freqüência espacial é análogo ao termo
freqüência temporal, e determina a velocidade de variação da taxa de luminosidade de
uma imagem em uma determinada direção [Albuquerque Albuquerque 2004].
Para realizar uma filtragem utilizando máscaras de convolução, basta realizar a
seguinte operação:
m n
(Parte_ Imagem(i)(j) * Mascara(i)(j))
i j
Pixel m n
Mascara(i)(j)
i j

Sendo que, o termo Parte_Imagem é uma parte da imagem que estará sendo
convoluída para determinar um ponto (pixel) da imagem filtrada, o termo m será o
número de linhas da máscara e o termo n será o seu número de colunas. A convolução
será concluída quando a máscara percorrer toda a imagem a ser filtrada, fazendo o
somatório das multiplicações ponto a ponto e efetuar o quociente com o somatório dos
coeficientes da máscara.

4.1.2. Descrição e Análise do Circuito Projetado e Implementado

O circuito convolucionador implementa a operação apresentada no item anterior. O


aluno de ciência da computação, que projetou, desenvolveu, simulou e implementou o
circuito, utilizou as ferramentas do pacote ISE da Xilinx (Project Navigator, ModelSim,
Impact) [Xilinx 2004], para a realização dessas etapas. Nestas ferramentas ele
desenvolveu a descrição do hardware do circuito utilizando VHDL estrutural, validou
sua arquitetura por meios de simulações funcionais e implementou o circuito no FPGA
XC2S200 da Xilinx e, finalmente, verificando o funcionamento através de subtração de
uma imagem corretamente filtrada pela imagem filtrada com o circuito implementado.
Na figura 1 apresentamos um diagrama esquemático da estrutura simplificada do
circuito.

Figura 1 Diagrama de blocos de um circuito convolucionador de imagens digitais


O circuito projetado, representado de forma simplificada na figura 1, possui os
seguintes módulos: Uma LUT (Look Up Table) com registradores de oito bits, um
multiplexador, um multiplicador, um gerador de pulsos de clock, um contador em anel,
um contador de 0 a 3, um deslocador de bits (shift register), sessenta e quatro buffers de
três estados, sessenta e dois somadores de oito bits.
É importante salientar que alguns aspectos são fundamentais para o correto
funcionamento do circuito, tais como: os registradores da LUT contêm as combinações
de bits equivalentes aos valores decimais da matriz de mascara desejada; o sinal de
clock e o tempo de intervalo entre pixels no barramento serial foram ajustados
respeitando os tempos de atraso existentes no FPGA.
O correto funcionamento do circuito segue a seguinte linha de raciocínio: a cada
pulso de clock, o módulo contador em anel muda de estado e o módulo contador (0 a 3)
conta mais uma unidade, alterando o registrador de leitura da LUT. Quando chega o
primeiro pixel da imagem a ser filtrada no barramento serial, este não entrará no módulo
multiplicador enquanto o sinal de clock não habilitá-lo. Quando ocorrer o primeiro
pulso de clock após esse momento, a do contador será colocada em zero, fazendo com
que a LUT acesse o primeiro registro e fornecendo esse sinal na outra entrada do
módulo multiplicador, por meio do multiplexador. Quando ocorrer mais um pulso de
clock, o sinal C1 será colocado em nível lógico alto, fazendo com que sejam
multiplicados os dois valores que estiverem na entrada do módulo multiplicador, ao
apresentar o produto na sua saída, o sinal C1 ainda deve estar em nível lógico alto, para
que o produto seja armazenado no primeiro buffer. Este processo ocorre para todos os
produtos, sendo armazenados nos buffers correspondentes.
Gostaria de salientar que enquanto os demais produtos vão sendo armazenados
nos seus respectivos buffers, os sinais vão passando pelos módulos somadores, em
direção à saída. Apresentando esse comportamento de realizar tarefas diferentes
simultaneamente em hardware, o circuito possui características de pipeline.
A seguir apresentamos a matriz de convolução utilizada na simulação
apresentada na figura 3.

1 1 1
1 2 1
1 1 1

Figura 2 Máscara de convolução utilizada no circuito convolucionador

A figura 3 é um diagrama que representa a simulação de uma imagem hipotética


8x8 sendo filtrada por uma máscara 3x3 (figura 2). As palavras de oito bits da matriz de
baixo representam os pontos (pixels) da imagem colocada na entrada do circuito,
enquanto que a matriz de cima representa os pontos (pixels) da imagem de baixo filtrada
com a máscara representada na figura 2. Cada palavra de bits é uma representação
binária de um nível de 0 a 255 tons de cinza.
Figura 3 Simulação de um circuito convolucionador de imagens digitais

Analisando a figura 3, observamos que a operação de convolução da imagem da


matriz de baixo está correta. Esta constatação se deu através da varredura da máscara de
convolução (figura 2) na imagem, efetuando as operações descritas no item anterior.
Posteriormente verificamos o correto funcionamento do circuito através da configuração
de um dispositivo reconfigurável e realizando uma comparação com as imagens
resultantes da convolução, no circuito projetado e no software de edição de imagens
Paint Shop Pro 9 [Jasc 2004].

4.2. Circuito Controlador Lógico de Motor de Passo

Neste item apresentamos o circuito controlador lógico de motor de passo, projetado e


implementado pelo aluno de engenharia eletrônica. Subdividimos esta seção em três
partes: primeiramente apresentamos as principais definições a respeito de um processo
de controle de motores de passo; depois descrevemos o circuito projetado e
implementado; e, finalmente, apresentamos os principais resultados obtidos dos testes
para verificação do funcionamento deste circuito.

4.2.1. Definições

Motores de passo são motores elétricos sem comutadores, sendo que suas bobinas
residem no estator, enquanto que o rotor é um ímã permanente ou composto por ligas de
ferro doce. Este tipo de motor converte energia elétrica em movimento controlado
através de pulsos, onde o passo é o menor deslocamento angular [Jones 2001]. São
utilizados em aplicações que requerem movimentos com alta precisão, como: scanner
óptico, movimentação de telescópios, rotor de discos flexíveis, motor de braços
mecânicos nas plantas industriais, dentre outros.
Para fazer com que o motor de passo gire, é necessário que uma bobina de cada
vez seja energizada, produzindo um pequeno deslocamento no rotor. Este deslocamento
se deve pelo fato de o rotor ser um ímã permanente, e a energização das bobinas
gerarem um campo magnético de grande intensidade, tendendo a se alinhar com as pás
do rotor. O movimento entre um alinhamento completo e outro é chamado de passo
completo [Diniz Campos Martins 2003].
O controlador para motor de passo é um circuito que tem como objetivo
proporcionar as corretas combinações de sinais nos terminais de entrada do motor, para
que ele gire com as características requeridas por cada situação. Existem vários tipos de
configurações funcionais que o controlador pode determinar ao motor de passo, dentre
elas podemos citar: movimento de passo completo (movimento inteiro) ou meio passo
(metade do passo completo), movimento de alto e médio nível. Esses últimos
representam a velocidade do movimento, sendo que o de alto nível possui um controle
da velocidade de rotação do rotor e o de baixo nível possui uma velocidade constante.

4.2.2. Descrição e Análise do Circuito Projetado e Implementado

O circuito controlador lógico, projetado, desenvolvido, simulado e implementado pelo


aluno de engenharia eletrônica, realiza o controle com as configurações alto nível e
passo completo. O circuito gera a seqüência de controle para girar o eixo do motor. Para
a realização das atividades, o aluno também utilizou as ferramentas do pacote ISE da
Xilinx (Project Navigator, ModelSim, Impact)[Xilinx 2004]. O circuito foi descrito em
VHDL estrutural, foram realizadas simulações funcionais e a implementação feita
descarregando os bits de configuração no FPGA XC2S200 da Xilinx. A verificação do
correto funcionamento do circuito foi realizada por meio do acionamento de um motor
de passo, e verificação do seu correto funcionamento do mesmo.
O circuito projetado, representado em diagramas de blocos na figura 4, possui os
seguintes módulos: dois decodificadores, um controlador de pulsos de clock, um núcleo
de controle e dois registradores. Possui opções que permitem configurar a velocidade e
o número de passos a serem executados pelo motor.
A entrada Clock Extr estabelece as transições dos passos, a entrada Direction
define o sentido de giro do motor, horário ou anti-horário, a entrada Brake trava o eixo
do motor e a entrada Disengage desenergiza todas as bobinas. A1, A2, B1, B2 são as
saídas lógicas que devem ser aplicadas ao driver de potência do motor de passo.
[Yeadon Yeadon 2001] Data é um barramento de dados de oito bits usado para entrada
de dados. A entrada ClockExt é um clock de referência para o controle da velocidade do
motor. As entradas Shift (S1 e S0) controlam o carregamento dos dados nos
registradores internos, ClkDivider e NumSteps. As entradas RunStop, Restart definem se
o motor está em movimento ou parado e a inicialização do mesmo, respectivamente.
Figura 4 Diagrama de blocos do controlador lógico de motor de passo

Na figura 5, apresentamos a simulação funcional do circuito projetado


realizando o controle do motor a partir das combinações lógicas das entradas.

Figura 5 Simulação do controlador lógico de motor de passo

Analisando a figura 5, percebe-se que o controlador irá alternar as suas saídas,


fazendo o motor girar, apenas quando a entrada runstop for ativa, habilitando o clock
interno (clkint), e quando as bobinas do motor estiverem energizadas (disengage). A
entrada de dados (data) é decodificada para determinar a ordem de habilitação das
saídas. Observa-se a correta variação das saídas a1, a2, b1 e b2 quando aplicadas
diferentes níveis lógicos nas entradas descritas acima.

5. Análise dos Resultados da Verificação do Método


Com base nos resultados obtidos, podemos comprovar as vantagens do método proposto
neste artigo em relação ao método didático tradicional, normalmente utilizado nas
instituições de ensino superior. Apresentamos algumas delas: (i) Os aprendizes
aprovaram o incentivo e sentiram-se motivados para buscar problemas que fossem de
áreas do seu interesse; (ii) após a apresentação dos trabalhos, percebemos que os
aprendizes conseguiram aprender os conceitos necessários para a realização do projeto
escolhido; (iii) a aplicação do método incentivou a independência no aprendizado dos
conceitos e dos procedimentos práticos para desenvolver e implementar o projeto,
seguindo o raciocínio científico; (iv) uso de simulações computacionais como forma de
verificação das expectativas de correto funcionamento do circuito e análise do
comportamento simulado; (v) os aprendizes aprovaram a liberdade de escolha da
tecnologia de desenvolvimento e implementação; (vi) observamos que os alunos
escolheram problemas realísticos, deixando de lado os problemas didáticos tradicionais
não interessantes; (vii) o método capacita o aluno a compreender melhor como é o
processo de projeto, desenvolvimento e implementação de um circuito digital realístico;
(viii) formação de alunos que dominam tecnologias atuais desse processo.
Observamos também que os problemas são pertinentes à área de atuação do
aluno, sendo que o aluno de engenharia escolheu projetar e desenvolver um circuito
para controlar um dispositivo, normalmente implementado em microcontroladores
dedicados, enquanto que o aluno de computação escolheu um problema que
normalmente é resolvido por meio de processamento de algoritmos computacionais.
Verificamos que em ambos os casos os alunos implementaram as soluções em hardware
reconfigurável, verificando o maior desempenho se comparado com as implementações
em hardware programável (microprocessadores), e a maior flexibilidade de projeto,
comparando com implementações em hardware fixo, comprovando as vantagens deste
tipo de implementação.
Algumas dificuldades da aplicação do método foram observadas, dentre elas: (i)
os alunos necessitam de tempo disponível para realizar as atividades extra classe do
método; (ii) para implementação do método deve haver o consentimento dos
professores para realização das mudanças necessárias na estrutura das aulas; (iii) os
professores que fizerem uso do novo método devem estar cientes que, para a orientação,
eles terão que se atualizar a respeito das novas tecnologias de projeto, desenvolvimento,
implementação e teste dos projetos, assim como a respeito dos problemas propostos
pelos alunos e suas possíveis soluções.

6. Conclusão
Com base na observação e análise dos resultados obtidos, podemos concluir que os
principais objetivos desta pesquisa foram alcançados. Assim como o principal deles,
que foi o estímulo e motivação dos alunos para o estudo/aprendizado dos conceitos e
práticas de projeto, desenvolvimento e implementação de circuitos digitais realísticos e
normalmente utilizados pela indústria. Consultando os alunos após a finalização de seus
trabalhos, concluímos também que, apesar de parecer um tanto quanto difícil realizar as
etapas do método, as atividades são prazerosas quando são os próprios alunos que
estipulam o problema e especificam o circuito. Para o sucesso do projeto, deve ser feita
uma análise prematura dos alunos, prevendo se eles serão capazes de finalizar as
atividades até o prazo definido pelo professor.
Os alunos aprovaram a utilização do método, dizendo que o estímulo do
professor ao estudo é o principal fator para o ótimo aprendizado durante um curso
superior. Observamos que nos casos onde são aplicados os métodos didáticos
tradicionais, ocorre a desmotivação por parte dos alunos em relação ao curso. Com a
utilização do método proposto, ocorre exatamente o oposto: o aluno começa o curso
com sentimento de aprender, e ao realizar atividades como esta, ele percebe, com
clareza, os horizontes das áreas de seu interesse, nas quais ele poderá realizar pesquisas
futuras e se especializar.
Assim como os alunos, os professores aprovaram a utilização do método.
Concluímos que, com sua utilização, eles terão que se manter atualizados, no que diz
respeito às novas tecnologias de projeto, desenvolvimento, implementação e teste de
circuitos, assim como no que diz respeito a problemas realísticos e suas possíveis
soluções. Portanto o método proporciona aos professores um aprendizado com os
alunos, fazendo com que as aulas deixem de ser no formato de palestras, onde os
professores conhecem a fundo o assunto e os alunos o ignoram. Estes também
participarão ativamente das aulas pronunciando seus pontos de vistas e os conceitos
adquiridos com o estudo do problema e suas possíveis soluções.
Concluímos que trabalhos utilizando o método proposto são de grande
importância para: (i) os aprendizes, que serão os primeiros beneficiados, aprendendo
adequadamente os conceitos e práticas de projeto e desenvolvimento de soluções, de
problemas realísticos, implementadas em circuitos digitais; (ii) os professores, que
estarão constantemente atualizados com os conceitos e técnicas, passados pelos próprios
aprendizes, de projeto e implementação de circuitos digitais; (iii) a instituição de ensino,
sendo beneficiada indiretamente, com a formação de profissionais cientes da carência
do mercado de especialistas em determinadas áreas e conhecedores dos conceitos e
técnicas de desenvolvimento de projetos.
Além dos objetivos iniciais, foi observada, durante a pesquisa, a formação de
alunos interessados em realizar projetos de iniciação científica, continuando a pesquisa
na área de interesse, com o objetivo de gerar mais recursos materiais e humanos nesta
área. Existe forte possibilidade de estes alunos continuarem na carreira acadêmica,
realizando futuras dissertações de mestrado e teses de doutorado em tais áreas, além de
publicações de artigos em congressos e periódicos da área.
Algumas das principais contribuições desta pesquisa são: (i) um novo método de
aprendizado, aplicado na área de eletrônica digital; (ii) estímulo do aprendizado
fundamentado no desenvolvimento de soluções baseadas em problemas realísticos
(PBL); (iii) possibilidade de obtenção de muitos conceitos e práticas realísticas por parte
dos alunos submetidos ao método; (iv) incentivo à constante atualização dos
professores; (v) formação de recursos humanos e materiais nas áreas de interesse dos
aprendizes; (vi) recursos materiais elaborados para orientação da correta utilização do
novo método. Neste artigo, o método proposto foi aplicado na eletrônica digital, para
sua verificação. Porém no seu desenvolvimento foi considerada a possibilidade de uma
aplicação em outras áreas da ciência, caracterizando-se por ser um método
interdisciplinar.
Os possíveis trabalhos futuros relacionados ao método proposto são: Aplicação
do método em uma turma das disciplinas Introdução aos Sistemas Lógicos e Sistemas
Digitais II dos cursos de Ciência da Computação e Engenharia Eletrônica e de
Telecomunicações, respectivamente; realizar uma análise quantitativa e qualitativa do
uso do método nessas disciplinas em relação ao uso do método tradicional. Como
continuação dos projetos implementados pelos alunos temos: projeto e desenvolvimento
de um controlador lógico reconfigurável em FPGA; projeto e desenvolvimento de um
circuito convolucionador de imagens digitais reconfigurável; desenvolvimento de um
sistema para prototipação de circuitos digitais e computacionais complexos.

7. Referências
[Altera 2004] FPGA, CPLD & Structured ASIC Devices; Altera, the Leader in
Programmable Logic (http://www.altera.com). Visitada em setembro de 2004.
[Ashenden 1990] Ashenden, P. J. The VHDL Cookbook , unpublished technical
report. Dept. Computer cience University of Adelaide, South Australia, 1990,
(http://tams-www.informatik.uni-hamburg.de/vhdl/doc/cookbook).
[Circuitmaker 2004] http://www.circuitmaker.com. Visitada em setembro de 2004
[Diniz Campos Martins 2003] Diniz, A.; Campos, C.; Martins, C.A.P.S. Implementing
a Step-Motor Logic Controller in a Reconfigurable Hardware Architecture using
VHDL in: Csitea 2003.
[EWB 2004] http://www.interactiv.com Visitada em setembro de 2004.
[Gonzalez Woods 2000] Gonzalez, Rafael C.; Woods, Richard E. Processamento de
Imagens Digitais , Edgard Blücher Ltda, 2000.
[Goulart 1998] Goulart, Íris B., A educação na perspectiva construtivista , 2ª Edição,
Editora Vozes, 1998.
[Jasc 2004] Jasc Software, Paint Shop Pro 9. Disponível em http://www.jasc.com/
Visitada em outubro de 2004.
[Jones 2001] Jones, D. W. Control of Stepping Motors , unpublished technical report,
2001, (http://www.cs.uiowa.edu/~jones/step).
[Martins Ordonez et al. 2003] Martins, C.A.P.S.; Ordonez, E.D.M.; Corrêa, J.B.T.;
Carvalho, M.B. (2003) Computação Reconfigurável: Conceitos, Tendências e
Aplicações In: Jornada de Atualização em Informática, cap. 8.
[Ordonez Pereira et al. 2003] Ordonez, Edward D. M.; Pereira, Fábio D.; Penteado,
César G.; Pericini, Rodrigo de A. Projeto, Desenvolvimento e Aplicações de Sistemas
Digitais em Circuitos Programáveis (FPGAs), Bless Gráfica e Editora ltda, 2003.
[Tocci 2000] Tocci, Ronald J. Sistemas Digitais: Princípios e Aplicações 5ª ed.,
Prentice-Hall do Brasil, 2000.
[Xilinx 2004] Xilinx: Programmable Logic Devices, FPGA & CPLD
(http://www.xilinx.com). Visitada em setembro de 2004.
[Yeadon Yeadon 2001] Yeadon,W. H. and Yeadon,A. W. Handbook of Small Electric
Motors , 1st edition, McGraw-Hill, 2001.
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.

You might also like