comunicação pc pic sem interface com max232

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

comunicação pc pic sem interface com max232

Mensagempor dcardoso » 25 Abr 2010 14:49

Boa tarde a todos.
Pessoal em um projeto existe um placa de controle de servos (robótica simples). Detalhe é que ela se comunica diretamente com o pc vis rs232 sem um ci para fazer a interface de sinais -12-0-12 (rs232) para 0-5 (ttl).
Pelo que me passaram essa placa possui dois resistores (um em cada via) para comunicação pc - pic.
Gostaria de saber (já que não pode ser alterado o controle dos servos) como fazer um pic comunicar com essa placa, como fazer essa ligação diretamente, uma vez que também não posso retirar esses resistores em série.
A mais um detalhe não esta sendo usado os pinos RX e TX do pic (16f628A).
Se alguém puder ajudar agradeço.

Daniel
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08

Mensagempor rafael.wachter » 25 Abr 2010 15:04

Tu pode usar o PIC ligado em um MAX232 e esse MAX232 ligado na placa dos servos.
Avatar do usuário
rafael.wachter
Nibble
 
Mensagens: 89
Registrado em: 19 Nov 2008 13:12
Localização: no RS tchê

Mensagempor dcardoso » 25 Abr 2010 15:26

Irei testar, mas caso não funcione existe outra maneira.
Outra pergunta, qual o compartamente do circuito usando os resistores nas linhas de transmissão?
segue o link da placa que não possui o max232
http://roboticasimples.com/download/RS02V2.pdf

obrigado
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08

Mensagempor vtrx » 25 Abr 2010 15:39

Voce pode usar tambem um circuito simples.
Imagem
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor rafael.wachter » 25 Abr 2010 15:46

dcardoso,

Pelo que vi, na interface com o PC vem somente dois fios para a placa (GND e TX do PC), ou seja, essa placa soh recebe os dados do pc e não retorna nada.
O resistor seria para adequação dos niveis de tensão PIC 0-5V e PC -12V 12V.

Vc viu se tinha algum componente dentro do conector? Um diodo por exemplo, para evitar q o PIC da placa receba os -12V.
Avatar do usuário
rafael.wachter
Nibble
 
Mensagens: 89
Registrado em: 19 Nov 2008 13:12
Localização: no RS tchê

Mensagempor dcardoso » 25 Abr 2010 15:47

Desculpe falta umas informações.

Essa placa não pode ser alterada (da robótica simples) o que será feito é essa placa comunicar com outro pic (18fxxx), o detalhe é:

Pelo que entendi é o seguinte, essa placa da robótica simples (link em msg anterior) não possui o max para fazer interface com o pc (muito menos usar os pinos rx e tx do 16f628a).

o outro pic (18fxxx) irá se comunicar via rx e tx.

Clareou um pouco

e obrigado pela ajuda

daniel
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08

Mensagempor dcardoso » 25 Abr 2010 15:49

não tem nenhum circuito adicional, não vi nada dentro do cabo.
[]ços
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08

Mensagempor MOR_AL » 25 Abr 2010 19:44

1 - A malha de terra do cabo serial está ligada à placa? (Ou, a comunicação é em dois sentidos ou em apenas um?)
2 - Os níveis de tensão, da porta serial, enviados pelo PC variam entre:
+15V e +3V para '0' lógico e
-15V e -3V para '1' lógico.
Um dos resistores pode estar sendo usado para limitar a tensão que o PIC recebe do PC. Os diodos internos do PIC suportam até um máximo de corrente de 25mA (que não deve ser estabelecida como regular e sim, um valor menor). Daí a necessidade do resistor (limitar a corrente que entra ou sai do PIC).
O nível lógico '0' (entre +15V e +3V) é perfeitamente compreendido (devido às limitações de tensão de entrada no PIC, causadas pelos diodos internos e o resistor externo) pelo PIC.
O nível lógico '1' (entre -15V e -3V) também é compreendido pelo PIC, devido ao outro diodo interno e o mesmo resistor.
O problema é quando o PIC funciona como transmissor para o PC. Nesse caso deveria poder fornecer as tensões negativas. Como as tensões fornecidas pelo PIC variam de 0V a +5V, então o PC só identifica o nível '0', entre +3V e o +5V. Quando o PIC envia o nível 0V (ou próximo positivo), o PC não identifica esse nível.
Por esse último nível é que suponho que a comunicação ocorre apenas no sentido PC, PIC.
3 - Explique melhor sua intenção de ligar um PIC18F com um PIC16F268. Em princípio você não precisaria de alterar os níveis dos estados lógicos, uma vez que ambos possuem as mesmas tensões. Nem precisaria usar os pinos Tx e Rx em uma comunicação. Você poderia implementar a comunicação serial por software. Também poderia criar uma comunicação serial com o seu próprio protocolo. Ela poderia ser do tipo half-duplex (ambos os sentidos, porém não ao mesmo tempo) com apenas um pino do PIC18F e o PIC16F, além do terra.

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 dcardoso » 26 Abr 2010 00:34

bom, vamos lá.
Seguinte pessoal este projeto é de um aluno de graduação da Unesp de São José do Rio Preto.
Moro aqui na cidade e leciono em um centro academico, trabalho um pouco com pic mas não sou nenhum especialista, um dos co-orientadores (mestrando) deste aluno foi meu aluno e me recorreu para ajudá-los.
O real orientador é o Prof Dr Mario Tronco, que sugeriu ao graduando para fazer a aquisição de dados, por meio de sonares, de objetos nos eixos X e Y, ou seja, (isso o que me passaram) haverá dois sonares, um para cada eixo, que irá mapear objetos colocados na região ativa do sonar.
Até ai tdo bem, o problema começa quando umas das imposições do orientador, é o uso desta placa de controle de servos, uma vez que ela precisa aparecer nos projetos (afinal é verba pública), se fosse por mim, desenvolveria um hardware para isso.
Sendo assim, esta placa só servirá para posicionar os sonares e a aquisição dos dados será feito pelo pic 18fxxx, que também está embarcado em uma placa com barramento CAN desenvolvida na USP de São Carlos. Por isso da utilização e integração desse hardware.

Resumindo o problema é: a placa CAN possui interface serial com max232 e a placa dos servos possui a comunicação serial como foi mostrada até agora. O grande lance é a integração desses hardwares.

Sobre a pinagem da placa dos servos e outros detalhes que até aqui haviam sidos solicitadas, repassei para o mestrando que irá me enviar esses dados assim que os tiver em mãos eu posto aqui.

[]ços

Daniel
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08

Mensagempor dcardoso » 02 Mai 2010 15:08

Bom galera, quanto a esse tópico ele foi resolvido.

A comunicação pic com essa placa da robótica simples, necessita do max232 para fazer o casamento dos sinais.

e outro detalhe era o envio dos dados para a placa, pois os endereçamentos estava sendo enviado em forma hexadecimal (até agora não sei pq) passando para decimal deu certo.

era utilizado putchar (0x07) trocado por putchar(7), lógico trancando todas as referencias a isso e outros detalhes, passou a funcionar.
[]ços

e obrigado pela ajuda

Daniel
dcardoso
Bit
 
Mensagens: 21
Registrado em: 28 Jul 2008 15:08


Voltar para PIC

Quem está online

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

x