Tabla de contenido:

Cuchillo Swiss AVR: 14 pasos (con imágenes)
Cuchillo Swiss AVR: 14 pasos (con imágenes)

Video: Cuchillo Swiss AVR: 14 pasos (con imágenes)

Video: Cuchillo Swiss AVR: 14 pasos (con imágenes)
Video: VICTORINOX AUTOMOBILE SPECIAL - A RARE MODEL 2024, Mes de julio
Anonim
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR
Cuchillo Swiss AVR

Swiss AVR Knife agrupa una serie de proyectos de programación AVR en una sola lata de goma Altoids conveniente. Debido a la flexibilidad que ofrece la programación del microcontrolador, también proporciona un punto de partida para cualquier número de proyectos basados en LED y salida de sonido. El SAK puede contener tantos programas como lo permita la memoria de 8K y mantiene ocho estados para cada programa. El botón azul hace que el SAK recorra los programas y estados; una presión rápida hace que permanezca en el programa, pero cambia al siguiente estado (como sea que esté definido) y una presión larga hace que avance al siguiente programa. El programa actual y los estados de todos los programas se conservan en EEPROM entre usos.

Los proyectos actualmente implementados en el SAK incluyen los siguientes. Estos, junto con todos los demás códigos y constantes (hay una tabla de fuentes completa), ocupan aproximadamente 4 K del espacio disponible. ¡Mucho más espacio!. Además de lo mencionado anteriormente, me gustaría agradecer a los desarrolladores de las herramientas de software utilizadas (ver en otros pasos) y a todos los que pusieron un sitio web útil que me ayudó a comprender estos temas. Puedo atribuirme el mérito directo de muy poco del código utilizado en este proyecto. Si cree que el código es suyo, puede que lo sea. Házmelo saber y con gusto te daré crédito. En cualquier caso, gracias por tu contribución:-)

Paso 1: Partes

Las piezas se pueden obtener de cualquiera de varios proveedores electrónicos. Debido a la limitación de espacio, la mayoría de los componentes son necesarios como se indica. Todo apenas encaja; asegúrese de que las piezas de repuesto no ocupen espacio adicional. No sustituya el ATtiny84 a menos que esté absolutamente seguro de que los pines corresponden. Los enlaces que siguen a las partes son para DigiKey y All Electronics. Componentes electrónicos 1 x U1 - ATtiny84 - ATTINY84-20PU-ND1 x Ux - Zócalo IC 14 pines DIP - A32879-ND9 x LED - su elección de color 9 x resistencias - combinadas con sus LED 2 x R1, R2 - 100 ohmios 1/4 W ± 1% película metálica - 100XBK-ND2 x C7, C8 - 47uF - P5151-ND Varios Soporte de batería 1-AA Cables de 6 "(1) 2461K-NDPonector de teléfono estéreo de 3,5 mm (1) MJW-22 Interruptor de palanca SPDT 1/4 "encendido-encendido (1) MTS-4 Interruptor de botón pulsador (1) 450-1654-NDMinty Boost El SAK funciona con una sola batería AA impulsada por un chip Maxim MAX756 (¡el componente esencial del MintyBoost!). Los siguientes componentes son los necesarios para esta parte del circuito: 1 x U1 - MAX756CPA DC / DC 3.3 / 5V DIP - MAX756CPA + -ND1 x Ux - Toma IC 8 pines DIP - A32878-ND2 x C7, C8 - 0.1uF - 399-4151-ND2 x C3, C5 - 100uF - P5152-ND1 x L1 - 22uH radial - M9985-ND1 x D1 - 1N5818 Schottky 1A 30V - 1N5818-E3 / 1GI- DAKOTA DEL NORTE

Paso 2: Microcontrolador ATtiny84

Microcontrolador ATtiny84
Microcontrolador ATtiny84

Muchos proyectos utilizan el microcontrolador ATtiny2313 de 20 pines o el ATtiny85 de 8 pines. Encontré el ATtiny2313 demasiado grande (para el gabinete) y el ATtiny85 demasiado pequeño (no hay suficiente memoria, no hay suficientes pines de salida). El ATtiny84 es perfecto:-) El ATtiny84 tiene 8K de memoria flash programable (suficiente para contener muchos programas pequeños), 512K de EEPROM (para almacenar el estado entre usos), hasta 12 pines de salida (para los 9 LED, 2 canales de salida de audio y un interruptor de botón), y muchos otros beneficios que no se utilizan en este proyecto. Si planea agregar programas, obtenga una copia de la hoja de datos ATtiny84. Existen muchas guías instructivas para aprender a programar esta familia de microcontroladores en Internet. Para obtener un resumen útil de los microcontroladores, consulte Cómo elegir un microcontrolador. Nota El proyecto que se describe aquí en realidad no tiene la MiniMenorah completamente habilitada. El MM requiere nueve pines de salida, el Brain Machine dos y el botón para cambiar el estado uno, para un total de doce. Si bien el ATtiny84 se puede configurar para tener doce pines de salida, es a expensas del pin RESET. Deshabilitar el pin RESET y convertirlo en E / S hace que el ATtiny84 no pueda ser programado con el programador USBtinyISP (quien no ha hecho eso:-) y requiere Programación de Alto Voltaje. Todo está en su lugar para habilitar el MM, pero se requiere un programador diferente y no tengo uno.

Paso 3: Herramientas de programación de AVR

Herramientas de programación AVR
Herramientas de programación AVR
Herramientas de programación AVR
Herramientas de programación AVR

Se necesitan bastantes componentes, tanto de hardware como de software, para programar los microcontroladores AVR. A continuación se muestran las herramientas que utilizo. Muchos, muchos otros existen en el mismo rango de precios, gratis o baratos. Encuentre un conjunto que funcione para usted y quédese con ellos. Mejor aún, busque un amigo que haya desarrollado un sistema y use sus herramientas. Nada es particularmente difícil si todo sale como se anuncia, pero hacer que todas las herramientas funcionen juntas puede ser un verdadero desafío. Los pines largos del soporte de chip de envoltura de alambre se extienden hacia abajo en una placa de pruebas y hacen una configuración experimental conveniente. El único problema que he encontrado es que los componentes de los pines de programación no se pueden conectar a tierra durante la programación. He adoptado dos enfoques para resolver este problema. La primera es tener dos porta chips, uno para programar y otro para correr (ver soporte de 8 pines). Esto no es ideal porque inutiliza gran parte de la placa de pruebas y es bastante molesto mover el chip. El segundo es instalar un pequeño interruptor para desconectar el pin de tierra del suelo de la placa durante la programación. Esto funciona mejor y deja más espacio en la placa para los componentes. Kit ProgrammerUSBtinyISP de Adafruit Industries. Con una pequeña modificación (quitar el cable de 10 pines y doblar los LED), el programador encaja en una lata de goma Altoids. El cable de 6 pines incluso se puede enrollar en la lata para almacenamiento. SoftwareWinAVR es una colección de herramientas de desarrollo de software de código abierto para programar microcontroladores AVR en máquinas con Windows. Funciona bien con el programador USBtinyISP (consulte el Tutorial de AVR). Recientemente pasé de usar la aplicación Bloc de notas del programador que viene incluida con WinAVR a usar Eclipse con el complemento AVR Eclipse. Eclipse puede usar avrdude, por lo que tendrá que instalar WinAVR de todos modos. Eclipse tiene una mejor gestión de proyectos, útiles tutoriales y es gratuito. Solo tomó unos minutos instalarlo, seguir un tutorial y programar un chip. Llame a un amigo Hay muchos recursos en Internet. Búscalos, pide ayuda. Las personas pueden estar informadas y ser útiles. Eso es bueno:-) También pueden ser desdeñosos. Eso no es agradable:-(

Paso 4: Programación del microcontrolador

Programación del microcontrolador
Programación del microcontrolador

Código C No critique lo que no entiendo. No soy un programador, C no es mi idioma nativo, y me aferro a un hilo delgado de Java y muchas búsquedas en la web cuando trabajo en C. Aunque gran parte del código proviene de otros proyectos (ver créditos), Tuve que hacer algunas adiciones y modificaciones. El código fuente de Swiss AVR Knife se adjunta a continuación como un archivo fuente c y un archivo hexadecimal. Agradecería saber dónde se podría mejorar el código. Hay algunos cambios que anticipo hacer en el código. Próximamente se recibirán actualizaciones. Mientras tanto, el código funciona como se anuncia. Fusibles Los fusibles del microcontrolador son confusos. He deshabilitado algunos microcontroladores al configurarlos accidentalmente para que busquen un oscilador externo y al deshabilitar el pin RESET. Se pueden recuperar, pero hasta entonces son solo errores muertos. Tenga cuidado si decide cambiar los fusibles. Para calcular los valores correctos de los fusibles, utilice una calculadora de fusibles en línea. Seleccione la parte de destino (ATtiny84) y la configuración adecuada: oscilador RC interno funcionando a 8MHz (valor predeterminado), NO divida el reloj por 8 internamente, habilite la descarga de programas en serie y desactive la detección de apagones. El resultado debería ser el siguiente. -U lfuse: w: 0xe2: m -U hfuse: w: 0xdf: m -U efuse: w: 0xff: m (bajo 0xE2 alto 0xDF ext 0xFF). Solo necesita quemar los fusibles una vez (a menos que planee cambiarlos). Eclipse hace que esto sea fácil, como, estoy seguro, lo hacen otros IDE. Preguntas que me gustaría responder Cualquier idea sobre la optimización del código ¿Por qué las luces parpadeantes en la máquina de luz y sonido causan una oscilación en el tono cuando están habilitadas en la lata pero no? en el tablero? ¿Por qué a Eclipse no le gustan las funciones lightOn y lightOff, aunque parecen funcionar?

Paso 5: Breadboarding del proyecto

Breadboarding del proyecto
Breadboarding del proyecto
Breadboarding el proyecto
Breadboarding el proyecto

Debido a que gran parte del trabajo de este proyecto lo realiza el microcontrolador, hay muy pocas partes externas. Después de verificar que su programador y la cadena de herramientas estén en orden, sería una buena idea hacer una placa de prueba del circuito y asegurarse de que todo funcione como se anuncia. Las imágenes a continuación son versiones desordenadas de la placa de pruebas real que había configurado. Usé los LED en la lata del modelo y saqué la base y el chip para usarlos en varias fotografías. El cableado general básicamente conecta los pines activos a algunas partes y luego a tierra. Nota El orden de los pines y los LED no es el mismo en la placa de pruebas y en la PCB (aunque supongo que podría hacerlos iguales). En el código, verá fragmentos de código que deben habilitarse o comentarse dependiendo de si el objetivo es la placa de pruebas o la PCB.

Paso 6: Preparación de la lata de chicle Altoids

Imágenes en el camino Aplanar la parte inferior. La parte inferior de la lata se curva hacia arriba y hacia adentro. Es necesario aplanarla para que la batería y la placa de circuito quepan y se asienten de manera uniforme. Teniendo cuidado de no distorsionar la lata, empuja la parte inferior hacia afuera hasta que esté prácticamente plana. La lata necesita tres juegos de agujeros. Utilizo un punzón de metal para marcar la ubicación de los orificios y puntas de punta (para madera) para perforar los orificios. Las brocas de punta de clavo tienen un punto central y dos filos de corte. No patinarán y los bordes cortan lentamente el metal. Las brocas de punta Brad están disponibles en Lee Valley (entre otros lugares). El primero es un conjunto de nueve orificios de 5 mm en la parte superior de la lata para los LED. Hay brocas de punta métrica disponibles y hacen orificios limpios y ajustados para los LED. Cree una plantilla de papel con los agujeros marcados y transfiera las marcas a la parte superior de la lata. Para evitar empujar la parte superior de la lata hacia adentro, apoye la parte interior de la tapa sobre un pequeño bloque de madera al perforar y perforar la parte superior. Con el papel y la madera en su lugar, hago hoyuelos en la lata con el punzón. Al perforar, vaya despacio al principio. Los bordes cortantes de las puntas de los clavos deben formar un círculo uniforme. Perforar con la broca cualquier cosa que no sea perpendicular a la superficie puede resultar en que la broca se agarre y rompa el metal. La punta de clavo de 5 mm hace un orificio limpio y agradable, pero descubrí que tenía que ensancharlo muy ligeramente. Hice esto perforando desde el interior con una broca normal de 13/64 ". El segundo juego consta de dos orificios de 1/4" en el lado derecho de la lata para el interruptor y el conector de audio. Debido a la estrecha curvatura al final de la lata, estos agujeros deben estar bastante cerca. Asegúrese de espaciarlos para que los componentes quepan en la lata. Céntrelos verticalmente en la parte del lado visible cuando la tapa está cerrada. Marque con punzón y taladre con mucho cuidado. La precaución acerca de que las brocas agarren la lata se aplica más fuertemente con las brocas más grandes. El último orificio es para el interruptor de botón. Coloque el orificio hacia la parte inferior derecha de tal manera que el botón no interfiera con los demás componentes de la lata.

Paso 7: diseño y fabricación de la PCB

Diseño y fabricación de PCB
Diseño y fabricación de PCB
Diseño y fabricación de PCB
Diseño y fabricación de PCB
Diseño y fabricación de PCB
Diseño y fabricación de PCB

Existen numerosos recursos en Internet que describen el proceso de creación de PCB. Ninguno de los métodos es infalible o fácil, pero es importante sentirse cómodo con al menos uno. Utilizo la versión gratuita del EAGLE Layout Editor de CadSoft para crear el esquema y diseñar la placa de circuito impreso. Mi enfoque para la fabricación de la PCB se describe en el paso Fabricación y preparación de la PCB del altavoz de estaño Altoids Instructable. Después de transferir, grabar y perforar la placa, está listo para soldar todo junto. Nota Mi experiencia más reciente para transferir imágenes a Las placas de circuito son las siguientes. Lave bien la tabla con jabón para platos y frótela con un estropajo verde. Lije suavemente las rebabas de los bordes de la tabla para que el papel de transferencia y la plancha hagan buen contacto con la tabla. Precalienta la plancha. Coloque un papel en la tabla y caliente la tabla con la plancha. Después de que el tablero esté bastante caliente, coloque con cuidado el papel de transferencia preparado en el tablero. Se pegará de inmediato (porque la tabla está caliente), así que asegúrese de que esté colocada correctamente. Luego planche directamente sobre la parte posterior brillante del papel de transferencia. Esto nunca me causó ningún problema, pero estás usando tu propia plancha. Prueba primero. Deje que la tabla se enfríe y luego póngala en agua fría. El papel de transferencia debe salirse y dejar la imagen completa. Use un visor de diapositivas / negativos de 8x para revisar la transferencia y completar las piezas que faltan. Buena suerte.

Paso 8: Soldar piezas a PCB

Soldadura de piezas a PCB
Soldadura de piezas a PCB
Soldadura de piezas a PCB
Soldadura de piezas a PCB
Soldadura de piezas a PCB
Soldadura de piezas a PCB

Existen numerosos recursos en Internet que describen el proceso de soldadura de componentes electrónicos a PCB. Vea, por ejemplo, el tutorial de soldadura en ladyada.net. El orden en el que instale los componentes realmente no importa, aunque he encontrado que trabajar de menor a mayor es lo más fácil. Los cables LED / luz intermitente son lo suficientemente largos para que pueda darles un patrón similar a una menorá en la lata. Coloque con cuidado los LED y doble los cables de modo que la parte superior de cada LED quede colocada de manera que asome por su respectivo orificio. Esto puede ser un desafío, pero se ve muy bien cuando finalmente funciona. Si los cables se dejan demasiado largos, es posible que la tapa de la lata aplaste los LED y queden fuera de posición. Nota El LED de la derecha no está en la misma orientación que los otros ocho. Asegúrese de verificar la polaridad de los LED con el diseño de la placa cuando los instale. Este LED está conectado al pin RESET, por lo que puede optar por no instalarlo. Nota Los cables al conector de audio y las resistencias comparten un orificio. Para mayor comodidad, coloque las resistencias en posición vertical de tal manera que el cuerpo de la resistencia no esté sobre el orificio con el cable de audio. Prepare e instale el conector de audio en este punto o espere hasta que esté listo para soldar las resistencias. No es divertido desoldar las resistencias más adelante.

Paso 9: luces intermitentes

Luces intermitentes
Luces intermitentes

Los LED deben estar protegidos por resistencias. Determine la caída de voltaje y los requisitos de corriente de sus LED y calcule las resistencias adecuadas asumiendo una fuente de 5 V del chip. Hay calculadoras en línea disponibles para hacer esto. Hágase un montón de luces intermitentes. Al hacerlos para este proyecto, corte el cátodo (cable negativo / corto del LED por el lado aplanado) y suelde la resistencia muy cerca de la lente del LED. Los LED forman una menorá en la lata. Incluso con la resistencia casi tocando la lente, el LED más corto del medio quedará ligeramente aplastado por la tapa de la lata. Para evitar que se produzcan cortocircuitos en los estrechos confines de la lata, cubra cada resistencia con un trozo de tubo termorretráctil.

Paso 10: preparación del portapilas

Preparación del portapilas
Preparación del portapilas

Deslice pequeños trozos de tubo termorretráctil a lo largo de ambos cables del soporte de la batería. Empújelos con cuidado en los orificios del soporte y encoja en su lugar. Estos proporcionan cierto grado de protección para los cables. (Esta instrucción está duplicada en la página Preparación del interruptor de palanca). Corte el cable negro a la longitud deseada y suelde en el orificio correspondiente en la PCB. El cable rojo está soldado directamente al interruptor de palanca; Consulte las instrucciones en esa página para saber cómo proceder. En proyectos anteriores, corté las lengüetas de retención del soporte de la batería. Habiendo hecho esto en el prototipo, ahora lo lamento. La batería no quiere permanecer apretada en su lugar. Deje que las pestañas comiencen y retírelas solo si tiene problemas para sacar la batería. A pesar de decir esto, la imagen muestra un portapilas con las pestañas cortadas. Esto se debe a que lo busqué en otro proyecto.

Paso 11: preparación del interruptor de palanca

Preparación del interruptor de palanca
Preparación del interruptor de palanca

Dependiendo de su interruptor, es posible que deba cortar uno de los pines. Hago esto con los interruptores que uso, aunque puede que no sea del todo necesario. Deslice un pequeño trozo de tubo termorretráctil a lo largo del cable rojo del soporte de la batería. Empújelo con cuidado en el orificio del soporte y contraiga en su lugar. Proporciona cierto grado de protección para el cable. (Esta instrucción duplica la instrucción en Preparación del portapilas). Deslice otro trozo pequeño de tubo termorretráctil en el cable rojo. Corte y pele el cable a la longitud deseada y aplique un poco de soldadura tanto en el pin del interruptor como en el extremo del cable. Suelde el cable rojo del soporte de la batería directamente al pin exterior del interruptor. Deslice el trozo de tubo termorretráctil sobre la articulación para protegerla y fortalecerla. El segundo cable va desde el pin central del interruptor a la PCB. Suelde el cable al interruptor como se describe arriba. Proteja la articulación con tubo termorretráctil. Suelde el otro extremo al orificio correspondiente de la PCB.

Paso 12: preparación del conector de audio

Preparación del conector de audio
Preparación del conector de audio
Preparación del conector de audio
Preparación del conector de audio
Preparación del conector de audio
Preparación del conector de audio

Los cables del conector de audio son bastante cortos. Aplique un poco de soldadura a los pines del conector y al cable y luego suéldelos en su lugar. Deslice trozos de tubo termorretráctil sobre las articulaciones para protegerlas y fortalecerlas. El cable de tierra se puede soldar directamente en su agujero. Cada uno de los extremos de los cables de señal comparte un orificio con un extremo de una resistencia. Prepare el cable y la resistencia girando los extremos y aplicando un poco de soldadura. El orificio en el que van debe perforarse a 3/64 para acomodar los dos cables. Suelde en su lugar.

Paso 13: preparación del interruptor de botón

Preparación del interruptor de botón
Preparación del interruptor de botón
Preparación del interruptor de botón
Preparación del interruptor de botón
Preparación del interruptor de botón
Preparación del interruptor de botón

Prepare un trozo corto de cable sólido formándolo en forma de U que se ajuste cómodamente sobre la parte inferior del interruptor. Aplique una gota de soldadura a cada lado del orificio (deje espacio para el interruptor) y coloque el interruptor en su lugar. Derrita la soldadura y empuje el cable en su lugar. Deje que la soldadura se endurezca y repita en el otro lado. Esto debe colocar y asegurar el interruptor en su lugar. Prepare dos pedazos de cable trenzado cortando a la medida y pelando ambos extremos. Asegúrese de que los cables sean lo suficientemente largos para que la tapa de la lata pueda abrirse por completo. Suelde a dos clavijas apropiadas en el interruptor y luego deslice trozos de tubería termorretráctil sobre las uniones para protegerlas y fortalecerlas. Suelde a los otros extremos en sus respectivos orificios en la placa. Enhebre con cuidado los cables entre los LED y asegúrese de que no se asienten sobre las baterías. Extendí los dos pines del interruptor para que el LED de la derecha se deslizara entre ellos. Los pines del interruptor son MUY frágiles (los otros dos se rompieron). Tenga en cuenta que el pin PA7 PCINT7 6 está configurado para escuchar un cambio de estado. Al presionar el interruptor de botón, se eleva el pin y se ejecuta SIGNAL (PCINT0_vect). Según la duración de la pulsación del botón, no sucede nada (supresión de rebotes burda), el estado avanza (pulsación corta) o el programa avanza (pulsación larga).

Paso 14: Cerrar la tapa

Cerrando la tapa
Cerrando la tapa

Si todo está bien en este punto, querrá cerrar la lata. Al hacerlo, debe tener mucho cuidado con la posición de los LED. Encuentro que tengo que empujarlos en su posición con un destornillador de punta fina para que estén colocados correctamente en sus agujeros. Aplique un poco de presión hacia abajo en la tapa mientras coloca los LED en su lugar y eventualmente se deslizarán en su lugar. Es posible que tenga que colocar los cables de manera que caigan entre los componentes y no sobre ellos. Además, es posible que las clavijas del interruptor de botón tengan que doblarse para que no estorben.

Recomendado: