quinta-feira, 30 de junho de 2016

Arduino Digispark Attiny85

Olá pessoal, na postagem de hoje vamos conhecer mais uma placa Arduino que adquiri para minha coleção, ou melhor, para meus projetos hehehe.
Trata-se da  Arduino Digispark Attiny85 a menor placa Arduino disponível no mercado atualmente, e conta com o microcontrolador Attiny85:
Apesar do tamanho ela conta com pinos PWM e conexão USB! Mas como na imagem anterior ela vem com os pinos para montar, dessa forma:
 
Então decidi fazer a montagem delas de forma diferente dos pinos que vem junto, os pinos para montar são pinos macho:
Resolvi montar uma com pinos macho e outra com pinos fêmea, e nos 3 pinos de alimentação (5V, GND e Vin) também soldei pinos fêmea:
Dessa forma tenho os pinos disponíveis para prototipagem em protoboard e outras formas que desejar.
Uma coisa que não posso deixar de falar é o trabalho que tive para fazer funcionar no meu notebook, simplesmente não funcionava, nos outros PCs e SOs funcionava sem problemas, mas no meu PC com Windows 7 não dava sinal ou não respondia, depois de 4 dias quebrando a cabeça, descubro que eram os drivers do notebook.
Resultado: tive que instalar os drivers antigos do fabricante (uns 3 anos desatualizados) e após isso instalar os drivers da Arduino Digispark Attiny85.
Para baixar os drivers dela é só clicar aqui, após instalados os drivers siga esses passos para configurar sua interface do Arduino:
1º) Clique no Menu Arquivo -> Preferências
2º) Na tela que se abre onde diz "URLs Adicionais de Gerenciadores de Placas" cole o seguinte endereço:
http://digistump.com/package_digistump_index.json
3º) Depois abra o menu Ferramentas -> Placas -> Gerenciador de Placas, e aguarde atualizar a lista, após no "tipo"clique em "contribuiu"
4º) Selecione o pacote "Digistump AVR Boards" e mande instalar. Pronto!

Para programar essa placa, é diferente do que estamos acostumados, primeiro a configuração do Arduino para fazer o upload:
No menu Ferramentas -> selecionamos a placa "Digispark (Default - 16.5mhz)" e no Programador selecionamos o "Micronucleus".

Com a interface configurada você manda fazer a compilação e upload do seu código (sem estar plugada no computador a placa!), nesse momento preste atenção na tela:
 
Se você entende o mínimo de inglês, já sabe que agora é a hora de conectar a placa no computador, fazendo isso ela já será carregada com o seu sketch.
Já tenho algumas coisas em mente para fazer com elas, mas isso vai demorar um pouco devido aos projetos em andamento.
Por hoje é isso pessoal, um abraço e até a próxima.

domingo, 26 de junho de 2016

Caminhão de controle remoto - parte 1

Olá pessoal, na postagem de hoje vou dar inicio a uma série de posts sobre o novo projeto que estou montando, um robô caminhão. Isso mesmo, eu ia montar um robô para ser controlado com esse controle remoto que montei, acontece que após iniciar a montagem do CPU que mostrei aqui (sim, faz tempo) comecei a pensar no fato que robôs já fiz vários e queria algo diferente.
Foi pensando nisso que decidi montar um veículo, não sabia como montar a base, o chassi, então pensei em comprar papel Panamá e com ele será feito a base de todo o caminhão que será mostrada nas próximas postagens.
Na postagem de hoje, vamos começar com os pneus, motores e rodas:
Esse conjunto foi comprado no Aliexpress já faz uns dois anos ou mais, mas estavam parados, resolvi pintar um pouco e unir com parafusos de forma a manter mais firme as transmissões e conseguir montar e ajustar um sistema de amortecimento.
Uma foto com mais detalhes de um dos 4 conjuntos de motor, transmissão e rodas, caso eu fizesse a construção no formato de um robô seria apenas essas 4 rodas, mas como é um caminhão grande, terá mais 4 rodas na frente para a direção do veículo.
Esses motores serão acionados por uma ponte-h com o CI L298N que já mostrei aqui no blog, dependendo da temperatura do CI vou adicionar dissipador maior e cooler, ou dividir o trabalho para 2 circuitos desses, diminuindo o aquecimento de tudo.
Além desse sistema de transmissão e rodas já projetei um sistema de fumaça para sair no escapamento:
Bem simples, pois ainda está sendo testado e otimizado, quero colocar um pequeno reservatório de combustível para carregar o sistema e possuir uma autonomia maior de fumaça, se bem que mesmo sem o reservatório já mantive fumaça saindo por 5 minutos sem interrupção.
Vamos ver mais de perto:
O sistema é bem simples, mas o seu desenvolvimento foi demorado, vários testes após partir da ideia inicial, na parte de baixo é uma bomba que suga o ar pela parte amarela (tem uma abertura, ali é um filtro de ar) e ao lado esquerdo temos o motor (de drive de CD).
Na parte superior temos o reator onde um pequeno fio metálico aquece com a passagem de corrente elétrica com o aquecimento o óleo armazenado no reator se vaporiza e transforma-se em fumaça.
Quero pintar e dar um acabamento melhor nesse sistema, mesmo que ele fique escondido dentro da cabine do caminhão. Foto do sistema funcionando:
Além do acabamento do sistema preciso montar a fonte e o controlador eletrônico programado para fazer o acionamento desse sistema (é, não vou fazer nada simples) depois disso um teste de autonomia e resistência do sistema e claro um sistema de segurança que desativa a fumaça caso a temperatura próximo ao reator seja superior a uma pré-estabelecida.
Aqui um pequeno vídeo testando o sistema:

Além dessas etapas preciso montar o chassi, sistema de iluminação, sistema de direção e ainda não decidi se coloco um buzzer para aviso sonoro quando ele for dar ré e por fim a cabine, com pintura e acabamento.
Ufa quanta coisa, mas resolvi montar o caminhão já que como está muito frio não tem como ir para um campo testar o avião para fazer ajustes, vou deixar para quando esquentar kkkk.
Por hoje é isso pessoal, um abraço e até a próxima.

sexta-feira, 24 de junho de 2016

indicação de livro número 1

Olá pessoal, nessa postagem estou dando início a mais outra categoria aqui no blog, a de bibliografias sugeridas. Serve tanto para o pessoal que está dando início no mundo do Arduino e microcontroladores, ou na parte de eletrônica até mesmo para os que estão mais aprofundados no assunto.
Vale a pena adquirir os livros, mas não tudo de uma vez ok! Esses livros que vou postar estou lendo ou já li para aprender mais sobre esse fascinante mundo, estarão incluídos livros de Arduino, Eletrônica e Elétrica, Programação e afins, os livros aqui podem ser em Português (Brasileiro) ou Inglês (EUA), pois muitos livros comprei em inglês por estarem mais atualizados ou não haver uma versão brasileira, então vamos ao primeiro título:
Getting Started with Arduino escrito por Massimo Banzi (co-fundador do Arduino) sem dúvida é um excelente começo para qualquer entusiasta de Arduino. 
Esse meu livro é a 1ª edição, escrita em 2009 depois dele foi lançada a 2ª edição em 2011 e no momento a 3ª edição foi lançada também pelo Massimo Banzi escrita junto com Michael Shiloh e lançada ano passado (2015).
Esse livro é o essencial para ajudar no inicio do Arduino, fala sobre as placas, interface de programação, a própria programação em si do Arduino (no final como referência rápida) e sem dúvida a "cereja do bolo" fica com  a leitura de valores de resistores e leitura de diagramas de projetos que ajudam a identificar componentes em um esquemático.
Esses dois últimos itens são muito necessários para os que estão iniciando no mundo do Arduino e eletrônica e não possuem muita familiarização com tais termos e símbolos.
Por hoje é isso pessoal, um abraço e até a próxima.

segunda-feira, 20 de junho de 2016

Modificando uma Raspberry Pi

Olá pessoal, estou voltando nesse momento a postar material na categoria "Raspberry Pi" que estava abandonada há algum tempo devido ao andamento dos projetos que estava seguindo. Para você que não conhece, já falei aqui sobre o Raspberry Pi modelo B.
O que fiz foi preparar (e muito bem) minha Rasp para ser feito o overclock nela, ou seja, ao invés de trabalhar nos habituais 700Mhz de clock eu coloquei para trabalhar em 1Ghz! Com isso a placa inicia e fica pronta para trabalhar em pouco mais de 30 segundos (quase 1 minuto em frequência "normal") além de fazer as tarefas com maior poder de processamento.
O problema do overclock é o aquecimento do processador, e justamente para evitar isso que foi feita as modificações a seguir:
Um dissipador para o processador, um dissipador para o controlador ethernet, pasta térmica de alta capacidade de troca de calor e um cooler de 5V (que não aparece na foto).
A primeira etapa foi cortar o dissipador, pois as aletas eram muito altas e o case do Pi não fechava:
Viram a diferença? Cortei quase pela metade para caber no case, aliás o próximo passo foi cortar o case para instalação do cooler e facilitar a ventilação além de liberar os pinos GPIO para conexão sem precisar abrir a tampa:
O corte maior é para o cooler, o furo da esquerda é para sair ar e fica bem sobre o dissipador do controlador ethernet, os 3 furos na direita são para deixar livre os pinos GPIO permitindo que eu possa conectar fios neles sem precisar manter aberto o case.
Para por os dissipadores no lugar e ter uma alta eficiência de condutibilidade térmica usei uma excelente pasta térmica:
Artic Silver 5 (também conhecida como AS5), é uma das melhores pasta térmica existentes hoje no mercado, segundo o fabricante é feita com 99,9% de prata pura em 3 tamanhos diferentes para maximizar o contato entre partículas e não contém silicone, utilizo ela em meus computadores e a temperatura baixou muito mesmo se comparada a pasta original, troquei inclusive a pasta da minha placa de vídeo original por ela.
Finalizando coloquei o cooler de 5V ligado em uma das saídas de 5V dos pinos GPIO:
Muito bem acomodado tudo e nada de aquecimento, se bem que as temperaturas ambientes estão a baixo dos 10°C nos últimos dias kkkkkk, agora uma foto mais perto com o logo do blog:
Com o cartão de memória de 8Gb instalado rodando a última versão do Raspbian sem problemas. Para ir mais a fundo no Rasp já comprei alguns livros que em breve estarei postando aqui em uma nova categoria, mas isso é assunto para um outro post.
Por hoje é isso pessoal, um abraço e até a próxima.

terça-feira, 14 de junho de 2016

Entendendo o Sinal PWM

Olá pessoal, na postagem de hoje vamos entender o que é um Sinal PWM, suas características e vamos analisar o sinal com o uso de equipamentos, bem como aprender a gerar esse sinal utilizando uma placa Arduino.
A postagem de hoje é patrocinada pela Loja Webtronico:
http://www.webtronico.com
Como disse no post sobre a placa Arduino Pro Mini, a loja Webtronico nos enviou a placa Arduino Pro Mini, juntamente com um kit para módulo de relé e os LED RGB, clique nos links para comprar os produtos na loja e aproveitar para comprar mais componentes!
Vamos ao PWM:
PWM significa "modulação por largura de pulso" (Pulse Width Modulation), é um sinal que alterna entre ligado e desligado, nós usamos o PWM quando queremos variar a potência media de uma carga em CC que pode ser um motor ou lâmpadas, ou mesmo transistores de potência em inversores CC-CA.
Além desses casos, o sinal PWM tem muitas outras aplicações, como o acionamento de servos em aeromodelos, a intensidade de iluminação em mangueiras LED (aquelas usadas para enfeites no natal), o acelerador de caminhões modernos, o controle de ventoinhas de radiadores de carros modernos, etc.
Vamos analisar uma imagem para entender melhor o sinal PWM:
Nessa imagem temos um termo que precisamos entender antes de prosseguir: "Duty Cycle", esse termo significa razão cíclica ou ciclo de trabalho/carga em português e é utilizado para descrever a fração de tempo em que um sinal está em um estado "ativo".
Na primeira parte o sinal permanece em 0V constantemente e o Duty Cycle é 0%, ou seja, não existe momento onde tenha potência sendo fornecida.
Na segunda parte temos um sinal que fica 25% do tempo ligado e 75% desligado, portanto o duty cycle é de 25%, e assim sucessivamente.
O sinal PWM é uma onda quadrada que podemos controlar seu duty cycle. Mas como vamos saber qual a tensão que realmente está sendo entregue a uma carga se o sinal liga e desliga?
Existe uma fórmula que é a tensão média:
Tensão Média = Vmáx x ciclo de carga(%)
Para entender melhor vamos analisar caso a caso, vamos começar com o sinal de 25%
 
A fórmula nos diz que a tensão média sendo fornecida é dada pela multiplicação o ciclo de carga, que nesse caso é 0,25 (25% é 25/100 = 0,25) pela tensão que é 5V no exemplo. Então temos:
Tensão média = 5 x 0,25 = 1,25V  
Então a carga que estiver recebendo esse sinal irá trabalhar como se estivesse recebendo continuamente uma tensão de 1,25V.
Vamos para o próximo exemplo:
 
Uma carga que esteja recebendo um sinal PWM com duty cycle de 50% sendo seu pico de 5V, estará recebendo uma tensão média de:
Tensão média = 5 * 0,5 = 2,5V 
Ou seja, a carga vai se comportar como se estivesse conectada a uma tensão continua de 2,5V. Para finalizar os 5V: 
Qual a tensão média nesse caso? Vamos calcular!
Tensão média = 5 * 0,75 = 3,75V
3,75V. Fácil entender não é? Vamos outro:
Qual o valor da tensão média que vai receber um motor conectado a um sinal PWM com duty cycle de 75% como o mostrado anteriormente?
  Tensão média = 12V * 0,75 = 9V
Ou seja, o motor vai se comportar como se estivesse conectado a uma alimentação continua de 9V.
Enviando o sinal PWM conseguimos controlar a potência em uma carga, evitando perdas caso fosse utilizado algum meio resistivo para reduzir essa tensão (potenciômetro ou resistor). 
Quem pode gerar um sinal PWM?
Como exemplos de fontes que podem gerar um sinal PWM temos: CI 555, placas Arduino, Microcontroladores PIC, geradores de função, etc.
Após essa parte teórica vamos aprender a gerar um sinal PWM para controlar o brilho de um LED, para isso vamos utilizar a placa Arduino Pro Mini fornecida pela Webtronico
Para conhecer mais a placa Arduino Pro Mini clique aqui. Vamos usar o código a baixo para gerar um sinal PWM em uma das portas, onde o valor será configurado através de um potenciômetro.
O circuito montado é esse:
A placa Arduino Pro Mini, fornecida pela Webtronico, está conectada em um conversor USB/TTL para programar no computador, conectada a ela temos também um LED azul de 5mm ligado na porta 3 (que suporta sinal PWM) e um potenciômetro conectado na porta A1 (portas analógicas são configuradas como "INPUT" por padrão, não sendo necessária a declaração do pinMode), só para lembrar que como o LED funciona com seus 3V e o Arduino fornece 5V nas saídas, existe um resistor de 150Ω entre o LED e o GND! A conexão está dessa forma:
Ligando o circuito em um osciloscópio podemos fazer uma análise detalhada do sinal PWM sendo gerado, percebam na foto que a frequência do sinal gerado está na faixa dos 500Hz:
Na foto a seguir podemos ver o osciloscópio mostrando o sinal PWM, com duty cicle de 50%, na tela enquanto o multímetro nos mostra a tensão média sendo entregue na saída (aprendemos como calcular anteriormente). 
Detalhe do visor do osciloscópio:
Como a tensão máxima é de 3,20V e o duty cicle é de 50% temos pela fórmula que a tensão média fornecida é de 1,60V que é bem próximo do mostrado no multímetro.
Outro exemplo, agora com duty cicle em 25%:
E a tela do osciloscópio:
Como o multímetro Minipa usado nos testes é "Auto Range" ele só "apita" e muda a faixa de tensão, mostrando nesse caso os 0,8V resultantes de um sinal PWM com Duty cicle de 25%.
Acho que agora foi possível entender melhor o sinal PWM, em uma próxima postagem vamos usar o mesmo circuito para controlar a cor de um LED RGB, o mesmo sistema que utilizo para controlar a cor da iluminação interna do gabinete do meu computador, como falei aqui pela primeira vez
Gostaria de agradecer mais uma vez pela parceria com a Webtronico e pelo envio dos itens! Não deixem de conferir a loja para as compras de seus projetos.
Por hoje é isso pessoal, um abraço e até a próxima.

sábado, 11 de junho de 2016

motor de drive de CD como motor brushless

Na postagem de hoje vamos ver como transformar um motor de drive de CD em um motor brushless para usar em aeromodelismo ou outra finalidade, fiz isso na turbina que mostrei nessa postagem.
Um motor brushless é um motor onde não existem escovas para ativar as bobinas do motor, nesse caso um controlador eletrônico conhecido como ESC (Electronic Speed Control - utilizando MOSFETs) aciona as bobinas em sequência e como vantagens temos maior eficiência, menor interferência, vida útil mais longa, etc.
Para ligar esse motor estou utilizando um ESC 30A com BEC interno (Battery Eliminator Circuit):

No meu caso fiz apenas a ligação do motor de drive de CD em um ESC e já foi uma ótima velocidade de rotação, mas se quiser elevar ainda mais a velocidade de rotação, você pode pesquisar na internet, você basicamente terá que rebobinar todo o motor.
O que fiz foi desmontar a parte superior do motor do drive de CD (o que impulsiona o CD) e encontrar os 3 pontos de solda onde estão os fios das bobinas:
Nesses 3 locais que você deve soldar fios para acionar o motor, recomendo utilizar fios de cores diferentes que ajuda na hora da conexão com o ESC, aqui após soldar os fios:
Utilizando fios de cores diferentes, basta conectar no ESC e se for desejado inverter o sentido de rotação do motor, basta trocar de posição os fios das laterais, o fio do meio permanece inalterado, ou seja, na primeira foto basta eu trocar de lugar os fios vermelho e azul, mantendo o amarelo no lugar.
Muito simples de ser feito em alguns minutos e com um resultado muito bom considerando o custo que no meu caso foi zero, pois já tinha uns motores aqui parados.
Por hoje é isso pessoal, um abraço e até a próxima.

domingo, 5 de junho de 2016

Arduino Pro Mini

Olá pessoal, hoje vamos conhecer um pouco da placa Arduino Pro Mini:
Essa placa foi enviada pela nossa parceira de projetos a loja Webtronico:
http://www.webtronico.com
Para comprar a Arduino Pro Mini na loja Webtronico clique aqui!
Juntamente com a placa Arduino Pro Mini recebi LEDs RGB onde vou mostrar o controle deles e vamos estudar bem a fundo o seu funcionamento e os componentes para a montagem de um acionamento por relé 5V:
A seguir os presentes enviados fora dos pacotes: (heheheh)
 
A Arduino Pro Mini é uma placa baseada no Atmega328, o mesmo microcontrolador da Arduino Duemilanove e da Arduino Uno, ela possui 14 pinos digitais de entrada/saída (6 podem ser usados como PWM), 8 pinos de entrada analógica, possui uma frequência de 16Mhz, sua vantagem é que vem pronta para uma montagem fixa, ou seja, pode ser fixada em um projeto definitivamente, ou ser utilizada em uma protoboard (desde que soldados os pinos).
Como ela vem sem pinos conectados, permite que sejam soldados os pinos de acordo com a necessidade de cada um, ou mesmo fios para um projeto fixo, no nosso caso vamos soldar os pinos para protótipos em uma protoboard:
Para isso resolvi utilizar os pinos machos para a conexão em uma protoboard e mais os conectores fêmeas para os furos que não tinha como conectar pinos macho para a parte de baixo (onde iria ficar 2 pinos em uma mesma trilha da protoboard). Após soldar com muito cuidado (o espaço é bem pequeno) a minha placa ficou assim:
Mais uma foto:
Com essas conexões fêmeas para cima somadas aos pinos macho ligados à uma protoboard eu tenho disponível toda a pinagem da placa, dá para montar muitos projetos e todos usando um pequeno espaço graças ao tamanho reduzido da placa:
Para baixar o Pinout em PDF clique aqui, esse arquivo foi disponibilizado no site PighiXXX.com, a disposição dos pinos pode variar um pouco, visto que como é um projeto aberto os fabricantes podem fazer ajustes como julgarem melhor.
A novidade aqui para quem está acostumado com as outras placas Arduino é o pino RAW, esse pino é onde colocamos a fonte de alimentação não regulada (5V até 12V), o pino VCC é para alimentação de 5V (já regulada).
Você vai ver essa placa em muitos projetos aqui no blog, então já sabe onde comprar. Gostaria mais uma vez de agradecer a Loja Webtronico pelos produtos enviados e convidar você leitor do blog para dar uma passada lá na loja para conferir os produtos.
Por hoje é isso pessoal, um abraço e até a próxima.