☆☆☆☆☆ Sin reseñas todavía
Par de rines de aluminio maquinado con llanta de silicón a la medida para Mini Sumo. Ø 28 mm × 20 mm de ancho, 17 g el par. Diseñados, probados y fabricados en Tijuana.
5 disponibles
Compra rápida
¿Necesitas una versión personalizada de este producto? Solicita una cotización
Opiniones
☆☆☆☆☆
Este producto aún no tiene reseñas
¿Ya lo probaste en la pista? Sé el primero en opinar.
| Material del rin | aluminio de alta resistencia |
|---|---|
| Llanta | silicón, fabricada a la medida del rin |
| Diámetro exterior | 28 mm |
| Ancho | 20 mm |
| Peso | 17 g |
| Categoría | Mini Sumo |
| Contenido | 1 par (dos rines con sus llantas) por compra |
Robots Mini Sumo de competencia, tanto autónomos como radiocontrolados, y cualquier plataforma pequeña de dos ruedas donde el agarre al piso y el peso sean decisivos.
Con buena tracción el problema deja de ser patinar y pasa a ser controlar la fuerza: un robot que agarra bien se desvía en recta si un motor rinde un poco más que el otro, y se frena en seco si le pides reversa sin transición. Por eso en nuestros robots compensamos cada rueda por separado y frenamos con un pulso corto en reversa (un “ABS”) en vez de cortar los motores de golpe. Abajo va el código que usamos para calibrarlo.
Prueba de tracción tomada del código de nuestros robots: avance con compensación por rueda y freno activo. Ajusta los pines a tu driver de motores.
// FDJ Robotics — Rines + llantas de silicón (Mini Sumo)
// Prueba de tracción: avance compensado y freno ABS
#define DIR_MR 12 // Motor derecho: dirección
#define PWM_MR 10 // Motor derecho: velocidad
#define DIR_ML 6 // Motor izquierdo: dirección
#define PWM_ML 9 // Motor izquierdo: velocidad
#define DIR_ADELANTE LOW
#define DIR_ATRAS HIGH
// Si el robot se desvía en recta, compensa aquí
// la rueda que rinde menos
int OFFSET_IZQ = 0;
int OFFSET_DER = 0;
// Freno activo: pulso corto en reversa antes de parar
int FUERZA_ABS = 85;
int TIEMPO_ABS = 15; // ms
void moverAdelante(int vel) {
int vIzq = constrain(vel + OFFSET_IZQ, 0, 255);
int vDer = constrain(vel + OFFSET_DER, 0, 255);
digitalWrite(DIR_MR, DIR_ADELANTE); analogWrite(PWM_MR, vDer);
digitalWrite(DIR_ML, DIR_ADELANTE); analogWrite(PWM_ML, vIzq);
}
void frenarSecoABS() {
int vIzq = constrain(FUERZA_ABS + OFFSET_IZQ, 0, 255);
int vDer = constrain(FUERZA_ABS + OFFSET_DER, 0, 255);
digitalWrite(DIR_MR, DIR_ATRAS); analogWrite(PWM_MR, vDer);
digitalWrite(DIR_ML, DIR_ATRAS); analogWrite(PWM_ML, vIzq);
delay(TIEMPO_ABS);
analogWrite(PWM_MR, 0);
analogWrite(PWM_ML, 0);
}
void setup() {
pinMode(DIR_MR, OUTPUT); pinMode(PWM_MR, OUTPUT);
pinMode(DIR_ML, OUTPUT); pinMode(PWM_ML, OUTPUT);
}
void loop() {
// Avanza 1 s: si se desvía, ajusta OFFSET_IZQ / OFFSET_DER
moverAdelante(60);
delay(1000);
// Con buen agarre el robot se planta sin patinar
frenarSecoABS();
delay(1500);
}
Compra junto
