terça-feira, 18 de novembro de 2014

Vai mais uma ajudinha aí?

Fim do teceiro ano! Finalmente férias e mais tempo para o blog. Antes mesmo do final das aulas eu já vinha planejando esse post e tratei de providenciar o material, ou melhor, pedir para a schmartboard "providenciar". É isso mesmo, mais um post tratando sobre produtos deles. Acredito que esses produtos serão tão úteis quanto os anteriores.


Regulador de tensão

Achar reguladores práticos ou montar o seu próprio pode ser meio complicado as vezes, ainda mais no Brasil onde conseguir componentes eletrônicos não é uma tarefa tão fácil assim. Vendo essa necessidade, resolvi pedir e testar o regulador oferecido pela empresa. Veja ele:

A placa não é muito grande e possui trilhas bem largas, para que não haja problemas com corrente. Mas é aqui que mora o ponto fraco desse regulador: a corrente. Mesmo feito para lidar com correntes máximas de até um ampère, o 78xx desta placa não consegue chegar a 250mA sem se esquentar. Segundo recomendação da SchmartBoard, o correto seria usar de 500 a 600mA, porém com 500mA ele ficou bem quente (e me parecia quente mais do que deveria). Portanto essa placa não deve ser usada para alimentar circuitos de potência, mas é um excelente regulador para a parte lógica dos circuitos, pois a saída ficou bem estável. As fotos mostram a entrada ("12V") e a saída regulada em 4,91V, bem próximo de 5V (lembrando que este CI tem uma precisão de 10%, ou seja, pode variar de 4,5V a 5,5V).


A estabilidade da saída e a precisão são dois pontos bem destacáveis aqui, já que quando falamos de circuitos microcontrolados esses dois itens são de suma importância.



Pontos positivos:
-Excelente estabilidade;
-Tensão bem precisa (~1,8% de erro);
-Conector de entrada e de saída práticos;
Ponto negativo:
-Baixa capacidade de corrente sem sofrer aquecimento.


Placa de desenvolvimento para PIC

Quando estudamos um microcontrolador, deixar o circuito básico para a operação de um montado na protoboard pode ser um incômodo além de ocupar desnecessariamente um espaço nela. Placas de desenvolvimento trazem tudo que é necessário para um microcontrolador funcionar fora da protoboard, deixando-a livre para os circuitos auxiliares, e é sobre uma placa dessa que falo agora. A schmartboard possui uma placa dessas, que atende PICs de 8 a 28 pinos, totalizando 116 diferentes tipos suportados. Ela conta já com o regulador de tensão (bem estável por sinal), LED indicador de funcionamento, circuito de RESET com sinal estabilizado, espaço para oscilador RC ou XTAL e espaço para conctores de programação ICSP RJ11 e barra de pinos.


Com exceção do circuito oscilador, ela já vem com as barras de pinos para você soldar de acordo com seu PIC. os Jumpers são usados para configurar a placa para os diferentes tipos de PICs, e isso é feito de maneira bem rápida e prática conforme um manual. Para soldar o PIC, a placa já vem com a quantidade necessário de solda, bastando apenas aplicar fluxo de solda antes, facilitando muito a montagem. O acabamento é impecável, mas a única coisa que me incomodou foi justamente os espaços para os conectores RJ11, já que não são muito comuns (pelo menos aqui no Brasil).

Pontos positivos:
-Placa bem flexível;
-116 tipos diferentes de PICs suportados;
-Praticidade na montagem;
-Circuitos básicos porém estáveis e confiáveis.
Ponto Negativo:
-Suporte apenas a PIC SMD, o que é difícil encontrar aqui.

Assim que eu comprar o PIC SMD, um notebook e um gravador USB farei um circuito usando essa placa.


Jumpers macho-fêmea

Acho que dispensam comentários maiores: já abordados em outro post, os jumpers da SchmartBoard se destacam pela pluralidade de tamanhos, cores e tipos. Embalados individualmente por tamanho e cor, acompanham as barras de pinos, algo muito conveniente. 
Acredito que juntamente com os outros dois tipos (fêmea-fêmea e macho-macho) estes sejam itens indispensáveis para o hobbista, afinal, qualquer que seja a plataforma (PIC, Arduino, Rapsberry Pi e outros) você sempre fará a ligação entre placas por meio deles.

Pontos positivos:
-Variedade de modelos, cores e tamanhos;
-Excelente qualidade e acabamento;
-Acompanham as barras de pinos.

E então é isso galera. Lembrando que não sou pago por este tipo de post (na verdade paguei, pois mesmo sendo presente e de graça, a Receita me tributou pesadamente), isso é apenas um tipo de parceria entre nós. Se eu tiver que falar mal falarei, e se tiver que falar bem falarei, então garanto a avaliação que faço!

Mais coisas sobre PIC virão em breve (provavelmente sobre conversão de níveis lógicos). Um abraço e até mais.


segunda-feira, 30 de junho de 2014

Hora de conversar!

Quem acompanhou os cursos sobre programção de microcontroladores percebeu que dei uma pausa. Pois é meu povo, terceiro ano não é fácil! Mas voltei e trouxe coisa boa!
Até hoje comentei e ensinei a usar recursos internos do PIC, mas tudo girando apenas em torno do PIC. Agora é hora de ir além e fazer ele se comunicar. "Caramba! Vou aprender a controlar um circuito pelo PC/smartphone?" Sim, exatamente isso.

Qual o "idioma"?

Nesta aula ensinarei a vocês a usarem a porta serial usando o protocolo RS232 e se comunicando através do módulo Universal asynchronous receiver/transmitter (UART) do PIC e como usar ele como um Universal Synchronous/Asynchronous Receiver/Transmitter (USART). Não vou explicar o funcionamento deste protocolo uma vez que não será necessário.
A porta serial é bem antiga, mas para a nossa alegria, ainda não foi esquecida. Seu uso é bem mais simples que o da porta USB, e o programa, bem mais fácil.

Como se comunicar?

Basicamente, o UART usará 3 dos 9 pinos da porta serial: TD (transmitted data), RD (Received Data) e o SG (Signal Ground, ou negativo), porém usaremos mais dois que funcionarão fora do módulo: o RTS (Ready to Send) e o CTS (Clear To Send), que serão os responsáveis pelo funcionamento modo USART. Necessário? Não, mas interessante.

E o intérprete?

O padrão lógico da porta serial é diferente do TTL, com o qual o PIC opera, bem como as tensões, que queimariam nosso MCU. Para isso, usamos um conversor de níveis Serial-TTL/TTL-Serial. Existem diversos à venda no mercado, mas usaremos nessa aula o da SchmartBoard, que além de pequeno e simples, tem suporte ao RTS e CTS (com os quais eu não havia trabalhado até receber esse módulo). Este módulo pode ser visto abaixo e pode ser comprado diretamente com eles ou pela Mouser no Brasil.

O módulo ligado ao circuito por jumpers também da SchmartBoard.

Circuito

O circuito é bem simples, sendo o básico do PIC com alguns poucos componentes a mais como no diagrama abaixo.


R1 é um potênciometro, o qual leremos seu valor pelo ADC e enviaremos para o PC, e o LED1 será controlado pelo PC, C3 é para estabilizar o valor lido, e é dado no esquema duas opções de oscilador para o MCU. Acredito que não haverão dificuldades.
A figura a seguir da uma ideia geral do circuito.
Produtos SchmartBoard usados/recomendados pro projeto


Visão geral

Hora de ensinar o PIC

O programa todo pode ser baixado aqui. Vocês verão que não há muitas novidades, mas explicarei alguma coisa:

-Quando o PIC vai realizar alguma operação, como no programa a conversão do ADC, antes dele começar mudamos o CTS para avisar que o programa estará ocupado, e assim que acaba, mudamos novamente o CTS;
-Quando o RTS for igual a 1, o computador estará dizendo que está ocupado e não pode responder, então o PIC identifica o estado antes de reiniciar a rotina eterna (WHILE/WEND) e se estiver como 1 enviará uma mensagem ao PC para que você visualize isso;
-No comando UART1_Init(115200) inicializamos o módula UART1 e definimos a velocidades de comunicação em 115200 bps;
-O comando UART1_Write_Text envia um texto para o computador. Este texto DEVE estar entre aspas (exigência do compilador), mas estas não aparecerão;
-O comando UART1_Read recebe o caracter recebido. Ele é recebido em ASCII. Se quiser compará-lo como um caracter normal, ponha-o entre aspas (como no programa que está "!", "T" e "M"). Se não o puser, deverá usar o código ASCII correspondente;
-Por fim, o comando UART1_Data_Ready avisa se há dados sendo enviados pelo PC.

Mas o que acontece?

Para testar, conecte inicialmente o cabo serial no PC e no módulo conversor, abra um terminal serial (para Windows recomendo o Termite, para linux, o Serial Port terminal. Usuários Linux poderão precisar dar permissões para a porta através do sudo chmod a+rw /dev/ttyS1), deixe o RTS desativado (pesquise como fazê-lo para cada terminal. No termite apenas clique no ícone correspondente na barra superior à caixa de texto, e no Serial Port Terminal, pressione F8. Para ambos os casos, faça duas vezes o procedimento de ativar e desativar) e só então ligue o circuito. Você deverá ver a mensagem "Aguardando o PC". Ative o RTS e verá a mensagem "Pronto".
-Tecla M: alterna entre o modo de leitura manual e o automático;
-Tecla !: requisita o envio da leitura absoluta do ADC (apenas no modo manual); 
-Tecla T: Liga/desliga o LED1.

Basicamente é isso! Agora é só soltar a criatividade e se divertir com essa comunicação. Ligar e desligar luzes da casa, ler sensores, controlar motores, enfim, muitas coisas podem ser feitas com a RS232.

Considerações finais (observações):

-Aos que não acharem um módulo com suporte ao RTS/CTS, apenas excluam as partes do código que os cite (o sub procedimento Check_RTS, as suas chamadas e as partes onde o CTS é controlado). Tudo deverá funcionar normalmente com exceção das partes que os usam;
-Não sei se funciona com conversores Serial/USB;
-Confira se seu cabo possui todos os pinos necessários ligados, pois há cabos que possuem apenas as linhas SG, RD e TD!


É isso galera. Espero que mais uma vez tenha sido útil. Estarei à disposição para dúvidas. Até a próxima pessoal!

sexta-feira, 2 de maio de 2014

Dreno de corrente constante

Estou de volta meu povo! Depois de muito tempo sem tempo (vida de estudante não é fácil!!) estou aqui trazendo um circuito do qual precisei muito e foi difícil achar. Quem já se deparou com a necessidade de fornecer (ou drenar) uma corrente constante já viu como é fácil e difícil essa tarefa: fácil porque é só pegar um LM317, por o resistor certo e pronto! Ok, mas o resistor aquece, disperdiça energia e você fica limitado à corrente máxima do CI. Aqui fica difícil: encontrar outro circuito. Intrigado com a existência dos pequenos circuitos de Laser pointers, resolvi correr atrás de um circuito melhor. e Achei.

O circuito a seguir é extremamente útil para aqueles que querem alimentar um diodo laser (falarei mais sobre eles a seguir) ou os LEDs de maior potência, como os CREE ou LUXENON de 1W, 3W e por aí vai. Ele foi tirado do datasheet do TL431 (com pequenas modificações), um diodo zener programável que serve de referência de tensão. Aqui mora o triunfo do circuito. Tendo uma tensão praticamente constante, colocando um resistor em série tem-se corrente constante. Sigamos ao esquema:

Como podem ver, o esquema é bem simples, componentes bem comuns. CN1 tem três pinos:1 e 3 que são o negativo e o positivo, respectivamente, e o 2 que é por onde você pode ligar ou desligar o circuito de forma simples. O JP2 é um jumper, ou interuptor, para deixar o CCD (constant current drain, este é seu nome) sempre ligado, caso não queira usar o pino 3.
R2 está sem valor pois será ele quem definirá o valor da corrente a ser drenada. Ele pode ser calculado por R2=2,5/Id, onde Id é a corrente drenada. A PCI fica bem simples, como a figura a seguir:

(dimensões em mm)
Lembrando que a corrente máxima teórica suportada pelo circuito é exatamente a do transistor Q1. Para correntes maiores, troque Q1. Não sei se neste circuito Q1 pode ser substituído por um Darlington ou FET/MOSFET.
Abaixo, deixo algumas fotos do meu circuito montado e ligado a um laser de DVD, consumindo 250mA.


(errei na hora de imprimir a PCI e o circuito ficou espelhado)


Sobre os lasers, se você for usar os extraidos de CD/DVD-ROM, tome cuidado pois:
1: CD possui apenas laser IR e não queima coisas!
2: DVD possui dois: o IR e o vermelho. CUIDADO: este queima, inclusive sua retina!
3: Para o IR, forneça 50mA, vermelho, 150mA (não é regra, mas se aplica a maioria).

E isso é tudo galera. Se quiserem outros circuitos de corrente constante, deem uma olhada aqui. Abraços e até a próxima.

segunda-feira, 13 de janeiro de 2014

Um "bombril" para smartphones

 Fala seguidores, tudo em cima? Estive parado esse meu tempo das férias e, enquanto pensava no que postar me veio um pedido, e como um bom editor, vou realizá-lo haha. Sabe aquela hora que você precisa, de forma rápida, saber o valor de um resistor pelo código de cores, ou o resistor para um LED? Que tal resolver esses e vários outros problemas de forma simples? É só usar um programa que é tipo bombril: 1001 utilidades! Esse é o ElectroCalc.
 O criador desse programa, Tiago Ávila, me enviou um programa falando um pouco sobre ele e me pediu para fazer um post. Prudentemente fui testar antes de falar algo, e aqui vai meu review, com o objetivo de ser bem rápido e direto (até pq não há muito o que falar de um programa tão simples!).

 Canivete suíço da eletrônica


 Com uma versão também para windows, o ElectroCalc é uma ferramenta muito útil para Hobistas, Técnicos e Engenheiros de qualquer nível, acelerando seus projetos e sendo uma rápida saída para cálculos comuns. A versão que testei foi a para Android, que rodou em um Motorola® Moto G com Android 4.3.
 A interface do programa é bem simples, sem dificuldades de usar. Existem 20 ferramentas dentro dele, como seguem as imagens abaixo.

(E essa propaganda?)

 Achei todas as ferramentas bem úteis, mas faltaram algumas comuns, como por exemplo antenas, o amplificador inversor ou até mesmo resistores com mais de 4 faixas. Outro ponto que seria de bom grado seria se fosse possível entrar com valores em qualquer campo, por exemplo, na calculadora do 555 é possível apenas entrar com os valores dos resistores e capacitores. Seria bom, por exemplo, poder entrar com a frequência ou o tempo de duração do pulso (no monoestável). Outra coisa que seria bom seria a possibilidade de escolha das unidades de medidas (que são fixas). Alterar entre ohms, Kohms, Mohms ou entre µF, pF e nF seria muito útil, mas não é algo que te atrapalhe o uso (só fará vc converter unidades mentalmente).

Esta é a calculadora do 555 Astável. Apenas os campo escritos em branco podem ser alterados

 Um ponto extremamente positivo que eu achei muuuito legal e ajuda tanto quanto os cálculos é o fato de junto vir os esquemas básicos das ligações, bem simples mas totalmente útil, salvando mais algum tempo seu.


-Simples e útil;
-Boa quantidade de ferramentas (e boa;
-Acompanha esquemas;
-Leve (falando de memória ocupada).




 -Alguns campos que seriam úteis não podem ser preenchidos;
-Impossibilidade de alterar escalas;
-Faltam algumas ferramentas úteis.



Resumindo: Pra quem possui um aparelho com Android e mexe com eletrônica, este é o tipo de aplicativo que eu não recomendaria ficar sem ele instalado. Simples, funcional e muito útil, o ElectroCalc, com mais algumas melhorias (que faz parte de qualquer programa, afinal, nada surge perfeito) será um dos programas relacionados a eletrônica mais úteis que há (só conheço um melhor). Meus parabéns ao Tiago por desenvolver esse programa.
Para os interessados, o download pode ser feito via Play Store aqui.

Próximo Post provavelmente sobre outro app galera! Fiquem atentos! Abraço.