Construyendo una tableta Core i7 muy compacta

¡Hola, Habr! Quiero contarles acerca de mi pedido de un proyecto mascota prolongado para ensamblar una tableta PC casera bastante poderosa. El proceso aún no está completo, el estado actual se puede llamar "prototipo de trabajo". Pero se han logrado algunos resultados preliminares y quiero compartir las ideas principales.







Porque es necesario



La idea de montar una tableta casera me vino a la mente hace unos años. A finales de la década de 2000, se popularizaron los denominados UMPC, dispositivos basados ​​en procesadores de arquitectura x86, capaces de ejecutar todos los programas habituales para ordenadores de sobremesa (bueno, no todos, pero los que la potencia del hardware permitirá), pero que al mismo tiempo caben si no en el bolsillo del pantalón. luego al menos en el bolsillo de tu chaqueta de invierno. A menudo, estos dispositivos, además de una pantalla táctil, tenían un teclado QWERTY, además, en un factor de forma optimizado para trabajar "con el peso", así como un panel táctil o trackball para el posicionamiento preciso del cursor del mouse (lo cual era especialmente importante dada la baja precisión de las pantallas táctiles de esa época y la interfaz "). programas de escritorio, no diseñados para pantallas pequeñas y entrada táctil). En ese momento, muchos pensaron que el futuro pertenecía a tales dispositivos.Se suponía que se convertirían en verdaderos ayudantes en el trabajo, permitiéndote trabajar no solo en la oficina y en casa, sino en general en cualquier lugar, y ni siquiera es necesario que al mismo tiempo haya una superficie horizontal sobre la que colocar tu gadget. Yo mismo era el orgulloso propietario de uno de estos dispositivos. Mi UMPC era un factor de forma de control deslizante horizontal con un teclado QWERTY, panel táctil y pantalla táctil de 7 pulgadas. Y este dispositivo realmente ayudó a ahorrar tiempo. Con su ayuda, se realizó una parte importante de mi tesis, y no solo se escribió una nota explicativa, sino que también se escribió, compiló y depuró el código del programa. Hice todo esto bien en el metro de camino a la universidad, al trabajo y luego a casa,y para esto ni siquiera fue necesario buscar un lugar para sentarse: el tamaño y el factor de forma del dispositivo permitieron trabajar en silencio mientras estaba de pie. Las horas de viaje ya no se desperdiciaron, y cuando regresé a casa, pude permitirme pasar la noche haciendo otras cosas.



Sin embargo, no existen dispositivos eternos, los equipos electrónicos se están volviendo obsoletos rápidamente. Mi UMPC inicialmente tenía un hardware muy débil incluso para los estándares de su época, y después de unos años ya no era posible usarlo ni siquiera para las tareas más simples. Intenté durante mucho tiempo encontrar un reemplazo para él, pero tales dispositivos pasaron de moda y dejaron de producirse. Luego (varios años después) decidí montar un dispositivo de este tipo yo mismo. Como resultado, el proceso de ensamblaje tomó mucho tiempo, lo hice a trompicones, mientras simultáneamente bombeaba la habilidad de trabajar con un soldador. Ahora se tuvieron que abandonar muchas cosas y la apariencia del dispositivo aún deja mucho que desear. Pero, curiosamente, a pesar del enfoque de diseño absolutamente amateur, en general, el dispositivo resultó ser eficiente.



Lo importante de una computadora portátil casera



Hay muchas descripciones de varias computadoras portátiles caseras en Internet. Las placas base industriales de varios factores de forma compactos se utilizan a menudo como base para ellos. Estas placas base generalmente contienen una CPU con un consumo de energía bajo o ultra bajo, ranura (s) de memoria de factor de forma SO-DIMM "laptop" o memoria ya soldada, y un conector LVDS que le permite conectar una pantalla de computadora portátil. Yo fui por el mismo camino. Pero el principal problema que no pude resolver durante mucho tiempo fue cómo hacer que la computadora ensamblada "se considerara portátil", es decir, a nivel del sistema operativo, "sabía" de la presencia de una batería, mostraría su estado actual y la previsión de la restante. tiempo de pantalla,admitió varios modos de consumo de energía (incluido el modo de ahorro máximo de energía) y cambiar estos modos en un par de clics, y no en una secuencia compleja de acciones, y en caso de una disminución crítica en el nivel de la batería, entraría automáticamente en modo de hibernación antes de que el voltaje caiga tanto que el trabajo se interrumpa Orden de "emergencia". En todas las descripciones de dispositivos portátiles caseros que pude encontrar, este problema se pasó por alto o se utilizó un sistema operativo con el código fuente más abierto y grandes oportunidades para desarrollar controladores de dispositivos, modificar módulos clave del sistema o crear otros nuevos (a menudo basados ​​en Arduino). Necesitaba proporcionar soporte para los sistemas operativos tradicionales de "escritorio", incluido Windows. Curiosamente, no hay información pertinente sobrecómo hacer la gestión de la batería compatible con Windows, no lo he encontrado. Esto todavía me sorprende, tal vez solo estaba buscando en el lugar equivocado, pero sin embargo, la idea que se describe a continuación me vino a la mente por mi cuenta y, por lo tanto, estoy hablando de ella aquí.



Entonces, me di cuenta de que necesito algún tipo de controlador de batería que admita el estándar ACPI. Y sabía que hay algunas fuentes de alimentación no intermitentes que admiten este estándar. En los equipos a los que se conecta un SAI de este tipo (a través de un puerto USB), el icono de batería estándar de Windows aparece en la barra de tareas y todas las funciones descritas anteriormente también aparecen con él. Ya estaba pensando en comprar un UPS similar, quitarle el tablero de control y tratar de actualizarlo para las nuevas características de la batería, pero encontré una manera más fácil: usar un dispositivo llamado OpenUPS. Este dispositivo es una placa controladora de batería universal que se puede personalizar fácilmente para una variedad de necesidades. Admite diferentes tipos de baterías (tanto de plomo como de polímero de litio) y un número diferente de celdas de batería.También existe la función de equilibrar las celdas durante la carga, y es muy fácil configurar todos los parámetros necesarios utilizando un programa especial con una interfaz gráfica. Esto era lo que necesitaba.



Conjunto de componentes



Por lo tanto, se formó el concepto general del dispositivo. Debe contener los siguientes componentes obligatorios:



  • Placa base PicoITX;
  • Controlador de batería OpenUPS;
  • batería de polímero de litio de 4 celdas, conectadas en serie (para proporcionar una tensión de alimentación de al menos 12 voltios, incluso con una carga mínima);
  • una pantalla con un conector LVDS integrado o un panel táctil independiente con un controlador que admita el modo multitáctil.


Además, son posibles componentes adicionales, en cuanto al tamaño del dispositivo y la capacidad de la batería. Es muy deseable tener un módulo GSM incorporado y, si es posible, con funciones de voz, para que el dispositivo pueda usarse como un teléfono inteligente. También me gustaría equipar el dispositivo con un teclado QWERTY físico, ya sea ubicado debajo de la pantalla (deslizándose en forma de control deslizante horizontal) o que consta de dos mitades a ambos lados de la pantalla. Después de todo, ¿este debería ser un dispositivo para trabajar, y no solo para ver fotos en las redes sociales?



Además:



  • el procesador debe ser de arquitectura x86-64, serie "notebook" con un consumo de energía reducido, pero al mismo tiempo el más potente disponible;
  • el dispositivo debe caber normalmente en la palma de su mano si lo toma por el lado estrecho de la pantalla (es decir, como se muestra en la foto del título), y al menos de alguna manera encajar en al menos el bolsillo más grande de todas mis chaquetas, tanto de invierno como de verano. Las chaquetas de invierno son más fáciles, por lo general tienen bolsillos grandes. El verano es más difícil.


Esto es aproximadamente lo que quería obtener:







Bueno, las condiciones de contorno están definidas, algunos detalles ya han sido seleccionados. ¡Ir al trabajo!



Proceso de construcción



Después de revisar varias placas base PicoITX, encontré el modelo Axiomtek PICO512. Estaba impulsado por un procesador Intel Core i7-7600U, y al menos en ese momento, era la opción más poderosa que pude encontrar. Se puede instalar en la placa un módulo RAM de factor de forma SO-DIMM con una capacidad de hasta 16 GB. Quería construir el dispositivo más potente e inmediatamente compré 16 gigabytes de RAM, así como un SSD mSATA de terabytes.



Inmediatamente hubo un problema con el enfriamiento. Como de costumbre, la placa se enfrió mediante un enorme radiador de aluminio, cuyas dimensiones permitieron considerar que la placa cumplía el estándar PicoITX solo formalmente: las dimensiones del radiador superaban significativamente las dimensiones de la placa en sí. Por razones obvias, esta opción no me convenía. Por lo tanto, decidí utilizar un disipador de cobre muy pequeño instalado en el procesador, y por otro lado, este disipador de calor se debe conectar mediante pasta térmica al marco general del dispositivo, hecho de aluminio. Al mismo tiempo, el marco debería convertirse en un radiador sustituto adicional. Un pequeño ventilador para computadora portátil debe estar ubicado en el costado del radiador de cobre Desafortunadamente, no tuve éxito en el tipo de computadora portátil refrigerada por líquido. El termotubo simplemente no tenía adónde ir: el dispositivo debe ser muy pequeño,y el único espacio libre estaba justo encima del procesador. Temía que el nuevo sistema de refrigeración no funcionara en absoluto. Pero resultó que todo no da tanto miedo, aunque lejos de ser ideal. En el modo "oficina", el sistema de refrigeración hace frente a la disipación de calor del procesador. A plena carga, dura aproximadamente un par de minutos, luego comienza el sobrecalentamiento y la ralentización. Esto no es adecuado para juegos, pero en el trabajo diario de un programador (escribimos el código durante mucho tiempo, mientras que el procesador está casi inactivo, luego compilamos este código lo más rápido posible), tal sistema de enfriamiento se manifiesta normalmente. Y en algunos planes lejanos, para intentar usar la cámara de evaporación. Quizás ayude a llevar el disipador de calor al ideal.que todo no da tanto miedo, aunque lejos de ser ideal. En el modo "oficina", el sistema de refrigeración hace frente a la disipación de calor del procesador. A plena carga, dura aproximadamente un par de minutos, luego comienza el sobrecalentamiento y la aceleración. Esto no es adecuado para juegos, pero en el trabajo diario de un programador (escribimos código durante mucho tiempo, mientras que el procesador está casi inactivo, luego compilamos este código lo más rápido posible), tal sistema de enfriamiento se manifiesta normalmente. Y en algunos planes lejanos, para intentar usar la cámara de evaporación. Quizás ayude a llevar el disipador de calor al ideal.que no todo da tanto miedo, aunque lejos de ser ideal. En el modo "oficina", el sistema de refrigeración hace frente a la disipación de calor del procesador. A plena carga, dura aproximadamente un par de minutos, luego comienza el sobrecalentamiento y la aceleración. Esto no es adecuado para juegos, pero en el trabajo diario de un programador (escribimos el código durante mucho tiempo, mientras que el procesador está casi inactivo, luego compilamos este código lo más rápido posible), tal sistema de enfriamiento se manifiesta normalmente. Y en algunos planes lejanos, para intentar usar la cámara de evaporación. Quizás ayude a llevar el disipador de calor al ideal.pero en el trabajo diario de un programador (escribimos el código durante mucho tiempo, mientras que el procesador está casi inactivo, luego compilamos este código lo más rápido posible), tal sistema de enfriamiento se manifiesta normalmente. Y en algunos planes lejanos, para intentar usar la cámara de evaporación. Quizás ayude a llevar el disipador de calor al ideal.pero en el trabajo diario de un programador (escribimos código durante mucho tiempo, mientras que el procesador está casi inactivo, luego compilamos este código lo más rápido posible), tal sistema de enfriamiento se manifiesta normalmente. Y en algunos planes lejanos, para intentar usar la cámara de evaporación. Quizás ayude a llevar el disipador de calor al ideal.



En cuanto al ventilador, hubo un problema adicional con él. Solo había dos cables de la placa base al ventilador. Ningún programa de control de ventiladores vio su presencia en el sistema. Esto significa que su velocidad no está regulada de ninguna manera y, siempre gira a la misma velocidad máxima, incluso cuando no se requiere. En términos de consumo de batería y ruido del dispositivo, esto no fue bueno. Pero pensé que simplemente conectaría el ventilador a través de un transistor controlado por un termistor y eso debería solucionar el problema.



Elegí la pantalla con una diagonal de 5,6 pulgadas. Encontré un modelo con conector LVDS y una resolución de 1280 x 800 píxeles. Según los estándares modernos, esta resolución es bastante pequeña, pero para una pantalla tan pequeña me parece suficiente (especialmente para un sistema operativo de "escritorio" que no está diseñado para pantallas pequeñas). Teniendo en cuenta las dimensiones de la pantalla, la placa base (10 x 7 cm) y la placa controladora de la batería (de hecho, resultó ser demasiado grande para mis propósitos, tanto como 10 x 5 cm, y con enormes condensadores sobresaliendo), las dimensiones generales del dispositivo se determinaron aproximadamente. El largo será un poco más de 21 cm, el ancho - 9 cm En cuanto al grosor ... Sí, aquí todo va mal. No menos de 3 cm, pero más cerca de 4. En comparación con los teléfonos inteligentes modernos, sobre los cuales alguien ya ha dicho que pueden cortar queso, esto es solo un desastre.Pero según los estándares UMPC del turno de cero décimas, estos son tamaños normales. Y en la palma de un dispositivo similar debería estar bastante cómodo.



Así es como se ve el marco de aluminio, al que están conectados todos los demás componentes del dispositivo. Doblé el marco de las esquinas habituales comprado en una tienda de materiales de construcción. Esto me permitió ensamblar un prototipo funcional, pero luego intentaré ordenar la producción de un nuevo cuadro de alguna manera de fábrica.







Dos cubiertas de plástico están unidas al marco en la parte superior e inferior. El superior es el marco de la pantalla, el inferior es el compartimento de la batería. Pedí las piezas de plástico a una empresa de impresión 3D. La pantalla contenía un panel táctil, pero era resistivo, así que tuve que buscar un panel capacitivo separado. Prácticamente no hubo elección de paneles prefabricados del tamaño requerido, y la única muestra más o menos adecuada que se encontró fue ligeramente más ancha que la pantalla. El panel se pudo calibrar al tamaño real del área visible de la pantalla, pero sus bordes sobresalen fuertemente a los lados, ocupando una superficie valiosa donde se podría colocar algo más.



La batería es fácilmente extraíble. Sus 4 celdas se insertan en una caja de plástico separada con contactos planos en un lado. Los contactos de acoplamiento para ellos se fijan en el marco. Hay un pestillo en la parte posterior de la tableta que le permite desconectar fácilmente la batería del dispositivo.







Cada celda de la batería es una batería normal de polímero de litio de 3500 mAh. Según los cálculos, esto debería haber sido suficiente para unas 5 horas de funcionamiento del dispositivo en modo "oficina". Pero desafortunadamente, la capacidad real de la batería resultó ser dos veces menor que la declarada. Y también hubo un "error" del controlador: no sabe cómo considerar adecuadamente la posibilidad de reducir la capacidad de la batería. Cuántos se establecieron en la configuración, contamos con mucho. A medida que la batería se agota, el controlador OpenUPS, según tengo entendido, calcula la carga actual de la energía consumida (es decir, integrando la potencia y restando el valor resultante del valor original codificado de la capacidad total) ... y luego, de repente, resulta que la batería se ha ido completamente a cero. Inconveniente. Todavía no sé qué hacer al respecto.



Resultado actual



Desafortunadamente, el proceso de creación se prolongó durante varios años. No hubo suficiente tiempo libre, surgieron una gran cantidad de problemas tecnológicos. La mayoría de estos problemas se reducían a cómo colocar una gran cantidad de componentes en una carcasa muy compacta. Originalmente quería diseñar y fabricar de una forma u otra alguna "placa periférica" ​​común en la que se soldarían todos los componentes adicionales. Pero hasta ahora no tengo suficiente tiempo para esto. Por lo tanto, para crear un prototipo, era necesario, en las mejores tradiciones de los constructores de viviendas novatos, simplemente meter en la caja todas las tablas prefabricadas posibles que pudieran caber allí. Como excusa, puedo decir que mi antiguo UMPC, aunque montado en fábrica, también constaba de una gran cantidad de pequeñas bufandas.



Aquí hay una vista completa del exterior del dispositivo tal como está hoy. Un solo puerto USB es visible en el lateral (espero que haya más de ellos más adelante, pero esto requerirá un concentrador adicional), así como un combo estándar de entrada / salida de audio de 3,5 mm. También en el mismo borde hay un botón para encender el dispositivo. Las ranuras de ventilación son visibles a lo largo de los bordes debajo de la cubierta superior.







El borde opuesto se ve mejor en la foto del marco sin la cubierta superior que se muestra arriba. El conector HDMI se encuentra en este borde. Junto a él en la placa base está el conector LAN, que no necesito, e incluso francamente interfiere; sin él, sería posible hacer el diseño unos milímetros más delgado. No hice un agujero en el estuche. Y el conector de alimentación que sobresale junto a HDMI también es absolutamente innecesario e incluso perjudicial en la configuración actual. La energía ahora se suministra a través de la placa controladora de la batería y más adelante a lo largo de los cables que están soldados a los orificios de la placa base junto a su conector estándar. El conector estándar debe estar completamente evaporado, y esto está en mis planes inmediatos.



Así es como se ve el dispositivo cuando está encendido:







El teclado de hardware aún no se ha hecho, pero espero implementar este importante elemento en el futuro previsible. Entonces, el dispositivo se puede utilizar para su propósito original. Espero que el teclado pueda colocarse sobre el borde de la placa base en la parte más delgada y que el dispositivo adopte el factor de forma de un control deslizante horizontal, como pretendía hacer originalmente. Ya ha habido artículos sobre la creación de teclados caseros en Habré, así que espero poder hacer también mi teclado de la misma manera.



Y ya intenté instalar un módulo GSM con soporte para llamadas de voz (nuevamente, en forma de una placa preparada separada). Funcionó, podría usarse, pero en la configuración actual no encajaba un poco en la carcasa y sobresalía literalmente unos pocos milímetros. Hasta ahora lo he eliminado. Si puedo mover un poco todos los componentes, debería encajar y tendré mi propio teléfono inteligente personal basado en Core i7.



Principales conclusiones



El dispositivo, por supuesto, todavía está bastante "crudo" ahora. Logré llevarlo a un estado más o menos viable, pero un mayor desarrollo podría llevar años más si no lo abandono en absoluto. Entonces, ¿cuál es el resultado más importante de este proyecto que puedo compartir aquí? Creo que este es el concepto mismo del esquema "placa base industrial + controlador OpenUPS o similar". Tal esquema le permite ensamblar una computadora portátil completamente funcional para cualquier necesidad, incluso para una persona que está muy poco versada en electrónica. Y si, al crear mi dispositivo en particular, tuviera que luchar constantemente con la falta de espacio para los componentes y hacer concesiones, entonces una tableta o computadora portátil de tamaño normal en una plataforma similar estará libre de estos problemas. Se adaptarán fácilmente a cualquier periférico requerido. recuerdoHace algún tiempo, algunos de los Khabrovitas ya soñaban con una "computadora portátil normal para el trabajo", quejándose, como yo, del dominio de dispositivos adecuados solo para ver las redes sociales. Con un fuerte deseo, puede fabricarse por sí mismo la "computadora portátil de sus sueños", de acuerdo con el mismo principio que mi dispositivo. Y esas computadoras serán fáciles de actualizar; por supuesto, será posible reemplazar la RAM y el almacenamiento a largo plazo, pero si lo desea, incluso puede cambiar la placa base si la nueva placa tiene el mismo factor de forma que la anterior.Y esas computadoras serán fáciles de actualizar; por supuesto, será posible reemplazar la RAM y el almacenamiento a largo plazo, pero si lo desea, incluso puede cambiar la placa base si la nueva placa tiene el mismo factor de forma que la anterior.Y esas computadoras serán fáciles de actualizar; por supuesto, será posible reemplazar la RAM y el almacenamiento a largo plazo, pero si lo desea, incluso puede cambiar la placa base si la nueva placa tiene el mismo factor de forma que la anterior.



Finalmente, me gustaría soñar que algún día alguien organizará una startup para desarrollar un "convertidor de placa base industrial a portátil" universal, una placa base que tendrá un controlador de batería compatible con ACPI similar a OpenUPS y algunos periféricos estándar de portátil. En primer lugar, debería haber interfaces inalámbricas, quizás también un controlador de panel táctil (si es lo suficientemente universal como para conectar paneles de diferentes fabricantes y diferentes estándares). La creación de un dispositivo de este tipo permitiría a los entusiastas del bricolaje comunes desarrollar sus propias computadoras portátiles y tabletas. Podrían diluir una gran cantidad de dispositivos existentes del mismo tipo, similares entre sí como dos gotas de agua.



¿Quién emprenderá tal proyecto?



All Articles