Algunos proyectos avanzados con microcontroladores PIC

Hola amigos.. despues de haber estado un tiempo apartado del foro he regresado con mayor entusiasmo para seguir colaborando con la comunidad.

en esta vez aportare un sistema de adquisicion de datos (DAQ) que utiliza el metodo Bulk Transfer para comunicarse con el PC, las caracteristicas son las siguientes:

4 Entradas analogicas pines AN0, AN1, AN2, AN3, AN4
4 Entradas digitales pines RB0, RB1, RB2, RB3
4 Salidas digitales pines RB4, RB5, RB6 y RB7
2 Salidas PWM pines RC1 y RC2
1 Contador pin RA4
todas las variables tienen una resolucion de 8 bits

* Funcionamiento:

Para hacer funcionar este DAQ se debe grabar el archivo daqBulk. hex en el microcontrolador 18F2550 y ponerlo a trabajar con un cristal de 20Mhz; como hardware puede utilizarse la tarjeta pinguino

todo lo necesario incluyo en el archivo...

Agradecimiento especial a Mariano Nicolau, por su excelente aporte a la comunidad de electronicos www.forosdeelectronica.com
 

Adjuntos

  • DAQdemo.jpg
    DAQdemo.jpg
    107.4 KB · Visitas: 848
  • Hardware.jpg
    Hardware.jpg
    68.6 KB · Visitas: 1,021
  • Driver.rar
    66.5 KB · Visitas: 825
  • Hex y ejemplo en labVIEW.rar
    36.6 KB · Visitas: 816
  • Imagenes.rar
    197.5 KB · Visitas: 936
hola excelente el proyecto mas bine tengo algunas duda esto que version de labview usaste y donde esl codigo ccs del pic 18f2550 para tomarlo como base porfa si puedes postearlo
 
Como dice en el titulo esto ya es mas avanzado; un intrigante e interesante mundo en el cual echare un vistazo gracias por subir tus proyectos son muy interesantes :)
 
HOla boomer, la version de labview es 2010.. para escribir el firmware utilice PIC CCS V4.114 y me base en el codigo de Mariano Nicolau que esta posteado en el siguiente link:

https://www.forosdeelectronica.com/f26/aporte-interfaz-control-usb-bulk-labview-c-76934/

Hola que tal Dino, he intentado basarme en el codigo de Mariano para agregar mas entradas y salidas, para el pic 18f4550, pero no he tenido exito, podrias prestarme tu codigo fuente?.. para basarme en el?
 
ok.. aquí esta el código compañeros, espero que lo mejoren.. y publiquen sus avances

saludos!
 

Adjuntos

  • Firmware.rar
    82 KB · Visitas: 740
Última edición:
a continuación una lista de las mejoras que deseo incluir:

  • Que los pines del puerto B y D sean configurables como entradas o salidas
  • Que los canales analogicos puedan configurarse para tener un voltaje de referencia
  • Que los canales analogicos sean de 12 bits
  • que las señales PWM sean de 10 bits

me ayudan?
 
Si cambiamos la linea habilitando todos los analogicos del puerto A, se configura automaticamente para obligatoriamente tener una entrada de referencia..

setup_port_a( ALL_ANALOG );

O si se desea tener una entrada interna:

setup_adc_ports( AN0_TO_AN1 | VSS_VDD);

Adjunto una imagen utilzando un lm35 para entrada de analogica utilizando una entrada de referencia (vss en este caso).. no se si era este tu punto 2.. Saludos Dinoelectro
 

Adjuntos

  • b2 (1).JPG
    b2 (1).JPG
    188.7 KB · Visitas: 416
Última edición:
Asi es wansi, lo que estoy pensando es; hacer que mediabnte un comando enviado desde el PC podamos cambiar la referencia.. tengo entendido que hay cuatro opciones

setup_adc_ports(xxx | VSS_VDD); // rango de 0 a VDD
setup_adc_ports(xxx | VSS_VREF); // rango de 0 a VREF
setup_adc_ports(xxx | VREF_VDD); // rango de VREF a VDD
setup_adc_ports(xxx | VREF_VREF); // rango de VREF1 a VREF2

aunque eso signifque sacrificar las entradas analogicas AN2 Y AN3..

SALUDOS!!
 
Última edición:
Ah ok, entiendo, un modo "configuración" en tiempo real... Es cierto se sacrificarían esos pines, convendría adquirir un f4550 con 3 analógicos extras... y esta muy buena la idea, en el primer momento se me ocurrió utilizar 2 pic's, un maestro y un esclavo, pero sin duda, no es por nada lo ideal ni la mejor opción..
 
podrian ayudarme, qusiera hacer la targeta mencionada pero tengo una duda una ves que meta la señal analoga de los sensores como le puedo hacer para visualizarla enla computadora.
si no es mucha molestia podrias postear una liztade los materiales nesesarios y un diagrama de como estan conectados
 
Última edición:
podrian ayudarme, qusiera hacer la targeta mencionada pero tengo una duda una ves que meta la señal analoga de los sensores como le puedo hacer para visualizarla enla computadora.
si no es mucha molestia podrias postear una liztade los materiales nesesarios y un diagrama de como estan conectados

El Hardware es muy simple, solo necesitaras unos pocos componentes sencillos de conseguir en las tiendas de electronica.. investiga en que consiste PINGUINO para microcontroladores PIC, y te daras cuenta de como van las conexiones..

para ver las señales em el computador puedes utilizar cualquier lenguaje de programacion como C Visual Basic LabVIEW... adjunté un ejemplo fijate bien

web recomendada:

http://www.hackinglab.org/pinguino/index_pinguino.html

saludos!!



Ah ok, entiendo, un modo "configuración" en tiempo real... Es cierto se sacrificarían esos pines, convendría adquirir un f4550 con 3 analógicos extras... y esta muy buena la idea, en el primer momento se me ocurrió utilizar 2 pic's, un maestro y un esclavo, pero sin duda, no es por nada lo ideal ni la mejor opción..


ya lo tengo solucionado esto de las señales analógicas, también cambie el proyecto para hacerlo funcionar con el PIC18f4550... finalmente quedo asi:

6 entradas analógicas
2 entradas de referencia
8 entradas digitales
8 salidas digitales
3 salidas PWM (ideal para leds RGB)
1 Contador

gracias por el consejo wansi (y)
 
Última edición:
adjunto alguna informacion de como va quedando, ya publicare mas detalles en los dias venideros, dependiendo del tiempo que disponga, saludos!!, wansi
 

Adjuntos

  • DAQ HID 2012.pdf
    1.2 MB · Visitas: 592
  • Pinguino40.pdf
    20.4 KB · Visitas: 371
  • Pinguino40BOTTOM.pdf
    15.8 KB · Visitas: 293
  • Pinguino40SILK.pdf
    13.6 KB · Visitas: 268
  • Descripcion.pdf
    87 KB · Visitas: 396
con que metodo pudiste solucionar lo de las entradas de referencia desde la computadora, para configurarlo en tiempo real, yo tenia pensado mandar un caracter desde labview y en el programa del pic poner un if en cual estuviera la configuracion de las entradas analogas toy en lo correcto tu dime??
 
Atrás
Arriba