Mostrando postagens com marcador microcontroladores. Mostrar todas as postagens
Mostrando postagens com marcador microcontroladores. Mostrar todas as postagens

terça-feira, 10 de julho de 2012

Curso EAD (Ensino a distância) gratuito sobre Arduino!

Encontrei um curso EAD sobre Arduino (um plataforma de hardware livre para desenvolvimento com microcontroladores para quem entende pouco ou até mesmo nada da área). Bem legal para iniciantes e pra quem quer brincar com microcontroladores e não tem muito tempo de estudar a eletrônica e as partes mais complexas dos assuntos envolvidos!


Fonte da imagem: eaduino.com.br

A ementa do curso, pelo que vi no site, é bem interessante. Segundo as informações divulgadas, o curso aborda teoria e prática e, para estas práticas, alguns materiais precisam ser adquiridos, mas são todos bem baratos. A única coisa mais carinha é a placa do Arduino que, já montada e testada, não passa de 100 pila. Mas por se tratar de um projeto de hardware livre, é muito fácil encontrar na internet o desenho das placas, descritivo, lista de materiais e tudo que for necessário para montá-las em casa. 

As inscrições para a próxima turma (já é a décima-sexta), que iniciará as suas atividades em outubro de 2012 já estão abertas e podem ser feitas pelo link abaixo:

Ahh, e o melhor de tudo: ESTE CURSO É GRATUITO!!!! :P

---------------------------------------------------------------------------------------------------

Para quem quer montar as placas em casa, a melhor fonte de informações (existem milhares) é o site oficial do projeto: http://www.arduino.cc/

Foto do Arduino UNO. Fonte: arduino.cc

Lá, entre outras coisa, podem ser encontrados:
- Esquema elétrico da placa do Arduino UNO (em pdf):
- Desenho da placa do Arduino UNO (use o Eagle para abrir estes arquivos):
- Muito mais coisas como programas, outras placas de outros modelos e circuitos periféricos, instruções de montagem, exemplos, tutoriais, fórum, e muito mais...

Já tem gente desenvolvendo kits compatíveis com Arduino, mas que usam microcontroladores PIC. Mas isto, já são outros quinhentos...

segunda-feira, 9 de julho de 2012

PROJETO COMPLETO - PicOClock, um relógio na tela do osciloscópio!!!

Encontrei mais um projetinho por acaso, achei muito legal louco e resolvi postar aqui. O cara meteu um relógio na tela do osciloscópio!!!!


Tela do "relogioscópio". Fonte: micro-examples.com

O circuito é muito simples:
 
Circuito. Fonte: micro-examples.com

No site do projeto estão disponíveis:
- Explicação em texto e vídeo;
- Esquema elétrico;
- Programa em C completo (compilador MicroC).

Livro/curso/manual/sei-lá-o-quê sobre PIC em português

Um material bem explicado, apresenta a arquitetura interna sem muitas delongas. Tradução do original "PIC by Example" italiano. Antiguinho, mas de qualidade.



Índice do curso/livro/manual/algo-parecido


Outras opção de link para o mesmo material:
http://jtuga.net23.net/brasiliano/index.htm
http://jtuga.net23.net/brasiliano/lezioni.htm
http://jtuga.net23.net/brasiliano/principale.htm

Já em pdf:
http://rmeletronica.com.br/files1/apostiladepic.pdf

Em italiano:
http://jtuga.net23.net/

sexta-feira, 8 de junho de 2012

PROJETO COMPLETO - PIC Trainer


Lhes apresento aqui mais um projeto de uma placa para situações de desenvolvimento e aprendizagem. Uma não, várias. O projeto foi desenvolvido pelo pessoal da revista argentina uControl e é composto por várias placas diferentes, uma para cada funcionalidade.

Fonte da imagem: www.ucontrol.com.ar


Este é um projeto de hardware livre. No site da uControl estão todos os desenhos, esquemas, placas, fotos, instruções...

Lista dos módulos já disponíveis no site (em breve, outros provavelmente virão):

Legal pra quem quer montar um kit pra aprender ou desenvolver com microcontroladores, ou também pra quem quer dar uma espiada sobre como implementar um item especifico, como teclado matricial por exemplo.





quarta-feira, 6 de junho de 2012

Curso de PIC - Iniciando no mundo PIC - Robotizando.com.br

Material do site robotizando.com.br que é lá apresentado como "Curso de PIC - Iniciando no mundo PIC".

Particularmente, acho meio pretensioso demais chamar de curso, mas é um bom material de consulta, e sempre se aprende alguma coisa nova!


Fonte da imagem: Captura de tela do curso no site www.robotizando.com.br



Uso de Microcontroladores para o acionamento de tiristores

Excelente artigo escrito por Francisco Fambrini e publicado no site do Newton C. Braga, explicando o acionamento de cargas CA com tiristores, efetuando o controle com microcontroladores.


Fonte da imagem: www.newtoncbraga.com.br


domingo, 3 de junho de 2012

Planilha para cálculo dos tempos do Timer0

Esta é uma planilha que auxilia nos cálculos de tempos para o timer0 do PIC.

Entra-se com os valores de frequência do oscilador e prescaler. Os valores de ciclo de clock, ciclo de instrução, tempo de estouro do timer e número de estouros por segundo são apresentados automaticamente.


Fonte da imagem: SistemasEmbarcados.net


Variáveis locais e globais


Na linguagem de programação C as variáveis podem ter três visibilidades diferentes, de acordo com o local de sua declaração (PEREIRA, 2003, pg 61):

-          Variáveis globais: podem ser acessadas de qualquer ponto do programa. As variáveis globais são declaradas no corpo do programa e não de funções.

-          Variáveis locais: são declaradas no interior de uma função ou bloco de código (como um laço de repetição) e somente dentro deste trecho podem ser acessadas. Quando a função que criou uma variável local ou o bloco em que ela está inserida termina sua execução a memória alocada para esta variável é liberada.

-          Parâmetro formal de uma função: a linguagem C permite a declaração de variáveis nos parâmetros formais de uma função. Estas variáveis constituem um tipo especial de variáveis locais, pois são visíveis no interior da função e são acessíveis em qualquer ponto do programa (pela chamada da função).



Fonte:
Duarte, Rafael Lindemann. SISTEMA INTELIGENTE DE MONITORAMENTO E CONTROLE DE IRRIGAÇÃO. São José: UNIVALI, 2006. (TCC Ciência da Computação)


sexta-feira, 1 de junho de 2012

Material de aula - Série: Relógio e Teclas Episódio I


Atendendo a pedidos dos alunos do curso superior, vou iniciar agora uma nova micro série de postagens abordando as teclas de ajuste do horário no relógio implementado como exercício em sala.

Vou mostrar algumas formas diferentes de realizar este ajuste, tanto em termos de implementação, quanto com relação à interface disponível para o usuário.

A primeira versão apresentada agora faz uso de 4 teclas, uma para aumentar hora, uma para diminuir hora, um apara aumentar minuto e outra para diminuir minuto.

Figura 1 - Preview do esquema elétrico

O programa foi criado no CCS para o PIC16F877A e está bastante comentado, indicando o que cada instrução e/ou bloco significa. Se ainda restar alguma dúvida, grita aí nos comentários.

Figura 2 - Preview do programa

O projeto está compactado em um arquivo rar, contendo:
- Código fonte em C (com e sem os comentários);
- Biblioteca para o LCD;
- Arquivo hex para simulação ou gravação;
- Arquivo de esquema elétrico e simulação do ISIS (Proteus).


quinta-feira, 31 de maio de 2012

CICLO DE INSTRUÇÃO (para os microcontroladores PIC)


Para a família PIC, cada ciclo de instrução dura quatro pulsos de clock. Os microcontroladores PIC fazem uso do pipeline para aumentar a velocidade de execução das instruções. Pipeline é uma técnica utilizada pelos processadores mais modernos e consiste em dividir a execução das instruções em partes e cada uma destas partes pode ser executada em paralelo em um formato semelhante a uma linha de montagem de carros. No caso dos microcontroladores PIC pode-se visualizar a execução das instruções como sendo dividida em dois estágios: busca (fetch) e executa (execute), onde cada estágio gasta 4 ciclos de clock.

O pipeline permite que quase todas as instruções possam ser executadas em um ciclo de máquina, com exceção das que alteram o contador de programa, como chamadas de rotinas e seus retornos. Nestes casos, o pipeline sofre uma penalidade de um ciclo de clock devendo descartar (flush, na figura 8) a instrução que já havia sido buscada para então carregar a instrução no endereço correto, consumindo, portanto, dois ciclos de instrução (SOUZA, 2000, pg 6).

A figura 1 (MATIC, 2000, pg 18) mostra o fluxo das instruções no pipeline em um pequeno trecho de um programa escrito em assembly.

Figura 1: Pipeline de um trecho de código


No ciclo 0, o código da instrução MOVLW 55h é buscado da memória (desconsiderando a instrução que é executada neste ciclo). No ciclo 1, a instrução MOVLW 55h é executada e a instrução MOVWF PORTB é buscada da memória. No ciclo 2 a instrução MOVWF PORTB é executada e é buscada da memória a instrução CALL SUB_1. A chamada da sub-rotina SUB_1 e a leitura da instrução BSF PORTA, BIT3 são feitas no ciclo 3. Como a instrução BSF PORTA, BIT3 não é a que será executada no momento e sim a primeira instrução da sub-rotina SUB_1, deve ser feita outra busca de instrução. Esta situação mostra porque as instruções de chamada de sub-rotina consomem dois ciclos de máquina, já que a instrução BSF PORTA, BIT3 terá que ser lida novamente ao término da sub-rotina. O ciclo 4 é usado somente para ler a primeira instrução da sub-rotina e nenhuma instrução é executada. A primeira instrução da sub-rotina é então executada no ciclo 5.


Fonte:
Duarte, Rafael Lindemann. SISTEMA INTELIGENTE DE MONITORAMENTO E CONTROLE DE IRRIGAÇÃO. São José: UNIVALI, 2006. (TCC Ciência da Computação)


quarta-feira, 30 de maio de 2012

PROJETO COMPLETO - Repetidor de Sinal de Controle Remoto com PIC

Projeto completo de um repetidor de sinal de controle remoto com microcontrolador PIC Apresentado no site Eletromaniacos.com. Na forma em que ele é apresentado pode ser usado para aumentar o alcance de um controle remoto. 
Até aí, nada demais... :-/

Fonte da imagem: Eletromaniacos.com

Mas, como este projeto implementa a recepção E o envio de informação (recebe e repete) pode ser facilmente adaptado para ser o controle de algum dispositivo, ou ainda ser o receptor para poder controlar outro projeto com um controle remoto de TV, por exemplo.

Vale a pena conferir!!

No site do projeto, estão disponíveis:
- Código fonte em assembly para os PICs 12F629, 12F675 e 12F683;
- Arquivos HEX para estes mesmos microcontroladores;
- Esquema elétrico;
- Desenhos da placa (em pdf).


Cartão de referência CCS (PICC)

Caros amigos, colegas e coisa e tal...

Trago aqui um documento que encontrei na internet, intitulado "Cartão de Referência" para  o compilador da CCS, e mostra um resumos das instruções, operadores, tipos de dados (variáveis), formatações de saída com printf, estruturas de seleção e repetição, exemplos, mensagens de erro apresentadas pelo compilador, além de outras informações importantes.

Bem útil pra hora em que aparecer aquela dúvida cruel. É bom ter ele por perto sempre!

Preview da primeira página (são 9 no total)

Este arquivo não cita o nome do autor e já o encontrei em diversos sites diferentes, então, não consigo afirmar quem é seu criador. Se alguém souber, por favor, prenda o grito!!



Vídeo - Propeller Clock - Relógio mostrado em "projeção no ar"!

Acho muito legal este tipo de projeto. Assim que sobrar um tempo, vou tentar fazer um...



quarta-feira, 23 de maio de 2012

Projeto completo - MICROCONTROLADORES PIC – CONTROLE DE MOTOR DE PASSO - ArneRobotics


Mais um projeto completo do Arne, com esquemas e programa. Como de costume, absurdamente bem explicado!!!

Este projeto se trata de um controlador de motor de passo com microcontrolador PIC. Muito legal para entender como fazer o controle de posição, velocidade, sentido de giro (etc...) pelo microcontrolador.



Fonte da imagem: arnerobotics.com.br


terça-feira, 22 de maio de 2012

OSCILADORES - FONTES DE CLOCK NOS MICROCONTROLADORES PIC



1         FONTES DE CLOCK NOS MICROCONTROLADORES PIC

Neste item serão apresentados os circuitos geradores de clock que podem ser utilizados nas aplicações com microcontroladores PIC e discutidas suas principais características.

Os microcontroladores necessitam de um sinal de clock (um trem de pulsos de onda quadrada) para gerar sincronismo e permitir que ele funcione e execute o programa corretamente.

Alguns microcontroladores da família PIC, normalmente os menores e que são destinados a projetos compactos, possuem um oscilador interno e não necessitam de um circuito oscilador adicional.

Existem quatro tipos de osciladores que podem ser utilizados com os microcontroladores PIC: circuito RC, com ressoadores, com cristal e os circuitos híbridos, que são apresentados a seguir.

1.1       Oscilador RC

Os osciladores RC (circuito resistor-capacitor) são os mais simples e também os mais baratos, porém são os menos precisos. Os circuitos RC sofrem influência da tensão de alimentação, da temperatura e da tolerância do resistor e do capacitor. Um exemplo de oscilador RC para PIC é apresentado na figura 1.


Figura 1: Circuito oscilador RC


Os valores recomendados (MICROCHIP, 2001, pg 124) para o resistor e o capacitor são:
-          Resistor: entre 3KR e 100KR;
-          Capacitor: maior que 20pF.


1.2       Oscilador com ressoador

Os osciladores montados com ressoador cerâmico são mais precisos e estáveis que os circuitos RC, mas nem tão baratos (SOUZA, 2000, pg 40). São encontrados ressoadores com dois ou três pinos, cujos circuitos de exemplo são mostrados respectivamente nas figuras 2 e 3.

 Figura 2: Circuito oscilador com ressoador de 2 pinos

 Figura 3: Circuito oscilador com ressoador de 3 pinos



A tabela 1 mostra o valor dos capacitores em relação à freqüência de operação utilizada (MICROCHIP, 2001, pg 123).
 Tabela 1: Valor dos capacitores para o oscilador com ressoador


1.3       Oscilador com cristal

Os osciladores com cristal são os mais precisos, mas são mais caros que os circuitos RC e os ressoadores (SOUZA, 2000, pg 41). Este tipo de oscilador é utilizado em sistemas que necessitam de grande precisão. Um circuito de exemplo é apresentado na figura 4.

Figura 4: Circuito oscilador com cristal


O resistor Rs serve para evitar a flutuação do cristal e pode ser de valor baixo, como por exemplo, 10R.

A Microchip, empresa fabricante dos microcontroladores da família PIC, subdivide os cristais em três grupos (MICROCHIP, 2001, pg 123):
-          LP: Cristais de baixa potência - para cristais entre 32 kHz e 220 kHz;
-          XT: Cristais - para cristais entre 220 kHz e 4 MHz;
      -          HS: Cristais de alta velocidade - para cristais entre 4 MHz e 20 MHz


Os valores para os capacitores estão na tabela 2 (MICROCHIP, 2001, pg 124).


Tabela 2: Valor dos capacitores para o oscilador com cristal

 

1.4       Osciladores híbridos

Os osciladores híbridos normalmente são compostos de circuitos próprios para oscilação ou cristais híbridos (SOUZA, 2000, pg 41). Este tipo de oscilador é ainda mais caro que os cristais, mas permite a utilização de um único circuito de clock em sistemas com mais de um microcontrolador, garantindo o perfeito sincronismo entre eles. Neste tipo de sistema, um circuito híbrido pode se tornar mais barato do que a utilização de um cristal para cada PIC.


Fonte:
Duarte, Rafael Lindemann. SISTEMA INTELIGENTE DE MONITORAMENTO E CONTROLE DE IRRIGAÇÃO. São José: UNIVALI, 2006. (TCC Ciência da Computação)

MPLAB XC - Microchip lança uma nova linha de compiladores C (gratuitos) para todas as famílias de MCUs e DSCs



A Microchip (fabricante dos PICs) lançou recentemente um anova linha de compiladores C, com versões totalmente funcionais gratuitas.



Veja a matéria bem mastigadinha da ElektorBrasil:


Mais informações, no site da Microchip:


Para baixar a versão windows para PICs 8bits (PIC10, 12, 16 e 18):
http://www.microchip.com/mplabxc8windows (Ainda tem versões para linux e OS X).


Tô instalando pra testar, em breve posto minhas impressões...

Abaixo, a transcrição do e-mail que recebi da Microchip anunciando a novidade em 3/5/2012:
"

$Account.OrganizationName


Escreva código mais rápido e optimizado para todos os Microcontroladores PIC® e Controladores Digitais de Sinal dsPIC®

Obtenha a melhor velocidade de execução e dimensão de código para qualquer Microcontrolador (MCU) PIC® ou Controlador Digital de Sinal (DSC) dsPIC® com a nova gama melhorada de Compiladores C, MPLAB® XC da Microchip.

A nova gama de Compiladores C da Microchip permite aumentar a velocidade de código de qualquer MCU PIC® ou DSC dsPIC® em cerca de 30%, ao mesmo tempo reduzindo a dimensão do código em 35%.

Os compiladores MPLAB® XC oferecem a escolha dos níveis de optimização de código nas versões Free, Standard ou Pro, para desenvolvimento em arquitecturas 8-bit, 16-bit ou 32-bit, ou uma única suite de compilação C com suporte para todos os mais de 900 MCUs e DSCs da Microchip.

A edição grátis (Free) do MPLAB XC é um compilador totalmente funcional sem qualquer restrição de licenças para aplicações comerciais, enquanto as edições Standard e Pro aumentam a optimização de código em até 25% ou 50%, respectivamente. A edição Pro também está disponível numa versão de teste gratuita, durante 60 dias, totalmente funcional e sem restrições.

A operação totalmente harmonizada entre os compiladores e depuradores / programadores existentes no premiado ambiente de desenvolvimento MPLAB X ou no anterior MPLAB IDE, tornam o MPLAB XC simples de usar e maximizam o investimento já efectuado em ferramentas de desenvolvimento da Microchip.

Ferramentas de Desenvolvimento
Totalmente compatíveis com as ferramentas de desenvolvimento existentes da Microchip, como por exemplo:

  • PICkitTM 3 - Depurador / Programador Integrado de Baixo Custo (PG164130)
  • MPLAB ICD 3 - Sistema Depurador Integrado (DV164035)
  • MPLAB REAL ICETM - ISistema Emulador Integrado (DV244005)
Desenvolvimento simplificado com optimização de código Free, Standard ou Pro

  • MPLAB XC8 para MCUs a 8-bit
  • MPLAB XC16 para MCUs e DSCs a 16-bit
  • MPLAB XC32 para MCUs a 32-bit
  • MPLAB XC Suite para todos os +900 MCUs PIC e DSCs dsPIC.

Descarregue os compiladores Free e consulte toda a informação em: www.microchip.com/mplabxc

"

segunda-feira, 21 de maio de 2012

Projeto completo - Placa de desenvolvimento e testes, para microcontroladores PIC

Encontrei uma proposta de placa de desenvolvimento bem legal, do engenheiro português Antonio Sérgio Sena.

Ele disponibilizou o esquemático completo, além da foto da placa já montada (clique na foto acima para aumentar).



sexta-feira, 18 de maio de 2012

Material de aula - padrao.c

Arquivo com cabeçalho para o PIC16F877A, também conhecido por "programa em branco".

Use este arquivo para desenvolver seus novos programas no CCS (PICC ou PCW), ou você mesmo pode criá-lo utilizando o PICWizard.

quinta-feira, 17 de maio de 2012

MODO SLEEP


“Os microcontroladores possuem um modo de operação exclusivo para economia de energia, o modo sleep. Ao executar a instrução ‘SLEEP’ o microcontrolador praticamente é posto para "dormir". Este modo de operação é utilizado em sistemas que podem ficar paralisados temporariamente, principalmente quando alimentado por pilhas ou baterias (SOUZA, 2000, pg 126).

O microcontrolador possui um driver interno para tratar o sinal que recebe do oscilador. Quando entra em modo sleep, este driver é desligado, deste modo, o sinal do oscilador chega ao pino de entrada do PIC mas não chega à CPU e o processamento é paralisado. O WDT não é paralisado (SOUZA, 2000, pg 126) porque este timer possui um oscilador independente que não é afetado pela função ‘SLEEP’.

As portas de E/S mantêm o estado em que se encontravam antes da execução da instrução SLEEP (MICROCHIP, 2003, pg 100), ou seja, as portas que estavam configuradas como entrada continuam como entrada e as portas configuradas como saída mantêm seu nível lógico (SOUZA, 2000, pg 126).

O consumo de energia do PIC, que pode chegar a 300mA no modo de operação normal (MICROCHIP, 2003, pg 117), pode cair para até 2uA em modo sleep (SOUZA, 2000, pg 126). Para garantir o mínimo consumo de energia em modo sleep é recomendável configurar todas as portas de E/S como entrada quando isto for possível (SOUZA, 2000, pg 126).

O microcontrolador pode ser "acordado" de três formas diferentes (MICROCHIP, 2003, pg 100) (SOUZA, 2000, pg 126):
-          Por um reset externo (no pino /MCRL);
-          Estouro do Watchdog Timer;
-          Interrupção externa ou mudança do estado dos pinos RB0, RB4, RB5, RB6 OU RB7.”


Fonte:
Duarte, Rafael Lindemann. SISTEMA INTELIGENTE DE MONITORAMENTO E CONTROLE DE IRRIGAÇÃO. São José: UNIVALI, 2006. (TCC Ciência da Computação)

LabVirtual versão 3.2 - arquivo para simulação com microcontrolador PIC16F877A no ISIS

Saiu a versão 3.2 do LabVirtual para simulação com microcontrolador no Proteus.
O arquivo está salvo para a versão 7 e contém os seguintes periféricos:
- LEDs;
- Teclas;
- Buzzer;
- Motor CC;
- Sinais analógicos (por potenciômetros);
- Bargraph;
- LCD 16x2;
- 7 segmentos.


Além dos circuitos oscilador e RESET.


Agora em A3, melhorando muito a organização.