12F675 não liga, às vezes

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

12F675 não liga, às vezes

Mensagempor redtrap » 29 Dez 2011 11:49

Olá pessoal, já desenvolvi alguns projetos antes com outros pics e não tive este problema mas agora estou testando o 12F675.

Meu problema é simples. Fiz um código no CCS para que quando o circuito fosse alimentado este faria uma piscagem alternada entre dois pinos. O que ocorre é que de cada 15 vezes (aproximadamente) que o circuito é acionado uma ele fica travado. Utilizo oscilador interno 4MHz. Testei resistores de 10K e 1K e até direto no MCLR, usei também NOMCLR, WachtDog (ON/OFF) e o travamento continua. Tenho certeza que é alguma bobeira minha mas não consigo identificar.

A alimentação é uma fonte chaveada 12V acionada por uma foto-célula, utilizo capacitores de 330uF e 100nF para qualquer oscilação (que já e praticamente nula) na entrada e saída de um 7805. Os 470R são saídas para transistores BCs. De resto é só. Segue o código.

#include <12F675.h>

#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOCPD
#FUSES NOPROTECT
#FUSES MCLR
#FUSES NOPUT
#FUSES NOBROWNOUT
#FUSES BANDGAP_HIGH
#use delay(clock=4M)

void main()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
while(1)
{
output_low(PIN_A0);
output_high(PIN_A1);
delay_ms(800);
output_high(PIN_A0);
output_low(PIN_A1);
delay_ms(800);
}
}

Imagem

Uploaded with ImageShack.us

Abraço e já aviso que estou estudando ASM mas ainda sei muito pouco para utilizá-lo decentemente.
Editado pela última vez por redtrap em 01 Jan 2012 20:32, em um total de 1 vez.
redtrap
Bit
 
Mensagens: 7
Registrado em: 28 Dez 2011 11:19

Re: 12F675 não liga, às vezes

Mensagempor andre_luis » 29 Dez 2011 19:34

redtrap,


Um diodo no MCLR costuma resolver.
Posta o circuito pra conferirmos se o problema pode estar sendo potencializado pelo hardware.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: 12F675 não liga, às vezes

Mensagempor redtrap » 01 Jan 2012 20:43

Olá companheiro André, antes de tudo obrigado pela dica. Mas como fica a configuração deste diodo? E qual diodo?

Pelo que pesquisei é um 1n4148 em série com o resistor, ele serve apenas para a queda de tensão?

Aí posto o desenho com a modificação e se deu tudo certo.

Abraço e novamente obrigado
Victor
redtrap
Bit
 
Mensagens: 7
Registrado em: 28 Dez 2011 11:19

Mensagempor ÁgioFelipe » 01 Jan 2012 21:23

Acho que o problema está no carga que vc está acionando, os BCs tão acionando relés? Esses relés acionam oq?
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor fabim » 02 Jan 2012 07:05

Amigo, por acaso você esta chaveando algum tipo de carga indutiva ?
Só pelas suas palavras deu a entender que.

Não temos absolutamente idéia do que possa ser!!! hehe
Fora o CCS né!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor andre_luis » 02 Jan 2012 18:01

Apenas um palpite :

Experimenta substituir a configuração do fuse NOBROWNOUT por BROWNOUT.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Flaviofrc » 02 Jan 2012 18:32

Coloca um capacitor de 100nF no pino do Master Clear vide pagina 58 do data sheet.
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor redtrap » 02 Jan 2012 18:36

Olá pessoal.

A carga é resistiva. Os Bcs chaveam dois tip127 cada um e cada um destes cargas de 1,8A de leds, apenas leds e resistores.

Flaviofrc e Andre farei testes com as dicas.

Mais uma pergunta, alguém já viu isso acontecer com esse e outros PICs?

Obrigado pessoal
RT
redtrap
Bit
 
Mensagens: 7
Registrado em: 28 Dez 2011 11:19

Mensagempor mastk » 02 Jan 2012 18:47

Já vi RESETs causado por ruido nos 16F628, chavear uma carga de 2A, dependendo da fonte e capacitores pode ser o motivo do problema.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor Flaviofrc » 02 Jan 2012 19:03

Já vi acontecer com o F833 e F628A, mais tambem depende do layout da placa, comprimento e largura das trilhas etc...
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor andre_luis » 02 Jan 2012 19:14

Já vi acontecer de a queda do VCC no pino de resset não reinciciar o microcontrolador, mas avacalhar os registradores voláteis, o que parece ser o seu caso.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor redtrap » 03 Jan 2012 08:58

Então companheiros, carga neste caso eu descartei pois já tirei do circuito, usei fontes chaveadas de 12V e 9V, até fonte estabilizada regulada e continua a mesma coisa, estou fazendo os testes com o diodo e o capacitor no MCLR e BROWNOUT. Quanto a Layout, testo na placa que desenvolvi e nada, testo no protoboard e nada... o estranho não é que ele funciona e por algum tempo para mas sim quando lido a fonte ele não responde nada....
Ah, também utilizei outros 5 MCUs e nada ainda.

Acham que pode ser algo com o clock interno que estou utilizando?
Vou procurar alguns cristais aqui pra testar com externo.


Abraço e obrigado pelo aprendizado.
redtrap
Bit
 
Mensagens: 7
Registrado em: 28 Dez 2011 11:19

Mensagempor _blackmore_ » 03 Jan 2012 09:57

.. usei também NOMCLR, WachtDog (ON/OFF) e o travamento continua...Os Bcs chaveam dois tip127 cada um e cada um destes cargas de 1,8A de leds


qdo vc liga o WDT está limpando ele? e a carga de 1.8A ... a fonte é suficiente para tal? tem um capacitor ligado entre o + e o - direto no uC? vc está alimentando o circuito externo com os mesmos 5V do microcontrolador ou com os 12V da fonte? o BOR como está configurado?
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor fabim » 03 Jan 2012 10:14

Uma coisa que aconteceu com um amigo meu uma vez usando o mikroC.
Ele confiou nos valores de reset default do OPTION o o outro que controla as interrupções, não lembro o nome agora.
Por motivo conhecido ja q pic é bosta, as vezes aqueles valores default, iniciavam o pic com interrupção do GP2 ligado.. Se nao tem o vetor 0x04 pra tratar ja viu né ?

Experimenta fazer a inicialização do INTCON e OPTION_REG na mão. E veja se resolve.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

RESOLVIDO!!!

Mensagempor redtrap » 06 Jan 2012 13:41

Olá Pessoal

Seguei as dicas do andre_teprom e Flaviofrc.

Adicionei um 1n4148 e um cap 100nF no MCLR e o problema não apareceu mais, segue como ficou o FUSES do software e o circuito:

#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOCPD
#FUSES NOPROTECT
#FUSES MCLR
#FUSES NOPUT
#FUSES NOBROWNOUT

Fiz testes com o WDT e o Brownout, mas não fizeram diferença. Forcei também o NOMCLR e aí também dá problema. Mas o que me resolveu mesmo foi o diodo e o capacitor no MCLR.

Abraço e muito obrigado a todos

Imagem

Uploaded with ImageShack.us
redtrap
Bit
 
Mensagens: 7
Registrado em: 28 Dez 2011 11:19

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x