LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: c3dr1c em 02 de Janeiro de 2012, 17:17

Título: Labview - Arduino
Enviado por: c3dr1c em 02 de Janeiro de 2012, 17:17
Boas.

Recentemente comecei a trabalhar com o labview e como montei um arduino queria liga-lo, pois uma placa de aquisição da NI é muito cara :P

Fui ao site da NI ver como fazia a ligação e segui todos os passos, mas nao consigo correr nenhum programa... La eles utilizam os drivers VISA ou algo do genero.... O led do arduino da sinal quando faço play no programa mas depois da erro... axo k o 5002...

Agora eu acho que o meu problema é o facto das instruções deles serem para utilizar com o arduino propriamente dito (com conversor FDTI). COmo montei o meu com o CP2102 da Silicon Labs acho que da problemas...

Alguem sabe alguma coisa sobre este assunto?

Cumprimentos
Título: Re: Labview - Arduino
Enviado por: maurosmartins em 02 de Janeiro de 2012, 17:43
Olá c3dr1c,

No fórum existem várias coisas sobre porta série e labview, uma minha e a outra do Pauleta por exemplo estão aqui.

http://lusorobotica.com/index.php?topic=2706.msg27045#msg27045 (http://lusorobotica.com/index.php?topic=2706.msg27045#msg27045)

http://lusorobotica.com/index.php?topic=1315.msg13003#msg13003 (http://lusorobotica.com/index.php?topic=1315.msg13003#msg13003)

o facto de ser FTDI ou outro deve ser irrelevante, se estiverem a funcionar correctamente para o PC são portas série.

e sim as drivers VISA tem de estar instaladas.

Cumps, Mauro.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 12:31
Muito obrigado pela resposta.

Entao segundo o que percebi tenho de instalar os dois drivers do link que me deste. Mas um dos links para um dos drivers nao funca bem como os anexos. Alguem me consegue arranjar isso?

Eu tinha instalado os drivers visa, nas portas "COM" virtuais, criadas pelos drivers da silicon labs (CP2102), que eu pensava que nao eram compativeis. Quando o fiz, deixei de ter acesso ao arduino via processing, pois a porta ja estava em uso por outro software, neste caso o visa... penso eu...

Uns prints:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg408.imageshack.us%2Fimg408%2F4471%2F54430461.png&hash=19a92939f284c3f6dfbce7752c3701b2209fe69d) (http://img408.imageshack.us/i/54430461.png/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg444.imageshack.us%2Fimg444%2F6300%2F30461862.png&hash=079b5c3af2f07497e8bacfabb874cb80c93e1e22) (http://img444.imageshack.us/i/30461862.png/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg26.imageshack.us%2Fimg26%2F5989%2F39386646.png&hash=904a940de0d1fc27ff1ffc233ebbb3d09d61c6c8) (http://img26.imageshack.us/i/39386646.png/)

Ja agora é possivel fazer uma daq tipo a da NI com canais diferenciais? Com o arduino so consigo ter como referencia o 0V certo? Para fazer essa daq tinha de aprender programar PIC certo? Ou ja existe codigo disponivel para PIC, para isso? Bem como circuitos disponiveis...
É que uma daq por 200 e tal euros, é mesmo muitíssimo dinheiro  :(

O labview é maravilhoso :D E tenho a ideia que me vai dar muito jeito aprender a programar em labview, em termos de futuro profissional...

Neste momento tenho um mini projecto para uma cadeira, de controlo de temperaturas, e tá-me a dar uma granda gozo :D
Ainda por cima encontrei um bom tutorial da CINEL para me introduzir ao labview.

Cumprimentos e obrigado
Título: Re: Labview - Arduino
Enviado por: maurosmartins em 03 de Janeiro de 2012, 14:11
Olá c3dr1c, acho que vai aí algum confusão!

As drivers que te são fornecidas para o CP2102 da silicon labs vão-te criar uma porta série virtual e é isso que pretendes!

A VISA é só um componente do labview que te permite (entre outros) "falar" com as portas série!

por isso, tens de ter a porta serie virtual a funcionar correctamente e dps ttas aceder.

Em relação aos canais diferenciais, o PIC também nao tem disso, o que podes fazer é usar dois canais ADC e alguma electronia (por exemplo para "escalar" as tensões de entrada entre 0 e 5V ou 0 e 3.3 conforme seja o caso) e dps em software fazes a diferença entre os canais.

Concordo que o labview é uma ferramenta interessante, no entanto devido ao preço elevando não é qualquer empresa que trabalha com ele.

Cumps, Mauro.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 19:35
Interessante issa ideia em relação aos canais diferenciais. E nem parece muito difícil. Bem como que, com o arduino conseguia fazer isso, certo?


Bem entao seguindo a tua ordem de ideias quanto ao labview - arduino, eu instalei os drivers da silicon labs, utilizando a porta COM4.
Programei o arduino com o codigo da NI utilizando o processing, atraves da porta COM4.
Instalei o labview e o VI Package para instalar um package da NI, para conectar o arduino ao labview. Instalei também os drivers Visa.

Entretanto abri o Measurement and Automation Explorer e o Visa interactive control. Quando carreguei no Visa Interective Control em ASRL4::INSTR (a negrito), aparecereu a port COM4 no Measurement.

Ate acho que tudo bem.

Depois fui ao gestor de dispositivos, vi que a porta COM4 tinha ficado com um conflito qualquer. Antes de fazer o passo anterior no Measurement e no Visa Control, tava tudo bem.

Tentei usar o processing e nao deu. Tentei usar um VI da NI e dava aquele error out, marcado com um visto verde (acho que quer dizer que ta tudo bem, certo?). E dava-me alguns valores para a tensão. Mas se retirar o arduino faz a mesma cena  ???

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg809.imageshack.us%2Fimg809%2F4292%2F54317110.png&hash=63fb67b24d7259cd982eb0f38d37948323b2069e) (http://img809.imageshack.us/i/54317110.png/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg580.imageshack.us%2Fimg580%2F156%2F22914925.png&hash=43b0d03dd7fa339097837866fed5fcd9b667725a) (http://img580.imageshack.us/i/22914925.png/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg684.imageshack.us%2Fimg684%2F5838%2F85318763.png&hash=06f862c7920510b8168c7b092ad075d25f2c7a01) (http://img684.imageshack.us/i/85318763.png/)

Cumprimentos e obrigado

Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 20:07
Boas. Peço desculpa por duas mensagens seguidas.

Já consegui resolver o conflito. No gestor de dispositivos já está tudo bem. E já consigo utilizar o processing. No Measurement e no Visa Control também tudo OK. Desta vez estou a utilizar a COM3.
Agora no labview da erro.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg689.imageshack.us%2Fimg689%2F1443%2F98958948.png&hash=85dca9fc5999346c28380d68c6302eee8b5c96c0) (http://img689.imageshack.us/i/98958948.png/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg859.imageshack.us%2Fimg859%2F7502%2F27030720.png&hash=97924c42256f82299fe86440dcd1dbe7ac224449) (http://img859.imageshack.us/i/27030720.png/)

Acham que pode ser algum código mal escrito no VI ou na interface programada no arduino?

Título: Re: Labview - Arduino
Enviado por: maurosmartins em 03 de Janeiro de 2012, 21:56
c3dr1c,

acho que devias usar um programa mais simples como o que disponibilizei no post que indiquei, assim podes
saber se está tudo ok e dps ttas perceber o que se passa com o exemplo da NI que parece mais complexo.

também podes pesquisar no google o erro, pode ser que apareça alguma coisa.

Cumps, Mauro.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 22:08
Tive a investigar os sub VI's e cheguei à seguinte conclusão... e ao seguinte VI:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg215.imageshack.us%2Fimg215%2F6829%2F72021830.png&hash=a3383906426cae3b681f7577b36730619d3fd0dc) (http://img215.imageshack.us/i/72021830.png/)

Nao consegue receber bits de dados do arduino. Penso eu que seja isto. Mas daqui pa frente nao sei por onde continuar a investigar. A interface programada no arduino? Os drivers?

Bem vou dar uma olhadela no teu programa e ver se tiro conclusões.
Mas se usar o teu VI nao tenho de programar uma configuração especifica no arduino?

Isto apesar de me andar a moer a cabeça à uns dias começa a ser interessante na analise de VI's. Muito fixe para quem é um novato como eu  ;D :P

Abraços

Título: Re: Labview - Arduino
Enviado por: maurosmartins em 03 de Janeiro de 2012, 22:21
 c3dr1c,

no meu exemplo eu usei um "protocolo" que apenas consistia numa string em ascii com o numero e dps os caracteres '\r' e '\n' algo deste género


22\r\n

isso significa 22cm e é o que o labview le da porta serie e mostra no indicador, por isso é mto simples de implementar isso no arduino.

Cumps, Mauro.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 22:46
Consegui!!!!!!!!!!! Baud Rate 115200 ehehehehe

Obrigado pela ajuda dada. Ufa tava a ver que nao descobria...
Vou começar a desenvolver o VI para controlo de temperaturas.

Cumprimentos
Título: Re: Labview - Arduino
Enviado por: maurosmartins em 03 de Janeiro de 2012, 22:53
com o meu vi?

agora é continuar!

Cumps, Mauro.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 03 de Janeiro de 2012, 23:08
Nao propriamente, mas ajudou a entender outros detalhes. Muito obrigado pela tua ajuda :D

Agora, termistor, ponte de wheastone, amplificador, labview :D

Thanks e cumprimentos.
Título: Re: Labview - Arduino
Enviado por: c3dr1c em 10 de Janeiro de 2012, 19:33
Boas pessoal ja programei o meu termostato para o meu forno em labview... ta a ser muito divertido...

Agora tenho é umas duvidas... Para ler a temperatura com o termistor posso usar uma ponte de wheatstone com uma saída entre 0 e 5V (arduino)?

Vou ter de caracterizar o termistor para calcular a temperatura correcta, descobrindo o valor de beta e de r0.... Para caracterizar tenho de recorrer ao método da agua a ferver e agua gelada ou analiticamente chego la?

Tenho de calcular a potencia dissipada tambem...

Ja agora o termistor é de 10K NTC. Isto quer dizer que para a temperatura ambiente tem uma resistência interna de 10K e que a resistencia diminui com a temperatura certo?


A interface do arduino ja traz um programa de leitura de termistor, mas parece-me estupido pois nao se faz indicação nenhuma sobre o termistor que estamos a utilizar.

Cumps pessoal