Mensagem

"Sonhar mais um sonho impossível, lutar quando é fácil ceder, vencer o inimigo invencível, negar quando a regra é vender."
Miguel de Cervantes.

"Os microprocessadores RISC funcionam a partir do princípio genial de se encarregar das coisas mais fáceis e deixar todas as partes difíceis para outras pessoas resolverem."
Douglas Adams.

Regras para a Escrita de Artigos Técnicos e TCCs

Neste documento apresento algumas dicas para a escrita de documentação técnica, como: artigos científicos e trabalhos de conclusão de curso.
Muitas regras são de estilo e podem ser diferentes dependendo do modelo de documento a seguir. Aconselho consultar seu orientador ou orientadora.


COMO GRAVAR O ARDUINO SEM O SEU PROGRAMA

Quando se programa o Arduino muitas vezes se deseja gravar o hardware independentemente da sua IDE. Isto permite desenvolver projetos em programas profissionais e com mais recursos que a limitada IDE do Arduino.
Um bom programa para a gravação dos AVRs é o AVRdude, confiavel em muito utilizado. Para gravar o Arduino esse programa é empregado em conjunto com uma interface gráfica (inclusive pela IDE do Arduino).  Comecei utilizando o AVRdude-GUI, entretanto acabei encontrando o AVR8 Burn_O_Mat mais completo e facil de utilizar. Abaixo o video explicativo e o programa.

Obs.: para o Arduino Uno e/ou para a versão 1.0 (ou superior) do programa do Arduino, deve-se selecionar em <Programmer> arduino (Arduino). Nesse caso, deve-se selecionar os arquivos avrdude.exe e avrdude.conf, respectivamente, da pasta onde foi descompatado o programa do Arduino, por exemplo: C:\arduino-1.0.1\hardware\tools\avr\bin\avrdude.exe e C:\arduino-1.0.1\hardware\tools\avr\etc\avrdude.conf



FONTE DIGITAL DE TENSÃO

   Este projeto apresenta uma fonte digital microcontrolada com o ATmega88, saída de 1 a 15V, 0,8A, resolução de 0,1V e 10mA. Utiliza um circuito simples e os limites de tensão e corrente podem ser alterados de acordo com o transformador empregado e algumas alterações na programação. 

   O princípio de funcionamento baseia-se em um circuito amplificador com ganho estável. São empregados dois canais AD do ATmega88, um lendo a tensão proveniente de um divisor resistivo e outro, lendo a corrente proveniente de um resistor shunt. O conversor DA, para o controle, emprega um sinal PWM e um filtro RC de segunda ordem.

   O firmware é quase uma "pintura", possui controle Proporcional e Integral (PI), oversample para aumentar a resolução do AD de 10 para 12 bits e filtro de média móvel de 16 amostras. O programa consumiu módicos 2982 bytes de memória Flash, 169 bytes de RAM e 2 bytes de EEPROM.

   O projeto surgiu do desafio de se construir uma fonte digital simples. A idéia do circuito surgiu de uma pesquisa na internet, o coração do sistema é o circuito amplificador para ajuste da tensão de saída, simples, estável e com ganho fixo. O resultado funcional do protótipo foi conseguido após várias horas de programação e ajustes no hardware, resultando em um projeto simples, barato e funcional.

   O circuito é dependente do resistor shunt empregado, como eu não tinha um muito preciso, o circuito apresentou um erro em torno de 20mA para a corrente e um erro na tensão de ajuste de até 0,2V. Toda a precisão depende da corrente consumida pela carga, e pode ser melhorada utilizando-se um resistor shunt de precisão.

  O detalhamento completo do projeto pode ser visto aqui, abaixo os arquivos de programa, esquemático e PCI.




Depois de algum tempo ...


Esquemático
Layout da Placa de Circuito Impresso
Programa (AVR Studio)

Driver para Motor DC para o Arduino

Esta na hora de compartilhar o projeto do Tri Motor shield!
Este shield permite o controle de pelo menos dois motores DC e dois motores de passo. Ideal para o projeto de robôs que utilizam motores DC.
O projeto emprega o LD298, ponte H dupla, além do ULN2803 (driver de corrente).
Esquemático
Lista de Componentes
Como Montar
PCI (gerber)
Programa teste (AVR Studio)

LIVRO AVR - ATmega8

Download do Sumário, Programas, Figuras.
Apêndice:
      A: Instruções Assembly do ATmega8 (em português) 
      C: Circuitos para o Acionamento de Cargas (chave transistorizada e CIs) 
      D: Projeto de Placas de Circuito Impresso (como fazer um bom Layout) 
      E: Tabelas de Conversão (ASCII - DEC - HEX - BIN)

      Lista de Exercícios
SINOPSE
Devido ao desempenho de processamento, os microcontroladores AVR de 8 bits tem assumido papel de destaque entre os microcontroladores de sua classe. Sua arquitetura moderna, além de permitir execuções mais rápidas dos programas, permite uma maior densidade de código comparado as outras tecnologias de 8 bits. Sua popularidade crescente corrobora para o seu emprego em um número cada vez maior de projetos, tudo associado a um custo atraente, a disponibilidade de um grande número de periféricos e a ferramentas de programação gratuitas.
Ao abordar a tecnologia dos modernos AVRs, esta obra inclui inúmeras técnicas para o projeto de sistemas microcontrolados raramente encontrados em um único livro, tais como: o uso de displays de LCD a caractere e gráficos, geração de pequenas músicas, leitura de teclado, matriz e cubo de LEDs, técnicas de multiplexação, geração de formas de onda, comunicação serial com um computador, leitura de sensores e acionamento de motores. Também são apresentadas as técnicas para o desenho de placas de circuito impresso e o projeto de chaves transistorizadas. Ainda, é apresentado um software para a simulação de microcontroladores, de fácil e crescente uso no meio acadêmico e industrial, o PROTEUS – ISIS.
Os inúmeros programas desenvolvidos contam com seus respectivos códigos em linguagem C, os quais podem ser empregados para qualquer outra tecnologia de microcontroladores devido à portabilidade dessa linguagem. Para a validação dos códigos foi desenvolvido um hardware específico, na forma de um kit didático.
Ao final de cada capítulo são sugeridos exercícios, que além de apresentarem idéias de projeto, apresentam as informações técnicas necessárias, permitindo o desenvolvimento crescente e a solidificação do conhecimento.
Em resumo, esta obra apresenta uma abordagem objetiva e prática para o ensino de técnicas de projeto para o uso com microcontroladores.
 

ATmega8 versus ATmega88/168/328

Este tutorial apresenta as diferenças entre os microcontroladores que podem ser utilizados no Arduino, incluindo exemplos.

ATmega8 versus ATmega88/168/328

Controle de Motores Servo com Sinais PWM

No programa abaixo é apresentado o uso do Timer1 do ATmega para gerar dois sinais PWM para o controle de dois motores servo.

PWM_servo.c (AVR Studio)

Como Gravar um Arquivo *.hex no Arduino (AVRDUDE - GUI)


Neste tutorial é explicado como empregar o programa AVRdude para gravar qualquer programa compilado (*.hex) no Arduino. Isto permite o desenvolvimento de programas em outras IDEs que não a do Arduino. Neste exemplo o AVRStudio foi empregado.
As vantagens de utilizar outras IDEs na programação do Arduino são as facilidades que estas dispõem, tais como: debug do programa e otimização.

Arquivos de programa
Detalhes + Vídeo

Projeto de um Cronômetro para uso no Arduino

O objetivo deste projeto é a construção de um cronômetro (direto e reverso), com funções de relógio e sorteador de números. O programa foi desenvolvido no AVR Studio.

Esquemático
PCI (gerber)
PCI (pdf)
Programa (AVR Studio)

Apostila sobre o AVR - ATmega


Este material foi exclusivamente desenvolvido para as aulas que ministro, para ser empregado por alunos e SEM fins comerciais. Parte de seu conteúdo não foi adequado para a língua portuguesa.  Foi o ponto de partida para a escrita do livro sobre os AVRs.

As fontes empregadas não foram devidamente citadas ao longo do texto e algumas figuras foram copiadas sem cuidados com os direitos autorais. Dessa forma, se alguém se sentir prejudicado, peço sinceras desculpas, pois este material acabou na rede.

Logo, é justo que eu distribua a apostila, com um pedido de desculpas aqueles que, por ventura, se sentirem ofendidos pelo desreipeto às leis de copyright.

Apostila_AVR

PROGRAMA PARA SIMULAÇÕES ELETROMAGNÉTICAS

Programa interativo para simulações eletromagnéticas, desde a eletrostática, magnetostática e ondas eletromagnéticas. Inclui a simulação de antenas e ondas, permitindo a geração de diferentes cenários.
Feito para o Matlab, com interface gráfica amigável.

PROGRAMAS USANDO FDTD (DIFERENÇAS FINITAS NO DOMÍNIO DO TEMPO)

Estes programas são empregados para simulações eletromagnéticas, foram desenvolvidos para o Matlab. Entretanto, os códigos podem ser adaptados para alguma linguagem de programação.
São códigos muito úteis para pesquisadores da área!

* Cálculo das freqüências de ressonância de um guia retangular - MODO TE/TM.
* Propagação de onda ao ar livre usando condições absorventes de Mur de primeira ordem (célula TM) e PML (Perfect Matched Layer, célula TE).
* Espalhamento onda plana e cilindrica, encontrando obstáculos metálicos, célula TE.
* Propagação tridimensional (3D) de onda ao ar livre (pulso Gaussiano), usando condições absorventes de Mur de primeira ordem e UPML2 (Uniaxial Perfectly Matched Layer).
* Onda Plana 3D utilizando UPML1 .
DOWNLOAD

Função para o Matlab para plotagem de um sinal em frequência

Função que extrai a transformada de Fourier de um sinal e plota o eixo horizontal em Hertz (freqüência).  DOWNLOAD