Programa travando ao acionar motor AC

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Programa travando ao acionar motor AC

Mensagempor itamar » 30 Mai 2014 10:01

Caros amigos, estou com um problema ao acionar um motor AC utilizando o PIC (16f877A). Meu circuito utiliza uma das saídas do PIC conectada à um MOC3021 que por sua vez é conectado à um TRIAC (com snubber) que aciona o motor. O circuito funciona normalmente acionando o motor AC em intervalos regulares e não sofre os efeitos da EMI durante esta atividade. Coloquei um LCD e fiz um contador para verificar quantas vezes ocorreria o acionamento sem travar... funcionou legal durante cerca de 1h. Contudo, ao ativar a interrupção do TIMER1 e fazer uma conversão AD o programa TRAVA após uns 5 a 10 acionamentos do motor. Quando retiro a interrupção funciona normalmente... Não sei o que pode estar acontecendo pois, ao meu ver, se o problema fosse EMI o programa deveria travar independente de interrupção ou não. Peço ajuda dos nobres
itamar
Nibble
 
Mensagens: 61
Registrado em: 24 Dez 2010 10:21

Re: Programa travando ao acionar motor AC

Mensagempor andre_luis » 30 Mai 2014 20:06

Pela descrição do problema, parece mais relacionado ao programa do que ao circuito.


+++
"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: Programa travando ao acionar motor AC

Mensagempor itamar » 31 Mai 2014 06:05

Esqueci de mencionar que quando desconecto a rede 220 AC do circuito o programa roda normal.

Resumindo:

Motor AC + programa com interrupções e conversão AD = TRAVA
Motor AC + e programa SEM interrupções ou conversão AD = FUNCIONA
Programa com interrupções e conversão AD sem o motor ou rede AC conectada = FUNCIONA

Quem tiver alguma referência sobre como prevenir EMI em placas e PIC já ajuda.
Os materiais que encontrei na internet ainda não ajudaram muito
itamar
Nibble
 
Mensagens: 61
Registrado em: 24 Dez 2010 10:21

Re: Programa travando ao acionar motor AC

Mensagempor andre_luis » 31 Mai 2014 07:35

Se não houver impedimento, coloca aí mais algum detalhe aí do Circuito ou do Layout da placa.


+++
"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: Programa travando ao acionar motor AC

Mensagempor vtrx » 31 Mai 2014 08:28

Voce esta usando alguma referencia AC da rede no seu programa?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Programa travando ao acionar motor AC

Mensagempor itamar » 31 Mai 2014 20:58

No momento não tenho como postar o esquemático... mas é coisa simples saída digital do PIC-->MOC3021->>TRIAC

Respondendo à pergunta
Voce esta usando alguma referencia AC da rede no seu programa?

Não há nenhum contato entre a rede e o microcontrolador. Ainda vou implementar esta etapa... tenho a intenção de colocar um detector de passagem por zero para controlar a velocidade do motor... mas só no futuro.

Fiz alguns testes e acho que identifiquei a causa do problema: durante a interrupção do TIMER1 eu estava realizando uma conversão AD, quando removi essa conversão o problema parou. Fiz uma aquisição AD em uma rotina fora da interrupção e quando o motor está ligado o PIC trava, ou seja, conversão AD com motor ligado faz o PIC travar. Agora que acho que identifiquei a causa gostaria de sugestões para solução. Valew
itamar
Nibble
 
Mensagens: 61
Registrado em: 24 Dez 2010 10:21

Re: Programa travando ao acionar motor AC

Mensagempor avenito » 02 Jun 2014 22:52

Tive um problema parecido uma vez e era como eu tratava a interrupção, ou seja:

1. Olhe com cuidado sua rotina do conversor AD e de interrupção.
2. Verifique se as variáveis estão sendo tratadas de forma adequada, se não há alguma que não esteja sendo "resetada" ou que dê "overload" 3. Você tá trabalhando com alguma variável como ponteiro?
4. Existe alguma possibilidade da interrupção estar sendo "atendida" de pontos diferentes do programa que possa "atrapalhar" alguma rotina?
5. Você está salvando todas as variáveis afetadas durante o tratamento da interrupção? Status principalmente?
6. Pode ser um problema de paginação?

Bem, espero ter ajudado! Boa sorte!
Alexandre Venito
avenito@yahoo.com.br
http://www.wsgi.com.br/blog
"Não leve a vida tâo a sério, afinal ela é uma aventura da qual não sairemos vivos!"
Avatar do usuário
avenito
Nibble
 
Mensagens: 61
Registrado em: 10 Dez 2006 19:21
Localização: Rio de Janeiro

Re: Programa travando ao acionar motor AC

Mensagempor ze2 » 03 Jun 2014 09:21

devido ao opto, suponho que a alimentação do mc não é 'rabo quente'. o sinal que estás a ler no ad tem alguma relação com o motor? algo como corrente? o motor está já sendo controlado com o mc? caso afirmativo, um filtro rc simples na entrada do ad deve ajudar ou/a resolver. também a 'desaproximação' ou blindagem do circuito do motor pode ajudar. no sw uma coisa que pode fazer é dar um tempinho antes e depois de acionar o motor: momento exclusivo. neste tempinho não faça nada e coloque TODOS os pinos temporariamente como saída. teoricaintuitivamente o momento de ligar motor é quando o mc não pode ficar sensível. aqui não entra nada. só sai. tem que ser macho. mesmo que de vez em quando...
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37


Voltar para PIC

Quem está online

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

cron

x