TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: ppyote en 20 de Febrero de 2013, 00:05:32

Título: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 20 de Febrero de 2013, 00:05:32
bueno.... como ya se estaba convirtiendo en un agobio el proyecto con el que estaba centrado este ultimo mes.... he deciddo empezar uno nuevo, al margen del otro para intentar desestresarme y tomar aire...
lo que voy a ir aportando a este post son todos los pasos que voy a ir dando hasta conseguir un controlador de 4 ventiladores de pc...
el proyecto constara de:

1 pantalla tft de 1,8" spi
1 pic 18f2550
Usare al final un 16F628A para generar 8 salidas PWM por software usare un 16f688 ya que es mas barato que el 16f628a
7 2N7000 MOSFET N-CHANNEL  de baja potencia 4 transistores 2n3904 aunque los cambiare por bd139 para aumentar la corriente
4 sensores lm35 u otro mas barato, en concreto el MCP9701A, muchisimo mas barato que el LM35
3 botones
unas cuantas resitencias
unos cuantos condensadores
unos cuantos diodos
1 diodo zener de 3V
4 optoacopladores CNY17 sin ellos tambien va bien y asi abaratamos
y un oscilador de 20Mhz

y que no se me olvide mencionar los 4 ventiladores de pc, de los que llevan el cable para la lectura de las revoluciones....

¿QUE ES LO QUE PRETENDO QUE HAGA EL CIRCUITO?
1- controlar los 4 ventiladores mediante pwm, independientemente cada canal        CONSEGUIDO
2- ajuste automatico-el pic se encargara de buscar la mejor relacion temperatura/rpm para reducir ruido mediante un sistema de control PI      CONSEGUIDO
3- ajuste manual el usuario sera el que se encarge de ajustar las velocidades        CONSEGUIDO
4- mostrar los 4 canales independientemente y conjuntamente, temperatura,rpm,duty...       CONSEGUIDO
5- graficar los valores de temperatura de los 4 canales, conjunta y separada, rpm en modo auto de los canales que lo tengan activado he podido observar que es una tonteria lo de graficar las rpm asi que lo descartoCONSEGUIDO
6- mostrar el % del duty de los ventiladores calculado por el pic....ya que a 2 voltios el ventilador ni se menea... seria un error    CONSEGUIDO
7- algo bonito... nada de chapucillas jejejje...
8- Voy a utilizar 3 canales de PWM para el ajuste RGB de leds para situar dentro de la torre, y asi hacer varios modos de visualizar los colores en los leds.... modo termometro, modos psicodelicos, modos fijos, modos variables..... modos flash....      CONSEGUIDO
9- Ajuste Semiautomatico... consiste en poner una temperatura maxima y minima... la minima iniciara el movimiento del ventilador al 30% de su potencia, en cuanto a la maxima temperatura.... el ventilador ira al 100% de su capacidad... el ucontrolador se encargara de calcular el % al que el ventilador tiene que ir si la temperatura oscila entre estos dos valores.... asi evitaremos mas ruido con la garantia que el ventilador ira al 100% si por ejemplo la cpu se calienta demasiado     CONSEGUIDO

COSAS NUEVAS A METER EN EL PROYECTO

10-al tener el pic un puerto usb.... he pensado en hacer una aplicacion para controlarlo todo desde la pantalla del pc.... por ejemplo, una alarma...

11-Añadir un menu para el control de una bomba de agua a traves del pwm ya que actualmente venden bombas para que para modificar el caudal  se puede hacer mediante la modulacion de pulso....

12-añadiré en el mismo menu del control de la bomba, un contador de caudal/tiempo... mediante un indicador de flujo, un led infrarojo y un fototransistor podre calcular este valor y monitorearlo en el TFT

13-menu ajustes con: calibrado de los ventiladores... calibrado de los sensores de temperatura... eleccion de Grados Fahrenheit y Celsius asi como otras cosas


Ultimo video subido el 16-4-13....Que lo disfruteis

Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: sanpic en 20 de Febrero de 2013, 19:12:37
Excelente.  :-/
Un abrazo.
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: wannaky en 20 de Febrero de 2013, 19:26:25
Fantástico ppyote  (((:-))) (((:-))) (((:-))) !!!! me interesa ese TFT y su control, podrías poner algo de info para su funcionamiento?!?!?!

Saludos
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 20 de Febrero de 2013, 19:34:38
Fantástico ppyote  (((:-))) (((:-))) (((:-))) !!!! me interesa ese TFT y su control, podrías poner algo de info para su funcionamiento?!?!?!

Saludos

si claro... http://www.todopic.com.ar/foros/index.php?topic=39919.0 (http://www.todopic.com.ar/foros/index.php?topic=39919.0)
si necesitas datasheet y demas hazmelo saber..... un saludo
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 21 de Febrero de 2013, 00:09:25
vamos avanzando a poco a poco...
le ha tocado el turno al lm35... puesto que el proyecto consiste en que sea lo mas barato posible.... los lm35 no tienen un amplificador a su salida...
estoy usando como VREF dos diodos en serie por eso que la precision es de +- 0,5º
en cuanto a lo demas.... pocos cambios.... disfrutad del video....
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: wannaky en 21 de Febrero de 2013, 13:21:44
si claro... http://www.todopic.com.ar/foros/index.php?topic=39919.0 (http://www.todopic.com.ar/foros/index.php?topic=39919.0)
si necesitas datasheet y demas hazmelo saber..... un saludo

Buenas ppyote, pues si lo tienes por ahí a mano me harias un favor, porque estoy metiéndome con ellos, y toda info es bienvenida!!!   :-/ :-/ :-/

Gracias y un saludo!!!!
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 22 de Febrero de 2013, 09:04:15
Buenas ppyote, pues si lo tienes por ahí a mano me harias un favor, porque estoy metiéndome con ellos, y toda info es bienvenida!!!   :-/ :-/ :-/

Gracias y un saludo!!!!

https://rapidshare.com/files/2973954103/ST7735.pdf (https://rapidshare.com/files/2973954103/ST7735.pdf) aqui lo tienes... un saludo...
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: todopic en 22 de Febrero de 2013, 10:09:20
Felicitaciones!, se vé muy bonito!  :-/
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: planeta9999 en 22 de Febrero de 2013, 11:53:43
por cierto si se os ocurre algo que meterle... estoy abierto a cualquier propuesta


Un módulo bluetooth conectado a la UART, y lo controlas todo desde el móvil o un tablet.


Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 22 de Febrero de 2013, 17:19:37
por cierto si se os ocurre algo que meterle... estoy abierto a cualquier propuesta

Un módulo bluetooth conectado a la UART, y lo controlas todo desde el móvil o un tablet.


sí decido cambiar de pic por uno con más memoria rom y más pines, cuenta con ello

 
Felicitaciones!, se vé muy bonito!  :-/

gracias todopic pero habrá que verlo acabado con su pcb hecha y funcionando a las mil maravillas jejeje
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 25 de Febrero de 2013, 20:47:17
otro video con alguna mejora del proyecto... un saludo

Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: korpaztk en 26 de Febrero de 2013, 15:32:39
de fondo se ven asi como puntos blancos en la pantalla? o es mugre que tengo yo en la pantalla?  :D muy bueno ppyote, yo hice algo parecido pero desde vb.net jaja...

Saludos.-
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 26 de Febrero de 2013, 16:35:52
de fondo se ven asi como puntos blancos en la pantalla? o es mugre que tengo yo en la pantalla?  :D muy bueno ppyote, yo hice algo parecido pero desde vb.net jaja...

Saludos.-

Gracias ;-)
No tienes tú monitor sucio.Son motas de polvo, tengo un fluorescente que ilumina el banco de trabajo y se aprecia enseguida...
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: korpaztk en 03 de Marzo de 2013, 11:59:56
jaja hubieses dicho que era el efecto que le pusiste nomas  :D, yo ando con ganas de comprarme tambien uno, los puedo conseguir pero con lector de tarjeta sd y tactil, pero todo lo que veo estan las librerias para arduino y no me quiero arriesgar a comprarlo, porque no tengo idea de arduino jeje... y mi único fuerte son los pics.-

Saludos.-
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: KALLITOS en 03 de Marzo de 2013, 12:10:42
Animate korpaztk, veras que no es dificil, y codigos hay por montones, aca en todopic se estan llevando hilos referente los display tft.

El acabado de un proyecto es mucho mejor con estos display.

saludos
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 03 de Marzo de 2013, 12:27:11
jaja hubieses dicho que era el efecto que le pusiste nomas  :D, yo ando con ganas de comprarme tambien uno, los puedo conseguir pero con lector de tarjeta sd y tactil, pero todo lo que veo estan las librerias para arduino y no me quiero arriesgar a comprarlo, porque no tengo idea de arduino jeje... y mi único fuerte son los pics.-

Saludos.-

También tengo una de las que tú dices, tengo la de 1,8 y 2,4 pulgadas
en cuanto a lo de que son para arduino no temas, animate ya que es compatible y no son para nada complicados de trabajar, sólo con un poco de paciencia y con este maravilloso foro saldras adelante
creerme, yo me animé y mira ya como ando
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: wannaky en 14 de Marzo de 2013, 11:46:30
Buenas, ya me ha llegado el TFT (http://www.ebay.es/itm/200764741074?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649):-/ :-/ :-/ :-/ :-/ en cuanto tenga un rato me pongo con él a ver si lo puedo hacer funcionar... ya iré comentando los avances...

Saludos
Título: Re: CPU FAN Controller con TFT 1,8"
Publicado por: ppyote en 14 de Marzo de 2013, 15:54:45
Buenas, ya me ha llegado el TFT (http://www.ebay.es/itm/200764741074?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649):-/ :-/ :-/ :-/ :-/ en cuanto tenga un rato me pongo con él a ver si lo puedo hacer funcionar... ya iré comentando los avances...

Saludos

ya veras como es más fácil de lo que imaginas
ya estoy esperando ver lo que consigues
un saludo
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 22 de Marzo de 2013, 06:06:19
otro video mas de los adelantos...  espero que os guste


podeis ver el video vosotros en la web? a mi no me deja verlo directamente en la web.... por eso pongo el link arriba
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 24 de Marzo de 2013, 17:49:48
bueno... me estoy machacando el tarro pensando como sacar los colores con el led rgb con los 3 pwm en modo auto, osea.. va canbiando gradualmente de color... que tipo de funcion usais para hacer un barrido por todos o casi todos los colores que podeis generar con una resolucion de 8bits?

esta semana pondre ya el esquema y los archivos.... por si a alguien le interesa montarselo....

por cierto, a la gente que le gusta el modding de pcs... las bombas de refligeracion liquida pueden ser controladas con el pwm?  hay caudalimetros electronicos? o solo hay indicadores de flujo mecanicos?
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 30 de Marzo de 2013, 00:06:06
bueno... me estoy machacando el tarro pensando como sacar los colores con el led rgb con los 3 pwm en modo auto, osea.. va canbiando gradualmente de color... que tipo de funcion usais para hacer un barrido por todos o casi todos los colores que podeis generar con una resolucion de 8bits?

esta semana pondre ya el esquema y los archivos.... por si a alguien le interesa montarselo....

por cierto, a la gente que le gusta el modding de pcs... las bombas de refligeracion liquida pueden ser controladas con el pwm?  hay caudalimetros electronicos? o solo hay indicadores de flujo mecanicos?

me respondo solo.... hay bombas que llevan adaptaciones para sistemas con pwm... solo hay indicadores mecanicos de flujo para pc y ya tengo los colores del led solucionado...

el post esta actualizado con las cosas añadidas y por añadir....
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: gab163 en 26 de Agosto de 2013, 20:36:54
Citar
hay caudalimetros electronicos? o solo hay indicadores de flujo mecanicos?
La tecnología MEMS permite crear micro mecanismos dentro de chips por lo que creo que deben existir electrónicos a lo mejor?
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 27 de Agosto de 2013, 01:55:51
Citar
hay caudalimetros electronicos? o solo hay indicadores de flujo mecanicos?
La tecnología MEMS permite crear micro mecanismos dentro de chips por lo que creo que deben existir electrónicos a lo mejor?
Seguro que los hay, pero me refiero a que sí hay... para el modding de pc
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: martin12as en 13 de Septiembre de 2013, 11:12:32
bueno... me estoy machacando el tarro pensando como sacar los colores con el led rgb con los 3 pwm en modo auto, osea.. va canbiando gradualmente de color... que tipo de funcion usais para hacer un barrido por todos o casi todos los colores que podeis generar con una resolucion de 8bits?

esta semana pondre ya el esquema y los archivos.... por si a alguien le interesa montarselo....

por cierto, a la gente que le gusta el modding de pcs... las bombas de refligeracion liquida pueden ser controladas con el pwm?  hay caudalimetros electronicos? o solo hay indicadores de flujo mecanicos?

a mi me interesan un par de cosas, quiero hacer algo parecido para mi pc, principalmente lo que me interesa conocer es como generar 4 o 5 señas pwm con distinto % de trabajo y cambiar el % segun las necesidades

y después algunas cosas secundarias.. la velocidad de los ventiladores la lees de los sensores? o simplemente la calculas a partir del % que esta trabajando?

yo pienso usar los sensores de la placa madre, cpu y/o gpu para enviarle al uC los valores de las temperaturas, de esta forma no necesito usar sensores extras
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 13 de Septiembre de 2013, 15:23:19
a mi me interesan un par de cosas, quiero hacer algo parecido para mi pc, principalmente lo que me interesa conocer es como generar 4 o 5 señas pwm con distinto % de trabajo y cambiar el % segun las necesidades

y después algunas cosas secundarias.. la velocidad de los ventiladores la lees de los sensores? o simplemente la calculas a partir del % que esta trabajando?

yo pienso usar los sensores de la placa madre, cpu y/o gpu para enviarle al uC los valores de las temperaturas, de esta forma no necesito usar sensores extras

hay pics como el 18f25j53 con 7 salidas pwm pero yo en este caso use otro pic e utilizar pwm por software para el control del % del duty...

las velocidades son con el sensor de tacomentro del ventilador... hay que puntualizar que hay que poner un pequeño circuito si usas pwm para el control de la velocidad... ya que si no lo haces el pic leera los pulsos del pwm

en cuanto a usar los sensores de la placa, lo pensé, pero la comunicacion usb no la controlo nada bien asi que opte por incluir sensores como los lm35...

actualmente estoy usando un pic que me gusta mucho, el 18f47j53, el cual controla tanto los 4 pwm del ventilador como los 3 pwm del control del led.... a demas de que puedes hacer un pwm por soft facilmente con el ccs para incluir un  parlante para avisar acusticamente de algun fallo... tengo que animarme y colgar un nuevo video del nuevo pic
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: martin12as en 13 de Septiembre de 2013, 17:15:40
a mi me interesan un par de cosas, quiero hacer algo parecido para mi pc, principalmente lo que me interesa conocer es como generar 4 o 5 señas pwm con distinto % de trabajo y cambiar el % segun las necesidades

y después algunas cosas secundarias.. la velocidad de los ventiladores la lees de los sensores? o simplemente la calculas a partir del % que esta trabajando?

yo pienso usar los sensores de la placa madre, cpu y/o gpu para enviarle al uC los valores de las temperaturas, de esta forma no necesito usar sensores extras


hay pics como el 18f25j53 con 7 salidas pwm pero yo en este caso use otro pic e utilizar pwm por software para el control del % del duty...

las velocidades son con el sensor de tacomentro del ventilador... hay que puntualizar que hay que poner un pequeño circuito si usas pwm para el control de la velocidad... ya que si no lo haces el pic leera los pulsos del pwm

en cuanto a usar los sensores de la placa, lo pensé, pero la comunicacion usb no la controlo nada bien asi que opte por incluir sensores como los lm35...

actualmente estoy usando un pic que me gusta mucho, el 18f47j53, el cual controla tanto los 4 pwm del ventilador como los 3 pwm del control del led.... a demas de que puedes hacer un pwm por soft facilmente con el ccs para incluir un  parlante para avisar acusticamente de algun fallo... tengo que animarme y colgar un nuevo video del nuevo pic

Gracias por responder.. ahora me surgen algunas preguntas mas..
Haces todo con 1 solo pic ahora? O manejas los 7 pwm con uno y la pantalla. Sensores. Etc con el otro?

Sabes como se llama el circuito para leer las rpm?

Yo voy a hacer una comunicacion con la pc por puerto serial ya que es un requisito para el proyecto de la facultad. De paso aprovecho para enviar información de los sensores al pic y mostrar la información en la pc
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 14 de Septiembre de 2013, 03:23:49
Actualmente lo hago todo con el mismo pic, en el último video que tengo en mi canal de youtube lo hice con 2 pics, un 18F2550 y un 16F688

En cuanto a la forma de adaptar el sensor de rpm, cuando llegue del trabajo a casa te lo colgaré
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 16 de Septiembre de 2013, 19:35:39

Sabes como se llama el circuito para leer las rpm?


te he echo un pequeño esquema para que lo veas... yo uso un HEF4069 que posee 6 puertas inversoras... en cuanto a los diodos, mientras que la frecuencia no sea muy alta con diodos 1n4148 te serviran....

Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: martin12as en 19 de Septiembre de 2013, 23:37:28

Sabes como se llama el circuito para leer las rpm?


te he echo un pequeño esquema para que lo veas... yo uso un HEF4069 que posee 6 puertas inversoras... en cuanto a los diodos, mientras que la frecuencia no sea muy alta con diodos 1n4148 te serviran....



te agradezco mucho, me podrías dar una breve explicación de como funciona? por cada rpm envia un pulso? o como es?
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 20 de Septiembre de 2013, 14:57:12

te agradezco mucho, me podrías dar una breve explicación de como funciona? por cada rpm envia un pulso? o como es?

al controlar un ventilador con una salida pwm, la señal que proviene del cable del tacometro del ventilador se vé  afectada así que hay que filtrar
la señal, cosa que hacen el diodo,condensador y la resistencia
el inversor, sólo lo uso para llevar el estado bajo a 0v y así evitar interferencias
sí pusieras un osciloscopio el el anodo del diodo perfectamente verías los pulsos del tacometro, pero el estado bajo de ese punto serían los 0.6v
de la polarización del diodo, cosa que podría llevar a producir errores de lectura
después, sólo falta habilitar la interrupción en el pic, que sume a cada pulso, y cada segundo hacer el calculo
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: martin12as en 20 de Septiembre de 2013, 21:30:16

te agradezco mucho, me podrías dar una breve explicación de como funciona? por cada rpm envia un pulso? o como es?

al controlar un ventilador con una salida pwm, la señal que proviene del cable del tacometro del ventilador se vé  afectada así que hay que filtrar
la señal, cosa que hacen el diodo,condensador y la resistencia
el inversor, sólo lo uso para llevar el estado bajo a 0v y así evitar interferencias
sí pusieras un osciloscopio el el anodo del diodo perfectamente verías los pulsos del tacometro, pero el estado bajo de ese punto serían los 0.6v
de la polarización del diodo, cosa que podría llevar a producir errores de lectura
después, sólo falta habilitar la interrupción en el pic, que sume a cada pulso, y cada segundo hacer el calculo

quedo super claro, la verdad te agradezco bastante, cuando tenga el proyecto terminado lo voy a mostrar en el foro
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: ppyote en 20 de Septiembre de 2013, 21:48:01

te agradezco mucho, me podrías dar una breve explicación de como funciona? por cada rpm envia un pulso? o como es?

al controlar un ventilador con una salida pwm, la señal que proviene del cable del tacometro del ventilador se vé  afectada así que hay que filtrar
la señal, cosa que hacen el diodo,condensador y la resistencia
el inversor, sólo lo uso para llevar el estado bajo a 0v y así evitar interferencias
sí pusieras un osciloscopio el el anodo del diodo perfectamente verías los pulsos del tacometro, pero el estado bajo de ese punto serían los 0.6v
de la polarización del diodo, cosa que podría llevar a producir errores de lectura
después, sólo falta habilitar la interrupción en el pic, que sume a cada pulso, y cada segundo hacer el calculo

quedo super claro, la verdad te agradezco bastante, cuando tenga el proyecto terminado lo voy a mostrar en el foro

me gustaria verlo... actualmente estoy mirando lo de conectar por usb el circuito y hacer lo que tu querias hacer, obtener la informacion de los sensores de la cpu gpu hdd para no tener que incorporar ningun sensor externo.... la verdad es que no saco ni un valor desde el pc a ve si hay suerte y comprendo como va
un saludo y suerte
Título: Re: CPU FAN Controller con TFT 1,8" EDITADO
Publicado por: martin12as en 27 de Septiembre de 2013, 01:24:00

te agradezco mucho, me podrías dar una breve explicación de como funciona? por cada rpm envia un pulso? o como es?

al controlar un ventilador con una salida pwm, la señal que proviene del cable del tacometro del ventilador se vé  afectada así que hay que filtrar
la señal, cosa que hacen el diodo,condensador y la resistencia
el inversor, sólo lo uso para llevar el estado bajo a 0v y así evitar interferencias
sí pusieras un osciloscopio el el anodo del diodo perfectamente verías los pulsos del tacometro, pero el estado bajo de ese punto serían los 0.6v
de la polarización del diodo, cosa que podría llevar a producir errores de lectura
después, sólo falta habilitar la interrupción en el pic, que sume a cada pulso, y cada segundo hacer el calculo

quedo super claro, la verdad te agradezco bastante, cuando tenga el proyecto terminado lo voy a mostrar en el foro

me gustaria verlo... actualmente estoy mirando lo de conectar por usb el circuito y hacer lo que tu querias hacer, obtener la informacion de los sensores de la cpu gpu hdd para no tener que incorporar ningun sensor externo.... la verdad es que no saco ni un valor desde el pc a ve si hay suerte y comprendo como va
un saludo y suerte

espero que tengas mas suerte que yo, hasta ahora eh buscado información por millones de lugares y no logro acceder a los sensores del cpu, motherboard, gpu, etc, lo unico que me puede llegar a servir son los archivos de linux donde se guarda la información de los sensores, cada sensor tiene un archivo propio y basta con leer ese archivo para conocer la temperatura, en windows no pude hacer nada todavía.
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 27 de Septiembre de 2013, 05:53:57
Con el visual basic .net se puede sacar las temperaturas de la cpu, gpu y hdd
en youtube hay un ejemplo muy fácil para obtener lab temperatura de la cpu con vb.net pero a mi no me funciona, parece ser que el hardware tiene que ser compatible

Tocara probar en otro pc a ver sí siendo compatible, me funciona
aquí un ejemplo de como leer temperatura hdd (http://www.recursosvisualbasic.com.ar/htm/vb-net/47-obtener-temperatura-del-disco.htm)
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 04 de Octubre de 2013, 05:58:07
@ppyote antes que nada quiero agradecerte por el aporte de tu librería!!! Como te había comentado estoy tratando de controlar el display con un PIC24. Tengo el display funcionando con el 18F2550 con tu librería pero la configuración del PIC24 es un tanto mas complicada, además sería mas eficiente comunicarlo por hardware (cosa que intento hacer con tu librería, pero me falta la señal de data_command ya que el compilador me da error de parámetro inválido).

Para aclarar un poco:

1- tu librería funciona por software y no puedo pasarla a funcionar por hardware por el error del compilador. Con esta configuración, el compilador se lo traga, pero no puedo agregar lo del data_command, por lo tanto no funciona

#use spi(FORCE_HW,SPI1,bits=8,enable=pin_a5,stream=tft_comando)
#use spi(FORCE_HW,SPI1,bits=8,enable=pin_a5,stream=tft_dato)
#use spi(FORCE_HW,SPI1,bits=16,enable=pin_a5,stream=tft_dato_16)

2- "Adapté" la librería para el PIC24 por software en CCS

#define clock pin_d0
#define sda   pin_d1
#define cs    pin_d3
#define data_command  pin_d2

#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=1,stream=tft_comando)
#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato)
#use spi(baud=921600,bits=16,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato_16)

esto funciona, pero es muy lento.

3- además de hacerlo funcionar por hardware, tengo que hacerlo en el compilador C30, ya que el resto del código está en ese compilador (tal vez sea mas fácil pasar todo al CCS que pasar esto a C30?)

Alguna orientación que puedan darme?

Muchas gracias! cualquier comentario me ayudaría :)
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 04 de Octubre de 2013, 06:18:10
proaudio si se puede, de echo, yo primeramente lo hice trabajar por hardware pero por necesidades fisicas del pic lo tuve que hacer por software
cuando llege de trabajar te digo como puedes hacerlo
un saludo
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 04 de Octubre de 2013, 06:24:33
Genial!!! gracias!!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 04 de Octubre de 2013, 07:34:40
para utilizar la comunicacion spi por hardware solo tienes que hacer 2 funciones, una para enviar el valor en modo datos y otra en modo comandos habilitando el pin del tft AO...
lo que te recomendaria es hacer otras funciones para enviar datos y comandos en modo de 16 bits, de este modo mejoraras la cantidad de instrucciones que utilizara el ucontrolador....

aqui abajo te pongo la forma de enviar en modo de 8bits los datos/comandos por hardware a la TFT

void enviar_dato(int8 data)
{
    output_low(pin_AO);
    spi_write(data);
}

void enviar_comando(int8 data)
{
    output_high(pin_AO);
    spi_write(data);
}

pienso que no tendras problemas en adaptar a c30
un saludo
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 04 de Octubre de 2013, 08:27:42
Muchas gracias ppyote.

Pero acaso esas funciones no están ya?

void  write_command(int8 c)
{
   spi_xfer(tft_comando,c);
}

void  write_data(int8 d)
{
   spi_xfer(tft_dato,d);
}
void Write_data16(int16 dato)
{
spi_xfer(tft_dato_16,Dato);
}

Lo que hice fue agregarles el cambio de estado del pin_4 donde debe estar el data_command, y quedó así:

void  write_command(int8 c)
{
   output_high(pin_b4);
   spi_xfer(tft_comando,c);
}

void  write_data(int8 d)
{
   output_low(pin_b4);
   spi_xfer(tft_dato,d);
}
void Write_data16(int16 dato)
{
 output_low(pin_b4);
spi_xfer(tft_dato_16,Dato);
}

pero en la pantalla aparece ruido y parpadea un poco loco. Voy ciego con esto... :(

Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 04 de Octubre de 2013, 10:00:48
El spi_xfer es para comunicar la tft y el pic en modo spi por software, el spi_write es para comunicar en modo hardware que era lo que querías, no?
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 04 de Octubre de 2013, 13:57:58
Perdón, no me di cuenta de eso y tampoco sabía que los comandos eran diferentes, pero ahora veo que el formato de spi write es spi_write(data), con lo cual no puedo decirle que stream utilizar. Habría que inicializar cada vez que voy a transmitir un dato? O sea, dentro de la función write_command, write_data y write_data 16 inicializar con el correspondiente stream?

Gracias! Un abrazo!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 04 de Octubre de 2013, 14:31:36
#define data_command  pin_d2

#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=1,stream=tft_comando)
#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato)
#use spi(baud=921600,bits=16,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato_16)

mira los tipos de envíos que realizo usando diferentes streams

En el primer caso, activo el pin data_commamd con la opción ( load=data_command,LOAD_ACTIVE=1)
Que lo que hace es poner a 1 el pin_d2 para indicar que voy a enviar un valor en forma de comando, para que el tft sepa que registro vamos a escribir

 los otros dos casos, al poner a 0 el pin definido como data_commamd lo que le digo a la tft es el valor que quiero escribir en la dirección de registro que antes hemos enviado con el tipo de stream de arriba
estos dos casos se diferencian en que uno envía 8 bits y el otro 16

en el caso de usar la comunicación spi por hardware lo que debes hacer es antes que nada cambiar el estado del pin data_comand para después enviar el valor, sí el pin está en alto direccionas el valor de registro y sí está en bajo, escribe el valor
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 05 de Octubre de 2013, 11:44:05
Hola! gracias ppyote nuevamente por tu ayuda!!! El comportamiento de esto me tiene un tanto desorientado.
La opción ENABLE no me da ninguna señal, así que la genero de la misma forma que con el data_command, y al menos a grandes rasgos, en el osciloscopio se ve igual que con la versión por software.

Así va quedando la cosa:

#use spi(FORCE_HW,SPI1,bits=8,stream=tft_comando)
#use spi(FORCE_HW,SPI1,bits=8,stream=tft_dato)
#use spi(FORCE_HW,SPI1,bits=16,stream=tft_dato_16)

void  write_command(int8 c)
{
   output_low(pin_a5);      // Enable
   output_low(pin_b4);      // Data_command
   spi_write(c);
   output_high(pin_a5);

}

void  write_data(int8 d)
{
   output_low(pin_a5);
   output_high(pin_b4);
        spi_write(d);
   output_high(pin_a5);
}

void write_data16(int16 dato)
{
   output_low(pin_a5);
   output_high(pin_b4);
   spi_write(Dato);
   output_high(pin_a5);
}

Así, esto tampoco funciona... por lo que me surge la duda: en el manual de CCS figura "spi_write (8 bits data)"... que pasa con los datos de 16 bits?
Para esto, se me ocurrió inicializar dentro de cada función así:

void  write_command(int8 c)
{
   #use spi(FORCE_HW,SPI1,bits=8,stream=tft_comando)
   output_low(pin_a5);      // Enable
   output_low(pin_b4);      // Data_command
   spi_write(c);
   output_high(pin_a5);

}

void  write_data(int8 d)
{
   #use spi(FORCE_HW,SPI1,bits=8,stream=tft_dato)
   output_low(pin_a5);
   output_high(pin_b4);
        spi_write(d);
   output_high(pin_a5);
}

void write_data16(int16 dato)
{
   #use spi(FORCE_HW,SPI1,bits=16,stream=tft_dato_16)
   output_low(pin_a5);
   output_high(pin_b4);
   spi_write(Dato);
   output_high(pin_a5);
}

Pero no hay ninguna diferencia... la pantalla sigue en blanco. Se me ocurre que hay que dividir en dos el dato de 16 bits y transmitirlo en dos partes... estoy desvariando?

Un saludo!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 07 de Octubre de 2013, 18:00:43
a ver... te estas armando un lio con la comunicacion spi.... la comunicacion puede ser de dos formas diferentes, por hardware que es el ucontrolador el que se encarga de enviar y recibir datos mediante spi sin necesidad de ocupar tanto espacio en la rom a demas de ser mas rapida en algunas ocasiones y despues esta la comunicacion por software, que es el compilador ccs que genera un codigo para poder emular la comunicacion mediante pines del pic que no estan adamptados por hardware

para comunicar con protocolo spi por software se configura asi:
#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=1,stream=tft_comando)
#use spi(baud=921600,bits=8,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato)
#use spi(baud=921600,bits=16,mode=0,do=sda,clk=clock,enable=cs,load=data_command,LOAD_ACTIVE=0,stream=tft_dato_16)

asi como las instrucciones mediante software que son:
spi_xfer(data)
spi_xfer(stream, data)
spi_xfer(stream, data, bits)
result = spi_xfer(data)
result = spi_xfer(stream, data)
result = spi_xfer(stream, data, bits)

por otro lado el pic puede utilizar para comunicarse mediante el hardware que tiene preparado .... para configurarlo se usa esto....

setup_spi (mode)
y las instrucciones spi_write(data_out)  y spi_read(data_in)

por eso mira bien que estas confundiendo y mezclando los dos tipos de comunicacion , entre la realizada por software y la de hardware
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 08 de Octubre de 2013, 09:34:05
Bueno, bueno, bueno!!!!   :-/ al fin le da por funcionar!!!!  Gracias, gracias, gracias!!!!! Ahora, el manual del CCS es una p... m... dicen la mitad de las cosas.. (en algún sitio deberían explicar un poco mas completo...creo yo). Por suerte encontré una rutina para poder dividir los datos de 16 bits ya que el spi_write solo transmite de a 8 bits, pero el manual no dice nada mas!!! La rutina, por si a alguien le interesa es:

spi_write(make8(data, 1));   // Send MSB
spi_write(make8(data, 0));   // Send LSB

Bueno, ya hemos avanzado una buena parte... ahora a seguir peleando con el PIC24, que en paralelo iba trabajando, pero sin resultados positivos. El problema ahí es el timing de las señales Enable y Data_command... quiero hacerlas durar lo que dura la transmisión, pero si pongo un delay (por ejemplo) el tiempo mínimo de retardo son 100 microsegundos, lo cual es mucho... y si uso los famosos Nop(), tengo que poner un montón e igualmente va como el c....

Bueno, no quiero abusar, pero si se te ocurre algún consejo, estaré eternamente agradecido. Un saludo!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 08 de Octubre de 2013, 10:45:32
El pin que conectes a la entrada AO de la TFT no es necesario que lo actives y desactives a no ser que sea menester
sí no vas a trasmitir nada, dejarlo en alto o bajo es lo mismo

el pín enable del que hablas es el pin de cable select? Ósea el CS del puesto spi?
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 08 de Octubre de 2013, 13:55:49
Si, el enable sería el CS (es que cada uno lo llama a su manera... en el manual del PIC24 es SSx). Pero bueno, es lógico que si no voy a usar otro dispositivo en el mismo SPI, puedo dejarlo en 0 y así un problema menos.
Con respecto al AO (que sería el data_command) se comporta de forma extraña, ya que cuando le cambio el estado antes de una transmisión, éste dura un instante y se vuelve a como estaba... me tiene loco, pero hay otro problema mas importante que también me tiene loco y es:

en mi programa tengo:

while(1){

     SPI1BUF=0x11;
     while(!SPI1STATbits.SPITBF);
     SPI1BUF=0xAA;

delay(100000);
}

con lo cual debería transmitir 0x11, y cuando se desocupe el buffer, transmitir 0xAA... luego del delay, repetir el proceso. Pero no! transmite solo el 0x11 de forma indefinida. Con el UART se hace así y funciona de lujo!

Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 08 de Octubre de 2013, 20:43:47
Bueno... esto lo resolví con un ejemplo que encontré por ahí... es un artilugio para hacer que una vez que se transmita el dato, se borre del buffer y permita la entrada de otro dato. El código es el siguiente:

       while (SPI1STATbits.SPITBF);           // Check to see whether the buffer is clear, means empty
            SPI1BUF = dato;                            // Write to buffer for tx          
            while (!SPI1STATbits.SPIRBF);         // Wait for the transfer to complete
            READ_DATA = SPI1BUF;                  // Dummy read of SPI1BUF to clear SPIRBF flag

PERO... (siempre quedan peros...) veo que la pata SDO cuando no transmite nada está en 0V, y debería estar en +3.3V (como en el PIC18F2550 que queda en +5V)... esto jode todo el tinglado? Podría ser por eso que aún sigue la pantalla en blanco?
Estamos mas cerca que antes... no se que tanto, pero mucho mas que ayer :D

Gracias Ppyote!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: martin12as en 09 de Octubre de 2013, 15:24:50
disculpa que te moleste de nuevo, es posible con 1 pic como el 16f886 manejar 5 pwm, medir 5 sensores de rpm y trasmitir o recibir datos por el puerto serie al mismo tiempo? o me convendría usar mas de 1 pic?
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: MGLSOFT en 09 de Octubre de 2013, 16:05:15
No conozco los recursos de ese PIC, pero en un PIC24 yo uso 4 PWM y leo 4 sensores de rpm por interrupciones, y uso el puerto serie a 115200 Baudios sin problema.
Ahh, tambien leo 3 sensores de distancia por eco...Por interrupcion por supuesto!! :mrgreen: :mrgreen:
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: martin12as en 09 de Octubre de 2013, 18:59:16
No conozco los recursos de ese PIC, pero en un PIC24 yo uso 4 PWM y leo 4 sensores de rpm por interrupciones, y uso el puerto serie a 115200 Baudios sin problema.
Ahh, tambien leo 3 sensores de distancia por eco...Por interrupción por supuesto!! :mrgreen: :mrgreen:

el pwm creo que no esta usando muchos recursos, no necesito mucha frecuencia ni resolución, lo estoy generando de esta forma

Código: [Seleccionar]
for(;;) //comienzo ciclo infinito
   {
         cont0=0;   //se inician los contadores en 0 por cada ciclo nuevo
               
         while(cont0<20)       //comienzo ciclo pwm
         {
            if(pwm0<cont0)
               output_low (PIN_c0); //pwm1 en alto
            else
               output_high (PIN_c0);  //pwm1 en bajo
           
            cont0=cont0+1;           //aumenta en 1 el contador del ciclo

         }
}

que interrupción usas para los sensores? las formas que estuve viendo me hicieron dar miedo de que gaste muchos recursos, encima también tengo que enviar a la pc los datos esos
     
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: proaudio en 09 de Octubre de 2013, 22:54:44
@Ppyote.... Lo tengo!  :-/ ha costado, pero finalmente me comunico con el display por hardware con el PIC24 y en C30 compiler :P

Hay un problema con los caracteres, que los "estira" a lo ancho, o mejor dicho que intercala un espacio entre lineas verticales... o sea algo así con una M

    debería verse               y se ve

     *        *                    *
     * *  * *                    *   *
     *   *   *                    *       *
     *        *                    *
     *        *                    *

Estoy analizando cómo funciona la función, a ver si puedo solucionarlo.... De todas formas, lo que veo que falta en la librería y no se me ocurre cómo hacerlo, es la función para imprimir valores. La función de tu fan controller está muy buena... me echas un cable con eso?
Ahora si estamos cerca de hacer que este currazo haga algo!! ja, ja, ja.
 
Un saludo y gracias!!
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: MGLSOFT en 09 de Octubre de 2013, 22:57:36
Uso los módulos Input Capture que tiene el PIC24 para los conteos.
Título: Re: PC FAN Controller con TFT 1,8" EDITADO 16-4-13
Publicado por: ppyote en 21 de Noviembre de 2013, 03:23:40
@Ppyote.... Lo tengo!  :-/ ha costado, pero finalmente me comunico con el display por hardware con el PIC24 y en C30 compiler :P

Hay un problema con los caracteres, que los "estira" a lo ancho, o mejor dicho que intercala un espacio entre lineas verticales... o sea algo así con una M

    debería verse               y se ve

     *        *                    *
     * *  * *                    *   *
     *   *   *                    *       *
     *        *                    *
     *        *                    *

Estoy analizando cómo funciona la función, a ver si puedo solucionarlo.... De todas formas, lo que veo que falta en la librería y no se me ocurre cómo hacerlo, es la función para imprimir valores. La función de tu fan controller está muy buena... me echas un cable con eso?
Ahora si estamos cerca de hacer que este currazo haga algo!! ja, ja, ja.
 
Un saludo y gracias!!

que orientación tiene la tft? horizontal o vertical?
para imprimir números, uso la función printf para convertir los valores en caracteres, como hacemos con un lcd normal y corriente, después sólo tienes que escribir los caracteres con la función  asignada a ello
en el video se puede ver perfectamente los valores

por cierto, no me por que, pero aún estando subscrito al post, no me lo notifica. por eso te pido perdón, no me había dado cuenta