Usb y labVIEW , entre otros

Saludos,la duda que tengo es donde van conectados los cable del usb,gracias






ah ok entonces ahi va si alguien lo necesita en 8.2 avisen
bueno pues aca va el codigo , esto solo es el codigo para probar el adc
Código:
#include <18F4550.h>
#DEVICE ADC=8
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
 
#define USB_HID_DEVICE FALSE //deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE 2 //size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 2 //size to allocate for the rx endpoint 1 buffer
 
#include ".\librerias\pic18_usb.h" //libreria suministrada por picc para el manejo de pic 18fxxx
#include ".\librerias\PicUSB.h" //Configuración del USB y los descriptores para este dispositivo ,ademas la identificacion del dispositivo ( id - vendor)
#include ".\librerias\usb.c" //handles usb setup tokens and get descriptor reportsç
 
void main(void) {
int8 recibe[2]; //declaramos variables
int8 envia[0];
int8 x,y,i;
int16 dato;
/*set_tris_b(0x00);
//set_tris_d(0x7f);
output_b(0x00);*/
 
usb_init(); //inicializamos el USB
usb_task(); //habilita periferico usb e interrupciones
usb_wait_for_enumeration(); //esperamos hasta que el PicUSB sea configurado por el host
                            //es decir esperar hasta que el dispositivo lo reconozca el pc
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
 
while (TRUE){
   if(usb_enumerated()){//si el PicUSB está configurado
       if (usb_kbhit(1)){//si el endpoint de salida contiene datos del host
         usb_get_packet(1,recibe,1); //cojemos el paquete de tamaño 1bytes del EP1 y almacenamos en recibe
           if( recibe [0]=='1'){//  si llego un "1" entonces activa el conversor  
               set_adc_channel(0);
               delay_us(4);
               dato=read_adc();
               delay_us(10);
               envia[0]=dato;
               usb_put_packet(1,envia,,USB_DTS_TOGGLE); //enviamos el paquete de tamaño 1byte del EP1 al PC**/
              }
           }
         }
      }
    }
este es el codigo para enviar el valor leido del conversor fue el primer ejemplo conversor a 8 bits despues lo mejore a 10 y se vio cierta mejoria

y en cuanto a los vi despues de hacer varios codigos pude concluir que es mejor utilizar el codigo , en si es decir sin llamar subvis a no ser que claro se invoquen dinamicamente que funciono igual , tambien me di cuenta que directa o indirectamente influye el pc en el que estamos corriendo ya que por experiencia una cosa era lo que yo observaba en la casa y otra lo que veia en la "u" cuando haciamos pruebas con otro equipo saludos y comenten sus experiencias para mejorar
 
hola, que tal..
Quisiera que me apoyaran para poder compliar esto codigos basic,,,
Los codigos ya estan hechos pero me marca un error de sintaxis quiera saber en donde esta mi error o porqu eno me lo complia..
Gracias a todos..
Subi los cogidos en rapidashare este es el link:

 
Hola a todos. No puedo recibir los datos que me envia el labview, creo porque estan en diferentes formatos, te adjunto la parte del programa del pic que hace esto: Bueno simplemetne cuando recibo el caracter x o a desde el labview me tendria que responder, pero nunca lo recibe. no entiendo el porque. Para probar esto estoy usando el ejemplo qeu trae labview que se llama "Basic serial Write and read".
Gracias.

do{
usb_task();
if (usb_enumerated()){ // Espera a que el dispositivo sea enumerado por el host.
if(usb_cdc_kbhit()){ // En espera de nuevos caracteres en el buffer de recepción.
if(usb_cdc_getc()=='x'){ //¿lo que llegó fué el caracter x?
printf(usb_cdc_putc, "Se recibe el caracter x.\n\r");
//si, entonces envía una cadena hacia el PC
}
if(usb_cdc_getc()=='a'){ //¿lo que llegó fué el caracter a?
printf(usb_cdc_putc, "Se recibe el caracter a.\n\r");
//si, entonces envía una cadena hacia el PC
}
}
}
}while (TRUE); // bucle infinito.

Hola otra vez. Estoy realizando los ejemplos de este foro, con un pic182550 y no puedo hacer funcionar la escritura, no me compara los datos. Yo puedo enviar perfectamente datos desde el pic al labview pero al reves no... Tengo que activar algo para que funcione?? Gracias.
 
Última edición:
Hola a todos y felictacionjs a @jokelnice les comento que hace una semana empeze a realizar una tarjeta la que publico elector en su revista de Novoembre del 2007 el cual trabaja con el visual c++ 2005 expres edition; yo lo junte todo y la subi en rapidshare en incluso le rediseñe el circuito impreso en Orcad y ahi les mado todo para que la desarrollen

Bueno ahora si mis peros, espero @jokelnice me pueda ayudar con la experiencia que ha adquirido.
La tarjeta que presente ahora la quiero usar con el labVIEW y ahi consegui un totorial en NI http://zone.ni.com/devzone/cda/tut/p/id/9019 usando claro el NI VISA y logre que el NI VISA me reconociera el sipositivo; bueno lo que no he podido hasta ahora es configiara las entradas y salidas claro que como ya vieron cuento con los descriptores con el firmware y el dirver de Microchip pero El sasitente de VISA me pide Requeste Type, Request, Value e INDEX; y no he podido configurar esto ahi encontre un ejemplo en la pagina de NI http://zone.ni.com/devzone/cda/epd/p/id/3637 claro como ya se dieron cuenta estoy en el modno USB CLASS RAW, espero sus resupuestas lo más pronto posible y asi terminar con este proyecto para qeu los demas no tan expertos como yo la pueda usar; ah y lo que quisera es no modificar el firmware si es necesario, vaer si em dan otra salida, estre al tanto de sus respuestas
 
Última edición:
Compañeros del foro tengo un inconveniente con un equipo, puedo recibir los datos en el hiperterminal pero al momento que quiero hacerlo en el labview me sale basura, adicional a ello se que el equipo me envia la información en ASCII, cualquier ayuda sería de fundamental para resolver este pequeño inconveniente.
 
Saludos Amigos.. Espero esten bien.. He estado de foro en foro.. Jeje.. Buscando ayuda pues soy nuevo en el uso del Labview y me tan pidiendo una aplicación, ya he hecho avances presto q he investigo mucho.. Pero aun estoy encerrado en muchas cosas y pss.. La aplicacion trata de diversas pruebas que se le hacen a la una señal generada de un PLC's basado en control logic, a esas señales se le deven aplicar unos parametros, un limite maximo y un minimo asi como unos criterios de convergencia, fiscalizacion o de no convergencia.. Ya yo eso lo hice y todo esta correcto... Mis dudas son..

Bueno, como establecería el tiempo de duración de una prueba en labview.. Es decir, establecer un control donde yo ingrese el tiempo determinado que durara la prueba.. Todos lo que he provado solo me dice el tiempo q va corriendo durante el transcurso de la prueba.. y bueno.. a parte de eso..!!

Al determinar un criterio de convergencia, como le hago para establecer un periodo de duracion para una señal nada mas.. Es decir; q el criterio de convergencia se le aplique a esa señal durante un perido determinado.. 20 Min por ejemplo.. Lo intente con estructuras for anidadas pero no me resulto..

Espero me puedan ayudar..!!
 
ola jokelnice como vas bueno primero q todo queria pedirte un favor y es el siguiente tu me posria ayuidar a conseguir un manual mas omenos completo para labview o recomendar un libro y q posiblemente tenga el tema de comunicaciones con serial o usb y antemano muchas gracias me parece un software muy poderoso para electronica mecatronica y comunicaciones
pd yo se que es muy loko pero ps solo por curiosidad estarias interesado en hacer un manual como el que esta desarrollando jhonatahan moyano o meta son muyy buenos aunque el de moyano no esta completo y no creo que no complete en un buen rato

viva colombia!!
 
Buenas compañeros
quiero decirle que esta excelente el foro y que me ha ayudado bastante
En este momento tengo un problema , estoy realizando la comunicacion por el metodo cdc , queme mi programa todo perfecto y lo probe en un equipo de escritorio el cual es bastante viejito y me sirvio la comunicacion usb con labview muy bien.
Pero en el momento de porbarlo en un portatil me reconoce el dispositivo pero no hace nada el programa no responde a ninguna orden que le doy en labview, quisiera saber si con los portatiles esta comunicacion no sirve .
Adicional a esto detecte que el program en labview me esta generando en el error out el siguiente mensaje . (en status sale una x y en la casilla este numero de error 27777600236 )
Agradesco que me pudieran colaborar
 

Adjuntos

  • Error.rar
    2.6 KB · Visitas: 71
que onda soy principiante en esto y la verdad me gustaria enseñarme a usar labview donde lo podria descargar gratuitamente? y conseguir un tutorial en español? que conocimientos devo de tener para empesar en esto.
 
que onda soy principiante en esto y la verdad me gustaria enseñarme a usar labview donde lo podria descargar gratuitamente? y conseguir un tutorial en español? que conocimientos devo de tener para empesar en esto.

lo bajas desde la pagina oficial de national instruments, pones en el google "ni" te vas a la seccion labview luego a download :B, te bajas directo el programa, lo puedes usar gratuitamente por 30 dias o puedes comprarlo. Investiga para mas opciones.

En el mismo labview trae una introduccion al programa muy buena, lo demas depende de lo que quieras hacer porque aprender todo, pues lleva mucho tiempo.

En español, mejor te recomiendo que aprendas ingles porque con estas cosas el idioma va a ser una barrera que te seguirá siempre en este caso no se necesita un alto nivel para manejarlo, puedes descargar manuales en otros foros, etc.
 
Hola a todos, hace un ratilloque no escribia en este foro.

Espero me puedan ayudar, tengo que medir el voltaje de la linea de AC, que aqui en México es de aproximadamente 120 volts a 60 Hz, y metrlo a unos comparadores para activaro desactivar alguna craga según si el voltaje este mas alto o mas bajo de la referencia.

El detalle es que no debo de utilizar un transformador para bajar el voltaje porque voy a tener lecturas erroneas, por lo tanto, tengo que recificar directamente de la linea y filtrar para que me de un valor de DC, esto es sencillo, lo que no se es como puedo bajar este voltaje "tan alto" (de aproximadamente 150V)y meterlo a los comparadores o a un amplificador operacional o incluso a un PIC y transmitirlo por USB.

Segun yo habia visto que alguien del foro habia graficado la señal directamente de la linea de AC, por eso pregunto.

Si me pueden ayudar les agradeceria.
 
Hola, mi problema esta siendo con el reconocimiento del puerto, apenas trato de correr tu ejemplo o los incluidos me manda un error de un dispositivo ViSA¡¡¡ :confused: veo que a ustedes no les dió problema.

error_serie.png


Uso Labview 8.2 pensé que era pro eso pero tu también lo usaste, pero como has hecho si este en los dispositivos IO solo incluye a VISA serial y no a serial solo??


Saludos y gracias
 
Última edición:
Ya probaste si los controladores de tus puertos de salida estan bien instalados?lo podes ver en el panel de control

y hacia que interface estas transmitiendo?porque no sera que traia drivers claro dependiendo que estes haciendo!

un gusto de volverte a ver EinSoldiaGott!

SONIUS
 
Ya probaste si los controladores de tus puertos de salida estan bien instalados?lo podes ver en el panel de control

y hacia que interface estas transmitiendo?porque no sera que traia drivers claro dependiendo que estes haciendo!

un gusto de volverte a ver EinSoldiaGott!

SONIUS

Que tal SONIUS saludos, te diré que si era relacioando con drivers, pero no de mi compu sino de NI.

Dejo el link de descarga para quien le ocurra lo mismo, son gratuitos.

NI-VISA

Saludos y Gracias
 
Atrás
Arriba