Haga un sensor de proximidad IR basado en Attiny13 por $ 2.42: 7 pasos (con fotos)

Haga un sensor de proximidad IR basado en Attiny13 por $ 2.42: 7 pasos (con fotos)

Tabla de contenido:

Anonim

NOTA: El diagrama está mal. El pin de detección va en el pin 6 (uno más a la izquierda), no en el pin 5. Actualizaré los diagramas pronto.Gracias a brmccollum por la corrección. (Diagramas ahora arreglados)

Este es un sensor de proximidad IR extremadamente barato que puede hacer con algunas piezas baratas y un programador AVR. Yo uso un Arduino como mi programador en este Instructable.

Este sensor solo tiene un rango de alrededor de 3 pulgadas. Puede agregar fácilmente más LED o más brillantes para ampliar el rango. También puede reorganizar fácilmente los LEDS para detectar cuándo se rompe un haz.

El diseño aprovecha un AVR barato (computadora en un chip). La computadora apaga y enciende los LED IR y compara las lecturas analógicas del sensor en cada estado. Cuando la lectura con las luces encendidas está por encima de la lectura con las luces apagadas, el pin de detección se eleva, lo que indica que el sensor está viendo su propia luz (reflejada). Hay un LED en el indicador de detección en este diseño para que pueda ver cuando se activa el sensor. Puede conectar la señal directamente a un microcontrolador como un Arduino o Picaxe.

Este diseño mueve parte del procesamiento de su cerebro principal del robot a su propio nodo. Es posible que desee rebotar la señal, pero no tiene que parpadear los leds y tomar las lecturas. También puede utilizar un solo pin digital para tomar la lectura. El boceto es de alrededor de 700K de 1024 disponibles.

Porque construí esto

Estoy fuera de la escuela secundaria, pero esto es parte de una serie de diseños relacionados con llevar a los robots del juego Robot Oddysey al mundo real. Quiero permitirles a los estudiantes de primaria la misma oportunidad de aprender robótica que tuve. Así que estoy trabajando en la construcción de robots realmente económicos que puedan moverse en 8 direcciones sin tener que girar. Los "parachoques" están completos ahora.

Sigue a @ dustin1970

Suministros:

Paso 1: Reúna los materiales

La electrónica que necesitarás es la siguiente. Los números de pieza y los precios de Digikey son a partir del 4/18/2012.

Cantidad

Número de pieza de Digikey Descripción Costo
1 475-1439-ND475-1439-ND FOTOTRANSISTOR NPN W / FILTRO 5MM $0.53
1 ATTINY13A-PU-ND IC MCU AVR 1K FLASH 20MHZ 8PDIP $0.95
3 CF14JT220RCT-ND PELÍCULA DE CARBONO RES 220 OHM 1 / 4W 5% $0.24
1 CF14JT1M00CT-ND PELÍCULA DE CARBONO RES 1M OHM 1 / 4W 5% $0.08
1 2N3904FS-ND IC TRANS NPN SS GP 200MA TO-92 $0.18
2 754-1241-ND EMISOR IR 3MM 940NM AGUA CLARA $0.44
TOTAL $2.42

También necesitarás

  • Cinta eléctrica
  • pajita de plastico
  • tijeras
  • Cortadores de alambre
  • Breadboard y / o soldador
  • Cables de puente
  • Un programador AVR (cualquier Ardunio compatible lo hará)
  • El software Ardunio 1.0 con modificaciones al programa Attiny y el núcleo Atiny13

Paso 2: crear una cubierta de sensor

No desea que la luz IR se filtre desde los lados del sensor. Crearemos un pequeño túnel a partir de cinta aislante y una pajita. Mi cinta es opaca al IR. Probablemente el tuyo también lo sea, pero puedes cubrirlo con papel de aluminio si quieres estar seguro. Asegúrese de que no haya metal expuesto, ya que arruinará el circuito.

Corte alrededor de 1.5 "(4 cm) de la pajita. Envuélvalo con cinta aislante. Recorte los extremos y hágalo limpio.

Corte alrededor de 1/2 "(8 mm) de cinta y enróllelo desde el borde corto. Doble el rollo por la mitad. No se mantendrá, pero coloque un buen pliegue en él. Esto tapará la parte inferior del sensor y se mantendrá Aleja la luz de esa manera.

Paso 3: Preparar el sensor

Cortar la pierna media de su fototransistor si tiene uno. No es necesario en este diseño y puede causar problemas si lo deja encendido. No tienes que recortarlo completamente, pero no te vayas demasiado.

Mueva suavemente el sensor en la pajilla hasta que la base tenga 1/4 "(5 mm) aproximadamente. Empuje el rollo doblado de la cinta hacia atrás y selle la parte posterior con un poco de cinta.

Paso 4: cablearlo

Puede hacer esto en el tablero o soldarlo todo junto al estilo "bichos muertos". Haga primero el tablero para que pueda programar el Attiny13 fácilmente. Una vez que funciona puedes soldarlo juntos.

Siga el diagrama de cableado y tenga en cuenta algunas notas.

  • El chip, los LED y los transistores solo funcionan de una manera.
  • El tramo corto de los LEDS está conectado a las resistencias de 220 ohmios.
  • los largo La pata del fototransistor está conectada a la resistencia de 1 meg.
  • Puede agregar más pares de IR de emisor / resistencia en paralelo con el par existente. Haz que el circuito básico funcione primero. También puedes usar un solo emisor de IR, pero parece que 2 hacen que las lecturas sean mucho más estables.
Nota: Después de hacer este diagrama, descubrí que un condensador 0.1uf a través del chip Attiny desde VCC a GND ayuda a la estabilidad. Se recomienda colocar uno a través de cada microchip en un diseño. Funcionó razonablemente en la placa base sin ella, pero la placa de circuito realmente mejoró con la adición.

Paso 5: Conecta el AVR (Arduino) y programa el chip

Si graba el croquis ArduinoISP en cualquier Ardunio basado en AtmegaX28, puede grabar el programa de chips Attiny. El diagrama muestra un pro-mini para ahorrar espacio. Solo usa los mismos números de pin para cualquier tabla que uses. Si tiene otro programador AVR, asumo que sabe cómo usarlo.

Instale Attiny13 Core13 desde sourceforge. Aquí hay un Instructable by diy_bloke con instrucciones e incluso un archivo zip para descargar.

Aquí están las instrucciones del MIT para modificar su entorno para quemar Attiny.

Esta página puede ayudar si tiene problemas. Revisa los comentarios.

Alambre en el arduino. Puedes desenrollarlo cuando la programación esté terminada.

Cargue el archivo INO y grabelo en el chip Attiny13.

Alternativamente, solo use un programador AVR para grabar el archivo hexadecimal o el autor Instructable nikkipugh tiene un diseño de protector de tablero super strip para la programación de chips attiny13.

Es posible que necesite un condensador de 10uf o una resistencia de 120 ohmios desde la puesta a tierra del Arduino.

código:

/ * Sensor de proximidad Attiny13 por Dustin Andrews 2012 Licencia: Creative Commons Unported http://creativecommons.org/licenses/by/3.0/ * / // Realice una redacción de pines AVR de bajo nivel para guardar las instrucciones. 1010 de 1024. ¡Cierra! #define SetPin (Bit) PORTB | = (1 << Bit) #define ClearPin (Bit) PORTB & = ~ (1 << Bit) // conecte su IR a este pin. (chip pin 5?); #define irOutPin 3 // Este pin se eleva cuando el sensor detecta un obstáculo. (chip pin 6) #define outPin 1 // conecte este pin a su phototrans vcc -> phototrans -> pin4 -> 1M res -> gnd (chip pin3) #define sensorInPin 2 void setup () {pinMode (irOutPin, SALIDA); pinMode (outPin, SALIDA); // pinMode (2, SALIDA); analogReference (0); // analogread no funcionará en Atiny13 sin esta línea. No trabajará en otros CON probadamente. } void loop () {estática diferencia larga = 0; estática sin firmar longTime = 0; SetPin (irOutPin); delay1 (); unsigned int r1 = analogRead (sensorInPin); ClearPin (irOutPin); delay1 (); unsigned int r2 = analogRead (sensorInPin); diferencia + = r1 - r2; if (millis () - lastTime> 5) // puede obtener una respuesta más suave con mayores retrasos {if (Difference> 0) {SetPin (outPin); } else {ClearPin (outPin); } diferencia = 0; lastTime = millis (); }} void delay1 () {// delay (1) es demasiado costoso en la memoria. ¿Por qué es esto mucho más barato?: D inicio largo = milis (); while (verdadero) {si (milis () - inicio> 1) {interrupción;}}}

Paso 6: construir un robot impresionante con el sensor

En este punto, debe tener un sensor en funcionamiento en el tablero. Súbelo para obtener un sensor barato que puede agregar a un robot. El sensor terminará teniendo 3 cables externos. VCC (5v), GND y Sentido. Vea el diagrama del circuito donde se engancha en "sentido". Es el mismo cable que la pata larga del indicador LED.

Solución de problemas:

  • Revise todos los cables.
  • Mueva los LED y asegúrese de que se alineen bien con el cañón.
  • Revise los cables de nuevo.
  • Haga que alguien mire por encima de su hombro mientras explica a dónde va cada cable. (Esto ayuda tan a menudo que ni siquiera es divertido)
  • Compruebe la polaridad de los LED y el sensor y el transistor.
  • Compruebe la polaridad del Attiny. Si hace calor lo pones al revés.
  • Use un teléfono u otra cámara digital para verificar que los LED estén encendidos.
  • Apague las luces fluorescentes y pruebe el sensor lejos de la luz solar.
  • Tome uno de los LED y conéctelo a los cables largos y póngalo en el barril del sensor para ver si se puede ver.
  • Cambie el Resistor 1M por valores más pequeños para obtener menos sensibilidad.
  • Modifica el código.

Paso 7: Opcional - la placa de circuito

Este paso tiene un PDF que puede usar en una impresora láser con los métodos de transferencia de tóner o de foto para hacer tableros. Hay muchas instrucciones sobre cómo hacer esto. Determiné que agregar un límite de.1uf a través de VCC y GND en el chip ayuda a que la placa funcione de manera más confiable.

Imprime el patrón en lo que será la parte inferior del tablero. Coloque los componentes desde el lado en blanco del tablero de acuerdo con el diagrama y sueldelos. Doblé el LED y los cables del sensor 90 grados para que el sensor mirara "hacia adelante".

El PDF y el diseño son ligeramente diferentes a la imagen. Agregué la tapa 0.1uf explícitamente e hice que el tramo base del transistor se mantuviera alejado de la línea del sensor.