bug , ou não ?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

bug , ou não ?

Mensagempor rebelk » 14 Abr 2008 15:01

fiz um programa em C ccs , que aciona duas solenoides com pwm
, um transistor tip147 ( pwm ) e dois mosfets irf540 ( envia 0v )para as solenoides , só que quando ligo o circuito , as duas solenoides são acionadas e depois desliga , não sei o que acontece , mas o pic 16f876 na hora do reset coloca em alto essas saidas , o pic esta igual ao 8051 , quando é ligado ativa as saidas para alto , como soluciono isso ?
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor ze » 14 Abr 2008 16:01

pull down. 1K pino do pic pro gnd. (e da base/ gate - gnd! se for ruído, cap)
se não resolver:
-crazy wdog no hw:
o conceito: pulsos em 1 pino liberam a ativação dos transistores de saída. sem pulso=inibe. portanto, só funciona com cpu "viva". interessante pro caso dela "morrer".
o circuito: [pino pulso]--[cap]--[diodo-anodognd]-[diodo]--[capgnd]->
este sinal = 1 = ok = na base de TR -> coletor nos E dos acionadores.
takepareu...confusão!!!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor EDSONCAN » 14 Abr 2008 16:03

Se não me falha a memoria o default do pic no reset são todos os pinos como entrada e pull-up acionado.

Edson
EDSONCAN
Word
 
Mensagens: 876
Registrado em: 11 Out 2006 14:11

Mensagempor zielpunkt » 14 Abr 2008 17:09

Mantém o micro em reset (na marra, no MCLR) antes de ligar o teu circuito:- se normalizar, verifica como está configurando o reset, pinos, periféricos internos, e/ou aumenta o tempo dele (reset) por r/c externo - use o MCLR. Duvide até da sua fonte. Como é que está acionando estes mosféticos?...Pull-down é uma boa idéia, desde que o teu circuito de acionamento esteja bem elaborado. Isso não é o comportamento normal do micro. Deve ser alguma cagadinha básica.




Abço.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor Sergio38br » 14 Abr 2008 17:25

Durante todo o reset os pinos do PIC, são configurados com entrada e nivel 1, vc teria de isola-las com um PNP.

Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor zielpunkt » 14 Abr 2008 21:27

Sergio, discordo de você:

Seja no POR (Power On Reset), BOR (Brown Out Reset) e todos os demais resets, o registrador TRIS, por estar com os seus bits em nível "1", garante que os pinos de determinado PORT estejam como entrada e, portanto, em alta impedância. Então, nesse momento, o estado dos pinos - como entradas - são desconhecidos (podem assumir qualquer valor). Um pino de entrada, sob o ponto de vista do micro, não apresenta um nível lógico tal qual uma saída, a não ser em caso de o pull-up interno estar habilitado para aquele pino, o que não ocorre no momento do reset por power-on. Para conferir, verifique o manual do PIC16F87xA (DS39582B-page 44), onde trata do PortB, por exemplo:

Imagem

Acho que o problema do rebelk pode estar na falta de uma polarização adequada nos transistores, pra segurar um estado de corte no momento do POR. Ou, quem sabe, um erro na inicialização do micro, pelo software.

Abço.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor Sergio38br » 15 Abr 2008 08:14

Concordo contigo em parte , no manual esta bem explicado, mas na pratica, tive um problema parecido com pinos que utilizo como saida para acionamento, principalmente solenóides, fiz testes colocando um loop infinito logo depois da saida do reset, o velho goto $ , com o osciloscópio verifiquei que os pinos estavam em high a maioria das vezes, por isso a sugestão do PNP.

Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor ze » 15 Abr 2008 09:53

opção+=1

Código: Selecionar todos
                        (+V)                                (+V)
                         |                                   |
                        | |                                 | |
                        |_| carga                           |_|carga
                         |                                   |
                       |/                                  |/
   PIC---[resistor]----| bc817         PIC---[resistor]----|  bc817
                       |\                                  |\
                         |___________________________________|
                                             |
                                             |
                                             |
                    ------|<----             |
                   |            |            |
                   |            |           |/ 
            (+5)---o-----[R]----o-----o-----|   bc817 [e/ou relé]
                                |     |     |\ 
                              -----  ---     |
                         [C]  -----   ^      |
                                |     |      |
                                |     |      |
                                |_____|______|
                                      |
                                    [gnd]



+- autoexplicativa
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor rebelk » 20 Abr 2008 19:38

zielpunkt , eu fiz o que vc falou , o problema era um resistor pullup , retirei ele e o defeito foi solucionado.
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor zielpunkt » 21 Abr 2008 20:12

Blz...
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP


Voltar para PIC

Quem está online

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

x