LusoRobótica - Robótica em Português

Software => C/C++ => Tópico iniciado por: pedroc em 08 de Março de 2013, 16:43

Título: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 16:43
Ora bem, pretendo fazer um robot algo diferente dos anteriores que ja construi.

BAsicamente, este robot tera 4 rodas (apenas duas motrizes), e um stepper no centro para girar para "esquerda/direita"

Ate aqui tudo bem.

O problema é que quero comandar isto tudo usando o PC, e obrigatoriamente tem de ser por cabo, seja ele qual for. Tem é de ter cabo.
Fiz um pequeno interface em VB.Net e agora falta so programar os botoes. Mas não sei como ligar o cabo entre o PC e o arduino.
Por USB não dá, que o cabo irá ter cerca de 20 metros, e a essa distancia é para esquecer. Por Serial ou paralela, não tenho "receptor" no arduino.

Assim, que aconselham? Que forma tenho?
O interface grafico numa primeira forma, é este
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg5.imageshack.us%2Fimg5%2F4459%2Fsp3220130308163955.jpg&hash=6be775dd11e595bc98fa80dad05c5440b3a7cd92)
Título: Re: Cotrondo de arduino por cabo
Enviado por: dio123 em 08 de Março de 2013, 16:56
nao percisa de ter cabo podes usar emissor e receptor rf 433mhz custa.te 1.50 euro.

Depois a ligação entre arduino e pc com ou sem cabo podes usar SerialPort.

Ontem fiz isto.
Enviar numeros para o arduino.

Citar
ligação
   SerialPort1.BaudRate = 9600
        SerialPort1.Parity = System.IO.Ports.Parity.None
        SerialPort1.DataBits = 8
        SerialPort1.StopBits = System.IO.Ports.StopBits.One
        SerialPort1.PortName = "COM4"

Butao ligar
  SerialPort1.Open()

botao enviar 
        SerialPort1.Write(track1.Text)
        System.Threading.Thread.Sleep(100)
        Label1.Text = SerialPort1.ReadExisting()
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 17:09
Ola Dio123,
O que acontece é que preciso MESMO de ter cabo. Pode não servir para nada o cabo, mas tenho de o ter "amarrado".
Daí pensei em usar esse "cabo" para envio dos dados.

Quanto a esse transmissor/receptor que falas, podes-me dar algum link, ou nome, para procurar no ebay no exemplo?
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 17:11
Ola Dio123,
O que acontece é que preciso MESMO de ter cabo. Pode não servir para nada o cabo, mas tenho de o ter "amarrado".
Daí pensei em usar esse "cabo" para envio dos dados.

Quanto a esse transmissor/receptor que falas, podes-me dar algum link, ou nome, para procurar no ebay no exemplo?

E já agora, qual o alcance do referido "receptor/emissor"?
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 17:13
Se falas por exemplo destes (e até tenho um conjunto em casa), como o ligo ao PC?
Entre arduinos é simples, mas como ligo o emissor ao computador?????

http://www.ebay.com/itm/1pcs-433Mhz-RF-transmitter-and-receiver-kit-for-Arduino-project-/261041100836?pt=LH_DefaultDomain_0&hash=item3cc7431824 (http://www.ebay.com/itm/1pcs-433Mhz-RF-transmitter-and-receiver-kit-for-Arduino-project-/261041100836?pt=LH_DefaultDomain_0&hash=item3cc7431824)
Título: Re: Controlo de arduino por cabo
Enviado por: senso em 08 de Março de 2013, 17:36
Arduino no pc ligado por usb com um modulo e outro modulo no robot.
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 08 de Março de 2013, 19:49
Boas,

Porta paralela:
-  "Ligação directa" (não é necessário qualquer "receptor"), mais fácil que isto é impossível, interface IO.

Porta serie:
-  MAX232 no arduino, fácil, comunicação serie nos dois lados.

Porta USB:
- CY7C6801x no arduino, complexo, necessário firmware + descritores. TRUE USB !!! FAST!!!

Porta USB:
- FT232 (ou seguintes) no arduino, fácil, comunicação serie (VCP) nos dois lados.

É um projecto comercial ?

Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 20:15
Arduino no pc ligado por usb com um modulo e outro modulo no robot.
Boas,
mas para isso preciso de 2 arduinos...
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 20:16
Boas,

Porta paralela:
-  "Ligação directa" (não é necessário qualquer "receptor"), mais fácil que isto é impossível, interface IO.

Porta serie:
-  MAX232 no arduino, fácil, comunicação serie nos dois lados.

Porta USB:
- CY7C6801x no arduino, complexo, necessário firmware + descritores. TRUE USB !!! FAST!!!

Porta USB:
- FT232 (ou seguintes) no arduino, fácil, comunicação serie (VCP) nos dois lados.

É um projecto comercial ?

Abraços,
PA

Boas,
Não, nada de comercial :) É um projecto para o meu "clube" :)
Como faço isso directo com paralelas? Não percebi...
Título: Re: Controlo de arduino por cabo
Enviado por: senso em 08 de Março de 2013, 20:35
Uma porta paralela com um cabo de 20 metros tambem não me parece que seja melhor ideia.
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 08 de Março de 2013, 21:09
Boas Pedro,

As portas paralelas são compostas de IOs TTL, ou seja, os pinos de dados da porta paralela podem ser ligados directamente aos pinos de uma porta IO do AVR uma vez que os valores de tensão variam entre +2.4v e +5.0v para os estados "high", e entre 0v e +0.8v para os estados "low".

Basicamente basta ligar os pinos da ficha da porta LPT (paralela) aos pinos digitais do arduino.

Aqui fica um esquema simples de como podes fazer isso em relação a um AVR, tens que traduzir as portas do AVR para as que queres usar no arduino. As resistências servem somente para uma protecção adicional, não são fundamentais, pessoalmente prefiro usar, mas já realizei esquemas em que as mesmas são omitidas.

Uma vez que vais ter um cabo longo, deves ter em atenção a integridade do sinal e a filtragem do mesmo. Como certamente não vais usar frequências muito elevadas, vais usar as linhas como simples comutadores on/off abaixo dos 10 hertz, basta uma resistência terminadora na saída do sinal (junto à porta paralela) para "casar" a independência do cabo com a impedância do AVR, para 20 metros aconselho algo na casa dos 300 ohms, e podes eliminar as resistências que estão no circuito em baixo. Em qualquer dos casos, e dependendo do PHY que o teu PC usa para a porta LPT, podes conseguir ao não os tais 20 metros, pessoalmente já consegui, com um velhinho PC.

A única desvantagem deste tipo de ligação é que vais ter um cabo possivelmente grosso e pouco maleável e que pode interferir com os movimentos.

Pensa em optar a solução com o MAX232, é estupidamente barato, e basta numa daquelas boards furadas para o acoplar ao arduino. Os sinais RS232 variam entre os -12V para um "low" e os +12V para  um "hight", logo podes ter cabos com apenas 3 condutores com mais de 100 metros.
 

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.microastro.com%2Ffotos%2FLPT_AVR.png&hash=36c192244d9d86f11c9153bdf2d3bccf69acc71f) 

Qualquer coisa diz.

Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 08 de Março de 2013, 21:41
Muito agradecido :)
E há limite de metragem, ou nem por isso?
Mesmo a 20 / 30 metros funciona bem?
E quanto ao FM anterior, qual a distancia a que ele "comunica"?
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 08 de Março de 2013, 22:07
Muito agradecido :)
E há limite de metragem, ou nem por isso?
Mesmo a 20 / 30 metros funciona bem?
E quanto ao FM anterior, qual a distancia a que ele "comunica"?

Boas,

Paralelo <= 5m OK <= 10m cabo blindado <= 20m é uma lotaria
USB <= 5m OK <= 100m com repeaters e extenders
Serie RS232 <= 100m OK


Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 00:23
Muito agradecido :)
E há limite de metragem, ou nem por isso?
Mesmo a 20 / 30 metros funciona bem?
E quanto ao FM anterior, qual a distancia a que ele "comunica"?

Boas,

Paralelo <= 5m OK <= 10m cabo blindado <= 20m é uma lotaria
USB <= 5m OK <= 100m com repeaters e extenders
Serie RS232 <= 100m OK


Abraços,
PA

Resta-me entao o RS232.. Vou ter de mandar vir um receptor para o arduino e espetar-lhe um ligação serie..
So uma achega: Se fosses tu a fazer isto qu epreciso, que solução usavas?
RS232 or RF?
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 00:33
Agora é que vi que o topico esta no forum errado...
Podem move-lo para o arduino pf?
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 09 de Março de 2013, 00:56
Resta-me entao o RS232.. Vou ter de mandar vir um receptor para o arduino e espetar-lhe um ligação serie..
So uma achega: Se fosses tu a fazer isto qu epreciso, que solução usavas?
RS232 or RF?

Boas,

Penso que a opção RS232 é a melhor,  nível de electrónica é simples (se precisares de ajuda apita), e a nível de software e firmware também pois facilmente controlas as portas serie (enviar e receber chars) no VB e no arduino.

Em termos de soft crias um protocolo muito simples, qualquer coisa no género "DIR", "ESQ", "UP", "DOWN", "CCW", "CW". Depois abres a porta serie no VB, quando um botão é premido envias a string correspondente para a porta. Do lado do arduino estás a ler a porta e quanto chegar uma string processas a mesma de acordo, por exemplo, recebes "DIR" e moves o robot para a direita, etc.

Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 01:17
recomendas algum receptor em especial?
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 09 de Março de 2013, 01:41
recomendas algum receptor em especial?


Boas,

Tens esta, já com todo feito, é só ligar ;) ... por 2 euros já com portes (como é possível este preço ???)
Só tens que ligar os pinos TX e RX aos pinos RX e TX do arduino:

RS232 Serial Port to TTL Converter Module MAX232 (http://www.ebay.com/itm/MAX3232-RS232-To-TTL-Converter-Module-DB9-Connector-for-ACM-Robot-Smart-Car-/271097484087?pt=LH_DefaultDomain_0&hash=item3f1eab5337)

Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pmj_pedro em 09 de Março de 2013, 01:48
porque nao usas do lado do pc um ftdi ligado directo a um rf transmiter e do lado do robo liga os receiver
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 09 de Março de 2013, 02:00
porque nao usas do lado do pc um ftdi ligado directo a um rf transmiter e do lado do robo liga os receiver

Boas,

Não leste o post inicial ... tem que ser por cabo.

PA
Título: Re: Controlo de arduino por cabo
Enviado por: tarquinio em 09 de Março de 2013, 05:18
Por acaso tambem tenho andado a fazer uns testes com comunicação série usando o arduino + MAX232, e já agora tambem tenho umas pequena dúvidas...
Queria saber se posso usar um cabo usado normalmente para Ethernet, e tambem se poderei ter várias ligações usando o mesmo cabo... Explicando um pouco melhor... Os cabos ethernet tem 8 fios. Poderei ter por exemplo 1 fio para o ground, e depois usar 2x3 fios para ter mais 3 ligações todas a passar no mesmo cabo? Ou causaria interferência? Estamos a falar de cabos nas dezenas de metros...

Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 09 de Março de 2013, 10:39
Por acaso tambem tenho andado a fazer uns testes com comunicação série usando o arduino + MAX232, e já agora tambem tenho umas pequena dúvidas...
Queria saber se posso usar um cabo usado normalmente para Ethernet, e tambem se poderei ter várias ligações usando o mesmo cabo... Explicando um pouco melhor... Os cabos ethernet tem 8 fios. Poderei ter por exemplo 1 fio para o ground, e depois usar 2x3 fios para ter mais 3 ligações todas a passar no mesmo cabo? Ou causaria interferência? Estamos a falar de cabos nas dezenas de metros...

Boas,

Se o sinal que vais passar no cabo tem os níveis RS232 não tens qualquer problema, mas tens que ter em atenção que a velocidade de transmissão tem que ser menor para cabos mais compridos.

Comprimento do cabo RS232 vesus Baud rate
     Baud rate      max metros
        19200             15
        9600               150
        4800               300
        2400               1000 (1Km)

Se vais passar sinais TTL/CMOS no cabo sem um driver de linha (como é o caso do MAX232) então tens que limitar o comprimento e possivelmente usar terminadores para compensar a impedância do cabo.

Não sei se me estou a fazer perceber, qualquer coisa diz.

Abraços,
PA
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 11:30

[/quote]

Boas,

Não leste o post inicial ... tem que ser por cabo.

PA
[/quote]

Ola,
Uma pequena correcção :)
A transmissao nao tem de ser mesmo por cabo..
Eu preciso que o robot esteja "amarrado" ao pc por qualquer tipo de cabo, mas ate pode ser um cabo de aço, sem função de comunicação.
Pensei em usar o mesmo cabo para passar a informação, mas pode ser por RF, sem qualquer problema.
Queria era usar a melhor função possivel
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 11:31
porque nao usas do lado do pc um ftdi ligado directo a um rf transmiter e do lado do robo liga os receiver

Ola pjm_pedro,
A que equipamento te referes? Podes por aí um exemplo por favor?
Abraço
Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 11:32
porque nao usas do lado do pc um ftdi ligado directo a um rf transmiter e do lado do robo liga os receiver
É a isto que te referes?
http://www.ebay.com/itm/FTDI-Basic-Breakout-USB-TTL-ASP-6-PIN-5V-for-Arduino-MWC-MultiWii-IMU-/251226343644?pt=LH_DefaultDomain_0&hash=item3a7e41c8dc (http://www.ebay.com/itm/FTDI-Basic-Breakout-USB-TTL-ASP-6-PIN-5V-for-Arduino-MWC-MultiWii-IMU-/251226343644?pt=LH_DefaultDomain_0&hash=item3a7e41c8dc)

Se for, como raio o programo? loooooool
Título: Re: Controlo de arduino por cabo
Enviado por: StarRider em 09 de Março de 2013, 12:50
Boas,

Sinceramente não sei que necessidade existe em complicar as coisas, se pode ser por cabo mas porque raio é que se quer complicar com a necessidade de usar um modulo FTDI (que usa o FT232 ou seguintes) + um modulo RF emissor + um modulo RF receptor ?
3 módulos para que ?

Pior ainda, se é para usar wireless mas porque é que estão a meter o FTDI (que não passa de uma VCP) ao barulho ? Porque não usar logo um transceiver USB do lado do PC ?

Abraços,
PA

Título: Re: Controlo de arduino por cabo
Enviado por: pedroc em 09 de Março de 2013, 13:23
ai que agora estou tão confundido :(
loooooooooool
Título: Re: Controlo de arduino por cabo
Enviado por: pmj_pedro em 09 de Março de 2013, 15:55
porque nao usas do lado do pc um ftdi ligado directo a um rf transmiter e do lado do robo liga os receiver
É a isto que te referes?
http://www.ebay.com/itm/FTDI-Basic-Breakout-USB-TTL-ASP-6-PIN-5V-for-Arduino-MWC-MultiWii-IMU-/251226343644?pt=LH_DefaultDomain_0&hash=item3a7e41c8dc (http://www.ebay.com/itm/FTDI-Basic-Breakout-USB-TTL-ASP-6-PIN-5V-for-Arduino-MWC-MultiWii-IMU-/251226343644?pt=LH_DefaultDomain_0&hash=item3a7e41c8dc)

Se for, como raio o programo? loooooool

Eu pensava que era so para transmintir informação, e nao para programar
nao sei se é possivel programar com um rf transmiter pelo meio

Se tivesse mos a falar em passar informaçao wirelless, podias smp usar um rf transmiter e um receiver, ou então bluetooth no micro controlador