Interfaz de control para PICs USB-BULK (LabVIEW - C#)

Ambos... Tengo el circuito ARMADO y al correr el vi de la interfaz me dice que esta desconectado.
Tengo también el driver de este link que también leí que es necesario pero nada.
El administrador de dispositivos de windows me dice que el mejor software para el driver ya esta instalado cuando le doy actualizar.
 
Última edición por un moderador:
Ambos... Tengo el circuito ARMADO y al correr el vi de la interfaz me dice que esta desconectado.
Tengo también el driver de este link que también leí que es necesario pero nada.
El administrador de dispositivos de windows me dice que el mejor software para el driver ya esta instalado cuando le doy actualizar.

amigo ya checaste que la conecxion este bien te reomiendo que chekes en especial el capacitor del VUSB te lo digo porq ami me dio el mismo problema y eso era lo que fayaba, tambien checa tu pin numero 1 del pic es decir el reset checa en el ccs q este configura como hadware y no como software

ami tambien me dio el mismo problema y batalle mucho pero al final solo era el capacitor y que el reset taba configurado como sofware por lo q no ocupa la resistencia aterrizada a 5v checate eso y mas que nada la conexion en el proto,, un saludo



En esta ocasión vamos a realizar una interfaz de control y adquisición de datos mediante puerto USB (modo "BULK Transfer") utilizando un PIC 18F2550 (puede usarse cualquier otro con función USB). A través de esta interfaz pueden realizar instrumentación virtual que les permita llevar a cabo el control de procesos externos mediante una PC, registro de datos, etc.

No voy a explicar en detalle cómo funciona la comunicación USB en modo BULK ya que hay mucho información en la web sobre el tema. Este modo se utiliza para la transmisión masiva de información, sin pérdida de datos y sin la necesidad de emular un puerto serie, como hace el modo CDC.

La idea es que puedan tener como ejemplo las distintas posibilidades de entradas y salidas (analógicas y digitales), para luego utilizar tantas como deseen en cada caso en particular. El proyecto que les voy a mostrar a modo de ejemplo presenta:

  • 2 Entradas digitales.
  • 1 Entrada analógica (10 bits).
  • 2 Salidas digitales
  • 1 Salida analógica (PWM + DAC R-C)

El esquema del mismo está incluido en el archivo adjunto y fue realizado en Proteus. Para utilizar mayor cantidad de I/O, sólo es necesario adaptar el firmware siguiendo el ejemplo dado y luego el software de acuerdo a las operaciones a realizar deseadas.

En el adjunto pueden encontrar lo siguiente:

  • Esquema básico del proyecto presentado
  • Driver
  • Firmware
  • Software LabVIEW
  • Software Visual Studio 2010 (C#)

El firmware está escrito en lenguaje C, mediante PICC (CCS) y para el software de control voy a dar 2 ejemplos, uno escrito en C# (Visual Studio 2010) y otro en LabVIEW. Ambos utilizan la dll “mpusbapi” para el control de las funciones del puerto (para LabVIEW se creó un Subvi específico para tal fin) y llevan a cabo las mismas tareas de leer las entradas (digital y analógica); y activar las salidas digitales, además de asignarle un valor al PWM de la salida analógica. Por otro lado, es requerido un driver para que el sistema operativo reconozca la interfaz, el cual también es provisto.

Vista del software de LabVIEW:

Ver el archivo adjunto 74003

Vista del software de Visual Studio:

Ver el archivo adjunto 74002

BulkUSB_MN (SubVI LabVIEW):

Ver el archivo adjunto 74001

Interfaz ejemplo mostrada en este proyecto:

Ver el archivo adjunto 74004

Les debo para la próxima el video del funcionamiento (no tengo la cam), todo lo posteado está probado y funcionando correctamente. Espero realicen sus propios proyectos de instrumentación virtual y comenten los resultados.

Saludos!



amigo la verdad te felicito por tu esfuerzo tu proyecto me sirvio de mucha ayuda para relizar mi DAQ ahora el problema es el siguiente realize una libreria como la tuya, USB_BULK_MN pero aun no funciona igual de bien como la tuya la verdad espeor un poco de ayuda de tu parte, tendras algun correo para poderte enviar mi libreria y chekes en que puede estar fayando, aclaro la libreria jala bien pero cuando desconecto el dispositivo ya no la reconoce ocupo detener el programa en labview y resetear el pic y veo que la tuya funciona perfectamente

saludos desde zacatecas mexico
 
Última edición:
No me queda claro de lo del pin1, estoy grabando el pic tal y como viene el la programación de ccs,y para lo del reset tengo un push botton para reseater, y pues el capacitor esta como debe... Seguiré intentando y luego explico...
 
Última edición por un moderador:
Hola amigo mnicolau.
Muy buen trabajo, se ve de perla.
Tengo un problemilla para simularlo. Mi sistema operativo es XP, y tengo proteus 7.10
Cuando intento simularlo, me pide los driver, pero no me acepta los que alli hay.
Tiene alguna idea de por que?
"los driver los busco en la carpeta drivers de tu aplicacion..
 
Hola gente, yo también he tenido varios problemas con la simulación, armen el circuito y verán que funciona correctamente la comunicación, está más que probado ya (lo pueden ver en las imágenes del 1º post).

PD: coincido con Gumen, es fundamental el capacitor de 470nF desde el pin "Vusb" a GND.

Saludos
 
Última edición:
oigan no logro instalar el driver, alguien q m diga paso a paso.. Lo k toy aciendo es grabar en el pic el firmware d la interfaz, he copiado a windows,system32 los archivsdl driver y he seleccionad manualment instalar el driver y nada... Auxilio
 
NO NO no.
Lo que tienes que hacer, es conectar la interfaz fisicamente al laptop a pc, lo que tengas.
Cuando lo reconosca, aparecera una pantalla que pide instalar los drivers; te dara opcion de conectar a internet para buscalos, le marcas no en el momento, siguiente, buscar manualmente, y te diriges a la carpeta donde estan los driver, pinchas sobre la carpeta drivers, le das aceptar y despues siguiente al asistente, y listo el los instalara..
 
Ya probé eso y nada. Seguiré probando, por el momento no me funciona aun.
Aunque no logro conseguir el oscilador de cuarzo a 48MHz ni a 20MHz, solo a 4MHz, de hecho la interfaz la modifique a esa pausa.
 
Última edición por un moderador:
Ya probé eso y nada. Seguiré probando, por el momento no me funciona aun.
Aunque no logro conseguir el oscilador de cuarzo a 48MHz ni a 20MHz, solo a 4MHz, de hecho la interfaz la modifique a esa pausa.


puede trabar con 4,8,12,16 o 20MHz.. cristal de 48Mhz no vas a conseguir en ninguna parte

el PLL para 4 es 1
el PLL para 8 es 2
el PLL para 12 es 3
el PLL para 16 es 4
el PLL para 20 es 5
 
ya logre solucionar mi problema con al librería una pregunta amigo, ¿con cuantas entradas análogas al mismo tiempo has probado tu programa? porque conmigo la verdad al leer 5 entradas se hace medio lento dependiendo de la computadora.
 
Última edición por un moderador:
No amigo ya lo tengo hasta en tarjeta, pero al momento de leer una entrada anda bien, pero al conectarle ya 5 entradas y graficarlas se hace algo lento, ¿a que crees que se deba o es algo natural? oye otra duda más. ¿se podrá poner un filtro en labview? ya que mi señal entra con un poco de ruido y la ocupo muy fina, Gracias.
 
Última edición por un moderador:
buen dia acabo de encontrar tu tema y me interesa desarrollarlo, pero tengo un problema, mi version de labview es 8.5 no me puedes guerdar el vi en esta version. Te lo agradezco de antemano. Saludos
 
Buen día Gerardo, te adjunto para la versión 8.5.

GNM, subí el programa así lo reviso.

Saludos
 

Adjuntos

  • Control Interfaz USB - Modo BULK (8.5).rar
    67.2 KB · Visitas: 222
Buen día Gerardo, te adjunto para la versión 8.5.

GNM, subí el programa así lo reviso.

Saludos

Saludos mnicolau gracias ya resolvi el problema que tenia y pues solo era la computadora que traia un procesador muy chafa pero al ponerla en una normal jalo perfectamente.... te comento que estoy aciendo un brazo robotico con labview mediante comunicacion bulk... la idea es esta controlar 5 o 6 servos con PWM mediante software, gracias a la libreria de dinoelectrico eh podido tener avances y ya puedo controlas 8 salidas pwm desde labview el problema es la frecuencia los calculos tienen que ser exactos porque los servos son muy delicados tu no te sabes las formulas para calcular PWM por software mediante ccs?? o que conoscas algun metodo para complementar lo anterior??

Pic18f2550
cristal a 20Mhz
pero con el PLL a 48Mhz

Frecuencia deseada 50hz por cada PWM


GRACIAS
 
Saludos mnicolau gracias ya resolvi el problema que tenia y pues solo era la computadora que traia un procesador muy chafa pero al ponerla en una normal jalo perfectamente....

Pic18f2550
cristal a 20Mhz
pero con el PLL a 48Mhz

Frecuencia deseada 50hz por cada PWM


GRACIAS

¿Que tal GNM?.. Oie podrias adjuntar tu archivo, es que no he podido añadirle mas salidas analogicas.. Un saludo y de antemano gracias
 
hola muy buen proyecto,quisiera saver si me puedes ayudar lo que pasa es que tengo un problema ala hora de ejecutar la simulacion en el labview me dice interfaz no encontrada no se si puedas ayudarme con eso.gracias de antemano.:confused:
 
Atrás
Arriba