Acho que estou pirando.... (RS-232)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Acho que estou pirando.... (RS-232)

Mensagempor B-EAGLE » 22 Jul 2009 10:51

Pessoal, sempre mexi com PIC e outras coisas a mais comunicando pela porta serial, usando um MAX232 (5v) ou um MAX3232 (3v3) com os 5 capacitores de 100nF, aquele circuito clássico, exatamente como em todo datasheet tem.

Só que essa semana montei um circuito com um PIC24HJ64GP202, usando a UART1 ligando num MAX3232 da Maxim.

o RX da UART1 foi remapeada para RP0 e o TX para RP1, taxa de transmissão 9600. foi feito um loopback no pic por interrupção.

essas amostras foram tiradas do ponto entre o TX do MAX3232 e o RX do PC:

Quando eu mando 1 byte ('K'):

Imagem

o lado TTL do circuito tá bunitinho, níveis todos ok.

Quando eu mando 2 bytes ("KK") pro pic:

Imagem

Quando eu mando 3 bytes ("KKK" pro pic:

Imagem

e assim sussetivamente....

alguém pode me explicar o porque disso? já troquei o max, capacitores, cabo, pc, tudo, só o pic que não, mas ao meu ver ele tá ok... pode ser ele será?


valeu pessoal!
abraço!
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor RobL » 22 Jul 2009 11:20

Você está medindo entre o Max e o PC, certo?
Se sim, veja que os pulsos na entrada dos transceptores do Max estão ok.
Então não é o micro.
Note que após o tempo do primeiro K, ou seja, a continuação do segundo K, aparece um capacitor na linha. Veja a exponencial tanto na parte de cima como na de baixo do pulso.
Me parece que alguém não está aguentando fornecer corrente adequadamente por um tempo maior que o primeiro K.
Verifique a alimentação do Max. Tem capacitores entre +Vdd e Vss?
Meça com o scope a alimentação do Max.
Se não estiver aí, deligue o cabo, envie os 2 ou 3 caracteres e veja, com o scope, se normaliza. Se ficar ok, alguém está consumindo acima do esperado nessa linha.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor tcpipchip » 22 Jul 2009 11:33

hummm....talvez um microcurto...tentou remover e resoldar o MAX3232 ? Se voce usou o MAX232, nao inverteste algum CAPACITOR ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor B-EAGLE » 22 Jul 2009 11:57

Agora acho que fica mais fácil de visualizar:

Imagem


ambos os canais, tanto amarelo quanto azul são da RS-232, o amarelo é o TX do PC e RX do MAX, o azul é o RX do PC e TX do MAX...


medi a alimentação do max e está OK, coloquei um capacitor de 47uF eletrolítico entre o vdd e vss perto do max, troquei os capacitores de 100nF cerâmicos por de 1uF eletrolíticos e não adiantou em nada... fica exatamente mesma coisa...

tcpipchip, o max e os capacitores estão numa plaquinha e o pic na protoboard, já troquei a plaquinha, soldei outro max, tudo....
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor RobL » 22 Jul 2009 14:22

Tem um cap cerâmico (não eletrolítico) de 100kpf (100nF) em cima dos pinos da alimentação (em cima mesmo) do MAXxxx ?

Verifique com o scope desligando a carga do lado pc (sua linha em azul) e transmita para o pc. Veja como ficam os pulsos. Se sem carga não der para medir simule com um resistor puro em torno de uns 3 a 4 K ohm (este é um valor fora do padrão RS232, bem leve). Verifique se os pulsos ficam corretos.

Se ficar bom, mude o PC (ou teste com outro pc)!!! Tem algo errado na entrada dele.


Tem certeza que isto não está ocorrendo na entrada (lado TTL do Maxxx)?
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor xultz » 22 Jul 2009 14:50

Teria como você capturar o pino de TX do PIC (saindo TTL) num canal e o mesmo sinal na saída do MAX232?
Se o sinal do PIC estiver quadradinho e na saída estiver avacalhado, desligue o cabo serial e faça a mesma medição com a saída do MAX em aberto.
Se continuar avacalhado, a treta está na placa, sincronize o scope na saída do PIC e com o outro canal meça a alimentação. Se a alimentação estiver lisinha o tempo todo, meça os pinos de saída de +10V e de -10V do MAX da mesma maneira.
Depois conta o resultado :) esse é o tipo de defeito legal de procurar, bem mais legal que ficar caçando ponteiro perdido no meio do firmware ;)
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor B-EAGLE » 22 Jul 2009 16:21

RobL, já testei com outro PC e outro cabo... e tem o capacitor cerâmico na alimentação do max sim....

xultz, TX do PIC (3v3 no amarelo) e TX do MAX (rs232 no azul):

Imagem



entrada no pic (amarelo) e saída do pic (azul), ambos TTL:

Imagem



dá pra ver que o problema ocorre quando há sinal no TX e RX do max simultaneamente, agora porque, sabe-se lá! heauehaae
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Djalma Toledo Rodrigues » 22 Jul 2009 18:23

O comum - GND - esta sendo interligado no cabo RS232 ?

A análise das fórmas de onda do Osciloscópio indicam que o circuito fica aberto na descida dos Pulsos, observa-se uma oscilação e decaimento exponencial
próprio de descarga de capacitor.

Além disso se nota uma elevação, um degrau, no topo dos pulsos TX coincidente com o pulso RX

Verifique bem de + 5 V e GND estão realmente interligados entre o Protoboard e a Placa do Máx232.
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor B-EAGLE » 22 Jul 2009 18:57

Djalma, acabei de verificar, o MAX3232 está apropriadamente alimentado com 3.3V, e o GND do cabo está interligado com o do circuito.
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor B-EAGLE » 22 Jul 2009 19:05

lembrando que o PC e o PIC se comunicam,

só alguns caracteres que o PC 'interpreta' errado, tipo 'o' vira 'g', 'a'...
mas a maioria aparece certo no docklight ou hyperterminal...
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Sergio38br » 22 Jul 2009 23:59

Boas , experimente montar um cabo com apenas o gnd,tx e rx e veja se ocorre o mesmo problema...

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

Mensagempor B-EAGLE » 23 Jul 2009 09:17

Sérgio, fica mesma coisa...
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Sergio38br » 23 Jul 2009 10:25

Este MAX3232 que vc esta utilizando e o outro que vc ja trocou, vc sabe se são do mesmo lote??

Pergunta idiota , mas vc sempre utilizou este tipo de integrado e de repente aparece algo do tipo. Muito estranho..

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

Mensagempor B-EAGLE » 23 Jul 2009 10:28

já usei 2 da Maxim, do mesmo lote, mas usei também um da Texas.... e nada :S


tá russo viu
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Sergio38br » 23 Jul 2009 10:49

ta usando cabo manga ou fio para o cabo serial??

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

Próximo

Voltar para PIC

Quem está online

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

x