GARANTIR DESCONTO

Fórum Como emitir um sinal elétrico de 5v pela porta serial? #352935

02/02/2008

0

Pessoal, preciso emitir um sinal eletrico para uma catraca DIMEP simples de 5V. A única coisa que a mesma possui é 2 pares de cabos que parecem cabo de energia (vermelho/preto) para a conexào me parece de uma fonte. Para ajudar a mesma nem manual tem.

Bom, a pergunta é: Eu consigo emitir este sinal elétrico através da porta serial, ou eu preciso de uma placa específica para isto? Achei uma no site:
[url]http://www.wolmaq.com.br/produtos_detalhes.asp?codproduto=62[/url]

Então pessoal, qualquer ajuda será bem vinda?

Quais componentes utilizar?

Existe como eu fazer a conversão desta conexão (2 pares de fio (vermelho/preto)) para o tipo serial???


Farnetani

Farnetani

Responder

Post mais votado

11/02/2008

Bom dia a todos.
Desculpem a intromissão no tópico mas estou na mesma situação.
Estou projetando uma PCI para abrir uma catraca através da porta paralela. A catraca foi encomendada pela empresa onde trabalho, ainda não chegou e a única informação que tenho é que o relê dela é disparado com 1,5v.
Como não sei a tensão máxima que o relê suporta, estou utilizando um LM317 com um resistor de 220ohms (em paralelo nos pinos de saída e de GND) e outro de 47ohms (em série no pino de GND) para garantir que não vou queimar a catraca :D

- Com 1v de tensão na entrada do circuito, tenho 157,3mV na saída.
- Com 2v de tensão na entrada do circuito, tenho 759,8mV na saída.
- Com 3v de tensão na entrada do circuito, tenho 1,478V na saída.
- Com 4v de tensão na entrada do circuito, tenho 1,572V na saída.
- Com 5v de tensão na entrada do circuito, tenho 1,573V na saída.
E a tensão de saída se mantém, aproximadamente, em 1,6V até os 40V de tensão de entrada, que é o que o LM317 suporta, ou seja, o circuito não vai retornar mais que 1,6V e a catraca vai continuar funcionando.

Finalmente, as dúvidas:
- Em alguns fóruns, vi que o pessoal coloca um capacitor de 0,01uF em paralelo com o pino de entrada do LM317. Qual seria a razão disto/ (teclado desconfigurado, sem a interrogação) Seria para conter alguma oscilação ou não tem nada haver/ Existe a necessidade de ter este capacitor/
- Li aqui no tópico que um diodo evitaria um retorno de tensão por parte do relê. Tentei colocar aqui, mas como ele reduz um pouco a tensão, vou ter que modificar meus resistores para conseguir +-1,5V de saída com a entrada na faixa de 3V à 5V. Pensando agora, coloquei o diodo no início do circuito, antes da entrada do LM317 e talvez, colocando na saída, não tenha que modificar muito meus resistores. O diodo é mesmo necessário para evitar uma tensão contrária, certo/ Então, entendi certo a idéia ou escrevi besteira/

Ah, ainda vou ter que torcer apra que o relê não seja ativado com aqueles 759,8mV, no caso de uma DDP de 2v entre os pinos 2 (´desligado´) e 25 (é uma situação bem improvável, mas como pode acontecer, é bom estar preparado).

Meus conhecimentos em eletrônica são quase insignificantes e ainda não me servem nem para um hobby rsrsrs Então, desculpem se escrevi alguma bobagem ou se as dúvidas são bestas d+.

Queria não ter ´matado´ as aulas de física :roll:


Eduardocarneiro

Eduardocarneiro
Responder

Gostei + 1

Mais Posts

02/02/2008

Kroki

A melhor maneira e mais fácil é usar uma rotina em assembler.
Se vc for usar windows 2000/XP será nescessário usar uma DLL.
A tensão da serial vai ser de +- 12 volts aonde vc vai ter que usar um diodo zener de 5 volts,lembrando que a corrente é baixa.
Posso passar a rotina mas preciso saber se vc tem alguma experiencia em eletronica.


Responder

Gostei + 0

02/02/2008

Onjahyr

Como você viu no site informado, sim.

Pois é, eu já brinquei com eletrônica a uns tempos atrás com o Delphi 3, e usava placas com acesso a porta serial e paralela, já vi também pela USB mas nunca fiz. Eles são a camada intermediária entre seu programa e o equipamento. Para maiores detalhes entre no google e pesquise sobre delphi, eletrônica, robótica, eletrotécnica, e coisas do gênero.

Se vc conectar os fios diretamente na porta seu computador vai parar em marte! :lol:

E mais, se você não entende NADA de eletrônica desista! ou contrate alguém ou alguma empresa para desenvolver uma placa específica para seu equipamento (se for um equipamento antigo, bom, pois pode pegar um projeto genérico/padrão).

Eu sempre gostei de trabalhar com programação em conjunto com eletrônica pois você se anima em ver um equipamento eletrônico (até mesmo simples - como Leds piscando) com sua intervenção pelo seu programa, um motor funcionando e parando com um clique de um botão, um ventilador, uma lâmpada acendendo, ligar qq aparelho eletrônico, tudo pela porta serial usando o Delphi (qq versão de 3 acima). Se quiser algum material entre em contato comigo, mas é como eu disse, se não entender de eletrônica vc não faz NADA, tem que saber lêr diagrama digital para construção do circuito impresso, tem que ter materiais (muitos deles são caros), etc...
Para começar você poderia comprar nas bancas revistas de eletrônica, existe as básicas e as avançadas.

Sucesso!


Responder

Gostei + 0

02/02/2008

Farnetani

Campeão, me passe então a rotina...em relaçào a eletronica eu dou um jeito. Na verdade vou precisar rodar no windows xp.

Qualquer luz será bem vinda! Já estudei assembler...faz um tempinho...mas pode me mandar o q vc tiver ai...

Se tiver algo em Delphi (usando componente ou nao) tb seria ótimo.

Se puder me explicar melhor o lance do diodo zener eu agradeço!

Valew

A melhor maneira e mais fácil é usar uma rotina em assembler. Se vc for usar windows 2000/XP será nescessário usar uma DLL. A tensão da serial vai ser de +- 12 volts aonde vc vai ter que usar um diodo zener de 5 volts,lembrando que a corrente é baixa. Posso passar a rotina mas preciso saber se vc tem alguma experiencia em eletronica.



Responder

Gostei + 0

02/02/2008

Farnetani

Campeão...acho q vc nao entendeu...o q eu quero fazer é algo bem simples...vê se nao me desanima (rs)...em relação a eletronica...já vi algo no passado bem superficial...mas dá pra nao ficar mto perdido...

Se tiver algo que ajude poste aí ok!

Valew!

Agora em relação a desistir...desista vc de me convencer disto ok! rs!

Como vc manja de eletronica...já poderia me ajudar com o esquema de como montar o cabo para a conversao do serial ok!

Como você viu no site informado, sim. Pois é, eu já brinquei com eletrônica a uns tempos atrás com o Delphi 3, e usava placas com acesso a porta serial e paralela, já vi também pela USB mas nunca fiz. Eles são a camada intermediária entre seu programa e o equipamento. Para maiores detalhes entre no google e pesquise sobre delphi, eletrônica, robótica, eletrotécnica, e coisas do gênero. Se vc conectar os fios diretamente na porta seu computador vai parar em marte! :lol: E mais, se você não entende NADA de eletrônica desista! ou contrate alguém ou alguma empresa para desenvolver uma placa específica para seu equipamento (se for um equipamento antigo, bom, pois pode pegar um projeto genérico/padrão). Eu sempre gostei de trabalhar com programação em conjunto com eletrônica pois você se anima em ver um equipamento eletrônico (até mesmo simples - como Leds piscando) com sua intervenção pelo seu programa, um motor funcionando e parando com um clique de um botão, um ventilador, uma lâmpada acendendo, ligar qq aparelho eletrônico, tudo pela porta serial usando o Delphi (qq versão de 3 acima). Se quiser algum material entre em contato comigo, mas é como eu disse, se não entender de eletrônica vc não faz NADA, tem que saber lêr diagrama digital para construção do circuito impresso, tem que ter materiais (muitos deles são caros), etc... Para começar você poderia comprar nas bancas revistas de eletrônica, existe as básicas e as avançadas. Sucesso!



Responder

Gostei + 0

03/02/2008

Onjahyr

:lol: Uma vez programador, sempre persistente!

Não posso colocar aqui porque o material que tenho são em PDF e arquivos (e ainda tenho de procurar nos meus CD´s). Este fórum só suporta texto. É porisso que pedi seu e-mail. Mande uma MP para mim informando seu e-mail e o que quer fazer exatamente, vou tentar ver se posso ajudar além de enviar o material.
Quanto a fazer a parte de eletrônica eu não posso, não tenho tempo, (infelizmente), pois como eu disse, eu gostava de fazer!
Aqui onde estou residindo agora (DF) não tenho nenhum equipamento de eletrônica, nenhuma ferramenta, etc...


Blz.


Responder

Gostei + 0

03/02/2008

Kroki

Não entendí direito como vc quer usar o sinal,mas vamos a sua resposta.

implementation
function Out32(wAddr: word; bOut: byte): byte; stdcall; external ´xp.dll´;
{$R *.dfm}

//ativa
procedure TForm1.Button1Click(Sender: TObject);
begin
asm
mov dx,$3fa
mov al,$c7
out dx,al//Out32(dx,al);
mov dx,$3fc
mov al,$0b
out dx,al//Out32(dx,al);
end;
Label1.caption:=´Ligado´;
end;

//desativa
procedure TForm1.Button2Click(Sender: TObject);
begin
asm
mov dx,$3fa
mov al,$c7
out dx,al//Out32(dx,al);
mov dx,$3fc
mov al,$00
out dx,al//Out32(dx,al);
end;
Label1.caption:=´Desligado´;
end;

Está tudo aí em cima,melhor vc testar com um Windows 9X.
Se usar windows 9X vc deve retirar a linha ´function Out32(wAddr: word; bOut: byte): byte; stdcall; external ´xp.dll´;´
Se for usar windows baseado no XP/2000 vc deve manter a linha citada acima e usar os comandos depois de ´//´ (Out32(dx,al)´ etc... e vai precisar da DLL.
Passa email que te mando a DLL,mas como disse é mais fácil testar nos 9X.
No conector DB9 (serial) o pino 5 é terra e o 7 vai ser sua tensão(12V aproximadamente).
Terá que colocar um diodo zener de 5V entre o pino 5 e 7 (no pino 7 vai o lado do diodo que tem um ´risco´ e o outro lado do diodo vai no pino 5.


Responder

Gostei + 0

03/02/2008

Farnetani


Responder

Gostei + 0

03/02/2008

Onjahyr

Ainda não cheguei em casa!
Creio que isso aí resolve o caso, porém (não tenho certeza), queria perguntar para o [b:5c57bb5810]kroki[/b:5c57bb5810] se vai funcionar mesmo. A corrente de saída da porta Paralela não é alta sendo suficiente para, no máximo, acender LEDS (3v.). Para circuitos que necessitem de maior potência, deve-se utilizar buffers ou amplificadores de correntes transistorizados.

Como faz um tempo que não uso eletrônica, não tenho certeza disso, mas, depois dos testes o [b:5c57bb5810]farnetani[/b:5c57bb5810] posta os resultados aqui.


Responder

Gostei + 0

03/02/2008

Kroki

Os sinais tanto da Paralela como da Serial só tem corrente para acender LEDs,se precisar de correntes maiores vaiprecisar montar um Driver.
Se a catraca apenas precisa de nível lógico alto (5V) para acionar,isso vai funcionar.


Responder

Gostei + 0

03/02/2008

Kroki

Esse código usa a Porta Paralela(que ja vai enviar direto os 5Volts.
...
Var
porta:word;

implementation
function Out32(wAddr: word; bOut: byte): byte; stdcall; external ´xp.dll´;
{$R *.dfm}

//Saida alta(5V)
procedure TForm1.Button1Click(Sender: TObject);
begin
Out32(porta,$FF);//porta=$278 LPT2(paralela 2)ou $378 LPT1(paralela 1)
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Out32(porta,0);//não esquecendo o valor da porta (tem que ser o mesmo)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Out32(porta,0);//Quando se liga o pc a paralela fica instavel,melhor zerar
end;
...
Os pinos usados são o 18 a 25 para ´terra´ e do 2 ao 9 para saida.
As procedures acima ativam ou desativam todos os 8 Bits da porta(por isso pode-se escolher ou os pinos do 2 ao 9 ou algum deles).
Sobre a porta serial o dido zener serve para estabilizar a tensão em 5 Volts(usar zener 5V1).
Usar resistores de 470 Ohms no pino ´+´.


Responder

Gostei + 0

05/02/2008

Farnetani

Campeão...show de bola...o trem funcionou a 3.3v de forma direta.

Apenas fiz o cabo paralelo ligando na porta 2 e porta 25 e o esquema funciona. O grande detalhe é que testei no multimetro. Agora vou testar direto na catraca. O que eu gostaria de saber é o seguinte, caso seja realmente necessário 5v...tem alguma forma de eu ampliar isto de 3.3v para 5v???

Ou o diodo zener 5v1 que vc me passou é exatamente para isto? Qual é a funçao do resistor de 470 que vc me passou?

Estes 2 serao necessarios?

Putz...nem preciso dizer obrigado né...valew mesmo!



Esse código usa a Porta Paralela(que ja vai enviar direto os 5Volts. ... Var porta:word; implementation function Out32(wAddr: word; bOut: byte): byte; stdcall; external ´xp.dll´; {$R *.dfm} //Saida alta(5V) procedure TForm1.Button1Click(Sender: TObject); begin Out32(porta,$FF);//porta=$278 LPT2(paralela 2)ou $378 LPT1(paralela 1) end; procedure TForm1.Button2Click(Sender: TObject); begin Out32(porta,0);//não esquecendo o valor da porta (tem que ser o mesmo) end; procedure TForm1.FormCreate(Sender: TObject); begin Out32(porta,0);//Quando se liga o pc a paralela fica instavel,melhor zerar end; ... Os pinos usados são o 18 a 25 para ´terra´ e do 2 ao 9 para saida. As procedures acima ativam ou desativam todos os 8 Bits da porta(por isso pode-se escolher ou os pinos do 2 ao 9 ou algum deles). Sobre a porta serial o dido zener serve para estabilizar a tensão em 5 Volts(usar zener 5V1). Usar resistores de 470 Ohms no pino ´+´.



Responder

Gostei + 0

05/02/2008

Farnetani

Aproveitando, supondo que eu liguei o cabo na porta 25 e 2, como é que eu vou ligar o diodo zener agora?

Esse código usa a Porta Paralela(que ja vai enviar direto os 5Volts. ... Var porta:word; implementation function Out32(wAddr: word; bOut: byte): byte; stdcall; external ´xp.dll´; {$R *.dfm} //Saida alta(5V) procedure TForm1.Button1Click(Sender: TObject); begin Out32(porta,$FF);//porta=$278 LPT2(paralela 2)ou $378 LPT1(paralela 1) end; procedure TForm1.Button2Click(Sender: TObject); begin Out32(porta,0);//não esquecendo o valor da porta (tem que ser o mesmo) end; procedure TForm1.FormCreate(Sender: TObject); begin Out32(porta,0);//Quando se liga o pc a paralela fica instavel,melhor zerar end; ... Os pinos usados são o 18 a 25 para ´terra´ e do 2 ao 9 para saida. As procedures acima ativam ou desativam todos os 8 Bits da porta(por isso pode-se escolher ou os pinos do 2 ao 9 ou algum deles). Sobre a porta serial o dido zener serve para estabilizar a tensão em 5 Volts(usar zener 5V1). Usar resistores de 470 Ohms no pino ´+´.



Responder

Gostei + 0

05/02/2008

Kroki

Primeiro não me ´confunda´ rss..25 e 2 são os pinos e não porta!
Como te falei o diodo é para apenas a porta serial(para se obter 5v),na paralela não precisa o diodo.
O resitor é para limitar a corrente do pino.
Voce pode testar com um resistor de 100 Ohms.


Responder

Gostei + 0

05/02/2008

Kroki

Estive pensando bem,e como vc não tem experiencia em eletronica,melhor em vez do resistor vc tentar usar um diodo 1N4148 ligado ao pino 2(ja que é o pino 2 que vc ta usando).
O lado do diodo que não tem um ´risco´vai no pino 2 e o lado do ´risco´ vai para a catraca,desse modo vc tambem limita a corrente do pino e evita que uma tensão de retorno da catraca volte pelo pino.


Responder

Gostei + 0

05/02/2008

Farnetani

Entendi...entao, testei aqui com o cabo serial e o mesmo me deu 11.82 = 12v. Aí o esquema do zener funcionaria.

O problema foi que a porta paralela me deu apenas 3.33v. Engraçado que pelos comentários a mesma teria que dar 5v.

Mas se seu conseguir pelo serial através da reduçao pelo diodo zener blz!

Apesar de eu achar pelo esquema da paralelo mais fácil, o foda vai ser a voltagem faltante para completar os 5v.

Entao vc acha que seu ligar o cabo paralelo na catraca sem o diodo é capaz de ter retorno e queimar a porta do micro?

Estive pensando bem,e como vc não tem experiencia em eletronica,melhor em vez do resistor vc tentar usar um diodo 1N4148 ligado ao pino 2(ja que é o pino 2 que vc ta usando). O lado do diodo que não tem um ´risco´vai no pino 2 e o lado do ´risco´ vai para a catraca,desse modo vc tambem limita a corrente do pino e evita que uma tensão de retorno da catraca volte pelo pino.



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar