viernes, 28 de septiembre de 2018

BARTOP ARCADE CLASSIC

Con la crisis de los 40 me decidi a realizar una maquina recreativa, ante todo remarcar que es una cutre maquina, por dinero, tiempo y la familia...intento escaquearme por las noches al trastero a darle caña, pero con dos peques y una un bebe, es dificil, menos mal que mi costilla me lo consiente...a veces....

ANTECEDENTES:
Todo empezó cuando iba a tirar un viejo PC que no funcionaba...se me ocurrió abrirlo y observe que la placa tenía dos condensadores cascados...

asi que se me ocurrio cambiarlos todos y asi lo hice...y zas la placa revivió


asi que me encontre con un athlon xp 2800+, 2 gb de memoria y 250gb de disco en una placa dfi ultra nf2...y me dije, que hago con esto....pues una bartop para las peques y sobre todo el peque grande...

Como soy cutre, tenía por el trastero también tablas de cuadros dm de 10mm que me sobro de no sé que narices, así que me puse a montarla sobre este tablero.

MODELO: BARTOP
Tenia en cuenta que quería algo ligero, para llevarla (ahora me doy cuenta que con un pc dentro y un monitor de 19" va a ser pesada), y también algo para que pudiesen jugar cómodos dos adultos, asi que seria de 55mm.

Rebuscando por internet encontre este y otros foros, y empece mi andadura...

Para el diseño me guie por koenig y la starcade de rolfebox, añadiendo cosas de este foro que encontre por aqui...
http://www.koenigs.dk/mame/eng/stepweecade.htm
http://www.instructables.com/id/2-Player-Bartop-Arcade-Machine-Powered-by-Pi/

si alguien quiere los planos modificados se los paso, pero vamos que solo modifique el ancho de la máquina sobre los planos de la starcade, sobre el papel cogen bien el monitor de 19" y la placa base con fuente ATX.



El monitor lo cambie porque me pareció ridículo, era uno de 15" que tenia por ahí, al final conseguí otro en wallapop de segunda o quinta pata por 10€, es un hyundai x19 formato 4:3 con dos altavoces de 2w. el sonido no lo sacare de ahí usare un ampli y otros altavoces de PC...

MANOS A LA OBRA

  • herramientas caseras use (banco de trabajo, tornillo de banco, escuadras, sargentos, brocas varias, taladro, accesorio lijador taladro, caladora, pequeña herramienta y atornillador eléctrico)...y mucha escoba y recogedor...
  • como base elegí tablero MDF de 10mm, renunció al T-molding, pero tengo pensado poner molduras tipo U de coche de 10mm.

Tras dos noches


Tras una mañana de trabajo, este es el resultado:






aprendí que para el marcianito en tablero de 10mm hay que separar mas la distancia de los agujeros o se rompe...ya lo reparare con masilla




Fallos que veo: cantos en 45 grados, ni idea que la caladora podía hacerlos...ahora se que si,

por ese fallo antes de pintar tendré que rellenar con masilla o cola termica la parte que une la tapa trasera con la superior, asi como el CPO y la parte inferior de este...

Otra noche y he terminado el hueco en la tapa para la fuente de alimentación y la ventilación de la parte de arriba, con pacman y un fantasma...

Me voy a poner con la pintura, como soy reacio a ir al leroy merlin, he estado en la tienda de pinturas del barrio, y el dependiente (de los que llevan pintura hasta detrás de las orejas) me ha dado una pintura esmalte al agua satinada que dice que no necesita imprimación para el DM, que con lijarla bien, ya agarra, una capa 12 horas y otra después...

me parece raro que no necesite imprimación, cuando he leído que el DM chupa lo suyo....pero el tipo parece entender bastante... y al final tenia razon...

la pintura es esta: https://www.titanlux.es/es/productos/producto/unilak-esmalte-laca-universal

esto va tomando forma, ya esta pintada, no ha quedado tan mal, solo pequeños defectos por usar madera reciclada... ahora me doy cuenta de un pequeño error de diseño, la tapa superior no deja espacio superior con los laterales, así que no podre poner un canto de pvc bonito...

ya tengo el metacrilato con lo que ahora solo falta poner los controles y encargar vinilos...



La parte de los controles me la he saltado, porque es relativamente facil...y hay miles de tutoriales, yo elegi unos de aliexpress...

Los vinilos para la decoracion los encargue en pixartprinting, vinilos con brillo y diseñados por mi en plantillas de photoshop.

Son vinilos de pegar normales y la propia presión del metacrilato los fijan...

Al final gracias al los tuneadores de coches encontré una moldura para dm10.

pongo dos vídeos de como ha quedado la maquina, el software usado es el MAXIMUS ARCADE.







REGULAR VELOCIDAD VENTILADOR SEGUN TEMPERATURA PLAYSTATION 3


Esta entrada esta basada en el trabajo de David Losada:

http://miqueridopinwino.blogspot.com/2016/08/diy-evita-problemas-de-calentamiento-PS3.html

David Losada, al que debo el post, ha ideado esta fantástica solución, mediante un sencillo chip de poco mas de 2 euros y programación se consiga regular el ventilador de las PS3 o cualquiera que este controlado por pulsos (PWM)

Al principio las videoconsolas no contaban con procesadores que generasen excesivo calor, por lo que muy pocas llevaban ventiladores, con la aparición de la PS2 y de la XBOX se cambio el diseño, era necesario evacuar el calor que generaban los procesadores, y para ello se dotaron de amplios disipadores con ventiladores...

Las consolas están destinadas a ser un centro de juegos y generalmente se ponen en la sala de estar, cuando salieron las primeras PS3 muchos usuarios se quejaron del alto ruido que generaban al calentarse...Sony cambio el diseño y saco los modelos slim y superslim..

En las primeras PS3 la alta temperatura dañaba las soldaduras del procesador (soldaduras que de fabrica tampoco eran las mejores), el resto de PS3 sufren tambien de calentamientos que al cabo de pocos años pasa factura.

Como otros periféricos como los PCs, la PS3 tiene tambien un ventilador regulado por pulsos PWM,


Hay gente que ha regulado el ventilador de forma fija para que vaya siempre más acelerado (con una resistencia en el cable gris conectado a los 12V, regulando a 1V aprox., o bien con un potenciómetro para hacerlo manualmente), pero no es la mejor solución ya que no tiene en cuenta la temperatura del procesador (que puede variar mucho según la temperatura ambiente), y aunque funciona, al tener que cubrir todos los casos, suele quedar más ruidoso.


Para este mod se va a usar el chip attiny85 de Atmel. Es un chip se puede programar fácilmente con Arduino.


Materiales
1. Módulo Attiny85 Digispark Digispark (placa derivada de Arduino, con conexión USB). Esta placa es pequeña, económica y compatible con el IDE ARDUINO. Por su dimensiones es perfecta para desarrollos que requieran poco espacio, cuenta con 6 pines I/O, dos de los cuales son utilizados durante la carga por USB. 
  • Alimentación externa 5v­12v 
  • Corriente máxima 500 mA 
  • Comunicación USB, I2C(UART Sof.) 
  • PWM 3 Canales ADC 4 
  • Canales Memoria 8K (2 para bootloader ) 
  • Recomendaciones: Usar alimentación externa inferior a 12V.






2. sensor de temperatura para regular la línea PWM (cable gris) del ventilador de la PS3 slim entre 0,8V y 1,3V

En la siguiente foto vemos los cables ya soldados. 


En el pin 4 tenemos la regulación PWM (cable amarillo), en el 2 un lado del sensor (por el otro lado la resistencia que necesita a masa) y el otro lado del sensor a 5V out del chip. 


Y la alimentación conectada directamente a la alimentación del ventilador (el regulador integrado admite entre 6 y 15V).

Se ha soldado directamente la resistencia 6K8 que necesita este sensor NTC  por la parte de atrás de esta pequeña placa:.

Una vez programado (el programa Arduino esta al final de este tutorial), se procede a instalarlo.

Una vez que la tengamos la PS3 sin la carcasa superior, podremos ver los tres cables que van de la placa al ventilador. El rojo es el positivo +12V, el negro es masa o -12V y el gris es el de regulación de voltaje por anchura de pulsos.



Cortamos el gris, aislando el trozo que viene desde la placa base con un poco de cinta aislante para evitar que toque cualquier parte y se produzca un indeseado corto. La parte que nos interesa es la que sale del ventilador, y es sobre la que vamos a regular el ventilador. 


Para conectar los cables rojo y negro sólo los he pelado un poco sin llegar a cortarlos, para aplicarles un poco de estaño con el soldador y alimentar con ellos el ATTINY85.

ES MUY IMPORTANTE colocar bien el sensor de temperatura, para que haga buen contacto con el disipador del RSX, de ello depende que se regule correctamente. Yo lo he sujetado con silicona (puede aguantar temperaturas altas) una vez que he comprobado que todo funcionaba bien: 


Se escamotean bien los cables y se cierra la consola de nuevo.

PROGRAMA

Instrucciones de instalación del software: http://digistump.com/wiki/digix/tutorials/software

El Digispark funciona igual al resto de productos Arduino, excepto que durante la carga del software no hay que conectar el Digispark al inicio. Hay que pulsar antes el botón de subida y en el cuadro inferior de estado se pedirá que conectemos el Digispark, en ese momento se debe enchufar o desconectar y conectar nuevamente. Empezará el progreso de carga y cuando termine ejecutará inmediatamente el código introducido en el Digispark.

Al conectarlo siempre espera 5 segundos antes de que el código se ejecute. Este retardo es la comprobación para determinar si se está tratando de programar.
/*  ==================================================================

  Sketch control ventilador por PWM con ATTiny85 económico termistor NTC.
  Configurado para ventilador Playstation 3; con autolimpieza al arranque.
  
  Autor: David Losada, basado en trabajos de Rafael Torrales y Antonio Moles.
  Version: 1.32 (Ahora la autolimpieza la hace cada vez que se enciende la consola)
  Fecha: 20 de julio de 2016. Última actualización 7/02/2017
  Compila con Arduino 1.6.9

    ==================================================================   */

#include  //Instalar esta rutina si no la tenéis; está en el repositorio general de Arduino 1.6.9
//Si anduviéramos cortos de memoria, habría que eliminar la librería EEPROM y el código relacionado

//******************* A CAMBIAR SEGÚN TU CONFIGURACIÓN ********************************
//Control temperatura
const float resistor = 6800; //El valor en ohmnios de la resistencia del termistor a 25ºC
const float voltage = 5.0; // El voltaje real en el punto 5Vcc de tu placa Arduino

//Deltas de temperatura
int tempMin = 20; //Temperatura mínima de activación del ventilador
int tempMax = 37; //temperatura a la que funcionará al 100%
//0,85V=velocidad mínima de vent. PS3 y 1,25V vel. máxima
float PWMMin = 0.65; //Voltaje PWM de funcionamiento con temp. mínima (el de la PS3 se pone en marcha con 0,8V)
float PWMMax = 1.3; //Voltaje PWM de funcionamiento al máximo ventilador
//Hay que tener en cuenta que los voltajes se ajustan a las temperaturas pero no se ciñen a ellas,
//es decir, que a tempMin el voltaje será PWMMin, pero a menor temp. el voltaje bajará, y lo mismo
//con el voltaje máximo; si sigue subiendo la temperatura, el voltaje PWM aumentará en consecuencia,
//hay que tener cuidado porque podríamos dar más voltaje del necesario al ventilador

//Definición pines digitales para activar relés
int TempPIN=1; //En el ATTiny85 las entradas son (1)=P2; (2)=P4; (3)=P3; (0)=P5 -> Pin al que conectamos el termistor
int motorPWM=4; //Pin PWM de control motor; P0, P1, P4 el en ATTiny85
const int frecseg = 1; //Tiempo en segundos entre cada ejecución del programa (recomendado entre 1 y 5 segundos)
int ledPIN=1; //Según la placa, en este caso el LED del ATTiny85 B es el 1

//Variables
float Temp= 0; //Valor entrada sensor temp
int fanSpeed= 0; //Velocidad de motor
long timeLED=0; //Para almacenar tiempo
unsigned long millisInicio=0; //Para comprobar paso de horas

//Parte del cálculo temperatura
//Para ahorrar cálculos lo definimos como constante en esta parte del programa
const float K= 273.15; //Para pasar a grados Kelvin
const float e = 2.718281828459045; //Constante matemática 
//const float B = log(RPto2/RPto1)/(1/(TPto2+K)-(1/(TPto1+K))); //Valor Beta de tu termistor calculado de dos puntos
const float B = 3850; //Valor Beta del Datasheet; comentar esta línea si se meten los datos de los dos puntos
const float unodivr = 1/(resistor * pow(e,(-B/298.15))); //Con pow elevamos e al resultado

float T = 0; //Declaramos la variable Temperatura
int grados, decimas; //Para ponerle coma al resultado (en español)

void setup()   { 
//Resetea la EEPROM la primera vez que la usamos
EEPROM.setMemPool(0,512); //Establecemos inicio y tamaño de EEPROM de la tarjeta utilizada
EEPROM.setMaxAllowedWrites(128); //Mínimo para que pueda hacerse el primer borrado completo
//rellenamos de 0 los datos de EEPROM
//Attiny85 tiene 512 Bytes de EEPROM; ajustar según el que uséis
if (EEPROM.readLong(508)!=7091976) { //En ese punto, preferiblemente al final, guardo un valor para saber si ya la he reseteado
  for(int i=0; i<502 -="" 0="" 10000="" 10="" 16="" 1:="" 255="" 25ms="" 2:="" 2="" 3:="" 3="" 5="" 5v="" :="" a="" acar="" acemos="" activaci="" actuamos="" al="" alimentar="" alor="" anal="" analogwrite="" and="" ara="" arte="" attiny85="5V" attiny="" aumente="" ax="" b="(RPto2/RPto1);//(1/(TPto2+K)-(1/(TPto1+K)));" bajar="" basandose="" beta.="" calcula="" calcular="" caracteres="" coja="" comprobando="" con="" consecuencia="" consola="" convertimos="" correcta="" corresponde="" de="" dejamos="" del="" delay="" desde="" disponible="" divisor="" ecesitamos="" ecoge="" ecuaci="" eeprom.update="" eeprom="" efinir="" egla="" el="" elocidad:="" emp:="" emp="" emppin="" en="" encendido:="" enciende="" entre="" erial.print="" erial.println="" espera="" estar="" fanspeed="" filas="" final="" float="" for="" forma="" gico="" ha="" haga="" i="" iempo="" if="" in="" indicativo="" inicializado="" input="" int="" justar="" la="" lcd.begin="" lecturas="" led="" ledpin="" leemos="" limpieza="" lmacenamos="" lo="" loop="" los="" ltima="" m="" media="" mediante="" medias="" mero="" millisinicio="millis();" modifica="" motor="" motorpwm="" n="" no="" o="" omprobamos="" onemos="" onvertimos="" orrado="" output="" pantalla="" para="" parar="" parpadear="" parte="" pines="" pinmode="" ponemos="" por="" posici="" progresiva="" puerto="" pwm="" pwmmax="(255*PWMMax)/5;" pwmmin="(255*PWMMin)/5;" que="" r1="r1a" r1a="(voltage*float(resistor))/v2;" rango="" resistance="" resistencia="" resistor="" revoluciones="" sacar="" se="" seg="" segundos="" serial="" so="" sobre="" speramos="" steinhart-hart="" t="B/log(r1*unodivr);" tama="" tarda="" temp="" temperatura="" tempmax="" tempmin="" tenemos="" terminado="" thermistor="" tiempo="" timeled="" tope="" total="" tres="" un="" v2="(R2*V)/(R1+R2)" valor="" valores="" veces="" velocidad="" ventilador="" void="" voltage="4.83" voltaje="" voltios.="" voltios="" voltmax="" volvemos="" x="" ximas="" y="" ya="">millis()) { //Cuando pasen 50 dias resetear
    timeLED=millis();
  }
  if ((millis()-timeLED)>frecseg*1000*2) {
      analogWrite(ledPIN,100); //enciende LED indicando funcionamiento
      timeLED=millis();
  }
    if ((millis()-timeLED)>frecseg*1000) {
      analogWrite(ledPIN,0); //apaga led
    }

//Si ha pasado una hora desde la puesta en marcha, añadimos una hora
// al contador de la EEPROM, para estadística
if ((millis()-millisInicio)>3600000) { //Ha pasado una hora
  millisInicio=millis(); 
  EEPROM.update(0,EEPROM.readLong(0)+1); //Añadimos una hora
}

  delay(frecseg*1000); //Ponemos en espera al Atmel
}

// *************** RUTINA MAP MEJORADA (admite fracciones)
double doubleMap(double x, double in_min, double in_max, double out_min, double out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
  

<255 br="" i="i+25)"><5 br="" nbsp="" x=""><--final br="">




jueves, 27 de septiembre de 2018

Destripando la PS3 - Como desmontar la PS3 Super Slim para limpiarla




Este tutorial muestra cómo desmontar la PS3 Super Slim.

Requisito:
  • PS3 Super Slim.
  • Un destornillador plano, pinzas, o útil plástico plano
  • Destornillador de estrella tamaño 2
  • Destornillador Torx T8
Vamos a tener que sacar la tapa lateral (derecha) para hacerlo, sólo hay que empujarla hacia la derecha.


Una vez extraída se ven 3 tornillos Torx que hay que quitar, también hay que quitar el tornillo que sujeta el disco duro de la consola (si lo tiene)


A continuación, se quita el disco duro tirando hacia afuera de él.
Ahora vamos a quitar la tapa superior trasera, sale levantando suavemente hacia arriba.

A continuación, se levanta la tapa delantera superior con el fin de extraerla. La tapa estaba sujeta por uno de los tornillos Torx que retiramos antes. Para ello, basta con levantar la tapa un poco y deslizarla hacia la izquierda.
 

Hay que quitar 4 tornillos Phillips negros para quitar el resto de la tapa delantera.




Una vez que se extraen los 4 tornillos anteriores, hay que abrir la tapa de la unidad Blue-ray de la consola para quitar 2 tornillos Torx.
 
Ahora que se han quitado todos los tornillos de la parte superior, se le da la vuelta a la consola. Hay que quitar 4 tornillos, están ocultos por unos pequeños topes de goma y por el sello de garantía, una vez quitados se tiene acceso a los tornillos.


 



Una vez que se han quitado todos los tornillos de la tapa superior, se ven en el frente 4 agujeros con clips plásticos que sujetan toda la carcasa superior.

Los clips plásticos que sujetan la carcasa, se pueden extraer con un destornillador plano de tamaño 1 o similar, pero inclinando hacia delante la carcasa suelen salir.


Se pone el desatornillador en los agujeros y se hace palanca tirando el destornillador en su contra, de forma que se desenganchan los clips para luego quitar la carcasa.
 
Esta ya es la última sujeción que une la carcasa superior con el resto de la consola.

Ahora que la cubierta superior se separa del resto, puede comenzar por levantar la parte delantera hasta sacar por completo la tapa de la consola.
 

Ahora ya tenemos acceso a los componentes principales de la consola como la fuente de alimentación, reproductor de Blu-ray, el ventilador, disipadores, antenas o la placa base.
 




Quitar componentes principales
Ahora hay que sacar primero el lector de Blu-ray. Ya no está fijado por los dos tornillos torx, estos los hemos sacado antes, sólo hay fajas o cables de datos para quitar.
(NOTA): Hay que tener cuidado y no tocar la lente con los dedos en este proceso.

Hay tres cables de datos que unen la placa con el lector. Para empezar hay dos en la parte delantera. La más pequeña de 6 pines alimenta la lente y se puede quitar simplemente tirando suavemente.
 
Para la faja de 56 pines (la más grande que trasmite los datos de lectura), hay que levantar primero el clip marrón del conector de la placa y tirar suavemente de la faja.

(NOTA)
Antes de retirar el lector óptico todavía tiene una faja más pequeña en la parte posterior, que alimenta el motor.

Hay dos métodos:
  • Sacarla por la parte de atrás del lector tirando de ella con suavidad
  • Quitando la fuente de alimentación y sacándola la parte de la faja que conecta con la placa. (yo recomiendo este método)
 
Una vez que se retira el lector óptico, vamos a extraer la fuente de alimentación. Se quita mediante dos tornillos uno en cada extremo. Empezamos por ejemplo por la parte izquierda.
 
En el lado derecho hay quitar la clema de cables que conecta la fuente de alimentación a la placa base.
 
Con la fuente de alimentación fuera, se puede quitar suavemente el conector del botón de encendido, que va a la placa base.

Una vez más sólo hay que tirar suavemente sobre la faja para desconectarla.
 

Ahora ya se pueden quitar las dos antenas inalámbricas ubicadas en la parte delantera de la consola, junto al ventilador. Estas están atornilladas por un tornillo Phillips cada una.
 
A continuación, será necesario retirar el resto de la consola de la parte inferior de la carcasa. Hay 6 tornillos, cuatro en la parte posterior de la consola y otros dos en la parte delantera. Puedes empezar por sacar los 4 traseros.
 

Luego los primeros tornillos en la parte delantera se encuentran en el área del bloque óptico, que está en la esquina.

 
Y el último tornillo se encuentra en el otro lado, también en la esquina de la consola junto al ventilador.
 
A continuación, se separa la placa base y la carcasa inferior. Para ello se agarra por el ventilador y se tira hacia arriba.
 
Una vez que la placa base no se encuentra sujeta a la carcasa inferior, se pueden quitar los conectores de las dos antenas que están conectados a la placa base, para ello se hace palanca suavemente con un destornillador de cabeza plana

NOTA: Para recordar el color de los cables que van a cada antena, puedes dibujar con un rotulador indeleble una línea negra cerca del conector del cable negro.
 
También al mismo tiempo, se desconecta el ventilador de la placa base tirando suavemente de la clavija.
 
NOTA: Este conector, a diferencia del modelo de PS3 FAT y Slim es muy frágil, no es aconsejable tirar directamente de los cables para sacarla, si no que se debe sujetar el conector que ancla en la placa con algo, por ejemplo unas pinzas metálicas. Hay que tratar de tirar con suavidad para evitar que se desuelde de la placa.

A continuación, se puede extraer el ventilador, hay una fina placa metalica delgada que protege la placa base.
Se quita mediante cuatro tornillos laterales y una plaquita mas oscura que sujeta la CPU y el bloque disipador-ventilador.
 

Después para retirar la placa, hay que levantar ligeramente la parte frontal de la placa base (el lado de las tomas USB) para extraerla.

Advertencia: Si esta es la primera vez que se hace esta operación, es posible que la pasta térmica este dura y no se pueda separar el disipador de la placa base con facilidad.
 
No hay que insistir demasiado en el mismo lugar, se prueba a levantar en diferentes lugares de la placa base, de forma gradual para despegarla, después de un tiempo cederá.

Ahora se tiene acceso completo a la placa base, por si, por ejemplo, hay que cambiar la pasta térmica.




Si se quiere ir más allá y limpiar la hélice del ventilador, se pueden quitar los 3 tornillos que sujetan el ventilador negro de la carcasa metálica.

 
No voy a mostrar cómo montarla, para ello simplemente hay que seguir este tutorial a la inversa.