DAQ USB con pic 18f4550

#62
hola jesores... deberas investigar si microchip te da los drivers para esos sistemas operativos ( hasta que yo se solo hay drivers para WINDOWS de 32 y 64 bits...

en ultimo de los casos deberias desarrollar tu el driver cosa que creo es bastante complicada, para los que no conocemos mucho de USB 2.0...

saludos!!!
 
#63
hola dinoelectro yo estoy realizando una tarjeta utilizo hid ya se controlan 8 leds y 6 entradas analogas ya tengo abierto un tema pero ps no he tenido suerte de que lo lean pero aqui de dejo mi avanse solo faltaria activar cuatro entradas digitales y dos salidas analogas sin mas me dispido ..
 
#64
... excelente Tecnico donde lo puedo revisar? si es HID mucho mejor todavia!!!
a ver si nos dedicamos a la parte del software tambien.. seria interesante construir una libreria de clases para usarlo con labview o visual basic...

saludos tecnico
 
#66
Una pregunta, estoy intentando controlarlo en el VB 2010 y la verdad no es que lo sepa usar del todo, hice este código para las salidas digitales, aunque quizás no es la mejor forma.
Código:
    Sub DigiOut(ByVal Port As String, ByVal Data As String)
        Dim buffer As Byte() = New Byte(4) {}
        buffer(0) = 42 '*
        buffer(1) = 65 'A
        buffer(2) = Port 'Puerto a escribir
        buffer(3) = Data 'Dato a escribir
        buffer(4) = 13 'Fin de comando
        SerialPort.Write(buffer, 0, 5)
    End Sub
Así solo lo convoco escribiendo "DigiOut(numero de puerto, bit a colocar)" y funciona bien, pero ya no se como leer los datos de entrada, ¿podrían darme un ejemplo? :confused:
 
#67
por ejemplo para leer la entrada analogica AN0

debes enviar el comando *C0#13

es decir en lenguaje basic quedaria:

"*C0" & vbcrlf

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Not (SerialPort1.IsOpen) Then
SerialPort1.Open()
SerialPort1.Write("*C0" & vbCrLf)
adcvalue1 = SerialPort1.Readline
Label2.Text = adcvalue1
SerialPort1.Close()
End If
End Sub
 
Última edición:
#68
Pues entonces no se que hago mal, cuando pongo el SerialPort1.Readline() se congela el programa, es como si no recibiera el final de la linea.:confused::confused::confused:
 
#69
Pues entonces no se que hago mal, cuando pongo el SerialPort1.Readline() se congela el programa, es como si no recibiera el final de la linea.:confused::confused::confused:

hola nuyel.. te dejo un ejemplo de como leer la puerta analogica A0 y activar el pin D0... espero eso te ayude

consejo:
utiliza serialport1.readexisting()
y aprovecha el evento datareceived
 

Adjuntos

Última edición:
#70
Gracias, ya con eso pude hacerlo

La verdad es la primera vez que uso un PIC y también que intento acceder a datos de un recurso en Basic, todos mis programas en basic solo hacían bonitas ventanitas con botones para presionar :LOL: además como estudio ingeniería electromecánica solo nos dieron un curso básico con pseudocódigo, apenas acabó de descubrir como se hacia el gráfico :LOL:, como pregunta, se supone que estoy haciendo un electrocardiógrafo, la frecuencia de corte superior del circuito amplificador se supone es de 150Hz y según el teorema de Nyquist necesitaria un muestreo a 300Hz pero me imagino esto tiene limitaciones con la velocidad de 19200 baudios y eso de tener que transmitir 4 caracteres y recibir 8 ¿cual seria el mejor valor para el evento del timer y recibir la mayor cantidad de samples posibles?
Lo único que me faltaría seria modificar el registro del microcontrolador por que necesito que la referencia positiva provenga del un regulador de bajo ruido para tener filtrada la fuente análoga de los amplificadores ya que veo que salta mucho (con eso de que el multimetro me detecta de 5.1V a 5.09V en el puerto y teniendo que amplificar una señal de 1mV eso estaría muy jodido:LOL:), pienso usar los INA333 y OPA2333 a 3V, las terminales de entrada que no use ¿las conecto directo a VDD o VSS?
 
#71
hola nuyel, nunca e construido un electrocardiografo, asi que no podre ayudarte mucho con eso.. sin embargo te comento que este DAQ lo he mejorado muchisimimo, ya no utilizo la calse CDC, sino mas bien HID... la velocidad de comunicacion es 64KBytes por segundo por lo que basta y sobra para aplicaciones en electromedicina... ahora mismo lo estoy documentado y la proxima semana lo posteare..

saludos cordiales!!!
 
#72
Mmmm... pues ya veré como es el nuevo diseño, por ahora el que pueda trazar la gráfica me basta para poder comenzar con el circuito análogo, pero si me gustaría poder usar VREF+ (AN3) con otro voltaje para tener bien filtrada la fuente análoga de la del circuito digital, lo otro que se me ocurre es hacer dos fuentes a 3,3V creo que con esa solo habría que conectar el terminal VUSB a VDD y desactivar el regulador del PIC
 
#73
hola dinoelectro, la verdad me parece muy interesante tu proyecto; en el instituto la verdad solo existen 2 daq para toda la carrera, y resulta ser un material demasiado caro y muy últil; sería de gran apoyo me pudieras compartir el resultado de proyecto, ya que me parecería muy viable. Gracias :)
 
#75
Muchisimas gracias por tu aporte, tengo buen rato buscando un diseño como este es que e tratado de hacerlos en ares y proteus por mi parte pero al tiempo de pasarlo a ares no me reconoce algunos de los dispositivos utilizados y es un buen problema, tendré que implementarlo ya después comparto si me funciono
 
#77
Hola yo soy nuevo y he llegado hasta aqui buscando la forma de meter datos por usb para presentarlos en un programa que estoy desarrollando en Delphi 7 y consiste en una grafica que se va desplazando un pixel cada 5 segundos y grabando cada 5 segundos en un archivo que se genera automaticamente en cada cambio de mes. lo estoy preparando para guardar dos canales analogicos de 8 bits pero lo modificaré para 10 y hasta 70 datos digitales.
El proyecto está en pañales pero deseo compartirlo con vosotros en
https://hotfile.com/dl/187136604/92d8422/7_grafica_5.rar.html
me contais algo.
 
#78
Sigo mejorando el sistema de adquisicion de datos y representacion.
En esta ocasion puedo representar dos canales analogicos de hasta 10 bits y 55 datos binarios mediante una grafica en Trendline con una frecuencia en este caso de 5 segundos.

https://hotfile.com/dl/191759079/9d1e6df/Grafica_10_2.rar.html

Me gustaria que expusierais vuestras sugerencias.
 

Adjuntos

Última edición por un moderador:
#80
por ese motivo he llegado a este foro.
Ya he adquirido el 18f4550 y poco a poco me pondre con ello.
Intentaré empezar utilizando el compilador CCS_PCWHD_v.4.093 que es el que siempre he utilizado en mis anteriores proyectos con el 16F877A-20MHz.
gracias.
 
Arriba