LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: Kristey em 12 de Dezembro de 2013, 01:18

Título: Controlo de fila LED RGB
Enviado por: Kristey em 12 de Dezembro de 2013, 01:18
Boas
Tenho outro projecto em desenvolvimento, que ja poderia estar terminado mas depois de tanta dor de cabeça com as placas prefuradas decidi fazer uma PCB.

A minha fita de Led's é de Anodo comum, e alimentada a 12 V.
Segui este esquema, e pelo que testei na breadboard funciona:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fapi.ning.com%2Ffiles%2FVoVWsuikhR5K7xJO-JNLYEm7POmqa51r4%2AwwbQKRXUOW3vycB5d%2AJaawBX%2A-1Lp8PJe1dxoXPN4HX8hMJshSgsKegQg0ABod%2Fmosfet_Fita_de_LED.png&hash=b2f8ff0dc830e2160517a6a4700a62d8605da408)

Gostaria que voces observassem e me dissessem se fiz este esquema da pcb bem. Pois é a primeira vez que faço um, e é a primeira vez que "saio do arduino" para uma placa. Alias a segunda visto que a primeira com a placa prefurada nao está a funcionar.
-Onde tem mencionado 5V é onde vai ligar a alimentação dos potenciometros.
-Onde tem Analog é onde vou ligar os potenciometros para a leitura.
-Onde tem mencionado Digital vou ligar botoes para fazer "presets" ainda nao está presente no codigo essa parte.

v1: http://img199.imageshack.us/img199/4769/zxh9.png (http://img199.imageshack.us/img199/4769/zxh9.png)
v2:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.com%2Fscaled%2Fmedium%2F802%2Fguiq.png&hash=c1b7b449a7ba974e05fb5efc483ce04a22249fbc)
O Codigo é este:
Código: [Seleccione]
int ledB = 9;
int ledG = 10;
int ledR = 11;
int potR = A0;
int potG = A1;
int potB = A2;
int valueR = 0;
int valueG = 0;
int valueB = 0;

void setup(){
}

void loop(){
valueR=analogRead(potR)/4;
Serial.println(valueR);
analogWrite(ledR,valueR);

valueG=analogRead(potG)/4;
Serial.println(valueG);
analogWrite(ledG,valueG);
 
valueB=analogRead(potB)/4;
Serial.println(valueB);
analogWrite(ledB,valueB);
 
}
Título: Re: Controlo de fila LED RGB
Enviado por: jm_araujo em 12 de Dezembro de 2013, 10:17
Larga o Fritzing e muda-te para um CAD de electrónica (Eagle por exemplo tens muita gente a usar e carradas de ajuda na net).
Faltam os condensadores (antes e depois dos 78xx, junto ao micro, e junto às saídas de alimentação).
Faltam resistências de gate nos Mosfets.
Devias colocar um conector ICSP para facilitar a programação do ATMega.
Devias por um díodo após a ficha de alimentação, para evitar que uma ficha de polaridade invertida faça estragos.
A ficha analog está muito em cima do micro.
Apesar de não ser obrigatório, as placas ficam melhores com as pistas sem ângulos rectos nem ângulos esquisitos. Normalmente usam-se cantos a 45º e evitam-se diagonais que não nos mesmos 45º.
Tens espaço para alargar todas as pistas de "potência", aproveita-o.
Cuidado com o consumo da fita. O 7812 dá até 1A, mas dependendo do que tem de dissipar para chegar lá pode sobreaquecer e ficar pelo caminho.

Assim de repente é "só" :)
Não olhei para o código.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 12 de Dezembro de 2013, 11:17
Muito obrigado pela tua ajuda jm_araujo

Faltam resistências de gate nos Mosfets.
Feito, nem tinha reparado foi mesmo esquecimento.

Devias por um díodo após a ficha de alimentação, para evitar que uma ficha de polaridade invertida faça estragos.
A ficha analog está muito em cima do micro.
Apesar de não ser obrigatório, as placas ficam melhores com as pistas sem ângulos rectos nem ângulos esquisitos. Normalmente usam-se cantos a 45º e evitam-se diagonais que não nos mesmos 45º.
Tens espaço para alargar todas as pistas de "potência", aproveita-o.
Ja meti la o diodo.
Já corrigi a ficha 'Analog'.
E tentei minimizar os angulos das pistas.
Alarguei tambem as pistas de potencia. (penso que as necessarias)

Devias colocar um conector ICSP para facilitar a programação do ATMega.
Como isto é para programar e ficar no sitio, nao vejo necessidade do connector, se eventualmente tiver de fazer um update tiro o chip, porque tambem vou inserir-lo num socket.

Faltam os condensadores (antes e depois dos 78xx, junto ao micro, e junto às saídas de alimentação).
Podes-me elucidar sobre isto? Junto aos reguladores (78xx) um na entrada e outro na saida, mas ceramicos ou electroiticos? de 22pF?
Eu ja deixei la o espaço na entrada com o desenho de um electrolitico e na saida tambem, posso trocar se a dimensão nao fora aquela.

Junto ao micro e na saida de alimentação é que nao percebi ao que te estas a referrir.

Larga o Fritzing e muda-te para um CAD de electrónica (Eagle por exemplo tens muita gente a usar e carradas de ajuda na net).
Neste momento entao vou acabar isto no Fritzing, e depois migrar para outro, ja me aconselharam o proteus, que dá ate para simular com o arduino.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.com%2Fscaled%2Fmedium%2F802%2Fguiq.png&hash=c1b7b449a7ba974e05fb5efc483ce04a22249fbc)
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 12 de Dezembro de 2013, 12:52
Queria dar uma ajuda mas os erros são imensos...
Não fazes 1º o esquema antes do layout ?!

Díodo de alimentação D1 devia estar no positivo
Condensador em série na entrada e saída regulador 7812 (é ligar do regulador ao gnd)
O mesmo se passa com o 7805 C4
Desacoplamento do micro inexistente (47uF e 100nF na alimentação do micro e gnd, o mais perto do micro possível)
Curto entre 21 e 22 do micro
Curto no mosfet G (2 e 3)
Ângulos só a 45º como referido pelo jm_araujo
Título: Re: Controlo de fila LED RGB
Enviado por: jm_araujo em 12 de Dezembro de 2013, 13:07
Ui!!! :o :o
Condensadores 1 electrolítico antes do regulador (100uF), 1 electrolítico à saída(22uF) com um 100nF cerâmico em paralelo. Junto à alimentação de cada IC (o mais perto possível) mais 100nF cerâmicos. Os condensadores de alimentação colocam-se entre a massa e o voltagem (em paralelo), e não em série como fizeste. Servem para absorver picos e ajudar a estabilizar a alimentação.

A resistência de gate é em série entre o pino do AVR e a gate, 1kohm serve. As gates são capacitivas e ao mudar o estado crias um pico de corrente que o AVR pode não gostar. Com uma resistência limitas esse pico.

"programar e ficar no sítio"...  ;D famosas ultimas palavras antes de ter de tirar e voltar a por o chip até o socket ganhar folga ou partir um pino ;D

O díodo fica melhor no positivo, é hábito não se interromper o neutro excepto em casos muito específicos (medir corrente p/ex), para evitar ter múltiplos neutros que possam criar problemas em integração com outros circuitos.

O Eagle é gratuito com limitações de tamanho, mas ainda nunca precisei de mais. E tens IMENSA informação na net, desde bibliotecas a vídeos tutorial. E arranjas sempre alguém disposto a ajudar. Anda aí um tópico recente em que fizeram uma biblioteca com um componente mesmo sem pedirem, só para ajudar (boa Senso, é bonito de ver :) ).
O Proteus custa 200€ a versão mais barata + 200€ para simulador Arduino. Mesmo com 20% de desconto estudante, é difícil justificar o investimento.
Pirataria não se justifica. Hoje em dia tens quase sempre alternativas gratuitas, porquê dar-se ao trabalho e arriscar trojans, falta de suporte, etc?
Título: Re: Controlo de fila LED RGB
Enviado por: senso em 12 de Dezembro de 2013, 13:44
Bem, avisos dos erros já não te faltam.
Mas se vais usar mosfets controlados pelo micro tens de usar mosfets de nivel lógico, isto quer dizer que tens de escolher mosfets que fiquem totalmente ligados com apenas 5v na gate, 1k na gate provavelmente pode ser muito, porque limita a corrente máxima a 5mA e a gate é basicamente um condensador que tens de carregar para que o mosfet ligue ou desligue, quanto maior a corrente, mais rápida é a comutação e menos tempo passa o mosfet na região linear que é onde dissipa mais energia(resistencia elevada), diria antes uma resistencia ai de 330Ohms e não te estiques muito na frequencia de comutação do pwm, dado que estás a usar o IDE do arduino a frequencia do pwm é de 500Hz, bastante baixo, mas mesmo assim não custa nada usar uma resistencia maiorzinha.

Fritzing(peço desculpa a quem gosta e o conceito que isso representa..) é uma desgraça e ainda pior é se estás a desenhar uma placa sem esquema, isso corre sempre mal, então para um iniciante na matéria..

Se fosses da zona de Aveiro organizava-se ai um crash course de uma tarde em Eagle ficavas logo pro no assunto.

Outra coisa, as fitas de leds não são assim com os leds todos em série.
Tens conjuntos de leds e uma resistência a limitar a corrente, não altera o funcionamento do mosfet, mas é só para ficares a saber.
Título: Re: Controlo de fila LED RGB
Enviado por: samc em 12 de Dezembro de 2013, 15:47
Com uma resistência a partir de 100R na gate do MOSFET já podes estar mais descansado.

Para alguém que tem dificuldades em fazer uma PCB no fritzing, a minha opinião é que o Eagle é para esquecer se queres uma coisa rápida entretanto. A curva de aprendizagem do Eagle é alta e o software é pouco intuitivo e com uma interface arcaica. Para quem quer fazer uma PCB simples, não precisa de se estar a preocupar com inúmeras layers e "clearances".
Esta é a minha opinião (muitos daqui apenas querem "brincar", não precisam todos de ser "profissionais")

Quanto ao aspecto profissional da PCB, basta olhares para as PCBs que encontras por aí para perceberes como deves fazer as coisas mais "bonitinhas". Um conselho é ligares a grelha para seguires um certo alinhamento.
Título: Re: Controlo de fila LED RGB
Enviado por: jm_araujo em 12 de Dezembro de 2013, 16:01
Discordo totalmente.
Fazer uma PCB sem um esquema é mau. Fazer PCB sem DRC (Design Rules Check, o que chamas de "clearances" e afins) é ainda pior. Este projeto é uma boa demonstração disso.

Cada vez que vejo um projeto em fritzing vejo sempre uma só utilidade: documentar um circuito que fizemos em breadboard por forma a partilhá-lo com outros. Para o resto pode desenrascar, mas também já vi pcb's feitas em Paint....

Quanto a curvas de aprendizagem, não sejam preguiçosos. Aprendem uma vez, ficam a saber a vida inteira. A electrónica/mecânica/robótica não é simples, mas se não estiverem dispostos a superar os desafios que vos aparecem, não passam de ligar uns fios aos arduinos e comprar mais um shield quando o que tem não corre o código que sacaram da net...


Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 12 de Dezembro de 2013, 16:17
Concordo em discordar

Desde quando é que se pode fazer um circuito sem esquema, nem que seja à mão mas mesmo em ponto por ponto é essencial ou garantidamente não vai funcionar se passar a meia dúzia de componentes, depois não funciona e onde está o problema ?!

No próprio site da Eagle tem vídeos "3RD Party Videos" Tutorial Lesson 1º ao 11ª, basta seguir 1 vez e acompanhar para se aprender.
Se isto é complicado então electrónica é o quê, arduíno é que garanto não ser.

http://www.cadsoftusa.com/training/videos/?language=en (http://www.cadsoftusa.com/training/videos/?language=en)

Quem tem interesse em electrónica não se pode dar ao luxo da preguiça, procurar códigos na net sem ser para exemplos, e o mais essencial é saber usar o google, tenho visto muita dúvida parva que está mesmo ao lado a resposta usando as mesmas palavras, não pretendo desencorajar os curiosos por isto, mas tudo exige algum esforço para um bom resultado, ler as fichas técnicas não é prejudicial à saúde e se há interesse, é bom entender os princípios básicos da electrónica por assim dizer.

É compensador o resultado do "esforço"
Título: Re: Controlo de fila LED RGB
Enviado por: senso em 12 de Dezembro de 2013, 17:14
Presumo que quem diz que Eagle é arcaico não é do tempo de usar Windows 95, sim, a coisa do copiar e colar, e mover conjuntos é estranho, por outro lado é uma operação ao estilo reverse polish notation, primeiro selecionas, depois fazes a acção que queres fazer sobre essa seleção, de resto, é um CAD, não vai funcionar com 2 clicks no rato e sem fazer uso do teclado.

Não é por isto ser um hobby que não vais fazer as coisas em condições, para quê desenhar uma placa para depois não respeitar os minimos da fab-house que escolhes?
DRC existe para alguma coisa, assim como ERC, é facil para um iniciante se esquecer de ligar um pino de massa, o ERC avisa-te sobre isso.
Título: Re: Controlo de fila LED RGB
Enviado por: samc em 12 de Dezembro de 2013, 18:34
Eu sou do tempo do Windows 98 e cada vez que uso o Eagle sinto-me a recuar mais de uma década atrás. Qualquer pessoa que seja sensata ou que esteja ligada ao mundo do desenvolvimento de software e das GUIs intuitivas, tem de reconhecer que a CadSoft "parou no tempo". Podia deixar de ter medo de inovar nas novas versões como fez a AutoDesk com o AutoCAD e reafirmar-se mais como um dos líderes de mercado.

O Fritzing é uma ferramenta excelente na minha opinião e veio completar o falha que existia num software simples e grátis para a quantidade de pessoas que "brincam com Arduinos". Ele não pretende ser um software profissional como é óbvio, mas tem as ferramentas essenciais para um qualquer aficionado (até tem os DRC de uma forma simples). Para um software "free", é de elogiar a equipa que trabalha no projeto e que disponibiliza esta ferramenta de aprendizagem e consegue até fazer resultados mais que aceitáveis para quem quer imprimir a PCB numa impressora laser (http://fritzing.org/media/fritzing-repo/projects/a/audio-visualizer/images/Audio%20Visualizer%20Fritzing%20PCB.JPG (http://fritzing.org/media/fritzing-repo/projects/a/audio-visualizer/images/Audio%20Visualizer%20Fritzing%20PCB.JPG))

Não gosto muito disso dos memes, mas lembrei-me deste que pode fazer sentido nesta conversa...
http://www.quickmeme.com/meme/3tvdd4 (http://www.quickmeme.com/meme/3tvdd4) (lembra-me do que diziam do pessoal que fazia qualquer coisa em VB e levava logo comentários)

Como já disse, há muita gente que está interessada apenas em colocar um LED a piscar com um Arduino e não quer ter de saber decifrar uma datasheet de um LED em detalhe. Se houver o interesse em atrair pessoas para a eletrónica não faz sentido dificultar-lhes a vida e tirarmos-lhe muitas horas com matérias novas a estudar e muito jargão técnico ou matemática.
Quem estiver realmente interessado, além de aprender mais sobre estas matérias na escola, vai estudar por conta própria, e sim vai descobrir imediatamente que se quer deixar de "brincar" não pode utilizar o Fritzing.


Ah e como foi dito Kristey, fazer uma PCB sem esquema é muito arriscado. Desde os iniciantes aos "profissionais" começam sempre por o esquema antes da PCB.
Título: Re: Controlo de fila LED RGB
Enviado por: jmiguelff em 12 de Dezembro de 2013, 18:37
Eu acho piada a estes layouts sem respeitar as diagonais de 45º. Para placas muito simples até fica engraçado, claro que isto não se aplica a coisas mais complexas. Torna o "debug" do circuito bem mais complicado.

No entanto, o Fritzing realmente não é grande coisa e fazer o layout de uma placa sem o esquema elétrico nunca é bom, mesmo nunca.

Quanto à utilização do EAGLE acho que tem a ver com gostos. Eu passei do Orcad para o DesignSpark da RS e acho que é bastante intuitivo, mais que o Fritzing até. Além disso é completamente gratis sem qualquer limitação.

Seja como antes de enviares para "produção" mete aí o layout final para ver. 
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 13 de Dezembro de 2013, 00:51
Ai o que para aqui vai, pelo menos reconheço nesta comunidade a participação que me fez deixar o "mundo dos foruns" à uns tempos atrás. Um bem haja a todos os membros que com toda a experiencia que têm se dão ao trabalho de ver as minhas asneiras.

A ver se consigo responder a todos.
Não fazes 1º o esquema antes do layout ?!
Díodo de alimentação D1 devia estar no positivo
Condensador em série na entrada e saída regulador 7812 (é ligar do regulador ao gnd)
O mesmo se passa com o 7805 C4
Desacoplamento do micro inexistente (47uF e 100nF na alimentação do micro e gnd, o mais perto do micro possível)
Curto entre 21 e 22 do micro
Curto no mosfet G (2 e 3)
Ângulos só a 45º como referido pelo jm_araujo
Já tanto se falou no esquema eléctrico. Bem eu segui o esquema eléctrico que postei no inicio do post e executei-o na minha breadbord (multiplicado por 3 pois "são 3 filas a R, a G, e a B)
Tudo funcionou bem com aquele esquema, e usando o próprio arduino.
O problema foi quando eu tentei finalizar a coisa numa placa perfurada. em que mais uma vez repliquei o esquema lá em cima 3 vezes para casa cor, e inseri o "extra" para poder por o Atmega a funcionar na altura segui isto (http://arduino.cc/en/Tutorial/ArduinoToBreadboard (http://arduino.cc/en/Tutorial/ArduinoToBreadboard)).
O circuito que fiz na placa perfurada n~o deu os resultados esperados, e ent~o decidi fazer uma coisa mais decente, e usando aquele esquema, comecei a construir a PCB com 3 circuitos daqueles, mais o que seria necessário para o ATMEGA, bem como os dois reguladores de tensão.
Contudo depois de tanto me darem na cabeça (com razão), eu vou fazer o esquema completo do circuito.

Sobre o diodo a minha ideia de o por no GND a cortar, seria a pensar na questão de inserir um conector com centro negativo e borda positiva, sendo que assim não deixava que a corrente circula-se pela via onde deveria ser a massa.
Devo entao trocar certo?

Condensadores liguei daquela maneira pela pouca informação que tenho sobre eles.
Obrigado pelo esclarecimento e realmente tem a sua logica.
Contudo gostaria de saber se me poderiam explicar os valores dos condensadores?
Vou depois do post investigar as diferenças dos electroliticos para os de ceramica.

Não faço a minima ideia do que será a questão do desacopolamento. Eu alimentei perante o que vi neste tutorial: http://arduino.cc/en/Tutorial/ArduinoToBreadboard (http://arduino.cc/en/Tutorial/ArduinoToBreadboard)

Os "curtos" não existem, pelo menos com uma escala maior do desenho da PCB contudo provavelmente é melhor separar um pouco mais aquilo.

Obrigado dropes


Condensadores 1 electrolítico antes do regulador (100uF), 1 electrolítico à saída(22uF) com um 100nF cerâmico em paralelo. Junto à alimentação de cada IC (o mais perto possível) mais 100nF cerâmicos.
Mais uma vez pedia ajuda com os valores. Gostaria de saber como devo calcular essas capacidades dos condensadores.
Eu so não meti um condensador no Micro, porque não era pedido naquele tutorial, será isto o desacopolamento que fala o dropes?

A resistência de gate é em série entre o pino do AVR e a gate, 1kohm serve. As gates são capacitivas e ao mudar o estado crias um pico de corrente que o AVR pode não gostar. Com uma resistência limitas esse pico.
Segundo o que está naquele esquema lá em cima no primeiro post. Teria de meter uma resistência de 10k entre o sinal de PWM (AVR) que ia ligar ao Gate, e o GND.
O que tu me estas a dizer é que devo por a resistencia em serie tipo, AVR->Resistencis->Gate, e depois lugo o gate ao GND na mesma?

"programar e ficar no sítio"...  ;D famosas ultimas palavras antes de ter de tirar e voltar a por o chip até o socket ganhar folga ou partir um pino ;D

O díodo fica melhor no positivo, é hábito não se interromper o neutro excepto em casos muito específicos (medir corrente p/ex), para evitar ter múltiplos neutros que possam criar problemas em integração com outros circuitos.
A questão do diodo expliquei la em cima porque o inseri no GND pensei que tinha logica daquela maneira, vou entao muda-lo para o positivo.

"programar e ficar no sítio"...  ;D famosas ultimas palavras antes de ter de tirar e voltar a por o chip até o socket ganhar folga ou partir um pino ;D
Neste caso entao pedia-te ajuda, não estou a ver como vou fazer isto :/
A minha duvida é, os pinos que sao pedidas para isto são o 1, 17, 18, 19. O 17 está a ser usado como Pino de PWM, logo vai estar a "enviar", e a receber o mesmo tempo?(quando for na altura de o programar logicamente)

Mas se vais usar mosfets controlados pelo micro tens de usar mosfets de nivel lógico, isto quer dizer que tens de escolher mosfets que fiquem totalmente ligados com apenas 5v na gate, 1k na gate provavelmente pode ser muito, porque limita a corrente máxima a 5mA e a gate é basicamente um condensador que tens de carregar para que o mosfet ligue ou desligue, quanto maior a corrente, mais rápida é a comutação e menos tempo passa o mosfet na região linear que é onde dissipa mais energia(resistencia elevada), diria antes uma resistencia ai de 330Ohms
Esta resistencia de gate que voces estão a falar é a resistencia que aperece entre o sinal de PWM e o GND la no esquema em cima? É que dizes que 1k é muito, e a que está la é de 10k.
Relembro que aquele circuito nao foi feito por mim, apenas procurei um projecto parecido, testei na breadboard e funcionou.

e não te estiques muito na frequencia de comutação do pwm, dado que estás a usar o IDE do arduino a frequencia do pwm é de 500Hz, bastante baixo, mas mesmo assim não custa nada usar uma resistencia maiorzinha.
Agora dei um nó :S
Eu estou a recolher o valor dos potenciometros (0 a 1023), divido por 4 para dar os 255 de PWM, e é assim que trabalho. Não estou a perceber isso da resistencia e da frequencia visto que não mexo nela logo penso que estou a usar a "padrão(?)"

Se fosses da zona de Aveiro organizava-se ai um crash course de uma tarde em Eagle ficavas logo pro no assunto.
Tenho ai amigos, se um dia te disponibilidades ainda combinamos um cafe ;) ahaha

Obrigado senso

Quando os restantes comentarios penso que as respostas estão ja em cima, e quanto ao software, ja instalei o Eagle e ja andei a dar uma vista de olhos ;)
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 13 de Dezembro de 2013, 15:32
Bem, deixem-me concordar, o eagle tem um engine e uma intuitividade um bocado esquisita.
Mas pronto ao fim de alguns tempos aqui de volta disto ca está o esquema.

Pontos a salientar:
-valor e localização dos condensadores: penso foi o que voces me aconselharam.
-voces falam numa resistencia no gate fui investigar e ha muitos projectos que têm resistencia em serie entre o gate e o PWM. No caso do circuito que estou a seguir tem uma a ligar o PWM e o GND(é a forma que está no esquema que fiz agora), qual a forma correcta?
-faltam as ligações e os pinos para programar o ATmega no local, e pedia ajuda quanto a isso.
-falta o tal desacopolamento do microprocessador, que eu ainda nao consegui perceber o que é. Pela informação que tenho usam-se 1 condensador electrolitico e outro ceramico. mas nao sei onde os vou ligar.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.com%2Fscaled%2Fmedium%2F5%2F94lp.png&hash=f20091d7f739640947468cf8c696e9bf38f5da89)
Título: Re: Controlo de fila LED RGB
Enviado por: samc em 13 de Dezembro de 2013, 18:50
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.stack.imgur.com%2FplGJx.png&hash=a0265182562f304880725726cd7434d78093ca3c)

Atenção: Repara como se ligam as resistências à gate. Na imagem tem uma resistência de pull down (R3), que em alguns casos é imprescindível.
Título: Re: Controlo de fila LED RGB
Enviado por: LuísR.A. em 13 de Dezembro de 2013, 19:38
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.stack.imgur.com%2FplGJx.png&hash=a0265182562f304880725726cd7434d78093ca3c)

Atenção: Repara como se ligam as resistências à gate. Na imagem tem uma resistência de pull down (R3), que em alguns casos é imprescindível.

Neste caso não sei quão necessário é porque não sei se o o PWM do arduino faz sink da corrente por isso provavelmente é um boa ideia ter essa resistência.

Talvez o senso saiba melhor se o PWM do atmega faz tanto source como sink
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 13 de Dezembro de 2013, 21:23
Todas as portas do micro têm 3 estados, neste caso está configurado para saída e a resistência pode ser omitida.
No entanto esta resistência seria útil caso os mofets estivessem numa placa à parte sem ligação, pois são de alta impedância de gate e haveriam variações dela, podendo mesmo queimar em certos casos.

Como os mosfets aqui estão incluídos na placa do micro, as resistências podes ser omitidas mas se fosse eu a fazer o esquema não as retirava, pois não fazem mal nenhum.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 13 de Dezembro de 2013, 22:48
Eu fico parvo com o que "não sei" :/
E ou me estou a confundir ou nao estou a entender o que me estão a dizer, nomeadamente com as resistências.

Vamos por partes. Eu experimentei este esquema:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fapi.ning.com%2Ffiles%2FVoVWsuikhR5K7xJO-JNLYEm7POmqa51r4%2AwwbQKRXUOW3vycB5d%2AJaawBX%2A-1Lp8PJe1dxoXPN4HX8hMJshSgsKegQg0ABod%2Fmosfet_Fita_de_LED.png&hash=b2f8ff0dc830e2160517a6a4700a62d8605da408)

Com os 5V do arduino e 12V de um transformador.
Exactamente como está funcionou com o arduino.

A partir daqui decidi migrar para uma board e isso implicava:
-Uma resistencia de 10k entre o RESET e os 5V (VCC)
-Incersão de um cristal externo com os dois condensadores ceramicos.
-Regulador de tensão de 5V para alimentação do ATMega, e dos potenciometros.

E foi assim que fiz a "primeira placa".
Agora no esquema tem a mais segundo vossa sugestão:
- Condensadores na entrada e saída dos reguladores de tenção de 100uF. Para absorver os picos.
- Diodo na entrada positiva.

O que ainda está a faltar:
- Pinos de programação (não sei)
- Desencapsulamento do ATMEGA (não sei)
- Resistencias no gate. Sobre estas, ja percebi entao que tenho de inserir uma resistencia em serie, de 330Ohm. A minha pergunta é tiro a resistencia que está ligada do gate ao GND?
- Apareceu agora uma resistencia de Pull Down que não percebi se entao é necessaria ou nao (27Kohm). O objectivo desta resistencia é forçar o 0V (GND) quando o PWM está "down"?
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 14 de Dezembro de 2013, 02:52
- Condensadores na entrada e saída dos reguladores de tenção de 100uF. Para absorver os picos.
- Diodo na entrada positiva.
Os 100uF são para estabilizar o regulador e não para absorver picos, podes experimentar omitir os condensadores e ligar uma resistência baixa à saída do regulador para ver a tensão que vais ter, depois coloca os condensadores e faz nova medição.
O díodo é para protecção de inversão de polaridade, é barato e funciona.
Citar
O que ainda está a faltar:
- Pinos de programação (não sei)
Seria para programar o micro no circuito, mas para isso terias de ter um programador ISP... é um pouco complicado porque não envolve arduino, mas programação em C, fusebits entre outras coisas que não considero importante para o evento.
Citar
- Desencapsulamento do ATMEGA (não sei)
É desacoplamento da alimentação, o micro vai buscar a alimentação ao regulador, qualquer interferência que apanhe pelo caminho pode ser prejudicial para o seu funcionamento, por isso é normal colocar-se um condensador, nem que seja de 100nF perto de ICs para que a alimentação esteja disponível mais perto, no condensador.
Citar
- Resistencias no gate. Sobre estas, ja percebi entao que tenho de inserir uma resistencia em serie, de 330Ohm. A minha pergunta é tiro a resistencia que está ligada do gate ao GND?
100Ohms, da gate ao gnd podes retirar
Citar
- Apareceu agora uma resistencia de Pull Down que não percebi se entao é necessaria ou nao (27Kohm). O objectivo desta resistencia é forçar o 0V (GND) quando o PWM está "down"?
Já tinha referido isso, podes retirar mas não ligues a alimentação sem ter o micro colocado.

Quando referi que haviam curtos é sem fazer zoom, porque quando vais fazer a placa não tens essa função e por vezes eles existem, mantém o distanciamento sempre que puderes.

Há outros pormenores que com o tempo começas a apanhar, tenho umas luzes de electrónica mas aprendi muito neste fórum e com o Senso, só tenho a agradecer ao pessoal daqui.  :)
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 20 de Dezembro de 2013, 22:04
Feito.
-Tenho então dois condensadores de 100nF, antes da alimentação do micro.
-Resistência entre o PWM e o Gate de 330?.
-Resistência no de PULL DOWN no Gate de 27k?.

Penso que está tudo.
Podem verificar no esquema.
E desde ja obrigado pela ajuda :D a ver se é desta que faço a PCB.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.com%2Fscaled%2Fmedium%2F96%2Fbcsj.png&hash=2dc88a5099676eec790cdd3133fa13c8bf8cf56f)
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 20 de Dezembro de 2013, 23:56
A imagem está pequena para se ver mas à partida está tudo bem :)
Basta um 100nF.

- O nº de leds em série estão correctos para 12V?
- A resistência que vai limitar a corrente deles não existe?
- O regulador 7812 não vai precisar de dissipador?
- Sabes fazer pcbs ou precisas de umas dicas?
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 21 de Dezembro de 2013, 00:19
dropes obrigado pela tua incansável ajuda...

Ja agora fica uma pergunta que me esqueci, a resistência de 27k tem de ser "tão grande" porque?
Sobre o condensador de 100nF tas a referir-te à alimentação do micro certo? Vou entao por so um.
Sobre a resistências, acho que as que estão na fita já tratam disso.
A fita de leds é esta:
Código: [Seleccione]
Led Strip
Color: RGB
LED Type: 5050 PLCC-6 SMT SMD LED (Non-Waterproof)
LED Quantity: 300 leds/5 Meter or 60 leds/Meter
Size: L500cm (5M) /L300cm (3M)/L200cm (2M)/L100cm (1M)x W1.4cm x T0.3cm
Package: 1 X 5 Meters / Reel
View angle:120°
Working Input Voltage: 12VDC
Working Current/meter: 1.2A
Working Tempreture:-20° to 50°
Drive Mode:Contant Voltage

O objectivo é ter os mosfets e os reguladores todos alinhados para depois apertar la um dissipador geral ;)


Agora ainda bem que perguntaste... estive a "tentar" fazer uma pcb no eagle... e QUE CONFUSÃO, o Fritzing pode nao ser tao profissional, mas se souberes o que queres à partida é muito mais intuitivo.
Logo agradeço de bom grado umas dicas.
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 21 de Dezembro de 2013, 01:33
Se acompanhares os vídeos não é confuso, sempre ficas com melhores resultados que o Fritzing e depois podes fazer outros circuitos mais à vontade e sem surpresas depois de correr o DRC.
Não aconselho usar o auto-route, até pode sair alguma coisa mas nada bonito de se diagnosticar.

As resistências de 27k são pull-down, como os mosfets são de alta impedância como já tinha referido, até 100k faziam o serviço.

Atenção que o regulador suporta no máximo 1A, mesmo assim tem de se fazer a conta para ver se não está a dissipar muito caso a tensão de entrada seja excessivamente mais alta que a de saída.
O LM317 suporta 1.5A, e não se pode ligar em paralelo 2 reguladores 7812, restando a solução de substituir por outro regulador de maior potência ou colocando um transístor drive no 7812.
Procura por "7812  transistor" no google

ps: os mosfets assim como os reguladores devem ser isolados ao levarem um dissipador comum
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 21 de Dezembro de 2013, 12:24
NOTA: podes abrir a imagem grande do esquema clicando com o rato botão direito e abrir a imagem sozinha num separador à parte

Pois os meus regulador de:
12V - http://www.ti.com/product/ua7812 (http://www.ti.com/product/ua7812)
5V - https://www.sparkfun.com/datasheets/Components/LM7805.pdf (https://www.sparkfun.com/datasheets/Components/LM7805.pdf)

São ambos de 1.5A. E já andei a procurar na National Instrumets e nao vi nada que me interesse, (o mais interessante era 5V, 3A, mesmo assim só posso usar 2 metros da fita.

Fui procurar portanto pelo que me disseste "7812  transistor" e encontrei isto:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2F3.bp.blogspot.com%2F-YBzkp21cdXk%2FUOHYxjCXEPI%2FAAAAAAAAACU%2F9oqJpiXW-fk%2Fs1600%2F7812-voltage-regulator.jpg&hash=e93b44b5bc799107fe1cd9dd879aa7fe2deb2008)
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 21 de Dezembro de 2013, 12:41
NOTA: podes abrir a imagem grande do esquema clicando com o rato botão direito e abrir a imagem sozinha num separador à parte
Não me parece  ;)

O mj2955 é TO3, creio que para maior corrente não existe em to220.
Talvez o LM338 de 5A dê... se for ver o que dissipa potência só temos mesmo este regulador já que o 7805 assim como os mosfets não vão aquecer.
Por isso se a fonte disponibilizar os 12V ou perto disso, já não precisavas de nenhum regulador para essa tensão ou mesmo dissipadores.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 21 de Dezembro de 2013, 13:06
O meu problema é mesmo a fonte, não encontro nenhuma linear por 12V (chineses --')

Acabei por meter o transistor e as resistência meti uma de 1ohm e outra de 10ohm porque vi assim num esquema.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.com%2Fa%2Fimg196%2F3662%2F4n6c.png&hash=4da98c2a76c740d94c9e1a834a6a149afbc99a8b)
Fica aqui o link da imagem grande: http://imageshack.com/a/img196/3662/4n6c.png (http://imageshack.com/a/img196/3662/4n6c.png)
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 21 de Dezembro de 2013, 22:51
Muito bom
Encontras fontes nos chineses para portáteis, 19V 4.7A acho eu, mas o mais provável é arder  :-\
Uma ATX tem a saída certa de 12V agora não sei se suporta uma corrente tão grande ao deixar os 5V em aberto.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 21 de Dezembro de 2013, 23:33
Bem como esquema feito será melhor testar numa breadboard antes de mandar fazer a placa certo?
Tenho de fazer uma lista dos componentes.
Ja agora alguem me falou que os mosfets teriam de ser de abertura maxima com o Gate a 5V, onde é que eu posso ver isso no datasheet? http://www.ti.com/lit/ds/symlink/csd19533kcs.pdf (http://www.ti.com/lit/ds/symlink/csd19533kcs.pdf) Tenho estes em casa... nunca vi tanto parametro num componente como neste datasheet.

Sobre a fonte... eu meti la o regulador mesmo para poder utilizar uma fonte qualquer depois... como isto é para ser um candeeiro não quero um transformador que faça barulho (ATX)
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 22 de Dezembro de 2013, 13:13
Gate-to-Source Threshold Voltage: 2.2 a 3.4V
Gate-to-Source Leakage Current: 100nA

Tens o limite de +-20V de gate, por isso servem perfeitamente.

Não precisas de testar em breadboard, tem tudo para funcionar bem.  :)
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 22 de Dezembro de 2013, 13:32
Hummmm agora que vi isto, acho que vou ter de modificar o codigo.
Isto porque o PWM da:
0----255 ---- X
0V---5V ----- 2.7V (media do threshould que vi no datashet)

Ou seja com uma regra de 3 simples:
Sendo a media do threshould: 2.7V
PWMmax = (2.7V x 255) / 255 =137,5

Ou seja depois de 137.5 de PWM ja a fita está no maximo, certo?
Título: Re: Controlo de fila LED RGB
Enviado por: senso em 22 de Dezembro de 2013, 19:24
Não.
O treshold é a voltagem a que o mosfet liga.
PWM não é um sinal digital, é uma onda quadrada com duty cycle variavel.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 22 de Dezembro de 2013, 20:27
Certo, sendo que o duty cycle quando varia varia a potencia media do sinal que está a ser emitido certo?

Pensei em potencia em termos de P=VxI^2 pensei que o que variava era o V, mas agora que me lembro quando estive a estudar isto vi no osciloscopio a tensão constante. E sendo assim tens razão.

Entao nao tenho problema com estes mosfets? É que agora estou confuso entre os 5V a que o arduino trabalha e os 2.7V do threshold com o PWM pelo meio :/
Título: Re: Controlo de fila LED RGB
Enviado por: tarquinio em 22 de Dezembro de 2013, 22:50
Quando usas PWM o output é uma onda quadrada, como disse o Senso, que vai estar semrpre a variar entre 0 e 5V. O que significa que qdo está a 0 é menor que  2.7, logo ele desliga, e qdo está a 5V é maior que 2.7, logo vai ligar. A variação da potencia depois vai depender da relação entre o tempo que está ligado e desligado. Se estiver em loop 1uS a gastar 10W e 1uS a não gastar nada, vai dar mais ou menos o mesmo que estar a gastar 5W o tempo todo.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 12 de Janeiro de 2014, 23:33
Eu ando em exames da faculdade e os meus projectos andam um pouco parados.
Mas ja agora tive uma duvida no outro dia a pensar nisto.
Como raio posso eu depois definir a intencidade luminosa?

Cada Pot vai dar uma valor a cada cor por PWM, contudo eu quero aquela cor mas menos intensa.
Ainda nao tinha pensado nisso e pode ser um problema adicional!
Título: Re: Controlo de fila LED RGB
Enviado por: LuísR.A. em 12 de Janeiro de 2014, 23:52
Eu ando em exames da faculdade e os meus projectos andam um pouco parados.
Mas ja agora tive uma duvida no outro dia a pensar nisto.
Como raio posso eu depois definir a intencidade luminosa?

Cada Pot vai dar uma valor a cada cor por PWM, contudo eu quero aquela cor mas menos intensa.
Ainda nao tinha pensado nisso e pode ser um problema adicional!

Para teres uma cor tens de manter a relação entre as 3 cores.

Basta teres 1 botão, pot, watever, que limita o duty maximo do PWM. A intensidade das cores se for em percentagem dá para adaptar ao novo máximo de PWM (100 em 255 passa a ser 58 em 150 por exemplo)
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 12 de Janeiro de 2014, 23:56
Tambem ja pensei nisso, mas o PWM sao valores interiros certo?

Entao imagina que tenho uma cor que tem os seguintes valores:
R-150
G-60
B-2

Como vais fazer essa diminuição percentual com um valor de Blue tao baixo? No maximo diminuis 50% e o valor de Blue fica a 1 (numeros inteiros de PWM)
Título: Re: Controlo de fila LED RGB
Enviado por: tarquinio em 13 de Janeiro de 2014, 00:47
Nunca vais conseguir ter assim tanto controle, e a relação entre as cores tambem não é assim tão linear, tens de ajustar um bocado os números aos leds que estás a usar. No caso das contas a solução mais simples é mesmo arredondar para o inteiro mais próximo. Mas mesmo que pudesses usar valores reais, a coisa não é tão linear como num pc. Nota-se muit omais diferença nos valores mais baixos (variares um valor entre 0 e 20 vais notar uma diferença enorme, variar entre 235 e 255 mal se nota. Se queres mesmo ter cores com "alta precisão" tens de brincar um bocado com os valores.
Título: Re: Controlo de fila LED RGB
Enviado por: LuísR.A. em 13 de Janeiro de 2014, 01:02
Nunca vais conseguir ter assim tanto controle, e a relação entre as cores tambem não é assim tão linear, tens de ajustar um bocado os números aos leds que estás a usar. No caso das contas a solução mais simples é mesmo arredondar para o inteiro mais próximo. Mas mesmo que pudesses usar valores reais, a coisa não é tão linear como num pc. Nota-se muit omais diferença nos valores mais baixos (variares um valor entre 0 e 20 vais notar uma diferença enorme, variar entre 235 e 255 mal se nota. Se queres mesmo ter cores com "alta precisão" tens de brincar um bocado com os valores.

Pois a não ser que tenhas um controlo real da corrente é complicado e nem vale a pena. Arranja valores empiricos e mete isso
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 13 de Fevereiro de 2014, 04:46
Finalmente ja evolui mais um pouco no projecto.
Ca vai:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg716.imageshack.us%2Fimg716%2F9729%2Fj7vp.th.png&hash=d21f418137c24fb5b9a97a9d013057951826c0cf) (http://img716.imageshack.us/img716/9729/j7vp.png)
Tenho ainda 3 problemas para resolver, mas por voltas que dê nao sei como vou fazer solucionar essas ligações.

Com os nomes dos componentes isto ficou foi confuso de mais.
Título: Re: Controlo de fila LED RGB
Enviado por: senso em 13 de Fevereiro de 2014, 04:57
Podes desactivar a layer tDocu para desaparecer o texto, quanto a placas de face simples, não te posso ajudar, odeio tal coisa..
Mas pelo menos a pista que vai á resistencia R11 pode passar entre as patas do TIP.
De notar que tens ai montes de espaço vazio, e as pistas têm todas a mesma dimensão, se vais meter corrente não vais querer usar assim pistas finas..
Título: Re: Controlo de fila LED RGB
Enviado por: dio123 em 13 de Fevereiro de 2014, 10:24
Eu normalmente custumo fazer as pcbs com ground plane, porque facilita imenso, são menos pistas, e é mais facil no fabrico de pcbs em casa.

Depois  sigo +/- a mesma ordem que quando monto o circuito no shematic.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 13 de Fevereiro de 2014, 13:20
dio123, ainda agora me falaram disso, eu vi um video na net que ensinava assim, como se faz essa tecnica do ground plane?

senso, de dupla face para fazer em casa é dificil. E de dupla face nem é preciso andar com muitos truques, o autoroute funciona bastante bem com duplaface (acho eu lol)
Qual o tamanho de pistas que aconselhas? Existe alguma tabela (relação corrente dimensão das pistas)?

Ja agora o Atmega ta bem espelhado?
Título: Re: Controlo de fila LED RGB
Enviado por: dio123 em 13 de Fevereiro de 2014, 14:21
O groundplane é facil.
Colocas os componentes, e desenhas todas as pistas execpto as pistas do ground. 
Na barra de ferramentas clicas em polygon e desenhas um poligno a  volta do circuito.

No quadrado branco em frente as medidas escreves "name" e clicas no tracejado que esta a volta do circuito. Vai abrir uma janela e metes assim:
NEW name: GND ( em letras grandes)
Seleciona The entire Signal e clica ok

Agora é só clicar em rastnetse já esta.

Quanto ao auto router simplesmente nao vale apena. Ocupa mais espaço que o necessário, e nunca fica nada de jeito.
O melhor é perderes 2 ou 3 horitas  e fica uma coisa como deve de ser.
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 13 de Fevereiro de 2014, 17:59
Se o Atmega está espelhado significa que está do lado "bottom" (baixo), não creio que seja essa a intenção.

As pistas deviam ser mais largas porque há espaço para isso, diria 0.5mm no geral e 1mm ou mais nas de potência.

As pads das resistências estão minúsculas, vais ter dificuldades em furar ou soldar nelas.

Auto-router não é bom, pode até ajudar nalgum caso que não se veja o caminho, mas de resto é para evitar.

Com ou sem ground-plane, o negativo deve ser desenhado para se ter a certeza que chega aonde se quer.

Muito espaço desperdiçado no layout, tenta acomodar melhor os componentes.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 17 de Fevereiro de 2014, 05:20
Bem o jm_araujo ajudou-me e fez o desenho da pcb por sua iniciativa.
Agora percebo um pouco melhor a mecanica disto.
A unica coisa que me faz confusão é isso do microprocessador. A orientação dele é invertida  porque fica na parte de cima da placa, e nós estamos a desenhar a parte de baixo certo?

Mais uma vez obrigado jm_araujo:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg401.imageshack.us%2Fimg401%2F7853%2Fkb40.th.png&hash=e485ee5e1179c27aaccccd6bced1aeee45fcc5f5) (http://img401.imageshack.us/img401/7853/kb40.png)
Título: Re: Controlo de fila LED RGB
Enviado por: tarquinio em 17 de Fevereiro de 2014, 13:02
Sim quando fazes placas só de um lado, geralmente tens o cobre em baixo e os componentes em cima. No caso do micro tens aquele cortezinho redondo na parte de cima que te indica que aquele é o pino 1.
Título: Re: Controlo de fila LED RGB
Enviado por: dropes em 17 de Fevereiro de 2014, 15:43
A unica coisa que me faz confusão é isso do microprocessador. A orientação dele é invertida  porque fica na parte de cima da placa, e nós estamos a desenhar a parte de baixo certo?

Quando desenhas o layout, o que estás a ver é por cima e a placa é como se fosse transparente.
Vermelho=Top, Azul=Bottom

A única coisa que tem de ficar invertida é no caso de escreveres alguma coisa no cobre.

ps: atenção ao texto, muito fino e pode desaparecer na corrosão.
Título: Re: Controlo de fila LED RGB
Enviado por: Kristey em 17 de Fevereiro de 2014, 21:22
ta certo, vou experimentar o circuito entao na breadboard e depois vou mandar fazer a pcb