sábado, 13 de febrero de 2010

Salicru UPS y NUT en FreeBSD

Recientemente he jubilado mi antiguo sai un MGE Ellipse 600 por un SAI Salicru SPS ONE 900VA



en la caja pone que es compatible con Linux, con su desastroso e infumable programa de gestion Winpower, asi que el reto en cuestion es hacerlo funcionar en Unix con el daemon NUT de http://www.networkupstools.org/

En principio la poca informacion que se puede encontrar sobre el SAI es que es compatible con el protocolo megatec_usb, en principio asi es pero se conoce que hay otro driver que usa ese mismo protocolo mas actualizado y compatible con este SAI, el protocolo blazer_usb que funciona decentemente, aqui unas capturas del funcionamiento:

  • Salida del comando upsc salicru

freenas#
battery.voltage: 13.60
battery.voltage.nominal: 12.0
beeper.status: enabled
driver.name: blazer_usb
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/uhid0
driver.version: 2.4.1
driver.version.internal: 0.03
input.current.nominal: 3.0
input.frequency: 50.1
input.frequency.nominal: 50
input.voltage: 229.1
input.voltage.fault: 229.1
input.voltage.nominal: 230
output.voltage: 229.6
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 42
ups.productid: 5161
ups.status: OL
ups.type: offline / line interactive
ups.vendorid: 0665

  • Captura del interface cgi del NUT

Ahora vamos con la configuracion del nut para que funcione el SAI:
  • Configuracion de ups.conf
[salicru]
        driver = blazer_usb
        desc = "FreeBSD NAS"
        port=/dev/uhid0
Los demas ficheros de configuracion estan bien documentados, asi que toca leer.

Para FreeBSD un paso importante para que el usuario por efecto que corre el daemon pueda leer el dispositivo es configurar los siguientes ficheros:

  • Fichero /etc/devfs.rules
[nut_usb=10]
add path 'uhid0' group wheel user uucp mode 0660
  • Fichero /etc/devfs.conf
perm    /dev/usb/*      0660
own     /dev/usb/*      root:uucp
  •  Mensajes al arrancar el daemon
Network UPS Tools - UPS driver controller 2.4.1
Network UPS Tools - Megatec/Q1 protocol USB driver 0.03 (2.4.1)
Supported UPS detected with mustek protocol
Vendor information unavailable
Battery runtime will not be calculated (runtimecal not set)
Starting nut.
Network UPS Tools upsd 2.4.1
listening on port 3493
Connected to UPS [salicru]: blazer_usb-salicru

sábado, 9 de enero de 2010

Usando el chip FT232

Harto del engorro que supone andar con los conectores DB9, montar la conversion TTL 12-5 con el max232, he buscado la solucion definitiva para conseguir una conexion serie PC-MCU estable y con funcionalidades integradas utiles.

La solucion viene en un diminuto integrado denominado FT232 de la casa FTDI, este integrado es usado en las placas de Arduino y en gran mayoria de conversores USB-Serie, entre las caracteristicas más destacadas del integrado estan:
  • Conexion USB, datos y voltaje +5 en el mismo cable son impagables
  • Reducido tamaño SMD SSOP-28, se necesitan pocos componentes adicionales para funcionar
  • Salida de reloj interno 12Mhz para MCU ahorra componentes extra y espacio
  • Salidas para estado de leds TX, RX
Este es un esquema basico del diseño:


Esta basado en el datasheet y por temas de prototipo he pasado de algunos condensadores para filtrar ruido como se puede apreciar.

Luego de exportarlo con Eagle he eliminado las patillas que no se usan para facilitar la soldadura ( hasta que no mejore la tecnica de soldadura )

Este seria el aspecto de la PCB montada:





El sistema de conector USB hecho con la propia PCB es bastante util, aunque el resultado final tiene un indice gañan elevado, funciona perfectamente al conectarlo al PC, un poco de cinta adhesiva para hacer que encaje mejor es conveniente.

Puenteando TX y RX se puede comprobar el funcionamiento con un terminal

A mejorar:
  • Añadir Leds de estado ON, TX, RX
  • Añadir un conector USB de verdad
  • Perfeccionar la tecnica de soldadura SMD
Referencias:

lunes, 29 de junio de 2009

Ultimas gastadas

Ya estan aqui las gastadas, se acercan multitud de horas de entretenimiento frikil.

Contenido:
6 x panel pvc amarillo 30x40mm
3 x Receptor IR TSOP4838
1 x Cable adaptador mando PS2
1 x separadores 20mm



Recepcion IR con Arduino (protocolo NEC)




Lo que tenemos aqui es un receptor IR 38khz TSOP4838 y la idea es programar el Arduino para que reciba los codigos IR de mandos a distancia, en concreto los mandos que he probado parecen usar el protocolo NEC que esta bastante extendido

El primer paso es conectar el receptor IR como se ve en la foto, con el positivo a una resistencia de 220 ohm, aqui abajo se muestra el esquema de conexionado del datasheet, pero voy a obviar algunos componentes por simplificar la tarea.







Seguidamente nos descargamos la libreria NECIRcv de  http://wikiputer.org/arduino/NECIRrcv.zip y la copiamos el directorio usual arduino-013/hardware/libraries/

Podemos cargar el ejemplo que viene con la libreria pero hay que añadir un include al principio para que la compilacion no de errores, quedaria como lo siguiente:
// look for IR codes and print them as they are received
#include <WProgram.h>
#include <NECIRrcv.h>
#define IRPIN 8    // pin that IR detector is connected to

NECIRrcv ir(IRPIN) ;

void setup()
{
Serial.begin(9600) ;
Serial.println("NEC IR code reception") ;
ir.begin() ;
}

void loop()
{
unsigned long ircode ;

while (ir.available()) {
ircode = ir.read() ;
Serial.print("got code: 0x") ;
Serial.println(ircode,HEX) ;
}
}

Una vez compilado y subido al arduino abrimos la consola serie y pulsando alguno de los botones de los mandos los codigos HEX salen en pantalla



Mandos usados para las pruebas, mando para receptor Yamaha RX-V340 y mando para sintonizador TDT-USB Zappa:




Referencias:
- post original: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556/0
- informacion util sobre protocolos IR: http://www.sbprojects.com/knowledge/ir/ir.htm

Mas gastadas, MicroFresadora Proxxon MF70 + motores CENECE 23HR56

Llegaron las ultimas gastadas para el proyecto del cacharro CNC, aqui estan algunas imagenes ilustrativas de los elementos:
motores Cenecé 23HR56 de 400 pasos:

motor encima de una misteriosa caja

el carton lleva dentro un misterioso contenido

aqui esta el ansiado articulo
mesa de coordenadas que lleva la maquina
en el interior esta lo interesante
varios angulos del aparato


Referencias:
http://www.cenece.com
http://www.proxxon.com/