Lei de Murphy ou Coisa do Alééémmm?

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Lei de Murphy ou Coisa do Alééémmm?

Mensagempor MOR_AL » 19 Ago 2012 19:29

Parece que as leis de Murphy foram feitas para a eletrônica. Talvez seja por eu estar acostumado com a eletrônica que outro campo do conhecimento. Não sei.
Vejam o que me aconteceu e quem sabe alguém consiga explicar.
Estou a uns 4 dias dando “murro em ponta de faca”.
Para fazer um gerador DDS com o AD9850, tenho que incluir um frequencímetro para conhecer a frequência gerada. Não quero simplesmente obter a frequência pela inclusão do código. Quero medi-la também. Então comecei pelo frequencímetro.
Como é necessária uma janela precisa, durante a qual os pulsos são contados e tenho limitação de memória de programa, então fiz em assembler.
Como o gerador tem modulação, então usei byte (e não bit) para programar a frequência mais rapidamente. Com isso posso ter maior taxa de modulação. Mas isso exigiu um PIC com mais pinos. Tive que usar um de 28 pinos (PIC16F873A).
Até aí tudo bem.
Usei um novo mostrador LCD 2x16 azul. Estava barato e comprei alguns. Ele vem sem a parte de controle de iluminação dos caracteres e do fundo.
Como estava acostumado com aqueles que possuem o controle em outra plaquinha acoplada, nem me preocupei. Ao ligá-lo junto com o PIC nada aparecia.
Seria o firmware, ou o LCD? Seria a nova frequência do oscilador de 20MHz em uma Protoboard? Já fiz isso antes e funcionou, então não poderia ser a montagem. Mas a Protoboard que eu usei antes era de outra marca e tem uma chapa de alumínio ligada ao terra.
Comecei a desconfiar do LCD. Após muitos testes descobri que tem uma pequena faixa de tensão que os caracteres acendem legal, desde que o back light esteja com alguma luz. O ideal foi colocar um resistor de 2k2 em série com o LED do LCD para o back light e um divisor resistivo 5V – 3k9 – V0 – 470 – terra, para o V0.
Com isso o LCD mostrava os caracteres com ótima iluminação e contraste.
Liguei no PIC e ... NADA! Mas agora eu tinha excluído o LCD do problema.
Passei a desconfiar do firmware. Tirei coisas daqui, dali até que deixei apenas as duas funções do LCD que eu tinha criado. A que configura o LCD e a que escreve algo.
Mesmo assim nada aparecia no LCD. Mas como? Essas rotinas já vinham sendo usadas em diversos projetos e nunca haviam dado problema. Então porque não aparecia nada no display? Chabú total!
Me lembrei que estava usando um oscilador de 20MHz. Talvez fosse isso na Protoboard. Baixei o oscilador para 4MHz, que já funcionou antes. NADA!!!
Mudei a configuração de HS para XT. NADA!
Será que o PIC16F873A tem algo que eu desconheço e que pode causar esse problema?
Substituí os pinos do PIC que iam ao LCD. Agora as conexões ficaram bem pequenas e diretas. Isso também mudava os pinos. Se alguma função dos pinos anteriores não fora cancelada, agora esse problema poderia se mostrar.... NADA!
Troquei o PIC16F873A na Protoboard pelo PIC16F628 de uma PCI. NADA!!! Bom. Agora era a Protoboard nova.
Fiz uma PCI exclusivamente para o teste do LCD com o PIC16F873A.
Ora aparecia a bendita palavra “Freqüência” ora não. Mas como isso é possível?
Me lembrei que estava trabalhando com um cristal de 20MHz e que tinha colocado um capacitor trimmer em paralelo com um dos capacitores que ficam conectados ao cristal. Esse trimmer tem a finalidade de ajustar a frequência de oscilação do oscilador em uma pequeníssima faixa. Necessário para o projeto. Alterei o parafuso do trimmer até que na maior parte das vezes que eu ligava, aparecia a palavra “Freqüência”.
Aí comecei a recolocar as outras funções no firmware.
Tem uma chave de um pólo e duas posições. Uma posição vai ao terra e a outra ao +5V. O pólo vai ao pino do PIC através de um resistor de 2k2. O diagrama esquemático se encontra a seguir: Ops! A outra posição está indo ao terra mesmo e não como está mostrado.

Imagem

Pensam que terminou??? Nãããooo!!!

1 – Dependendo da posição da chave (Vcc ou terra) a palavra frequência aparece ou não.
2 – Ao mudar a posição da chave de modo aleatório, a CORRENTE NO PIC vai para uns 800mA. O quê que essa chave faz para alterar a corrente no PIC, se há um resistor de 2k2 dela para o pino?
3 – Estou usando o ICPROG e um programador comercial para programar o PIC.
Muitas vezes a verificação falhava.
Pequei o osciloscópio. Verifiquei se havia tensão entre os conectores do osciloscópio e do programador. Ok!!
Verifiquei que a transição do clock, que lê ou transfere os dados, estava ocorrendo no meio do dado estável. Estranho!!! Devia funcionar direito.
Aí me emput&$$!, err... fiquei chateado, e coloquei o PIC na placa mesmo tendo acusado que a verificação falhara no endereço blábláblá!!! A palavra Freqüência aparecia. Mas será que era referente à penúltima gravação, com verificação ok, ou era referente à última que dera problema de verificação? Alterei a palavra para “Frequenci”, sem o “a” final. Gravei e deu falha na verificação. Isso começou a ocorrer depois da corrente excessiva no PIC. Coloquei o PIC assim mesmo na PCI e apareceu a palavra “Frequenci”. Que doideira! Funcionou.
4 – Ta pensando que acabou? Nãããooo!
Durante essa peripécia o meu PC, de uma geração anterior que mantenho na bancada para fazer os trabalhos com circuitos, pifou.
Primeiro foi o HD e logo em seguida a fonte. Estranho!!!
a) Testei o cabo de alimentação com uma lâmpada de 60W. Não havia mal contato.
b) Testei a fonte. Conectei um fio (verde?) ao terra e um led com um resistor ao +5V. Não funcionou. CONDENEI A FONTE.
c) Pequei o HD e coloquei no meu PC de última geração: FALHA NO HD. CONDENEI O HD.
d) Comprei uma fonte nova por R$28,00. Se fosse comprar apenas uma ventoinha da fonte já custaria algo parecido. Não vale mais a pena consertar enquanto os chineses que montam os circuitos se contentam somente com arroz.
e) Comprei um HD de mesma capacidade por R$170,00. Por R$198,00 vou salvar o PC da bancada.
f) Coloquei o PC na bancada e coloquei a fonte solta e liguei. Funcionou. A ventoinha partiu! Repeti o teste umas 5 vezes, em todas às vezes a fonte funcionou. Fixei a fonte e coloquei o gabinete em seu lugar definitivo. Chabú total. A fonte não ligou. Fiquei tão put.. err chateado, que dei um murro no console do PC (já ia jogar fora mesmo, então pelo menos descarregava minha raiva no maldito). Machuquei a mão, mas internamente eu estava vingado. Amassei o gabinete do PC. Esqueci que tinha deixado ligado e ao retirar de seu lugar eis que a fonte LIGA! UÉ???!!! Que quê aconteceu??
Repeti o movimento (não a porrada) e a fonte ligava e desligava. Só podia ser uma coisa. Peguei o cabo de força e fiz força até arrancar o conector que ia ao PC. Troquei de cabo e o PC voltou a ligar todas as vezes que eu testava. O cabo estava ruim. Aquele mesmo que eu testara antes e com uma lâmpada como carga. É sabido que um multímetro não é confiável nesses casos.
Porr@, err puxa, então a fonte que eu testara e não funcionara, era por causa do cabo e não da fonte. O chato foi que eu cortei aqueles n fios que vão a um conectorzão para levar apenas o conector, quando fui comprar outra fonte. Sem problemas, refiz todas as conexões. Testei a fonte já com o cabo novo e ... funcionou!!! Hehehe!
Pensam que acabou??? Nããããooo!
Coloquei o HD velho, que estava condenado, tanto no PC velho como no novo, lembra?
O HD funcionou!!! ... E agora, vai explicar toda essa história.
Com 45 anos que mexo com eletrônica, posso afirmar que ela está mais para “negócio do demo” :twisted: :twisted: , que explicada pelas simples leis de Murphy!!! :D
Agora só me basta descobrir porquê dessa corrente toda no PIC, quando mexo na chave 1 pólo e 2 posições. :?:
Abraço.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor enigmabox » 19 Ago 2012 20:45

Calma MOR_AL, CALMA!!!! hehehhe
Não entendo nada de PIC, mas vai umas dicas:
1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD.
2) Aterre os pinos D0,D1,D2,D3, vejo que estao abertos. Sei que é modo 4 bits de comunicação, mas por segurança aterre.
3) Nao entendi porque vc comuta a chave entre +5V e um lado do cristal CLKOUT, nao deveria ser o terra? Nao será esse o problema, tu esta jogando RF em pino RA3/AN3, nao é por isso que o PIC tá louco?

Obs: Fonte chingling de PC tem vida util, dura até os capacitores esgotarem.....
:D
enigmabox
 

Mensagempor jorgeluiz » 19 Ago 2012 23:02

tbem não entendi porque usar trimmer em paralelo, pra calibrar o oscilador.
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor pbernardi » 19 Ago 2012 23:20

enigmabox escreveu:Calma MOR_AL, CALMA!!!! hehehhe
Não entendo nada de PIC, mas vai umas dicas:
1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD.
2) Aterre os pinos D0,D1,D2,D3, vejo que estao abertos. Sei que é modo 4 bits de comunicação, mas por segurança aterre.
3) Nao entendi porque vc comuta a chave entre +5V e um lado do cristal CLKOUT, nao deveria ser o terra? Nao será esse o problema, tu esta jogando RF em pino RA3/AN3, nao é por isso que o PIC tá louco?

Obs: Fonte chingling de PC tem vida util, dura até os capacitores esgotarem.....
:D


Melhor que aterrar é colocar um pull down. Se, por algum motivo, você jogar esses pinos para nivel alto, você pode quimar o PIC!

E acho bem desaconselhável ligar alguma coisa no seu próprio cristal. Ligando o RA3 no cristal você cria um caminho para o ruído da sua alimentação chegar ao seu cristal, atrapalhando, portanto, o funcionamento do PIC. Ainda mais contando que você não tem capacitores de descoplamento, plano de terra, etc. O aumento de consumo pode ser por causa disso: se hover algum ruído na casa dos dezenas ou centenas de MHz, você pode estar fazendo algum tipo de "overclock" involuntário no PIC, levando a um aumento de consumo. E o seu osciloscópio não vai pegar isso provavelmente, pois ele ter ter uma banda pequena e sua ponteira deve ser de alguns pF de capacitância.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Mensagempor MOR_AL » 19 Ago 2012 23:25

enigmabox escreveu:Calma MOR_AL, CALMA!!!! hehehhe.
Agora estou calmo. Hehe! Minha mão já parou de doer.
Não entendo nada de PIC, mas vai umas dicas:
1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD. Já tem.
2) Aterre os pinos D0,D1,D2,D3, vejo que estao abertos. Sei que é modo 4 bits de comunicação, mas por segurança aterre. Já fiz isso e não fez diferença, então deixei abertos. Atrapalhavam os filetes da PCI. O LCD está conectado diretamente na PCI. No projeto final vou conectá-los ao terra.
3) Nao entendi porque vc comuta a chave entre +5V e um lado do cristal CLKOUT, nao deveria ser o terra? Está no terra. Vide minha observação (Ops!) na linha anterior ao diagrama esquemático. Nao será esse o problema, tu esta jogando RF em pino RA3/AN3, nao é por isso que o PIC tá louco? Infelizmente não é o problema. Já respondido anteriormente.

Obs: Fonte chingling de PC tem vida util, dura até os capacitores esgotarem..... É verdade. No meu caso foi o fio de alimentação que ficou prensado na parede por muito tempo.
Valeu!
MOR_AL

:D
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor MOR_AL » 19 Ago 2012 23:40

jorgeluiz escreveu:tbem não entendi porque usar trimmer em paralelo, pra calibrar o oscilador.

A medida da frequência do oscilador depende da precisão da frequência do cristal do PIC, pois ele gera a base de tempos. Para ter precisão na contagem dos pulsos gerados pelo frequencímetro, é necessário criar um período de tempo, durante o qual os pulsos do frequencímetro são contados. A precisão da contagem, então, depende da precisão da frequência do cristal do PIC.
O cristal possui uma estabilidade de frequência boa. Seu circuito equivalente mais simples possui um zero e um polo bem próximos no eixo das frequências. O Q deles é alto, o que faz com que a frequência de oscilação fique localizada entre o zero e o polo.
O valor absoluto dessa oscilação pode ser ajustado, dentro dessa pequeníssima faixa, por meio de um capacitor variável. O trimmer. Como o trimmer possui maior variação de seu valor com a temperatura, em relação ao capacitor fixo, então coloca-se um capacitor fixo de um pouco menor valor que o necessário em // com o trimmer de menor valor. Com isso o desvio de frequência com a temperatura é menor que se tivesse apenas o trimmer com o valor necessário de capacitância.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor MOR_AL » 20 Ago 2012 00:11

pbernardi escreveu:
enigmabox escreveu:Calma MOR_AL, CALMA!!!! hehehhe
Não entendo nada de PIC, mas vai umas dicas:
1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD.
2) Aterre os pinos D0,D1,D2,D3, vejo que estao abertos. Sei que é modo 4 bits de comunicação, mas por segurança aterre.
3) Nao entendi porque vc comuta a chave entre +5V e um lado do cristal CLKOUT, nao deveria ser o terra? Nao será esse o problema, tu esta jogando RF em pino RA3/AN3, nao é por isso que o PIC tá louco?

Obs: Fonte chingling de PC tem vida util, dura até os capacitores esgotarem.....
:D


Melhor que aterrar é colocar um pull down. Se, por algum motivo, você jogar esses pinos para nivel alto, você pode quimar o PIC!
Você comentou a postagem do enigmabox, que fala dos pinos do LCD (D0, D1, D2 e D3). Eles não estão conectados ao PIC. Mas entendi que você se refere ao PIC. É isso? No momento os pinos do PIC não usados estão configurados como entrada e abertos. Isso poderia ser um problema. Eles podem estar variando, mas eu não estou lendo nenhum deles. Poderei colocá-los à terra através de um resistor de pull-down, como o resistor de 10k do diagrama, nos pinos 6 e 7.
E acho bem desaconselhável ligar alguma coisa no seu próprio cristal. Ligando o RA3 no cristal você cria um caminho para o ruído da sua alimentação chegar ao seu cristal, atrapalhando, portanto, o funcionamento do PIC. Como comentei, na linha anterior ao diagrama, o diagrama correto não vai ao pino do oscilador. Errei no desenho mas coloquei o pino da chave ao terra.
Ainda mais contando que você não tem capacitores de descoplamento
Observe as notas (1) e (2) nos capacitores C4, C5 e C6. Além disso coloquei capacitor entre Vdd e o terra do LCD.
, plano de terra, etc. O aumento de consumo pode ser por causa disso: se hover algum ruído na casa dos dezenas ou centenas de MHz, você pode estar fazendo algum tipo de "overclock" involuntário no PIC, levando a um aumento de consumo. E o seu osciloscópio não vai pegar isso provavelmente, pois ele ter ter uma banda pequena e sua ponteira deve ser de alguns pF de capacitância. O meu osciloscópio responde até 50MHz , onde tem um polo (decai 6dB/oitava). Ele pegaria o pulso.

Infelizmente não acredito que seja isso, mas por via das dúvidas, colocarei os pinos não utilizados como saída.
A corrente aumenta somente quando aciono a chave. E mesmo assim esporadicamente, mas bastou uma vez para que eu tenha queimado, parcialmente, o PIC. Nem sei se queimei. O ICPROG informa que "a verificação falhou", mas o funcionamento mostra que não falhou. Acho que o excesso de corrente deve ter danificado parcialmente alguma coisa, a ponto do ICPROG não poder ler o nível de tensão corretamente, mas para o PIC ainda funciona. Vou substituir o PIC assim que descobrir o problema.
Entre a chave e o PIC há um resistor de 2k2, limitando a corrente em, no máximo, 2mA, caso ele estivesse configurado como saída, mas ele está configurado como entrada.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor enigmabox » 20 Ago 2012 08:22

Melhor que aterrar é colocar um pull down. Se, por algum motivo, você jogar esses pinos para nivel alto, você pode quimar o PIC!


Não há perigo em aterrar D0-D3 do LCD, pois o pino R/W esta aterrado significando modo somente de escrita. Não vai queimar nada....

MOR_AL, dependendo do microcontrolador, mesmo que se utilize um ou outro pico da porta, é recomendavel que os pinos não utilizados estejam com nivel 1 ou selecione direção dos pinos como saída.
Verifique com osciloscopio no pino CLKOUT do PIC se ao variar o trimer o oscilador interno para de funcionar. As vezes dependendo da idade do cristal(cristais velhos ou com varios anos de uso são "duros" de oscilar) ou capacitancias internas podem fazer com que o oscilador falhe.
Para ver se queimou algum pino da porta ou função, faça um programa basico para testar as portas. Acho dificil queimar um pino, só se inserir tensao mais alta ou negativa que a alimentação do PIC ou forçar um pino da porta em nivel 1 ao terra.
O pino RA3 do PIC poderia ser deixado com o resistor constantemente ao +5V ou ativar um pull-up interno se existir. A chave somente comutaria o pino RA3 ao GND atravez de um resistor em serie de valor baixo.

1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD. Já tem.

Entao se for seguir o que está escrito no esquema, com capacitores proximos ao PIC e LCD, faltam 02 capacitores proximos ao regulador de tensão, segundo diz o datasheet deve existir um na entrada e outro na saída do regulador de tensão 7805. :)
enigmabox
 

Mensagempor MOR_AL » 20 Ago 2012 09:18

enigmabox escreveu:
Melhor que aterrar é colocar um pull down. Se, por algum motivo, você jogar esses pinos para nivel alto, você pode quimar o PIC!


Não há perigo em aterrar D0-D3 do LCD, pois o pino R/W esta aterrado significando modo somente de escrita. Não vai queimar nada....
Mesmo assim, vou aterrar os pinos D0 a D3 do LCD por meio de um resistor pull-down. Até ficar configurado como 4 pinos de dados, pode ocorrer que D0 a D3 sejam considerados e ruído nesses pinos podem alterar alguma coisa.

MOR_AL, dependendo do microcontrolador, mesmo que se utilize um ou outro pico da porta, é recomendavel que os pinos não utilizados estejam com nivel 1 ou selecione direção dos pinos como saída. É o que eu vou fazer. Saída em zero.
Verifique com osciloscopio no pino CLKOUT do PIC se ao variar o trimer o oscilador interno para de funcionar. As vezes dependendo da idade do cristal(cristais velhos ou com varios anos de uso são "duros" de oscilar) ou capacitancias internas podem fazer com que o oscilador falhe.
O problema é que se colocar a ponta de prova em um dos pinos do oscilador, a capacitância da ponta altera a oscilação. Pensei em fazer uma porta oscilar e medir na porta. Se a oscilação parar ao variar o trimmer, então terei certeza do problema e terei que alterar os capacitores do oscilador.
Para ver se queimou algum pino da porta ou função, faça um programa basico para testar as portas. Acho dificil queimar um pino, só se inserir tensao mais alta ou negativa que a alimentação do PIC ou forçar um pino da porta em nivel 1 ao terra.
O pino RA3 do PIC poderia ser deixado com o resistor constantemente ao +5V ou ativar um pull-up interno se existir. A chave somente comutaria o pino RA3 ao GND atravez de um resistor em serie de valor baixo.
Ok! Mas não há muita diferença do que eu fiz.
1) Coloque um capacitor de desacoplamento bem proximo da alimentação de entrada do PIC e também um proximo da entrada de alimentação do LCD. Já tem.

Entao se for seguir o que está escrito no esquema, com capacitores proximos ao PIC e LCD, faltam 02 capacitores proximos ao regulador de tensão, segundo diz o datasheet deve existir um na entrada e outro na saída do regulador de tensão 7805. :)
Na realidade, como ainda é um circuito de teste, não incluí o circuito da fonte. Estou usando uma fonte externa comercial e os capacitores de desacoplamento na placa.
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor brasilma » 20 Ago 2012 13:05

Não sei se tem como controlar diretamente os tempos de controle e dados para comunicação com o módulo, "certa ocasião", em assembly, ajustando os tempos com base no data-sheet do controlador do módulo, o problema melhorou bastante.

Também é importante dar um tempinho após a energização antes de começar a enviar dados.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor brasilma » 20 Ago 2012 13:07

Não sei se tem como controlar diretamente os tempos de controle e dados para comunicação com o módulo, "certa ocasião", em assembly, ajustando os tempos com base no data-sheet do controlador do módulo, o problema melhorou bastante.

Também é importante dar um tempinho após a energização antes de começar a enviar dados.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor pbernardi » 20 Ago 2012 15:24

Então MOR_AL, o que está acontecendo aí pode ser problema de ruído mesmo.

Essa sua chave, o problema aparece quando você liga ela ao ao terra? Estaria, por um acaso, no layout, esse terra próximo ao circuito de clock ou ao display?

Talvez aconteça de, ao fechar sua chave, você jogar muito ruido pro terra, e um terra ficar com potencial um pouco diferente do outro, especialmente em relação a freqência. (por exemplo, diferença de potencial terra do pino do PIC e o pino do oscilador).
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Mensagempor MOR_AL » 20 Ago 2012 16:12

pbernardi escreveu:Então MOR_AL, o que está acontecendo aí pode ser problema de ruído mesmo.

Essa sua chave, o problema aparece quando você liga ela ao ao terra?

É aleatório e esporádico. Tanto ocorre quando eu ligo ao terra como Vcc.

Estaria, por um acaso, no layout, esse terra próximo ao circuito de clock ou ao display?

Bom. O terra faz parte do circuito do clock e do display. Não entendi sua colocação, mas o desenho do layout está mostrado abaixo. Os capacitores C3 e C4 estão praticamente sobre os pinos de terra e Vcc.
Já tive problemas com terras bem mais complexos que este circuito (comutações em 60Hz de 600A e 13,6kV, e sinal com 100nA), e acredito ter alguma experiência adquirida.
Sinceramente. Estou desconfiado da chave. É dauqele tipo de acionamento de caneta. Pressiona para conectar ao Vcc e pressiona para conectar ao terra. Há uma posição intermediária no meio da operação. O botão está completamente pressionado e a seguir é retirado o dedo. Acho que nessa condição o botão pode conectar as duas posições (Vcc e terra) gerando um curto na fonte. A tensão Vcc cai a níveis que o PIC não entende e ocasiona o curto interno no PIC. Vou testar agora mesmo. Ia fazer todas as sugestões pela manhã, mas "life is what happens when you busy have another plans" (a vida te prepara surpresas quando você está com outros planos). Retornou um vazamento d'água na sala e tive que correr para consertar.


Talvez aconteça de, ao fechar sua chave, você jogar muito ruido pro terra, e um terra ficar com potencial um pouco diferente do outro, especialmente em relação a freqência. (por exemplo, diferença de potencial terra do pino do PIC e o pino do oscilador).


Imagem


Vou testar a chave agora e, se for ela, posto o ocorrido.
Em tempo: Apaguei o diagrama esquemático do site armazenador de imagens, pois já coloquei o circuito correto. Estou tentando incluir o circuito correto, via edição da postagem. Já tentei umas dez vezes e não foi possível incluir.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor pbernardi » 20 Ago 2012 18:34

Olá MOR_AL,

Algumas observações sobre o seu layout:

1 - O capacitor C3 não está desacoplando bem, pois está "depois" do sinal de 5V. O ideal é a corrente ter que passar obrigatoriamente entre o capacitor e o pino, isso aumenta a eficiência de descoplamento do capacitor.
2 - Há um GND da alimentação, e um outro GND que está sem alimentação, assumo que esse é o GND do cristal (não baixei o DS do PIC para conferir). Esse GND deveria estar mais próximo possível dos capactores do crystal, mas ele faz uma volta através do trimmer. Acho que se rodar o C3, C4 (de novo? tem dois C3 e dois C4) e o trimmer, o sinal de terra vai ficar bem mais perto e vai melhorar o loop.
3 - Bom, se ligando e desligando a chave tem problem, a entrada provavelmente tem ruído. Mais capacitores de desacoplamento nele, entre o comum e o terra.
4 - Esse curto por cima do +5V, não seria melhor deixar ele roteado e, por exemplo deixar o sinal "E" com curto por cima?
5 - Um capacitor na estrada entre o +5V e o GND é sempre recomendável.
6 - Por fim, se sua fonte estava com malfuncinamento, ela provavelmente estaca com o +5V acima dos limites permitido de ruído, e seu circuito deveria estar uma caca por causa disso.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Mensagempor MOR_AL » 21 Ago 2012 12:03

pbernardi escreveu:Olá MOR_AL,

Algumas observações sobre o seu layout:

1 - O capacitor C3 não está desacoplando bem, pois está "depois" do sinal de 5V. O ideal é a corrente ter que passar obrigatoriamente entre o capacitor e o pino, isso aumenta a eficiência de descoplamento do capacitor.

Sua afirmação está correta! Mas para as correntes envolvidas e as frequências, ainda não provocam diferença apreciável no comportamento.
Digo isso porque acabei descobrindo o problema e funcionou com este layout. Ao final mostro o que ocorreu! :D


2 - Há um GND da alimentação, e um outro GND que está sem alimentação, assumo que esse é o GND do cristal (não baixei o DS do PIC para conferir). Esse GND deveria estar mais próximo possível dos capactores do crystal, mas ele faz uma volta através do trimmer. Acho que se rodar o C3, C4 (de novo? tem dois C3 e dois C4) e o trimmer, o sinal de terra vai ficar bem mais perto e vai melhorar o loop.

O terra do PIC são os pinos 8 e 19, que estão ligados, tanto no layout como internamente no PIC (em algum momento eu medi).
O Vcc é o pino 20.
É...tem mesmo dois C3 e C4 :oops: mas deu pra entender que são diferentes. É que eu copiei e colei o layout do cristal com os capacitores de outro layout. Na rapidez de fazer uma PCI provisória (estava convencido de que a montagem na Protoboard é que dava o problema), deixei passar essa.
Talvez haja, como você comentou, um melhor layout para o circuito do oscilador. Algo como espelhar este circuito, mas como está provou que é o suficiente.


3 - Bom, se ligando e desligando a chave tem problem, a entrada provavelmente tem ruído. Mais capacitores de desacoplamento nele, entre o comum e o terra.

Seria a próxima atitude, caso eu não tivesse descoberto o problema.

4 - Esse curto por cima do +5V, não seria melhor deixar ele roteado e, por exemplo deixar o sinal "E" com curto por cima?

Seria uma opção, sim.

5 - Um capacitor na estrada entre o +5V e o GND é sempre recomendável.

Se for um eletrolítico, já havendo os de 100nF junto aos CIs, a resposta é sim. Se for apenas de desacoplamento, não. Em mais altas frequências deveria ter um filtro LC, que não é o caso.

6 - Por fim, se sua fonte estava com malfuncinamento, ela provavelmente estaca com o +5V acima dos limites permitido de ruído, e seu circuito deveria estar uma caca por causa disso.

A fonte é comercial, tem cerca de 1 a 2 anos e é pouco usada. Suporta cerca de 3A e estou consumindo menos de 10mA. Não acredito que seja a fonte.


Bom!
Acho que todos nós temos sempre algo a aprender.
Quero agradecer a todos os que contribuíram neste tópico. Em particular ao enigmabox e ao pbernardi.
Não entendi direito o que o brasilma quis dizer, por isso não comentei. Acho que estava relacionado ao display LCD.

Agora o que me levou à solução do problema.
Encarem isso como um sexto sentido ou coisa do além mesmo. Hehe...

É óbvio que o problema era de ruído, mas onde estava a causa?
Bom. Se lembram do acionamento aleatório da chave, que ocasionalmente fazia o consumo do PIC ir às alturas? Isso era uma pista, mas só que bem sutil.
Hoje coloquei todos os pinos não utilizados das portas como saída, mas o problema continuava. Já sem saber mais o que fazer, comecei reestudando todo o projeto.
Em certo momento religuei o circuito e nada aconteceu. Aí fui acionar a chave. Por uma pequena fração de segundo antes de acionar a chave percebi uma leve mudança na intensidade daqueles quadradinhos acesos na primeira linha do LCD. Isso já ocorrera antes, mas eu atribuía a um contador de 1 segundo, que há no firmware. Só que desta vez não ocorreu em um segundo e sim quando minha mão se aproximava da chave, que na realidade era do circuito.
Repeti o procedimento por diversas vezes para ter a certeza de que o ocorrido era sistemático. Era. Aí o problema passou a ser encarado não como aleatório, mas sistemático. Pensei, é o circuito do oscilador. Vai ver que 20MHz está muito alto, ou que o cristal não tem, ou tem o corte AT, qualquer que seja esse corte, não tenho como identificá-lo. Mas a máxima frequência do cristal pode ser de 32MHz!!! Estou com apenas 20MHz. Pensei que a aproximação de minha mão introduzia ruído no circuito do oscilador, o suficiente para ele oscilar. Aumentei o capacitor em paralelo com o trimmer e refiz a experiência. Mesma coisa.
Agora comecei a conferir pino a pino, com o circuito e com o programa, até que um pensamento me veio à mente.
Mão próxima, ruído, pinos, datasheet, pinagem, pinagem ... A0 a A5, oscilador, B0 a B7, C0 a C7.... MCLRbarra/Vpp... MCLRbarra/Vpp???? Ué? Esse pino não está associado a nenhuma porta? Ele possui apenas essas duas funções :?: :?: :?: .... E no meu circuito ele está ..... ABERTO :!: :!: :!:
Opa aí tem coisa. :idea: :idea: :idea:
Coloquei um resistor e um capacitor no pino (Vcc – Res – Pino – Capacitor – Terra) e liguei o circuito.
Funcionou!!! Liguei mais dez vezes e funcionou.
Era apenas uma bobagem que levei mais de 4 dias para perceber. Nunca tinha usado esse PIC. Só o comprei porque estava muito barato. Até então a função de memory clear barra estava sempre associada a um pino da porta e não separado.
[]'s

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Próximo

Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x