Aunque me gustaría mucho, este artículo no pretende ser un curso de electrónica. Si bien, tengo conocimientos básicos, estoy muy lejos de un técnico electrónico, por lo tanto, no estoy calificado para ello. Simplemente, como apasionado a la electrónica, relato sin demasiados detalles técnicos mi experiencia personal utilizando el diagrama esquemático y un boardview. La finalidad: dar a conocer las herramientas libres que he utilizado con la intención de reparar un portátil Toshiba Satellite L645.
Es oportuno aclarar, que el uso de estas herramientas no nos garantiza el éxito, por el contrario, se corre el riesgo de romper más que arreglar. La mera interpretación errónea, es suficiente como para dejar totalmente inutilizable la placa madre (motherboard). Como simple aficionado, estoy plenamente consciente de los riesgos que implica solucionar el problema sin el debido entendimiento de la electrónica. He decidido hacerlo por tratarse de un producto mío, y porque me recomendaron cambiar la motherboard.
Comenzando con un diagnóstico rápido
Habiendo comprobado el correcto funcionamiento del adaptador AC/DC (19V), procedo a verificar la tarjeta madre sin ningún periférico conectado. A juzgar por el multímetro, la placa recibe correctamente los 19V, enciende la luz de alimentación y, también están presentes los 3V y 5V (always). El EC/KBC (Embedded controller/Keyboard controller) no es alimentado con 3V en el pin del botón de encendido y otros puntos. —Sin los 3V en el botón de encendido jamás va a encender—.
A partir de ahí, prosigo con un diagnóstico rápido en busca de algún componente que esté generando un cortocircuito («corto», de aquí en adelante). Normalmente, los componentes a testear son: capacitores/condensadores, resistencias, transistores, mosfet’s, bobinas, estado del EC/KBC, etc. Para ello utilizo el multímetro en escala de continuidad (diodo), el cual emitirá un sonido o pitido si la resistencia es cero o muy cercana a este valor.
La técnica que utilizo es: afirmar la punta negativa del multímetro a masa (motherboard) y, con la punta positiva, hago contacto en los extremos o polos del componente. En teoría, el multímetro no debería emitir sonido en ambos extremos del mismo, de lo contrario, estaríamos frente a un posible componente defectuoso, el cual está generando un corto. Lo normal es que suene en uno de los extremos, el que va a tierra.
No obstante, en algunos casos puede emitir sonido en ambos extremos por su escasa resistencia, sin embargo, no significa necesariamente que el componente esté generando un corto. Un ejemplo, pueden ser los capacitores cercanos al CPU, —como colectores—.
En las pruebas realizadas, el multímetro terminó pitando en varios componentes de la placa. Es lógico pensar que un componente defectuoso está afectando al resto que se encuentran en la misma pista, sin embargo, seguir su pista para determinar cual de todos ellos es el culpable puede resultar un trabajo engorroso. Esta tarea, sería menos compleja si al menos contara con un microscopio o un visor termal, para ahorrar tiempo. El mejor aliado que se pude tener en estos casos es el diagrama esquemático.
El diagrama esquemático, el mejor recurso
No hay duda que la información provista por el diagrama esquemático es fundamental en este tipo de reparaciones. En dicho diagrama, está definido con precisión todo el circuito impreso de la motherboard. Seguir la pista de un determinado componente, como así también, los demás componentes involucrados, es una tarea simplificadora. Además, cada componente ilustrado en el diagrama está correctamente identificado: clase/valor. Por lo tanto, será de gran ayuda en caso de reemplazar algún componente defectuoso. Básicamente, es la herramienta más idónea en esta clase de reparaciones.
A pesar de las bondades del esquemático, interpretarlo debidamente es algo que está fuera de mi alcance. Es por ello que decidí recurrir a un complemento, un software mucho más interactivo que se acercara más a la realidad que enfrento: el BoardView. En GNU/Linux hay una enorme variedad de software relacionado con la electrónica: KiCad es uno de los más extendidos, sin embargo, me fue imposible abrir un archivo con extensión .brd. KiCad, al igual que otros de su clase, puede abrir numerosos tipos de archivo:
- .cmp
- .kicad_pcb
- .pro
- .sch
- .dsn
- .ses
- .net
- .brd KiCad Board Layout File
La extensión .brd es muy común y puede haber sido generada por un software que no es compatible con KiCad, a pesar de estar en la lista. Su contenido tiene la siguiente sintaxis:
DOUT: 5 7090 8330 0 8330 0 0 7090 0 7090 8330 0 8330 NETS: 1414 1 XTLI_CARD_C 2 XTLO_CARD_C 3 N56168408 4 8768_32KX1 5 RTC_X2 6 RTC_X1 ... ...
Buscando más información sobre este tipo de archivo di con un software que es muy mencionado en foros especializados y, es capaz de abrirlo. También, es compatible con otros formatos, se trata de: OpenBoardView.
OpenBoardView
De acuerdo a su página oficial de GitHub, es:
Software de edición Linux SDL/ImGui para ver archivos .brd, diseñado como un reemplazo directo del software «Test_Link» y «Landrex».
Características:
- Anotaciones (por archivo de base de datos de la placa)
- Tamaños de piezas y pasadores mejor representados
- Mejor delineado de objetos irregulares (como conectores)
- Arrastrar y soltar
- Historial de archivos usados recientemente
- Capacitores/resistencias/diodos orientados de forma no ortogonales ahora se dibujan de manera más realista
- DPI ajustable (para trabajar en pantallas 2K/4K)
- Funciona con múltiples instancias concurrentes
Instalación
En tu carpeta personal:
git clone --recursive 'https://github.com/OpenBoardView/OpenBoardView'
Compilación
Requisitos:
En Debian se deben instalar los siguientes paquetes:
sudo apt install git build-essential cmake libsdl2-dev libgtk-3-dev
En Fedora:
sudo dnf groupinstall "Development Tools" sudo dnf install SDL2-devel gtk3-devel fontconfig-devel
Compilar
cd OpenBoardView ./build.sh
Ejecutar openboardview:
./bin/openboardview o ./openboardview.sh
Como resultado final, nos encontramos con algo muy distinto al diagrama esquemático, pero, mucho más reconocible. Básicamente, es como un sistema CAD dimensional en donde se puede interactuar con los componentes de la placa. En las siguientes imágenes se puede visualizar el esquema pcb de la placa madre (Toshiba L645, frontal/reverso) con sus respectivos componentes. El software es muy fácil de utilizar, por lo tanto se le puede extraer el máximo potencial.
Cuenta con dos paneles: uno central, donde muestra el pcb, y un panel lateral donde se detalla toda la información pertinente a las pistas o componentes seleccionados. Como información relevante también se puede decir que cuenta con distintos tipos de vista como:
- Pines
- Anotaciones
- Lista de pistas
- Lista de partes
- Rotación
- Rotación (frontal/reverso)
- Zoom +/-
- Más…
Por citar un ejemplo: seleccionando +1.5V_S5 (Net List), mostrará todos los componentes que reciben ese voltaje en esa pista en particular. Más adelante se verá como trabaja OpenBoardView.
Además, en la opción: Preferencias del programa se pueden definir distintos aspectos del programa, como:
- Tamaño y DPI de la tipografía
- Tamaño de la ventana
- Diámetro de los agujeros pasantes
- Opciones de Zoom
- Información FPS
- Opciones para CPU lento
- Modo Viewport/Mouse
- Etc.
Por otro lado, cuenta con dos modos: claro/oscuro y, personalización completa mediante del esquema de colores, entre otras opciones interesantes. Otro aspecto, no menos importante, es la modificación de los atajos del teclado por parte del usuario.
Como utilizo dichas herramientas
En el caso de los diagramas esquemáticos, por tratarse de archivos pdf utilizo el visor qpdfview. Pero, ¿por qué este y no otro visor?. Si bien, existen muy buenos visores para GNU/Linux, en qpdfview encontré lo que necesitaba. Algunas características útiles para mí:
- Es simple, liviano, y muy potente
- Me permite:
- Crear notas
- Colorear regiones con anotaciones
- Marcar páginas etc.
- Al igual que Okular —excelente visor—, se desempeña con fluidez en páginas de gran tamaño
- Se integra bien con CUPS
En definitiva, cumple con mis expectativas y me parece una gran herramienta a tener en cuenta. También utilizo MuPDF, una opción muy simple y rápida, pero no menos potente, enfocado en el uso del teclado como principal funcionalidad. Me encantaría que se pudiera implementar la búsqueda cruzada entre MuPDF y OpenBoardView, como es el caso de FlexBV, otro software para profesionales que toma la base de OBV. Por desgracia no se programar en C++ como para intentarlo. Un ejemplo concreto: OBV y mupdf hacen referencia a la pista +3VPCU (próxima imagen).
Continuando con el tema en cuestión, utilizando la técnica descrita anteriormente en la búsqueda de componentes que estuvieran generando un corto, procedo a identificarlos en el esquemático. Como se puede apreciar en la siguiente imagen, he coloreado la zona de los componentes que me dan corto. Hay más en otras zonas de la placa, como es el caso de un condensador (PC138) que viene de la linea de los 3V. Así mismo, he introducido anotaciones en esas áreas, las cuales se harán visibles al pasar el mouse por la zona coloreada (qpdfview).
Una vez obtenido un panorama general de la situación, solo restaba comprobar el estado del EC/KBC, este es uno de los componentes más importantes de la placa, el primero en ser energizado y, responsable de numerosas secuencias, una de ellas: el encendido. Algunos pines eran fáciles de verificar, sin embargo, otros como el pin 16 –> MAINON (coloreado en imagen anterior) te lleva por varias páginas (11, 27, 28, 29, 31), eso sin contar que no estoy familiarizado con la ubicación física de muchos componentes. Véase las páginas 11 y 28 que vienen de la página 22 (EC/KBC).
Al comienzo, desplazarme cómodamente por el diagrama esquemático me llevó un tiempo, era como descifrar un laberinto. En ese sentido, haber utilizado OpenBoardView hizo más fácil el trabajo. Con un gráfico más intuitivo de mi placa base pude localizar e identificar los componentes más rápidamente en la placa física.
Primer contacto
Era momento de utilizar OpenBoardView y, teniendo en claro cuales eran los componentes que daban corto, solo restaba usar el buscador Ctrl+F:
En principio solo mostrará el nombre del componente o componentes a buscar, seleccionando un pin mostrará las pistas y demás componentes asociados a la misma. En la parte inferior/derecha se suministra más información relevante:
- Componente
- Pin seleccionado
- Pista
- Tipo de componente seleccionado…
La siguiente imagen refleja hacia donde se dirige la pista del pin 1 de R483 (resistencia) y los componentes involucrados a ese pin en particular, incluyendo pines del KBC. Muy útil.
También puede observarse que no etiqueta los componentes, eso se obtiene seleccionando un pin o pista desde el panel lateral, el cual desplegará una lista con todos los componentes involucrados, —en este caso en particular seleccioné la pista N50240582 desde el controlador U11—. La pista +3VCPU pasa a denominarse N50240582 luego de la resistencia R483 y es a partir de este tramo donde creo tener el problema.
Otra opción disponible es la selección arbitraria de varios componentes utilizando la tecla Control + click derecho del mouse.
La imagen anterior es todo una muestra de por donde comenzar a testear con el multímetro, u observar en el esquemático para más detalles. OpenBoardView nos facilita el trabajo de muchas formas, sobre todo cuando no se cuenta con la experiencia necesaria.
Regresando al problema del botón de encendido que les mencioné en un comienzo, pin 95 –> NBSWON# (KBC), se pueden ver a simple vista todos los componentes involucrados, y hacia donde se dirige. Ambas opciones (boardview/esquemático) en las siguientes imágenes.
Si bien, no es tan complejo encontrar en la placa el conector del botón de encendido, OpenBoarView me ofrece información instantánea de la pista a seguir. Aunque, en este caso, la información del esquemático fue algo más fácil de entender. En fin, de no ser por cualquiera de estas herramientas, no hubiera encontrado rápidamente los componentes C6 (capacitor), D15 (diodo), etc. Estaría comprobando componentes que no forman parte de dicha pista, prácticamente estaría improvisando.
Un último ejemplo para concluir con mi experiencia utilizando esta formidable herramienta (OBV): pin 16 –> MAINON, —el que me lleva por varias páginas—: selecciono componente U11 (KBC) –> pin 16 o, en su defecto, la opción MAINON en el listado general (panel lateral) para obtener información más detallada (imágenes a continuación).
En dichas imágenes se pueden ver los componentes (frontal/reverso de la placa) relacionados a la pista del pin 16 (MAINON) del KBC. De aquí en más, todo se reduce en:
- Arrastrar/desplazarse con el mouse
- Realizar zoom in/out
- Seleccionar los pines de los componentes marcados y seguir su pista, etc.
Esta operación la inspecciono en el esquemático y la replico en la placa base real con el fin de verificar el estado de dichos componentes, e ir descartando zonas que pudieran ser parte del problema.
Conclusiones
Personalmente, con el tiempo comencé a entender mejor el esquemático desarrollando una fluidez que al comienzo no tenía. Lo cual, no significa que domine la electrónica, simplemente mejoró mucho mi productividad reduciendo pruebas de multímetro en zonas de la placa que no evidenciaban ningún desperfecto.
Esto ha sido, en gran parte, gracias a la herramienta OpenBoardView, —sin duda alguna—. La interacción entre ambos métodos me ayudó a comprender mejor como está estructurada la motherboard, a seguir pistas y, a evaluar estados de los componentes con mayor seguridad. Para un aficionado, eso no es poca cosa.
Hasta aquí, he dejado plasmado mi metodología de trabajo, facilitándome la tarea con herramientas libres, las cuales me han dejado una bonita experiencia. Por lo pronto, estoy convencido en un 90% de un daño en el EC/KBC. El tiempo dirá si logro reparar el portátil.
Si tienes alguna reflexión u opinión al respecto sobre esta interesante herramienta, u otra que haga lo mismo, no dudes en expresarla. Espero que haya sido de utilidad este artículo, no tanto en la operatoria en si, sino en las herramientas utilizadas.
Herramientas utilizadas:
- qpdfview (Visor PDF, PS, DjVu)
- MuPDF Visor PDF, minimalista
- OpenBoardView (PCB Board, bajo licencia MIT)
- GVIM (Editor)
- Markdown (John Gruber) Lenguaje de marcado para la redacción del artículo
- Markdown.pl (Convertir sintaxis Markdown a HTML)
- Inkscape (Edición de imágenes)
Fuente:
https://github.com/OpenBoardView/OpenBoardView
https://daringfireball.net/projects/markdown/