segunda-feira, 21 de maio de 2012

Lojas de eletrônica que vendem pela internet

Como o mercado de componentes eletrônicos aqui na região de Florianópolis é realmente muito fraco, os alunos sempre me perguntam sobre lojas que vendam pela internet. 
Resolvi postar aqui, então, a lista das lojas que conheço.


http://www.blupel.com.br/site/int/ (preços apenas pedindo orçamento)

Descobrindo mais, posto aqui. Se alguém tiver mais alguma sugestão de loja confiável, grita que eu acrescento!


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.

Curso PROTEUS on-line grátis

Encontrei na net um belo curso disponibilizado por Rômulo Oliveira Albuquerque, autor de ótimos livros de eletrônica. 



O curso é focado em simulação de circuitos, está totalmente disponível no site, é bastante didático, apresenta os arquivos dos exemplos desenvolvidos durante as aulas e é composto por quatro módulos:
- Circuitos em corrente contínua;
- Eletrônica - Circuitos em CA;
- Eletrônica digital;
- Eletrônica - análise SPICE.

Muito legal pra quem quer aprender a simular circuitos (de verdade) com o ISIS!!! Bom divertimento...

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.





quarta-feira, 16 de maio de 2012

Watchdog TIMER (WDT)


Vou começar a postar um pouco de material que eu já produzi. Eis aqui uma explanação sobre watchdog timer, que é um tema um tanto obscuro, mas muito útil e simples de entender e usar!

“Um microprocessador executa instruções da memória. Se ocorrer uma descarga elétrica próxima ao sistema, o barramento de dados do processador pode ser momentaneamente perturbado e fazer com que o processador leia algum byte errado da memória. Pode ocorrer ainda um bug do software que resulte em um estouro de pilha, então o processador pega lixo quando tenta voltar de uma sub-rotina. Nestes dois casos, o processador se perde e passa a executar o programa de forma equivocada.

Se estes problemas acontecerem em um computador, a solução seria simplesmente resetá-lo que ele voltaria a executar o programa normalmente. Porém, em sistemas embarcados, normalmente não existe este botão de reset e para prevenir estes problemas muitos sistemas utilizam o Watchdog Timer (WDT). O WDT é um contador que deve ser resetado pelo microprocessador em um tempo regular. Se isto não acontece, o WDT reseta o microcontrolador.

O Watchdog Timer é incrementado automaticamente com base em um clock independente (o PIC possui um oscilador RC interno exclusivo para o WDT) (Souza, 2000, pg 22). Se o WDT não for zerado pelo programa antes de estourar sua contagem (passar de 0xFF para 0x00), o microcontrolador é resetado. O contador do WDT estoura tipicamente em 18ms, mas pode variar de acordo com a tensão de alimentação, temperatura (SOUZA, 2000, pg 23) ou ainda configurado via prescaler. O prescaler é um divisor que pode ser aplicado ao contador TMR0 ou ao WDT. Com o prescaler o tempo de estouro do WDT pode ser aumentado em 2, 4, 8, 16, 32, 64, 128 ou 256 vezes. O oscilador interno do WDT torna este contador independente da freqüência do oscilador externo e garante o tempo de incremento constante.

A função do WDT é "acompanhar" a execução do código para identificar algum problema (BCL, 2002, pg 17). Se o programa em execução falha e não zera o contador do WDT ele interpreta que o sistema não está operando corretamente e reseta o microcontrolador (BCL, 2002, pg 37).

O programador não tem acesso ao WDT, tanto para leitura quanto para escrita. O programador apenas pode zerá-lo utilizando o comando 'CLRWDT', para evitar que o contador estoure e o sistema seja resetado.

A importância do WDT está no fato de que ele pode identificar quando o sistema opera erroneamente logo que isto acontece. Com o sistema fora de sua execução normal o programa deixa de zerar o contador e este estoura, então o WDT reseta o microcontrolador.

Um problema que envolve o uso do WDT é ter certeza que o programa está rodando corretamente. Por exemplo, um bug de softwarepode colocar erroneamente o processador em um looping infinito, sem fazer nada, mas servindo as interrupções. Se o reset do WDT estiver em uma rotina de interrupção, ele não vai estourar a contagem e não irá gerar o reset do microcontrolador, apesar deste estar funcionando de maneira irregular. De forma contrária, se o reset do WDT estiver dentro de um looping no programa, um bug de softwarepode desabilitar as interrupções e estas não mais serão servidas, mas o WDT “entenderá” que o sistema está executando de forma correta e não ativará o reset.

O WDT pode ser desabilitado no momento da gravação do PIC, mas não pode ser ligado ou desligado em tempo de execução (SOUZA, 2000, pg 23).”

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

PROJETO COMPLETO - Relógio com GPS

Projeto completo de um relógio com GPS disponibilizado pelo Luiz Bertini.

O esquema elétrico do circuito, em pdf, está aqui: http://www.luizbertini.net/microcontroladores/RELOGIO_COM_GPS.pdf
O programa (hex para gravação do microcontrolador), neste link: http://www.luizbertini.net/microcontroladores/relogio_com_gps_1.rar

Fonte: http://www.luizbertini.net/

segunda-feira, 14 de maio de 2012

Biblioteca de LCD para o CCS

Biblioteca para escrita no LCD. Adaptada da mod_lcd.c para utilização nas montagens e simulações realizadas pelos alunos das disciplinas de microcontroladores que ministro.

Esta biblioteca foi criada para utilização com o CCS (PCW, ou ainda PICC Compiller) e está configurada para os microcontroladores de 40 pinos, mas pode ser alterada para qualquer outro que tenha pelo menos 6 pinos de E/S.

Ligação dos pinos do LCD no microcontrolador:

enable:  pin_e1
rs: pin_e0
d4: pin_d4
d5: pin_d5
d6: pin_d6
d7: pin_d7


Novo link, no repositório de arquivos do SistemasEmbarcados.net:  


quinta-feira, 10 de maio de 2012

PROJETO COMPLETO - IRRIGADOR DE JARDIM COM MICROCONTROLADOR PIC – ArneRobotics


Um dos projetos completos que o Arne publicou na revista Mecatrônica Fácil e disponibilizou na íntegra no seu site.

Este projeto é muito interessante para estudantes e hobbystas, utiliza um microcontrolador PIC16F870 e está descrito em todos seus detalhes no site.

Estão disponíveis também os desenhos de placa e a programação (em assembly).


A figura abaixo mostra o protótipo criado pelo autor. 


Fonte da imagem: ArneRobotics