Proyecto Electronica Monitor USB de rendimiento y Red

#1
Electronica Monitor USB de rendimiento y Red


Alguna vez te haz imaginado hacer un circuito que te permita monitorear tu ancho de banda de internet y al mismo tiempo los procesos de tu CPU y verlos de forma externa?





Contenido
1 Info
2 Introducción
3 Hardware
3,1 PIC basadas en dispositivos USB
3,2 RGB LED
3,3 VU Meter
3,4 Recinto
4 Firmware
4,1 PWM de control del medidor
4,2 PWM LED Color de mezcla
4.2.1 LED Brillo matemáticas
4,3 por botón
5 Software Windows
6 ficheros para descargar
Introducción

El monitor de rendimiento USB es un dispositivo basado PIC18F2550 que muestra el rendimiento de su equipo con dos metros analógica y un LED RGB. El diseño se basa en un material de alta fidelidad VU-metro que se controla mediante PWM del microcontrolador PIC18F. Este proyecto fue inspirado por un amigo mío que quería una manera de moverse de su ordenador HDD LED en el escritorio. Después jugando un poco con el envío de los contadores de rendimiento de Windows a través de USB a través del protocolo genérico de HID se me ocurrió la idea de utilizar un medidor de VU que había por ahí a construir una USB Monitor de rendimiento.

Incluso el propio HDD LED "mejorado" en este proyecto. En lugar de un solo color LED parpadeante este proyecto utiliza un LED RGB que varía su intensidad en función del nivel de utilización y su color basado en lectura, escritura o ambos. Por último solo un botón de hardware ha sido añadido a le permiten activar de forma rápida y desactivar el dispositivo sin tener que coger el ratón.

El firmware PIC18F2550 está escrito en C Hi-Tech y el software de host de Windows está escrito en C # con mi Open Source marco genérico para USB HID dispositivos basados en el PIC18F y Windows. Como siempre, el software es de código abierto GPL y se puede descargar desde la sección al final de este artículo.

Hardware

PIC basado en el dispositivo USB
El hardware está basado en el microcontrolador PIC18F2550 que tiene a bordo USB. Una mínima cantidad de componentes se utilizan para conectar el dispositivo al puerto USB, así como para cambiar la, metros y RGB LED. El circuito general esquemática se puede ver en el siguiente diagrama:



Dos potenciómetros están incluidos en el diseño para permitir la calibración rápida de la potencia-desviación requerida por el VU-metro (ya que esto puede variar de un metro a metro).

Aparte de eso el diseño es bastante simples; las resistencias RGB LED se eligieron de acuerdo a los datos de hojas de permitir el mayor brillo de los LED ya que tendrá que controlar la salida mediante PWM. El PIC es velocidad de reloj de 20Mhz para permitir la plena 48MHz PLL velocidad que se empleará, esto es útil ya que el control PWM de la LED, se requiere mucho más como transformador de velocidad posible.

Para montar el dispositivo en el menor espacio posible diseñé una sola cara del PCB. Sin embargo, el diseño es bastante simple como para ser fácilmente incorporado en un trozo de tira de a bordo si no se han grabado PCB equipo. He aquí una imagen del diseño de PCB:




Tenga en cuenta que el conector USB se encuentra hacia abajo, esto es para permitir la conexión al ser enchufado en el interior de la caja que permite el cable para ser guiado por la parte trasera del dispositivo. Esto le permite cambiar el cable USB si es necesario para un cable más largo o más corto, sin embargo usted directamente puede soldar el cable a la Junta de Coordinación o utilizar otro tipo de conexión interna.

El PCB está diseñado para caber dentro de un recinto G738 Velleman que había cortado un poco para hacerlo más breve.

Todos los dispositivos conectados conectarse a través de conectores Molex de estilo para permitir que el dispositivo de fácil armado y desarmado. También he incluir una cabecera para el programador de PICkit 2 para que sea más fácil desarrollar el firmware de la programación de PIC en el circuito.

Aquí está una foto de la PCB terminado con todos los componentes periféricos conectados:






RGB LED
El LED RGB que utilicé fue uno de triple color y transparente LED, esto significaba que la mezcla de colores era difícil ver de cerca. Lo solucione con sólo frotar la lente con papel de lija fino. o poner tres Leds de colores Red Green Blue Juntos

VU Meter
Para volver a propósito del metro VU tomé el plástico delantero del metro y se utiliza un cuchillo afilado para cortar por detrás del marcador de tablero existente. Tenga mucho cuidado al hacer esto, siempre cortado y lejos de usted! Usted necesita tener cuidado de no empujar el marcador de panel hacia arriba en las agujas o se le doblarlas.

Una vez el marcador fue retirado el panel que lo coloca en el escáner y escaneado de una imagen de ella en Photoshop (este es un buen truco ya que preserva la escala de la original). Luego utiliza Photoshop para sustituir a la marca VU con una escala logarítmica porcentaje lineal (más sobre la escala lineal logarítmica vs más tarde!).

Aquí está el diseño final:




Una vez que tuve mi diseño deseado que simplemente imprime en papel grueso brillante de la foto y luego cortarlo a cabo utilizando una regla de acero y un cuchillo. El marcador se vuelve a unir nuevo panel luego a los metros (utilizando una tira de cinta adhesiva de doble cara) y luego el metro fue vuelto a montar.
Aunque se trata de un simple truco para volver a propositivo metros, es útil para un número de diferentes proyectos.

Recinto
Aquí está una fotografía del dispositivo montado en la carcasa de plástico:




Firmware
control del medidor PWM
El firmware controla la posición de los dos metros con el generador de PWM incorporado dos módulos incluidos en el PIC18F2550. Esto permite PWM exacta con la resolución de 10-bit sin poner una tensión en el propio procesador. El firmware acepta un porcentaje entre 0 y 100 y establece el derecho correspondiente del ciclo para hacer el traslado agujas.

La única cuestión aquí es que los medidores de VU se logarítmica (ver las distancias en el panel de marca original, verá que las marcas no son ni siquiera dB, hay un movimiento mucho más por dB sobre el derecho del medidor).
Esto significa que un derecho de aduana del 50% del ciclo de la aguja se apunta a la derecha, no hacia arriba como lo deben ser. Para convertir de una escala lineal a una escala logarítmica requiere un poco de trabajo y las matemáticas algunos.

En primer lugar me puse el dispositivo y conectar un multímetro a la salida PWM del PIC para medir la salida mV eficaces. Luego cargan ciertos firmware de prueba en el PIC que me permitió variar el ciclo de trabajo. A medida que el ciclo de trabajo mayor que mide la salida mV requieren para obtener un 25%, 50%, 75% y un 100% a la nueva escala. Esto le permite dibujar un gráfico que muestra la relación entre la entrada y mV el porcentaje mostrado:





Como se puede ver en la foto, una vez tuve la aproximación de la curva de salida logarítmica Yo función de Excel línea de tendencia para el cálculo de un polinomio de aproximación de la curva. Este cálculo se ha copiado a continuación, en el firmware que permite al PIC para calcular la base de PWM correcta de impuestos ciclo en el porcentaje deseado.

LED Color de mezcla PWM
Para el RGB LED del dispositivo requerido 3 más canales de PWM, ya que los generadores de 2 incorporado PWM son utilizadas por el metro VU esto tenía que lograrse mediante la generación de interrupción PWM impulsada. El ciclo de PWM de los colores del LED es de 60Hz y ofrece 128 niveles de brillo.

Para conseguir el 'correcto control' en la mezcla de colores RGB LED es importante tener en cuenta los niveles de brillo relativo de los colores, la luz LED RGB no los niveles de producción uniforme de brillo a través de los diferentes colores. Esto llevará a los niveles de brillo mal adaptados para la de tratar de quedar particular combinaciones RGB. Para evitar este problema me puse una foto de transistores en un circuito conectado a un multímetro. Las salidas de transistor de fotos-una tensión variable en función de la cantidad de luz que recibe (piense en esto como una luz barata metros!).

En la grabación del LED RGB se le coloco una cinta adhesiva de negro que fue capaz de configurar el PWM de cada color en diferentes niveles de salida de la tensión por la foto-transistor para cada color y el nivel era entonces trazados en un gráfico con Excel. En el siguiente gráfico se puede ver que el rojo es el color más brillante, seguido por el verde azul y, a continuación:





De nuevo, usando la función de línea de tendencia en la parcela de Excel una línea de tendencia lineal a obtener el cálculo necesario para aproximar el LED de salida dada una potencia de entrada conocida.
Usando el LED verde como referencia (ya que es la más baja luminosidad), a continuación, puede calcular el resto. La siguiente parte de esta sección contiene los detalles de las matemáticas reales, cierra los ojos y desplácese hacia abajo más allá de la siguiente sección si no te gusta esto!

LED Brillo por las matemáticas
La salida de cada color se mide mediante un fototransistor conectado a una fuente de 5V y un multímetro. Una resolución 256 paso PWM se aplica a el LED y el brillo de salida 0 a 255 en pasos de 32 niveles.
La tensión de salida del rojo, verde y azul se mide por separado. Los tres colores muestran una salida lineal.
De los resultados, líneas de tendencia lineal se dibujan 0 a 255 que muestra el nivel de luz predicho en todas las salidas de potencia.

El color con la intensidad máxima más baja (verde) se utiliza con 0 y 255 que representa frente que representa el máximo brillo.

Los otros dos colores se ajustan en función de multiplicador de la línea de tendencia:
* Rojo = 0,0071 x

Azul = 0,0064 * x

Donde x es el paso PWM. Tenemos, pues, a escala el resultado de acuerdo al rango de la menor intensidad de color (verde), de modo para el rojo, si x = 187:

intensidad en escala = (255/1.1985) * (0,0047 * x)

En caso de 1,1985 es el valor máximo de la luz verde y 255 es el número de pasos en la escala.
Luego, para obtener la salida PWM requerido (x) de la intensidad de la escala (y) simplemente resolver la ecuación en términos de x y simplificar:

x = 47 y * / 71

Así que si nuestra "relativa a verde 'de brillo es de 255, la salida PWM rojo real debería ser 168,8.
Azul se calcula exactamente el mismo:

x = 47 y * / 64

Para ajustar la escala que basta con modificar el último número (71 ó 64). Si aumenta el número de la línea de tendencia de salida se hace más plana (la producción menos la luz) y si lo disminuye la línea de tendencia se hace más empinada de salida (salida de más luz).

Esto puede ser usado para adaptarse a su propio LED.
Pulsador

El firmware pulsador es una rutina simple rebote. Una vez que el botón se detecta como "presiona" el firmware establece un indicador que sólo se abrió después del evento se ha pasado al host USB.

Software Windows

El software de Windows que está escrito en C # y le permite configurar el dispositivo USB para mostrar un número de contadores de rendimiento diferencia en los medidores. Usted puede supervisar los siguientes elementos:

la utilización del procesador (total o núcleo por-)

utilización de disco duro (total o por unidad física)

Utilización de memoria

Utilización de la red (por tarjeta / dispositivo)

Aquí hay una captura de pantalla de la aplicación en la acción:




Además, el monitoreo de red le permite reemplazar la configuración predeterminada "ancho de banda" (que sería 1000 Mbits / seg para una tarjeta de Ethernet de alta velocidad) y la puso a un nivel inferior. Normalmente tengo esta serie de 14Mbits/sec que es el máximo ancho de banda de mi conexión de banda ancha. También puede configurar el HDD LED para ajustar el color que se debe mostrar si la unidad es la escritura, la lectura o ambos. Usted también tiene la opción de variar la intensidad del color muestra basado en la utilización de la unidad, así que si la unidad es muy usada el LED se vuelve más brillante.

Por supuesto, lo que se propuso a los contadores para mostrar depende probablemente en el panel de marcado que hizo para el medidor de VU, sin embargo usted tiene la opción de cambiar rápidamente la configuración si es necesario para controlar algo más de forma temporal.

La aplicación también muestra el HDD LED de estado en la barra de tareas. Esto es útil si quieres tanto en el dispositivo USB y el escritorio para mostrar lo que sus discos duros están haciendo. Puesto que usted probablemente querrá que la solicitud se ejecuta en el fondo mientras usted está usando la máquina, hay varias opciones que le permite ocultar la ventana de la aplicación principal.

La aplicación también permite configurar la función del botón de hardware en el dispositivo. Puede utilizar esta opción para desactivar los medidores, LED o ambos. Hay una "opción adicional deshabilitar USB", que hace que el PIC para desactivar el puerto USB. Esto es útil si tiene un interruptor KVM y desactivar temporalmente el dispositivo antes de cambiar las máquinas.

Si desea más detalles sobre las funciones que la aplicación proporciona Le sugiero que eche un vistazo a los vídeos de YouTube a partir del cual incluye un simple paseo a través de las opciones.

Archivos para descargar

Visual Studio 2008 C # Host proyecto de aplicación
MPLAB de alta tecnología C del proyecto del firmware para el PIC18F2550
Esquema PCB y Material Gráfico
Archivo de instalación MSI de Windows (en un zip)

Descarga el proyecto completo:
formato: Imagen ISO
Size: 7288 KB
Status: File available

Mirror MegaUpload
Código:
http://www.megaupload.com/?d=FY1GTOAJ

Mirror Rapidshare
Código:
http://rapidshare.com/files/401905940/USB_monitor_by_enigmaelectronica.iso
Contraseña de apertura
Código:
http://www.megaupload.com/?d=JKJHYCJ2
Disculpen mi traduccion al español, estoy me cuesta un poco... mas adelante posteare mas en español
 
#4
GENIAL¡¡¡¡
enigmaelectronica will you marry me?? please??
please be my bride i fell in love jejejeje
greetings and it's a serious proposal
 
#7
Ingeniero, Lo lamento, NO suelo responder preguntas de indole personal, la mayoria de mis proyectos los hacemos en clase con mis alumnos de electronica Digital de Bachillerato, ellos buscan proyectos y permiten que les explique como funciona... de ahi que subo aportes completos o por lo menos detallados

Aunque a veces me ponen en la sarten... ya que me tocaa veces averiguar o corrregir los Codigos fuentes
 
#8
Ingeniero, Lo lamento, NO suelo responder preguntas de indole personal, la mayoria de mis proyectos los hacemos en clase con mis alumnos de electronica Digital de Bachillerato, ellos buscan proyectos y permiten que les explique como funciona... de ahi que subo aportes completos o por lo menos detallados :D

Aunque a veces me ponen en la sarten... ya que me tocaa veces averiguar o corrregir los Codigos fuentes :D
 
#10
muy buen aporte ojala cuando yo iba en la carrera hubiese encontrado un proyecto como este es muy curioso y quizá me hubiese especializado en Robotica y no en telecomunicaciones como lo hice, gracias lo haré en mi tiempo libre.Y haber si alguien encuentra uno que monitoree el uso de red directamente desde un cable de eternet con conector Rj45 sin necesidad de una PC. Ese si valdría definitivamente la pena.
 
Arriba