Você está na página 1de 16

MÉTODO DE APRENDIZADO DE ELETRÔNICA DIGITAL BASEADO EM PROJETO E IMPLEMENTAÇÃO DE SISTEMAS DEDICADOS EM HARDWARE

Alexandre Marques Amaral 1 , Carlos Augusto Paiva da Silva Martins 2

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:

Pixel

m n
m n

i j

(Parte_ Imagem(i)(j) * Mascara(i)(j))

m n
m n

i j

Mascara(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.

diagrama esquemático da estrutura simplificada do circuito. Figura 1 Diagrama de blocos de um circuito convolucionador

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.

simulação

apresentada na figura 3.

A

seguir

apresentamos

a

matriz

de

convolução

utilizada

na

Figura 2

1

1 1

1

2 1

1

1 1

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

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 circuito realizando o

Figura 4

Diagrama de blocos do controlador lógico de motor de passo

circuito

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

Na

figura

5,

apresentamos

a

simulação

funcional

do

projetado

figura 5, apresentamos a simulação funcional do projetado Figura 5 Simulação do controlador lógico de motor

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.

[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.

Control of Stepping Motors , unpublished technical report,

[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. Motors , 1st edition, McGraw-Hill, 2001.

Handbook of Small Electric