El paquete que contiene la junta del Arducopter 2.8 finalmente llegó de China, con el peso de nuestra anticipación. Recuerdo que lo recogí, la caja de cartón resistió ligeramente de su viaje. Mientras rasgué las capas de cinta, se sentía como desenvolver un regalo tan esperado. Pero cuando levanté la tabla Arducopter 2.8 fuera de la caja, mi corazón se hundió. El tablero, que iba a ser la piedra angular de nuestro proyecto, parecía desgastado y viejo, con rasguños visibles y alfileres doblados. Esta fue solo una de una cascada de contratiempos que enfrentaría mi equipo. Todo comenzó cuando me asignaron un proyecto en diseño de máquinas en la Universidad de Obafemi Awolowo (OAU), ubicado en el corazón de Ilé-ifẹ̀, una antigua ciudad de Yoruba en el estado de Osun, en el suroeste de Nigeria, donde soy un estudiante de ingeniería mecánico que ingresa a mi último año de un programa de cinco años. OAU es una de las universidades más antiguas y prestigiosas de Nigeria, conocidas por su hermoso campus y arquitectura. Algunas personas que conozco se refieren a él como el «Stanford de Nigeria» debido al número significativo de nuevas empresas brillantes que ha escindido. Sin embargo, a pesar de su reputación, OAU, como cualquier otra institución de propiedad federal de Nigeria, está insuficiente y está plagado de huelgas de la facultad, lo que lleva a interrupciones en los académicos. La falta de financiación significa que los estudiantes deben pagar por sus propios proyectos de pregrado, haciendo que el éxito de cualquier proyecto dependa en gran medida de las capacidades financieras de los estudiantes. Oluwaseun K. Ajayi, un experto en diseño asistido por computadora (CAD), diseño de máquinas y mecanismos, nos dio la libertad de elegir nuestro proyecto final. Propuse un proyecto de investigación basado en un documento titulado «Método de simulación anticipada para las interacciones de Wheel-Terrrain de Rovers Space: un estudio de caso sobre el rover Rashid de los EAU» de Ahmad Abubakar y coautores. Pero debido a los recursos computacionales requeridos, fue rechazado. En cambio, el Dr. Ajayi propuso que mis compañeros y yo construimos un dron de vigilancia, ya que se alineaba con su propia investigación. El Dr. Ajayi, un investigador apasionado e impulsado, estuvo motivado por las posibles aplicaciones del mundo real de nuestro proyecto. Su constante impulso para el progreso, aunque a veces abrumador, estaba arraigado en su deseo de vernos producir un trabajo significativo. A medida que mi equipo terminó de alcanzar los conceptos preliminares del dron en los diseños CAD, estábamos listos para contribuir con dinero para implementar nuestra idea. Realizamos un análisis de costos y decidimos usar un proveedor de terceros para ayudarnos a ordenar nuestros componentes de China. Fuimos esta ruta debido a problemas de envío y aduanas que habíamos experimentado previamente. Se suponía que tomar la ruta de terceros resolvería el problema. Poco sospechamos lo que venía. Por el momento en que finalizamos nuestro análisis de costos y comenzamos a recopilar fondos, el precio de los componentes que necesitábamos se había disparado debido a una repentina crisis económica y depreciación de la naira nigeriana en un 35 por ciento en un 35 por ciento frente al dólar estadounidense a fines de enero de 2024. Esto fue la génesis de nuestro problema. Iniciadamente, fuimos un grupo de 12, pero debido al alto costo por persona, el Dr. Ajay, el Dr. Ajay, condujo a otro grupo, por el Dr. Ajay, me pidió otro grupo. Tonbra Suroware, para fusionarse con la mía. El equipo de Tonbra había estado planeando un proyecto de brazo robótico hasta que el Dr. Ajayi fusionó a nuestros equipos y nos instruyó a trabajar en el dron, con el objetivo de exhibirlo en la Agencia Nacional de Investigación y Desarrollo Espacial, en Abuja, Nigeria. La fusión aumentó nuestro grupo a 25 miembros, lo que ayudó con la carga financiera individual, pero también significaba que no todos participarían activamente en el proyecto. Muchos acaban de contribuir con su parte del dinero. Tonbra y yo dirigimos el proyecto hacia adelante. Con el consentimiento del Dr. Ajayi, mis compañeros de equipo y yo desechamos la parte de «vigilancia» del proyecto de drones y recaudamos el dinero para desarrollar solo el dron, totalizando aproximadamente 350,000 Naira (aproximadamente US $ 249). Tuvimos que reducir los costos, lo que significaba alejarnos de las especificaciones originales de algunos de los componentes, como el controlador de vuelo, la batería y la placa de distribución de energía. De lo contrario, el costo habría sido mucho más insoportable. Estábamos preparados para ordenar los componentes de China el 5 de febrero de 2024. Desafortunadamente, fueron unas largas vacaciones en China, nos dijeron, por lo que no obtendríamos los componentes hasta marzo. Esto llevó a tensas discusiones con el Dr. Ajayi, a pesar de haberlo informado sobre la situación. ¿Por qué la presión? Nuestro semestre escolar termina en marzo, y que los componentes lleguen en marzo significarían que el proyecto estaría muy atrasado cuando lo terminamos. Al mismo tiempo, los estudiantes tuvimos una capacitación académica-industrial obligatoria al final del semestre. Oluwatosin Kolade, un estudiante de ingeniería mecánica de la Universidad Obafemi Awolowo de Nigeria, dice que el proyecto de drones le enseñó el valor del fracaso. Andrew Esiebobut ¿Qué opción tuvimos? No pudimos retroceder del proyecto, eso nos habría costado nuestra calificación. Obtuvimos la mayoría de nuestros componentes a mediados de marzo, e inmediatamente comenzamos a trabajar en el dron. Tuvimos el marco impreso 3D a un costo de 50 Naira (aproximadamente US $ 0.03) por gramo para un marco de 570 gramos, a un costo total de 28,500 naira (aproximadamente US $ 18) .Next, recurrimos a construir el sistema de distribución de energía para los componentes eléctricos. Inicialmente, habíamos planeado usar una placa de distribución de energía para distribuir uniformemente la energía de la batería a los controladores de velocidad y los rotores. Sin embargo, la junta que ordenamos originalmente ya no estaba disponible. Forzados a improvisar, usamos un Veroboard. Conectamos la batería en una configuración paralela a los controladores de velocidad para garantizar que cada rotor recibiera la misma potencia. Esta improvisación significó costos adicionales, ya que tuvimos que alquilar planchas de soldadura, taladros manuales, pegamento caliente, cables, un multímetro digital y otras herramientas de un centro de electrónica en el centro de Ilé-ifẹ̀. Todo el mundo iba sin problemas hasta que llegó el momento de configurar el controlador de vuelo: el tablero Arducopter 2.8, con la asistencia de un programa de software llamado misionero. Trabajamos diariamente, paseamos por videos de YouTube, foros en línea, intercambio de pilotes y otros recursos para orientación, todo en vano. Incluso degradamos el software de Mission Planner un par de veces, solo para descubrir que la junta que esperamos tan pacientemente era obsoleta. Fue realmente desgarrador, pero no pudimos ordenar otro porque no teníamos tiempo para esperar a que llegara. Además, obtener otro controlador de vuelo habría costado una suma adicional: 240,000 naira (alrededor de US $ 150) para un controlador de vuelo Pixhawk 2.4.8, que no teníamos. Sabíamos que nuestro dron estaría a medias sin el controlador de vuelo. Aún así, dada nuestra restricción de tiempo que termina el semestre, decidimos continuar con la configuración del transmisor y el receptor. Hicimos las conexiones finales y probamos los componentes sin el controlador de vuelo. Para garantizar que el transmisor pueda controlar los cuatro rotores simultáneamente, probamos cada rotor individualmente con cada canal del transmisor. El objetivo era asignar un solo canal en el transmisor que activara y sincronizaría los cuatro rotores, lo que les permitió girar al unísono durante el vuelo. Esto fue crucial, porque sin la sincronización adecuada, el dron no podría mantener un vuelo estable. «Esta experiencia me enseñó lecciones invaluables sobre la resiliencia, el trabajo en equipo y las duras realidades de los proyectos de ingeniería realizados por los estudiantes en Nigeria». Después de la configuración final y las pruebas de componentes, nos propusimos probar nuestro dron en su forma final. Pero unos minutos después de la prueba, nuestra batería falló. Este fracaso significó que el proyecto había fallado, y estábamos increíblemente decepcionados. Cuando finalmente presentamos nuestro proyecto al Dr. Ajayi, la fecha límite había pasado. Nos dijo que cargáramos la batería para poder ver el dron cobrar vida, a pesar de que no podía volar. Pero las circunstancias no nos permitieron ordenar un cargador de batería, y estábamos perdidos por dónde obtener ayuda con el controlador de vuelo y la batería. No hay centros tecnológicos disponibles para tales cosas en Ilé-ifẹ̀. Le dijimos al Dr. Ajayi que no podíamos hacer lo que él había pedido y le explicó la situación. Finalmente nos permitió presentar nuestro trabajo, y todos los miembros del equipo recibieron crédito del curso. La resolución no es un sustituto de la financiación, esta experiencia me enseñó lecciones invaluables sobre la resiliencia, el trabajo en equipo y las duras realidades de los proyectos de ingeniería realizados por los estudiantes en Nigeria. Me mostró que si bien el conocimiento técnico es crucial, la capacidad de adaptarse e improvisar cuando se enfrenta a desafíos imprevistos es igual de importante. También aprendí que el fracaso, aunque desalentador, no es un final sino un trampolín hacia el crecimiento y la mejora. En mi escuela, las demandas de los estudiantes de ingeniería mecánica son excepcionalmente altas. Por ejemplo, en un solo semestre, a veces me asignaron hasta cuatro proyectos principales diferentes, cada uno de un profesor diferente. Junto con el Proyecto Drone, trabajé en otros dos proyectos sustanciales para otros cursos. La realidad es que la capacidad de un estudiante para obtener bien en estos proyectos a menudo depende en gran medida de los recursos financieros. Estamos constantemente cargados con los costos de ejecutar numerosos proyectos. Los desafíos económicos en curso del país, incluida la devaluación y la inflación de la moneda, solo exacerban esta carga. En esencia, cuando el mundo, incluidos los comités de admisión de escuela de posgrado y reclutadores de la industria, evalúa las transcripciones de los graduados de ingeniería nigerianos, es crucial reconocer que un grado no puede reflejar completamente las capacidades de un estudiante en un curso dado. También pueden reflejar limitaciones financieras, dificultades para obtener equipos y materiales, y el entorno económico más amplio. Esta comprensión debe informar cómo se interpretan las transcripciones, ya que cuentan una historia no solo de rendimiento académico sino también de perseverancia frente a desafíos significativos. A medida que avanzo en mi educación, planeo aplicar estas lecciones a proyectos futuros, sabiendo que la perseverancia y el ingenio serán clave para superar los obstáculos. El proyecto de drones fallido también me ha dado una visión realista del mundo laboral, donde los contratiempos inesperados y las limitaciones presupuestarias son comunes. Me ha preparado para abordar mi carrera con una mentalidad práctica y un entendimiento de que el éxito a menudo proviene de lo bien que manejas las dificultades, no solo qué tan bien ejecutas los planes. De los artículos de su sitio Artículos relacionados en la web
Etiqueta: arduino


Mi nombre es el ingeniero Bainomugisha. Sí, el ingeniero es mi primer nombre y también mi carrera. Mis padres me llamaron ingeniero, y reconocieron los rasgos de ingeniería en mí desde la infancia, como la perseverancia, la resiliencia y queriendo entender cómo funcionan las cosas. Crecí y pasé mis primeros años en una parte rural de Uganda, más de 300 kilómetros fuera de Kampala, la ciudad capital. Cuando era niño, siempre estaba jugando y apresurando: coseché las viejas baterías de radio para encender la iluminación, creé utensilios domésticos de madera, y con animales de hierbas y vendí artículos para ayudar a la aldea a ganar dinero. En la escuela secundaria, estudié física, química, matemáticas y biología. Cuando comencé a estudiar en la Universidad de Makerere, en Kampala, me uní al programa de informática. Esto fue en 2003. Nunca antes había interactuado con una computadora, y esto era cierto para muchos de mis compañeros de clase. El número limitado de computadoras significaba que los cibercáficos de los estudiantes eran comunes, requiriendo que uno pagara 500 chelines ugandeses (US $ 0.14) durante 30 minutos. El acceso al hardware programable era limitado, sin acceso a microcontroladores o fabricación de hardware. Una vez que obtuve la introducción básica a la informática, estaba ansioso por construir cosas con lo que estaba disponible para resolver problemas para las personas que me rodean. En ese momento, los teléfonos eran muy limitados, y era costoso hacer llamadas, por lo que los mensajes de texto de SMS eran muy populares. Los estudiantes, la mayoría de los cuales no poseen teléfonos, necesitaban alguna forma de enviar mensajes de texto sin uno. En mi primer año, creé una plataforma SMS basada en la web gratuita que permitía a las personas enviar mensajes fácilmente. Rápidamente ganó popularidad entre los estudiantes universitarios, un buen resultado para mi primer «producto». Después de graduarme en 2006 con una licenciatura en informática, el profesor Venansius Baryamureeba, entonces decano de la Facultad de Tecnología de la Computación y la Información en Makerere. Recibí una beca para obtener una maestría en Vrije Universiteit Brussel (Universidad Free de Bruselas). Allí, me encontré con los tableros de microcontroladores Arduino por primera vez. Fui testigo de estudiantes de pregrado que usaban tableros y sensores Arduino para implementar proyectos de sistemas integrados, como dispositivos autónomos que podrían detectar, identificar, sentir y controlar sus alrededores. Me preguntaba cuánto tiempo tomaría para las universidades en África obtener acceso a dicho hardware. Después de todo, el lema de Arduino está «empoderando a cualquiera para innovar», pero desafortunadamente, ese empoderamiento aún no había llegado a África subsahariana. Las computadoras portátiles ahora están ampliamente disponibles en África, la conectividad a Internet es más rápida y los teléfonos inteligentes e Internet móvil son comunes entre los profesores y estudiantes de informática. Pero el retraso entre el lanzamiento de una tecnología y su disponibilidad en África sigue siendo significativa, como ilustra la historia de Oluwatosin Kolade [see “Lessons from a Janky Drone,”].Africa tiene un inmenso potencial para que la informática y la ingeniería electrónica para abordar una amplia gama de desafíos. Las soluciones de software existentes pueden ser insuficientes, y la infraestructura digital pública puede faltar, por lo que los proyectos en la intersección del hardware y el software podrían llenar vacíos críticos. Sin embargo, es crucial que los estudiantes obtengan mejores oportunidades de aprendizaje para interactuar y construir sistemas físicos. Existe una amplia gama de aplicaciones emocionantes en la agricultura, el transporte, la educación y el monitoreo ambiental, lo que probablemente sea por eso que el profesor de ingeniería de Kolade alentó el proyecto de drones de vigilancia de su equipo a pesar de las dificultades que encontraron. El acceso al accesorio de hardware sigue siendo un cuello de botella mientras los cuellos de botella en el acceso a hardware para estudiantes e investigadores en África en África han sido alivados de mi tiempo como estudiante, obstáculos. Como Kolade atestigua, existen desafíos significativos tanto en el financiamiento escolar como en la cadena de suministro. Esto obstaculiza el aprendizaje y coloca una gran carga financiera para los jóvenes. Como explica Kolade, los estudiantes deben financiar sus proyectos de pregrado fuera de sus propios bolsillos, creando barreras significativas para las personas con recursos financieros limitados. El proyecto Airqo [circuit boards shown here] ofrece a los estudiantes acceso a impresoras 3D, estaciones de soldadura y tableros de sensores básicos y componentes. Los componentes de ESieboelectronics y los componentes de ESieboelectronics a menudo deben ser obtenidos fuera del continente, principalmente de China, Europa o Estados Unidos. Si bien el número de tiendas en línea ha aumentado, el período de tiempo desde el pedido hasta la entrega puede ser de varios meses. No es raro que las opciones de envío asequibles requiera 60 días o más, mientras que las opciones de entrega más rápidas pueden ser varias veces más caras que el hardware en sí. Las compras en línea, aunque a menudo necesarias, presenta una complejidad inevitable para los estudiantes y la facultad, especialmente si tienen acceso limitado a tarjetas de crédito y débito. Por el contrario, los estudiantes en Europa pueden recibir sus componentes dentro de una semana, lo que les permite completar un proyecto de hardware e iniciar nuevas iteraciones antes de que sus homólogos en África incluso reciban su hardware para la construcción inicial. Además, algunos proveedores pueden optar por no enviar a las direcciones en África debido a los riesgos de tránsito junto con las complejidades aduaneras reales o percibidas. Los procedimientos de autorización fiscal y los procedimientos de autorización fiscal pueden ser pesados, con aranceles de importación de hasta el 75 por ciento en algunos países. Si bien algunos países de la región ofrecen exenciones fiscales para los recursos educativos, tales exenciones a menudo son difíciles de obtener para los componentes individuales, o los procedimientos no son claros y son engorrosos. Los proveedores locales, en su mayoría nuevas empresas y centros tecnológicos, están surgiendo, pero a menudo carecen de stock suficiente y pueden no ser capaces de cumplir con las órdenes a granel de las instituciones educativas. El acceso de hardware puede acelerar la educación a la luz de estos desafíos, universidades y estudiantes que pueden estar tentados a cambiar su enfoque a proyectos de software o alterar sus prioridades. Sin embargo, esto limita tanto la educación como la innovación. Proyectos de ingeniería que involucran tanto el hardware como el software Despertar la creatividad de los estudiantes y fomentar la adquisición de habilidades en profundidad. África debe buscar soluciones viables. Los programas universitarios deberían aumentar su apoyo a los estudiantes al proporcionar acceso a espacios de fabricación especializados y centros de fabricación equipados con los componentes de hardware y electrónicos necesarios. La aparición de espacios de alta gama es alentador, pero el enfoque debe estar en proporcionar componentes esenciales, como los sensores. Los estudiantes solo pueden aprender mucho en los espacios de fabricantes que tienen impresoras 3D, pero ningún filamento de impresión en 3D, o la fabricación y el ensamblaje de la placa de circuito impreso, pero sin componentes del sensor. Los grupos y talleres de comunicación enfocados en proyectos de hardware pueden ayudar a abordar los desafíos de accesibilidad. Estas comunidades podrían aprovechar los grupos mundiales de hardware de código abierto para la educación y la investigación. Data Science Africa, una organización sin fines de lucro que entrena a los africanos en la ciencia de datos y el aprendizaje automático, ha ejecutado sesiones de hardware que podrían escalarse para llegar a muchos más estudiantes. La aparición de equipos de investigación que trabajan en proyectos a gran escala que involucran el desarrollo y el despliegue de sistemas de hardware también presenta oportunidades para que los estudiantes y el personal accedan a las instalaciones y prototipos rápidamente. Mostrar proyectos de hardware del continente y compartir lecciones aprendidas, exitosas o no, puede inspirar nuevos proyectos. For example, at Makerere University—where I am now a computer science professor and the department chair—the AirQo project, which focuses on environmental sensing, provides access to key equipment, including 3D printers, soldering stations, and basic sensor boards and other electronic components.Despite the persistent challenges of supply-chain delays, import duties, and limited local vendors that continue to hamper access to hardware across African universities, the continent’s engineering students and educators están encontrando formas creativas de construir, innovar y aprender. Desde mi propio viaje desde la rural de Uganda hasta las plataformas SMS pioneras y el surgimiento de espacios de creadores y proyectos de investigación como Airqo, hasta comunidades colaborativas que conectan innovadores locales con redes de código abierto globales, África está cerrando constantemente la brecha tecnológica. La pregunta no es más que los estudiantes africanos pueden competir en la innovación de hardware, lo que rápido es que el mundo reconocerá que algunas de las soluciones de mañana serán protectores que son protectores que son protectores que ya son protectores que ya serán protectores que ya serán protectores como ellas serán protectores de lobs. Kampala a Ciudad del Cabo. Están siendo construidos por estudiantes como Oluwatosin Kolade, que aprendieron a diseñar soluciones con lo que pudiera tener en sus manos. Imagine lo que podrían hacer si tuvieran acceso a los mismos recursos que tenía en la escuela de posgrado. El potencial de ingeniería africano es ilimitado, pero para alcanzar nuestro máximo potencial, necesitamos acceso a la tecnología que esté más fácilmente disponible en gran parte del mundo. De los artículos de su sitio Artículos relacionados en la web
La sincronización precisa es algo que siempre me ha interesado. Hoy en día dependemos en gran medida del tiempo que nos llega a través de Internet, a través de ondas de radio de satélites GPS o estaciones de transmisión. Pero quería un reloj que mantuviera un tiempo excelente sin depender del mundo exterior; sin duda, algo mejor que el tiempo proporcionado por el oscilador de cristal de cuarzo utilizado en un reloj digital o microcontrolador típico, que puede variar aproximadamente 1,7 segundos por día, o más. 10 minutos en el transcurso de un año. Por supuesto, podría comprar un reloj atómico, es decir, uno con un oscilador de rubidio en su interior, del tipo que se utiliza a bordo de los satélites GPS. (No del tipo que se comercializa como “reloj atómico”, sino uno que en realidad depende de captar señales horarias de radio). Los relojes de rubidio proporcionan una precisión increíble, pero cuestan miles de dólares estadounidenses. Necesitaba algo intermedio, y la salvación la encontré en la forma del oscilador de cristal controlado por horno, invariablemente conocido como OCXO por razones históricas. Con uno de estos, podría construir mi propio reloj por alrededor de 200 dólares, y uno que es aproximadamente 200 veces más preciso que un reloj de cuarzo típico. Los cambios de temperatura son la mayor fuente de error en los osciladores de cristal convencionales. Hacen que el cuarzo se expanda o contraiga, lo que altera su frecuencia de resonancia. Una solución es realizar un seguimiento de la temperatura y compensar los cambios de frecuencia. Pero sería mejor no tener el cambio de frecuencia en primer lugar, y aquí es donde entra en juego el OCXO. La placa de circuito impreso [center] Se puede cortar en dos piezas, con los componentes relacionados con la sincronización montados en la sección inferior y los componentes de control y visualización montados en la sección superior. James Provost El OCXO mantiene el cristal a una temperatura constante. Para evitar la complejidad de tener que calentar y enfriar un cristal en respuesta a las fluctuaciones ambientales, el cristal se mantiene calentado cerca de 80 °C aproximadamente, muy por encima de cualquier temperatura ambiental que probablemente experimente. En el pasado, los OCXO consumían mucha energía y eran voluminosos o caros, pero en los últimos años han aparecido versiones en miniatura que son mucho más baratas y consumen mucha menos energía. El Raltron OCXO que elegí para mi reloj cuesta 58 dólares, funciona a 3,3 voltios y consume 400 miliamperios en funcionamiento en estado estable. El OCXO resuena a 10 megahercios. En mi reloj, esta señal se envía a un contador de 4 bits, que emite un pulso cada vez que cuenta de 0000 a 1111 en binario, dividiendo efectivamente la señal de 10 MHz por 16. Esta señal de 625 kilohercios (kHz) luego impulsa un temporizador de hardware en un microcontrolador Arduino Nano, que activa una interrupción del programa cada décima de segundo para actualizar la base de tiempo del reloj. (Los detalles completos sobre cómo funcionan la cadena de sincronización y el software están disponibles en una publicación adjunta en el sitio web de IEEE Spectrum, junto con una lista de materiales y archivos de la placa de circuito impreso). Un controlador giratorio conectado directamente al Nano le permite configurar la hora. Nano realiza un seguimiento del tiempo, avanza segundos, minutos y horas, y también controla la pantalla. Esta pantalla se crea utilizando seis “CharliePlex FeatherWings” de Adafruit, que son matrices de LED de 15 por 7 con brillo controlable que vienen en una variedad de colores. Cada uno se controla mediante el protocolo de bus serie direccionable I2C. Surge un problema porque un CharliePlex está cableado para tener solo una de dos direcciones I2C posibles, lo que hace imposible direccionar seis dígitos de reloj individualmente en un solo bus. Mi solución fue utilizar un multiplexor I2C, que toma datos I2C entrantes y los conmuta entre seis buses separados. La cadena de sincronización comienza con el oscilador OCXO y su señal de 10 megahercios y termina con la actualización de la pantalla una vez por segundo. La señal de sincronización sincroniza un temporizador de hardware en el microcontrolador Nano para que active un controlador de interrupciones en el software del Nano 10 veces por segundo. En consecuencia, puede realizar muchas modificaciones o agregar nuevas funciones mediante cambios de software. James Provost El uso de un microcontrolador (en lugar de, digamos, chips lógicos discretos) simplificó el diseño y permite una fácil modificación y expansión. Es trivial modificar el software para sustituir los números por su propio diseño de fuente, por ejemplo, o ajustar el brillo de la pantalla. Los bloques de conectores para interfaces seriales están disponibles directamente en el Nano, lo que significa que puede usar el reloj como temporizador o disparador para algún otro dispositivo. Para tal fin, puede omitir la pantalla por completo, reduciendo considerablemente el tamaño del reloj (aunque tendrá modificar el software para anular la verificación de inicio de la pantalla). La placa de circuito impreso del reloj está diseñada para que pueda cortarse en dos piezas, y el tercio inferior sostiene el microcontrolador, el OCXO y otros componentes electrónicos de soporte. Los dos tercios superiores contienen la pantalla y el codificador giratorio. Al agregar cuatro cabezales y pasar dos cables entre las piezas para conectarlas, puede organizar las placas para formar una amplia gama de configuraciones físicas, lo que le brinda mucha libertad a la hora de diseñar el factor de forma de cualquier gabinete que elija construir para el reloj. De hecho, crear la PCB para que esto fuera posible fue probablemente la parte más desafiante de todo el proceso. Pero la flexibilidad resultante de hardware y software del diseño final valió la pena. Todo el dispositivo se alimenta a través del puerto USB-C del Nano. Se necesitaba USB-C para proporcionar suficiente corriente, ya que el reloj, el OCXO y la pantalla juntos necesitan más que la corriente máxima nominal de 500 mA de los puertos USB anteriores. Se necesita una batería de respaldo conectada a este puerto para evitar reinicios debido a una pérdida de energía; usar uno de los populares relojes de respaldo en tiempo real basados en celdas de botón no tendría sentido debido a su relativa inexactitud. Y en cuanto a ese objetivo de crear un reloj preciso. reloj con una gran inversión, verifiqué la salida de mi OCXO en el circuito con un contador de frecuencia HP 53150A. El resultado es que el reloj no se desvía más de 0,00864 segundos por día, o menos de 3,15 segundos en un año. De hecho, su precisión probablemente sea mejor que eso, ¡pero había alcanzado el límite de lo que podía medir con mi contador de frecuencia! Espero que construyas uno propio; solo requiere unas pocas horas de soldadura y creo que estarás de acuerdo en que sería un tiempo bien empleado.
Source link
Nota: esta publicación se publicó originalmente en el repositorio Github del autor para este proyecto. Como se describe en el artículo práctico adjunto, este proyecto es un reloj digital que utiliza un oscilador de 10 megahercios de alta estabilidad como referencia de sincronización. El oscilador es un oscilador de cristal controlador de horno, u OCXO, una tecnología que ha experimentado mejoras significativas en los últimos años, consumiendo mucha menos energía a un precio mucho más bajo. La plataforma básica aquí es un OCXO combinado con un Arduino Nano. El Nano ofrece mucha más potencia de procesamiento de la necesaria para realizar un reloj simple de horas, minutos y segundos, pero es barato y fácil de usar. Sin embargo, la señal de reloj sin procesar de 10 MHz del OCXO no se puede utilizar para controlar el Nano directamente. El Nano utiliza un resonador cerámico de 16 MHz para el reloj de su sistema y no es fácil cambiar la frecuencia de este, digamos 10 MHz, sin modificaciones significativas en el firmware del Nano porque la señal del reloj de 16 MHZ se utiliza para derivar la señal de sincronización para la conexión USB necesaria para cargar programas en el microcontrolador. Un interruptor físico para cambiar entre 16 MHz y 10 MHz después de cargar el programa era una opción, pero no muy práctica. En cambio, el enfoque fue utilizar interrupciones. Como ocurre con todos los microprocesadores, el Nano admite interrupciones que, cuando se activan, pueden pausar el código del programa que se está ejecutando actualmente, mover los registros de la CPU a una ubicación de memoria, llevar a cabo una rutina de servicio de interrupción y luego devolver el controlador a su funcionamiento normal restaurando el registros. Las interrupciones generalmente pueden activarse mediante un temporizador controlado por un reloj o una entrada en un pin externo dedicado. El Nano incluye tres temporizadores de interrupción, y Timer0 y Timer1 también pueden ser controlados por una fuente de reloj externa a través de los pines T0 y T1. Los temporizadores funcionan cargándose con un número binario, que luego disminuye cada vez que se detecta un pulso en su pin correspondiente. Cuando el temporizador llega a cero, se activa una interrupción. Cambiar el número cargado en el temporizador altera el intervalo entre interrupciones. Timer0 es de 8 bits, mientras que Timer1 es de 16 bits. Sin embargo, todavía no era posible controlar los temporizadores directamente con la señal de 10 MHz del OCXO. Cuando se usa con un reloj externo en T0 o T1, la señal en el pin se muestrea en relación con el reloj del sistema de 16 MHz. Utilizando un factor de muestreo de Nyquist máximo de 2,5, se obtiene una frecuencia de entrada externa máxima realista de 6,4 MHz: se perderán los pulsos entrantes y superiores en el pin. Agregar un contador binario de 4 bits después de la salida del OCXO da como resultado que el contador emita un pulso por cada 16 pulsos que recibe, mientras el contador cuenta de 0000 a 1111. Con el OCXO funcionando a 10 MHZ, la frecuencia de la señal de salida del contador es luego 625 kHz. En consecuencia, hacer que el temporizador cuente regresivamente desde 62500 resultará en una interrupción cada décima de segundo. Luego, los segundos, minutos y horas se actualizan adecuadamente. Componentes Elegí un Arduino Nano como microcontrolador del reloj porque ofrece las mismas capacidades que los controladores Arduino más grandes, pero tiene un factor de forma más compacto y es muy económico. En particular, incluye las interfaces SPI e I2C habituales que facilitan la interfaz con pantallas modernas con sus controladores integrados. El OCXO es un Raltron Electronics OX4120A-D3-5-10.000-3.3. Se podría utilizar cualquier OCXO adecuado, incluso uno con una frecuencia diferente cambiando la relación del divisor. También viene en una configuración de paquete dual en paquete (DIP) estándar de 14 pines, aunque en realidad solo se utilizan 4 pines. El OCXO es una pieza de 3,3 voltios, por lo que un regulador lineal de voltaje de caída baja (LDO) LD1117V33C deriva este voltaje del voltaje del sistema de 5 voltios que proporciona la conexión USB-C utilizada para alimentar el reloj. Un segundo regulador idéntico proporciona 3,3 V a la pantalla. El tipo de regulador no es crítico; se podrían utilizar LDO alternativos o tipos de conmutación. El contador de 4 bits es 74HC191. Aunque el contador se alimenta con el voltaje del sistema de 5 V, su entrada es compatible con el nivel lógico de 3,3 V del OCXO, por lo que no es necesario un cambiador de voltaje. La pantalla se compone de seis Adafruit CharliePlex FeatherWings. Cada CharliePlex consta de una matriz de LED de 7×15 píxeles que se pueden controlar individualmente en modo gráfico o utilizando fuentes integradas en la biblioteca Adafruit_IS31FL3731. Se comunican con ellos a través de una conexión I2C. La dirección de cada CharliePlex se puede configurar en uno de dos valores: de forma predeterminada, 0x74, pero se puede cambiar a 0x77 conectando un enlace con soldadura. Para controlar varias pantallas utilicé una placa de conexión con el chip expansor I2C TCA9548A, que me permite conectar varios CharliePlex y abordar cada uno en un bus I2C separado, evitando colisiones de direcciones. Como interfaz de usuario se utiliza un único codificador rotatorio con un interruptor de presión momentáneo. Esto le da al reloj una sensación minimalista moderna. Por supuesto, se podrían usar interruptores de presión separados con solo cambios mínimos en el hardware y/o software. Todos los componentes utilizados en este proyecto tienen empaques con orificios pasantes para una fácil construcción. Una lista de materiales con números de referencia de productos Digikey está disponible en mi repositorio de Github. Placa de circuito impreso La placa de circuito impreso fue diseñada en KiCad. El diseño de PCB está disponible en el repositorio como archivos KiCad y en formato Gerber para que otros lo fabriquen o modifiquen bajo la licencia creative commons. La placa final no es compleja y está diseñada como una placa de doble cara fácil de soldar. Se puede dividir fácilmente en dos secciones a lo largo de dos cortes, ya sea con una sierra o rayando y rompiendo. Si se dividen en secciones, se proporcionan almohadillas para que los cabezales se puedan soldar para conectar una placa detrás de la otra, creando una forma más compacta adecuada para un reloj de escritorio. De esta forma, la placa “superior” contiene la pantalla y el codificador giratorio, y todo lo demás se encuentra en la placa posterior. El codificador giratorio encaja en el centro del tablero, pero, por supuesto, podría trasladarse a otro lugar y conectarse mediante cables voladores. El prototipo de PCB se encargó a través de JCL en China, pero cualquier fabricante de PCB serviría. La parte inferior de la placa contiene el Arduino, el expansor I2C, el OCXO, la cadena divisoria y los reguladores de voltaje. Los reguladores de voltaje se montan con las pestañas hacia afuera para poder instalar disipadores de calor si es necesario. Esto no se consideró necesario en el prototipo, pero si, por ejemplo, las pantallas funcionan con un brillo general alto, puede ser necesario. Si las placas se montan una detrás de otra, deben colocarse espalda con espalda, de modo que todos los componentes sean accesibles desde la parte posterior del reloj. Esto hará que el reloj sea más fácil de piratear más adelante si es necesario. Hay orificios M3 en el tablero para facilitar el montaje y estos se alinean para las partes superior e inferior del tablero si se montan espalda con espalda. Se pueden instalar espaciadores metálicos para proporcionar el espacio libre y la estabilidad mecánica correctos. También hay dos orificios de montaje encima y debajo del OCXO. Esto es para proporcionar estabilidad mecánica. El OCXO es un componente relativamente pesado y se sujeta a la placa simplemente mediante cuatro pines en un conector DIP. Este también está montado verticalmente, por lo que no es especialmente estable. Se puede pasar un trozo de alambre a través de los dos orificios con los extremos entrelazados para mantener el OCXO en su lugar. También se pueden utilizar bridas para cables o una abrazadera, si está disponible. Hay dos conjuntos de esquemas, PCB y archivos Gerbers. Esto se debe a que los módulos TCA9548A vienen en dos versiones. El de Adafruit tiene un espacio de 0,6 pulgadas entre las filas (la versión “N”) mientras que algunos módulos disponibles en eBay tienen un espacio de 0,7 pulgadas. Verifique cuál está utilizando antes de fabricar los PCB. Software El software también está disponible en mi repositorio de Github. El código fuente se basa solo en dos bibliotecas adicionales, la mencionada Adafruit_IS31FL3731 y la biblioteca Wire común que permite la comunicación en serie, esencial para la conexión I2C a la pantalla. Para controlar las pantallas es necesario programar individualmente cada uno de los 105 LED de cada CharliePlex. Esto se hace utilizando un conjunto de tablas de búsqueda (LUT) que se definen inmediatamente después de que la biblioteca se incluye en el código fuente. Hay una LUT por número. Al observarlos, es obvio qué número está almacenado en cada LUT, y es sencillo reemplazar los LUT con un nuevo conjunto, que represente una fuente diferente. A continuación, el código de configuración verifica que todos los CharliePlex estén funcionando correctamente y, de lo contrario, enviará un mensaje de depuración a cualquier computadora conectada a través de la interfaz serie USB. Next Timer1 está configurado para aceptar pulsos de un reloj externo y realizar una cuenta regresiva desde 62499. Este es 62499 y no 62500 para tener en cuenta el tiempo necesario para restablecer el contador cada vez que llega a cero y desencadena una interrupción del bucle principal del programa. La función principal del bucle principal es llamar a la subrutina que lee el codificador rotatorio. La subrutina del codificador intenta eliminar el rebote del interruptor y también es fácilmente modificable. El bucle principal también actualiza la pantalla, pero sólo cuando el temporizador de interrupción ha establecido un bit de bandera. También hay aquí una variable de brillo que el usuario puede configurar, al igual que la variable para aumentar temporalmente el brillo de un dígito cuando se está configurando. El código para la rutina de servicio de interrupción del Timer1 sigue el bucle principal. Esto se llama diez veces por segundo y se encarga de incrementar los segundos, minutos y horas según sea necesario. Aquí también parpadean un par de LED entre los segundos y los minutos, y otro par de LED entre los minutos y las horas, encendiéndose y apagándose cada medio segundo. Su función podría cambiarse fácilmente si se desea. La subrutina final se encarga de transmitir la actualización a la pantalla a través del chip expansor I2C TCA9548A. Precisión El OX4120A-D3-5-10.000-3.3 utilizado en este proyecto es un OCXO fijo; su frecuencia no se puede ajustar. Otros OCXO permiten realizar ajustes aplicando un voltaje de control a uno de los pines, pero yo opté por el oscilador más simple; se creía que su estabilidad era lo suficientemente alta como para que este proyecto no requiriera ajuste. Para comprobar la precisión del reloj se requiere un reloj de referencia de precisión aún mayor. Lo mejor que tenía el autor en su laboratorio era un contador de frecuencia HP 53150A con su propia referencia OCXO. Fue calibrado por última vez en 2013. Al medir la referencia OCXO, la frecuencia en el contador fluctuó entre 10.000.000 y 9.999.999. Esto sugiere una concordancia, y por tanto una precisión, superior a 1 parte en 10.000.000. Al ser más nuevo, es probable que el OCXO de este reloj sea mejor que el contador HP.
Source link