Skip to the content
2 layers821.3 × 499.1 mmSeguidordelineasV2.1, the printed circuit board in 3D

SeguidordelineasV2.1

aguuzzo/GZX1

Este proyecto implementa un robot seguidor de líneas basado en un Arduino Nano, 6 sensores CNY70, motores Pololu y un driver de motores.

Size
821.3 × 499.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
248
Nets
45
Pads
1,000
Tracks, vias
1,393, 9
Pours
5
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
20 Nov 2024
Updated
6 Dec 2024

Overview

SeguidordelineasV2.1 is an open-source printed circuit board by aguuzzo, from the aguuzzo/GZX repository on GitHub. It is a 2-layer board of 821.3 × 499.1 mm with 248 parts on 45 nets, routed with 1,393 tracks and 9 vias.

It is built around the CNY70 and L7805. Its parts include 104 resistors, 48 ICs, 20 capacitors, 8 switches and 4 diodes. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

Robot Seguidor de Líneas

Este proyecto implementa un robot seguidor de líneas basado en un Arduino Nano, 6 sensores CNY70, motores Pololu y un driver de motores. El robot utiliza un algoritmo de control para seguir de forma eficiente una línea negra sobre un fondo blanco.


Características

  • Sensores: 6 sensores CNY70 para detección precisa de la línea.
  • Controlador: Arduino Nano para procesamiento y control.
  • Motores: Motores Pololu de corriente continua para el movimiento.
  • Driver de Motores: Permite controlar la dirección y velocidad de los motores.
  • Algoritmo de Control: Basado en control proporcional (P) o proporcional-derivativo (PD) para seguir la línea.

Componentes

  • Microcontrolador: Arduino Nano (ATmega328P).
  • Sensores: 6 sensores ópticos CNY70.
  • Motores: Motores Pololu con caja reductora.
  • Driver de Motores: L298N o TB6612FNG.
  • Fuente de Alimentación: Batería de 7.4V (para los motores) y regulador de 5V para el Arduino y sensores.
  • Estructura: Chasis con diseño ligero y estable.

Conexiones

Sensores CNY70

Conectados a las entradas analógicas del Arduino:

  • A0, A1, A2, A3, A4, A5.

Driver de Motores

Pines del Arduino conectados al driver:

  • ENA: Pin 9 (Control de velocidad motor izquierdo).
  • IN1, IN2: Pines 7 y 6 (Control dirección motor izquierdo).
  • ENB: Pin 10 (Control de velocidad motor derecho).
  • IN3, IN4: Pines 5 y 4 (Control dirección motor derecho).

Algoritmo Implementado

  1. Leer los valores de los sensores (valores analógicos).
  2. Convertir los valores a binarios según un umbral.
  3. Calcular la posición de la línea en relación con el centro de los sensores.
  4. Determinar el error y ajustar la velocidad de los motores mediante un controlador proporcional (P).
  5. Enviar comandos al driver para mover los motores.

Prueba y ajustes

  1. Calibrar Sensores: Ajusta el umbral para detectar correctamente la línea.
  2. Optimización del Controlador: Ajusta la constante proporcional Kp para evitar oscilaciones y mejorar la estabilidad.
  3. Pruebas Dinámicas: Evalúa el rendimiento en distintas trayectorias (curvas, bifurcaciones, etc.).

Código

Ejemplo: Controlador Proporcional

cpp
#include <Arduino.h>

// Pines de sensores
const int sensores[6] = {A0, A1, A2, A3, A4, A5};

// Pines del driver
const int ENA = 9; // Velocidad motor izquierdo
const int IN1 = 7;
const int IN2 = 6;
const int ENB = 10; // Velocidad motor derecho
const int IN3 = 5;
const int IN4 = 4;

int lecturaSensores[6];
int posicion = 0;
int error = 0;
int velocidadBase = 150;
float Kp = 10; // Constante proporcional

void setup() {
  for (int i = 0; i < 6; i++) pinMode(sensores[i], INPUT);
  pinMode(ENA, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN1, OUTPUT);

Parts

248
QtyValueFootprintReferences
48CNY70OptoDevice:Vishay_CNY70U1, U1, U1, U1, U1, U1, U1, U1, U2, U2, U2, U2, U2, U2, U2, U2 +32
48R_USResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1, R1, R1, R1, R10, R10, R10, R10, R11, R11, R11, R11, R12, R12, R12, R12 +32
2810KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R2, R2, R2, R10, R10, R10, R10, R12, R12, R12, R12, R14, R14, R14, R14 +12
24220Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1, R1, R1, R1, R3, R3, R3, R3, R5, R5, R5, R5, R11, R11, R11, R11 +8
16VAL**Library:Pololu_Micro_Con_Soporte_SimplePololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor, Pololu_Micro_Gear_Motor
15Screw_Terminal_01x02TerminalBlock:TerminalBlock_bornier-2_P5.08mmBORNERA-1, BORNERA-1, BORNERA-1, BORNERA-1, BORNERA-2, BORNERA-2, BORNERA-2, BORNERA-2, BORNERA-3, BORNERA-3, BORNERA-3, BORNERA-3, BORNERA-ALIMENTACION1, MOTOR-1, MOTOR-2
9Screw_Terminal_01x02TerminalBlock:TerminalBlock_Altech_AK300-2_P5.00mmBORNERA-ALIMENTACION1, BORNERA-ALIMENTACION1, BORNERA-ALIMENTACION1, MOTOR-1, MOTOR-1, MOTOR-1, MOTOR-2, MOTOR-2, MOTOR-2
8Arduino_Nano_EveryModule:Arduino_NanoARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1, ARDUINO-NANO1
8CCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC1, C1, C1, C1, C2, C2, C2, C2
8L293Package_DIP:DIP-16_W7.62mmDRIVER1, DRIVER1, DRIVER1, DRIVER1, U7, U7, U7, U7
8L7805Package_TO_SOT_THT:TO-220-3_VerticalREGULADOR1, REGULADOR1, REGULADOR1, REGULADOR1, U8, U8, U8, U8
6CCapacitor_THT:CP_Radial_Tantal_D6.0mm_P2.50mmC1, C1, C1, C2, C2, C2
4470Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR13, R13, R13, R13
4LEDLED_THT:LED_D3.0mm_IRGreyD1, D1, D1, D1
4PULSADORButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW2, SW2, SW2, SW2
3LLAVE100SP1T1B4M2QE:SW_100SP1T1B4M2QESW1, SW1, SW1
2.1μFCapacitor_THT:CP_Radial_Tantal_D4.5mm_P2.50mmC3, C4
222μFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC5, C6
2CCapacitor_THT:CP_Radial_Tantal_D4.5mm_P2.50mmC1, C2
1SW_DPST_x2TerminalBlock:TerminalBlock_bornier-3_P5.08mmSW1

More from aguuzzo/GZX

1
  • 2 layers179.4 × 114.4 mmSeguidordelineas, the printed circuit board in 3D

    Seguidordelineas

    aguuzzo/GZX

    Este proyecto implementa un robot seguidor de líneas basado en un Arduino Nano, 6 sensores CNY70, motores Pololu y un driver de motores.

    37 parts1

Similar boards

  • 2 layers101.6 × 107.9 mmSistdig, the printed circuit board in 3D

    Sistdig

    dinge321/motor_pcb

    This is a pcb for a 6V motor project using an unspecified microcontroler with the driver L293D

    21 parts
  • 2 layersJONICA, the printed circuit board in 3D

    JONICA

    mhechavarria/color-caps-classifier

    A project made mostly in python to classifie color caps using OpenCV

    59 parts
  • 2 layers237.2 × 169.1 mmPerifericos Sensores, the printed circuit board in 3D

    Perifericos Sensores

    Pierini-Franco/Repositor_Automatico

    The React app provides a way to order multiple products in a single order. At the same time, employees can order a single product

    300 parts1
  • 2 layers80 × 130 mmProyectoFinalCarrito2, the printed circuit board in 3D

    ProyectoFinalCarrito2

    Carlos-Santos-prog/rc-car-esp32

    Vehículo RC de combate con seguidor de línea basado en ESP32. Diseño electrónico completo en KiCad 10.

    93 partsMIT
  • 2 layersSensores, the printed circuit board in 3D

    Sensores

    cdrfiuba/tco

    Resolvedor de laberentos TCO

    9 parts
  • 2 layers93 × 25 mmLine Sensors x8V2, the printed circuit board in 3D

    Line Sensors x8V2

    Falcon-Mauricio/Triatlon_B2023

    Repositorio dedicado al desarrollo de un robot capas de realizar tres disciplinas: Velocista - Quita obstáculos - Radio Controlado

    29 parts
  • 2 layers81.3 × 24.4 mmCarte capteur, the printed circuit board in 3D

    Carte capteur

    FenghaoWu/Zumo_S2_IUT_de_Cachan

    15 parts

Questions

How big is the SeguidordelineasV2.1 PCB?

It measures 821.3 × 499.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SeguidordelineasV2.1 use?

248 parts, built around the CNY70 and L7805. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SeguidordelineasV2.1 KiCad files?

From the aguuzzo/GZX repository on GitHub, at the commit this page was made from: the board is seguidordelineasV2.1.kicad_pcb and its schematic seguidordelineas.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SeguidordelineasV2.1 design in my own project?

Its repository states no licence, so its author keeps all rights: ask aguuzzo before reusing the design.