Tabla de contenido:

Alimentador de proyectos: 14 pasos
Alimentador de proyectos: 14 pasos

Video: Alimentador de proyectos: 14 pasos

Video: Alimentador de proyectos: 14 pasos
Video: Precom - Comisionamiento y Puesta en Marcha de Plantas y Proyectos Mineros 2024, Noviembre
Anonim
Alimentador de proyectos
Alimentador de proyectos

¿Alguna vez quiso alimentar a sus mascotas mientras estaba fuera de casa o simplemente desde la comodidad de su sofá? Si es así, ¡este proyecto es para ti! Project Feeder es un proyecto de código abierto que le permite alimentar a sus mascotas automáticamente o manualmente desde su teléfono o computadora. También puede seguir una transmisión en vivo y realizar un seguimiento del comportamiento alimentario de su mascota.

¡Antes de que empieces!

Este proyecto es una tarea hecha para la universidad y tenía un límite de tiempo, por lo que es muy "trabajo en progreso". Por eso soy consciente de que hay cosas que se pueden mejorar y que se pueden actualizar en el futuro. Los animo a ser creativos, mejorar y ampliar este concepto.

Para empezar, repasaremos los requisitos para construir este proyecto. Realmente necesitará las habilidades y herramientas que se enumeran a continuación.

Habilidades de creador:

  • Impresión 3D o acceso a un servicio de impresión.
  • Soldadura
  • Conocimientos básicos de electrónica

Instrumentos:

  • impresora 3d
  • Soldador
  • Pistola de pegamento caliente u otro pegamento que funcione con compuestos de filamentos de impresoras 3D
  • Destornilladores

Suministros

El coste total de construcción de este proyecto ronda los 120 € dependiendo de dónde compres la pieza y qué tipo de descuentos obtengas.

Importante:

Algunas partes están marcadas con "Único", significa que es específico para el diseño estructural de la construcción y necesita una copia exacta de esa parte.

Raspberry Pi 4 Modelo B / 2GB + 16GB (requisito mínimo) Tarjeta Micro SD

El stock de Rasberry Pi es muy limitado en este momento, esto necesitará un poco de revisión.

Adaptador de fuente de alimentación de 12V 60W

www.banggood.com/AC-100-240V-to-DC-12V-5A-…

Enchufe de alimentación de CC de 5,5 mm x 2,1 mm (único)

www.banggood.com/10pcs-5_5-x-2_1mm-DC-Powe…

Módulo de potencia reductor DC-DC 12V a 5V 3A Buck (único)

www.banggood.com/LM2596-DC-DC-Voltage-Regu…

42mm 12V Nema 17 Motor paso a paso bifásico

www.banggood.com/42mm-12V-Nema-17-Two-Phas…

Módulo puente L298N Dual H

www.banggood.com/Wholesale-L298N-Dual-H-Br…

GY6180 VL6180X Sensor de distancia de tiempo de vuelo

www.banggood.com/GY6180-VL6180X-Time-Of-Fl…

Sensor infrarrojo para evitar obstáculos (x3)

www.banggood.com/3Pcs-Infrared-Obstacle-Av…

Cámara USB

www.banggood.com/Electronic-Camera-Module-…

Retroiluminación LCD 16 × 2, microcontrolador 8051 I2C

www.hobbyelectronica.nl/product/1602-lcd-d…

Cambiador de nivel bidireccional

www.banggood.com/nl/Two-Channel-IIC-I2C-Lo…

Resistencias de valor común (10k, 220R, 470R)

www.banggood.com/Wholesale-Geekcreit-600pc…

LED (x2)

Diodos (x2)

Interruptor de encendido / apagado de 12 V (único)

www.banggood.com/5pcs-12V-Round-Rocker-Tog…

Tuercas: 3x8mm, 3x10mm, 3x12mm

Paso 1: flasheo de la tarjeta SD

Intermitente de la tarjeta SD
Intermitente de la tarjeta SD

Para este paso, tendrá que flashear su tarjeta SD con la imagen provista:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

La imagen viene equipada con un servidor web Apache preconstruido, una base de datos y un código para interactuar con el alimentador. Por lo tanto, no tiene que hacer nada que implique configurar el software.

Si desea ver el código, puede obtener todo el código requerido de:

github.com/VanIseghemThomas/ProjectFeeder

Asegúrese de saber cómo actualizar correctamente la tarjeta SD o no interrumpa el proceso porque eso puede resultar en una tarjeta dañada. Para actualizar la tarjeta utilicé un software llamado Win32DiskManager. Otro programa que sé que funciona y es un poco más fácil de usar se llama Ethcer. Ambos funcionan igual de bien.

Paso 2: SSH en la Pi

SSH en el Pi
SSH en el Pi

Cuando termine de parpadear, ahora puede colocar la tarjeta SD en el pi y encenderlo. Asegúrate de estar conectado a tu pi con un cable ethernet. Ahora debería poder conectarse mediante SSH con ip 169.254.10.1. Utilizo un programa llamado PuTTY, pero si no tiene ganas de instalar software, siempre puede escribir el siguiente comando en el símbolo del sistema:

ssh [email protected]

Ahora abre una sesión. Cuando se conecte por primera vez, encontrará una advertencia, puede ignorarla y simplemente continuar. Se le pedirá que inicie sesión como usuario y luego la contraseña, para esta imagen use las siguientes credenciales:

  • Usuario: feederpi
  • Contraseña: Redeef1

El usuario 'pi' también está activo, pero no podrá iniciar sesión como tal. Esto se debe a que está configurado para iniciar sesión automáticamente y ejecutar el programa. Es por eso que encontrará lo siguiente cuando inicie sesión:

[sudo] contraseña para feederpi:

Simplemente presione crtl + c y debería tener un shell ahora.

Ahora escriba lo siguiente:

sudo -i

Ahora ha iniciado sesión como root.

Paso 3: Configurar Wifi

Configurar Wifi
Configurar Wifi

Ahora ha iniciado sesión como root y puede escribir:

wpa_passphrase "Su SSID" "Su contraseña" >> /etc/wpa_supplicant/wpa_supplicant.conf

Para comprobar si su configuración se agregó correctamente, escriba lo siguiente. También puede eliminar la contraseña de texto sin formato por seguridad si lo desea, pero asegúrese de guardar los cambios al salir.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Ahora puede reiniciar su pi escribiendo:

reinicie ahora

Ahora dale al pi algo de tiempo para que arranque y vuelve a iniciar sesión con SSH como antes, para ver si tienes una conexión a wifi que escribes:

ip a

Debajo de la interfaz wlan0, debería ver algo similar con una dirección IP, esto significa que se ha conectado correctamente a su wifi. Más tarde, cuando todo esté conectado, el software lo mostrará en una pantalla LCD.

Paso 4: Impresión de las piezas

Las piezas que necesitará para este proyecto se encuentran aquí:

www.thingiverse.com/thing:4459996

La impresión de todas estas partes llevará un tiempo, por lo que necesitará un poco de paciencia.

Estas son las configuraciones que utilicé (PLA):

  • Altura de la capa: 0,3 mm
  • Velocidad de impresión: 50-60 mm / s
  • Temperatura de la boquilla: 200 ° C
  • Temperatura de la cama: 60 ° C

No hay mucho que decir sobre esto, excepto que te diviertas imprimiendo.

Paso 5: Montaje de las piezas (introducción)

Montaje de las piezas (introducción)
Montaje de las piezas (introducción)
Ensamblaje de las piezas (introducción)
Ensamblaje de las piezas (introducción)

Bien, ahora vamos a ensamblar todo. Antes de explicarlo todo, repasaré algunas cosas a tener en cuenta y que te ayudarán a hacer esto.

SUGERENCIA 1:

Decidí hacer todos los agujeros de 2,5 mm excepto los de 3 mm como los pernos. Esto es para que pueda golpear una rosca atornillando los pernos y elimina la necesidad de tuercas. Colocar el perno es bastante difícil, use su soldador para ensanchar la parte superior, esto hará que sea más fácil colocar el perno y comenzar a atornillar.

SUGERENCIA 2:

Si, como yo, se está quedando sin tornillos, solo atornille en pares diagonales. Esto ahorra muchos de ellos y funciona bien.

Paso 6: Montaje de la tapa (dispensador)

Montaje de la tapa (dispensador)
Montaje de la tapa (dispensador)
Montaje de la tapa (dispensador)
Montaje de la tapa (dispensador)
Montaje de la tapa (dispensador)
Montaje de la tapa (dispensador)

Las partes están distribuidas como en la imagen.

Se mantienen unidos por los llamados 'platos'. Una de las placas se ensambla a su motor paso a paso.

Asegúrese de que la parte superior de los pernos esté nivelada con la superficie; de lo contrario, la alimentación se bloqueará. Debe utilizar los tornillos de 3x8 mm para esto y el modelo "Stepper_offset" entre el paso a paso y el exterior de la placa.

Ahora coloque el molino en el paso a paso, debería ser bastante fácil. Si no es así, puede utilizar un poco de vaselina.

El resto es bastante sencillo, solo toma un tornillo donde encuentres un agujero.

Paso 7: Montaje de la tapa (contenedor)

Montaje de la tapa (contenedor)
Montaje de la tapa (contenedor)
Montaje de la tapa (contenedor)
Montaje de la tapa (contenedor)
Montaje de la tapa (contenedor)
Montaje de la tapa (contenedor)

Aquí ves como hice mi contenedor. El bote se utiliza originalmente para piezas de unión secas.

En la parte superior, desea colocar el sensor TOF, este se usará para medir la cantidad de comida que queda en el recipiente. En las fotos podéis ver como lo adjunto. Primero fundí los agujeros para los pines con mi soldador, luego pegué el sensor en su lugar con un poco de pegamento caliente mientras los cables estaban conectados.

Para cerrar el contenedor hice 2 agujeros con mi soldador y atornillé 2 pernos. Se puede usar una banda elástica, una brida o un alambre para cerrarlo de esa manera.

Paso 8: Montaje de la base

Ensamblar la parte inferior
Ensamblar la parte inferior
Ensamblar la parte inferior
Ensamblar la parte inferior
Ensamblar la parte inferior
Ensamblar la parte inferior

Para la ubicación de los diferentes módulos, consulte las imágenes, son bastante autoexplicativas. Parte de estas imágenes ya tienen cableado, deberías mirar más allá de eso por ahora. Las fotos fueron tomadas en medio del desarrollo de este proyecto. Inicialmente, el plan era colocar una celda de carga y pesar la comida, pero debido a que el amplificador de mi celda de carga se rompió en el último momento, tuve que descartar esa función y reemplazarla con una transmisión de video en vivo que también es bastante ordenada. La opción siempre está ahí para agregar una celda de carga, pero tendrá que profundizar en el código y editar algunas cosas.

Paso 9: Electrónica, sensores y actuadores

Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores
Electrónica, sensores y actuadores

Ahora es el momento de ponerse el soldador. He proporcionado 2 representaciones de lo que debe hacer, un esquema eléctrico estándar y una representación visual. Le sugiero que use el esquema eléctrico porque, en mi opinión, brinda mucha más información sobre cómo funciona todo y está conectado entre sí. La única razón por la que el otro está aquí es porque era obligatorio. La razón por la que digo esto es porque no hay mucho espacio para los cables, por lo que tendrá que ser eficiente con el cableado de GND, + 5V, etc., que depende de cómo desee colocar los cables. Así que no conecte todo exactamente entre sí como en el esquema, funcionará pero no encajará.

Para el interruptor, puede ver que conecté los 3 cables, esto se debe a que el interruptor viene con un LED incorporado que indica si la energía está encendida. Los 2 cables sin color actúan como interruptor, el cable de color pasa a GND.

En general, este es el orden en el que cableé todo:

  1. Sección de potencia: toma de corriente, puente en H, convertidor boost buck, interruptor
  2. Raspberry Pi (consulte el siguiente paso para obtener más información)
  3. Sensores de infrarrojos
  4. LED
  5. Entradas paso a paso
  6. Porción I2C: 3.3V, SDA, SCL

No es esencial, pero es útil tener una placa de circuito impreso de prototipos para soldar como lo hice yo.

Además, no olvide conectar la cámara a un puerto USB del pi.

Importante:

Asegúrese de ajustar el convertidor boost buck a 5V antes de conectar la porción de 5V del circuito. De lo contrario, podría correr el riesgo de freírlo todo. Para ajustar esto, gire el potenciómetro y observe la lectura de voltaje en la pantalla.

Paso 10: Electrónica, Raspberry Pi

Electrónica, Raspberry Pi
Electrónica, Raspberry Pi

Debido a limitaciones en el software para dibujar el esquema, no pude dibujar cómo conectar la Raspberry Pi.

Para + 5V, puede simplemente conectarlo al pin de 5V del pi, pero esto evita la seguridad, como el fusible. Si miras en la parte inferior deberías ver algunos pads que están etiquetados como TPxx, en nuestro caso estamos buscando TP1 o TP2. Suelde su cable de + 5V a uno de ellos, pero tenga cuidado de no crear un puente con otros rastros. Lo más probable es que esto también anule la garantía. Personalmente intenté conectarlo a ambas almohadillas de prueba y llegué a la conclusión de que probablemente sea el TP2 más fácil y seguro de usar, está lejos de otras almohadillas expuestas y no tiene muchos rastros a su alrededor.

Para GND, simplemente tome uno de los pines en la parte superior como muestra el esquema, esto está perfectamente bien ahora.

Paso 11: Prueba de la electrónica

Cuando todo esté conectado correctamente, es una buena práctica probar primero todo antes de ensamblar todo por completo.

Aquí una lista de verificación:

  • La dirección IPV4 aparece en la pantalla lcd
  • Capaz de conectarse a IP a través del navegador
  • Capaz de girar el paso a paso "alimentando" y ver cómo se encienden los LED
  • Lecturas y actualizaciones del estado del contenedor
  • Transmisión en vivo desde la cámara
  • Detectar eventos relacionados con la alimentación

Solución de problemas:

Aquí enumero algunos de los problemas en los que me metí y cómo solucionarlos.

- Mi pantalla LCD se enciende pero no muestra nada:

1) En el momento de escribir esto, el pi necesita alrededor de 2 minutos para arrancar por completo, por lo que debe darle algo de tiempo adicional.

2) No conectó su pantalla LCD correctamente. Puede ver si lo conectó correctamente escribiendo el siguiente comando en un shell:

sudo i2cdetect -y 1

Esto tiene que devolver 2 direcciones: 0x27 (= LCD) y 0x29 (= sensor TOF). Si 0x27 no aparece, debe verificar el cableado de la pantalla lcd. Si ambos no aparecen, debe verificar el cableado de los pines SDA y SCL. P.ej. comprueba si cambiaste los dos por accidente. En el peor de los casos, hizo algo mal con los 2 componentes individuales o algo se rompió.

- Mi pantalla LCD está bloqueada en "Conectando a WiFi"

Esto significa que su pi está atascado tratando de conectarse a una de las redes que configuró para conectarse. Esto significa que no está dentro del alcance del punto de acceso o hizo algo mal mientras configuraba, p. un error. En ese caso, vuelva a "Configuración de WiFi" y repítalo de nuevo.

El software también está configurado para conectarse a redes domésticas con una dirección IP que comienza con "192.168". Si su red está configurada con otro rango privado como "10.0" o "172.16", tendrá que ir a /home/pi/project/main.py y en la función get_ips () cambiar: si "192.168" en ip si "Su rango privado aquí" en ip.

- Mi LCD muestra la ip pero no puedo conectarme:

1) Asegúrese de conectarse a la ip 192.168. X. X, la otra ip 169.254.10.1 siempre está configurada para conectarse a través de Ethernet directamente a su PC. Esto no funcionará si no está conectado.

2) Asegúrese de estar en la misma red o de haber habilitado el reenvío de puertos en su red si desea acceder al alimentador desde fuera de su red.

- El stepper tiembla y no gira:

Esto significa que no conectó correctamente las entradas o salidas del puente H dual. Intente intercambiarlos hasta que funcione.

Paso 12: finalización

Terminación
Terminación
Terminación
Terminación
Terminación
Terminación
Terminación
Terminación

Ahora que ha descubierto cómo hacer que todo funcione, es hora de armar todo. Tuve que unir las 2 partes con cinta adhesiva, esto porque el diseño de los orificios no es lo suficientemente resistente para mantener la tensión y se rompió para mí. Ésta es una de las cosas importantes que se deben mejorar en el futuro. Una opción más limpia es simplemente pegar las dos partes, pero esto podría ser un problema cuando algo dentro se rompe y desea acceder al interior. Por eso elegí cinta aislante vieja y buena.

Cuando vaya al sitio web, debería recibir un panel de control donde puede hacer cosas como alimentar manualmente, verificar el estado, ver datos y agregar ajustes preestablecidos.

Paso 13: Extra: Extensión de Chrome

Extra: Extensión de Chrome
Extra: Extensión de Chrome
Extra: Extensión de Chrome
Extra: Extensión de Chrome
Extra: Extensión de Chrome
Extra: Extensión de Chrome

Si no tiene ganas de navegar hasta el panel y solo desea verificar rápidamente el estado o la fuente, puede usar la extensión de Chrome. Debido a que no se encuentra en la tienda web oficial de Chrome, tendrá que cargarlo como lo haría con un paquete de este tipo.

Primero asegúrese de descargar la carpeta Feeder Extension del directorio github:

github.com/VanIseghemThomas/ProjectFeeder

Vaya a la siguiente URL:

chrome: // extensiones /

Una vez allí, habilite el modo desarrollador y cargue la carpeta de extensión. Ahora debería aparecer como una extensión.

Si no aparece en la barra de Chrome, puede encontrarlo en el menú de Chrome.

Paso 14: el software

El software
El software

Si le gusta jugar con el software o por alguna razón necesita una nueva copia de un archivo, todos los archivos que necesita se encuentran en el repositorio de GitHub que hice:

También proporcioné un esquema EER para la base de datos, en caso de que desee agregar funciones a la API. También se puede encontrar un volcado de la base de datos en el repositorio de GitHub. Todo el código de backend está escrito en Python. Flask se utiliza para enrutamiento y Socket.io para websockets.

Recomendado: