Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construya un tanque RC impreso en 3D de alto rendimiento con caja de cambios de doble velocidad

En este tutorial, te mostraré cómo construí una bestia de tanque RC impreso en 3D o un vehículo de orugas controlado por radio, con un diseño limpio y completamente negro, una iluminación LED genial y una caja de cambios de doble velocidad. Así es, diseñé específicamente una caja de cambios para este tanque para poder elegir una marcha más baja o más alta según el terreno o la aplicación para la que se utiliza, y así obtener un par más alto o una velocidad más alta.

Puedes ver el siguiente vídeo o leer el tutorial escrito a continuación.

Descripción general

Si me sigues, sabrás que hace algún tiempo ya construí un tanque RC impreso en 3D, que era genial, pero tenía un poco de poca potencia. Es por eso que ahora para esta construcción estoy usando un motor de CC de 200 W para cada pista y, en combinación con esta caja de cambios, el tanque tiene suficiente potencia para conquistar cualquier terreno o divertirse haciendo burnouts o donuts con él.

Hablando de diversión, instalé una tira de LED direccionable para las luces, que ofrece infinitas posibilidades para crear impresionantes efectos de iluminación. Para este vídeo hice un efecto estroboscópico de luces de policía, que es genial conducir con ellas, especialmente de noche.

En cuanto a la suspensión, a cada lado, el tanque se apoya en tres resortes helicoidales y amortiguadores, con dos ruedas para cada uno de ellos. Eso permite que el vehículo circule suavemente en terrenos irregulares y supere obstáculos manteniendo una buena superficie de contacto entre las orugas y el terreno.

Por supuesto, todo está impreso en 3D y los archivos 3D están disponibles para descargar, para que puedas construir uno por tu cuenta. 

Para controlar el tanque, estoy usando un transmisor RC comercial barato que le envía comandos. 

En el tanque hay un receptor RC adecuado que recibe los comandos y los envía a un microcontrolador. El cerebro de esta plataforma es una placa basada en un microcontrolador Atmega2560 y para conectar todo fácilmente hice una PCB personalizada que se puede conectar simplemente en la parte superior de la placa. 

Sin embargo, ahora abróchate el cinturón mientras te guiaré a través de todo el proceso de construcción de este tanque RC, desde el diseño, la impresión 3D, el ensamblaje y la conexión de los componentes electrónicos hasta la programación del microcontrolador.

Diseñando el tanque RC

Diseñé este tanque usando Onshape.

Onshape es el sistema CAD y PDM 3D nativo en la nube de calidad profesional que utilizo para mis proyectos.

Recomiendo que los ingenieros mecánicos y diseñadores de productos consulten Onshape. Usted y su empresa pueden usar Onshape Professional gratis hasta por 6 meses en https://Onshape.pro/HowtoMechatronics

Los parámetros de entrada iniciales para el diseño fueron los motores DC, o sus dimensiones y las RPM. Estos motores son bastante voluminosos y tienen 3000 RPM. Son RPM demasiado altas para este tanque, por eso diseñé esta caja de cambios, que reduce la velocidad a dos valores diferentes.

Esta caja de cambios funciona igual que la transmisión manual de un automóvil. Hay una palanca de cambios que en lugar de moverla con la mano, aquí se mueve con la ayuda de un servomotor, y puede elegir cuál de los dos juegos de engranajes de salida se engranará como salida final.

La relación de reducción inicial de la caja de cambios es de 1,88:1, que es fija, y luego podemos elegir entre la marcha baja, que tiene una reducción adicional de 2,76:1, o la marcha alta, que tiene una relación de 1:1. Entonces, en la marcha más baja, la reducción total es de 5,2 o alrededor de 570 RPM, y en la marcha más alta solo 1,88 de reducción de velocidad, o alrededor de 1600 RPM.

Veremos más detalles de cómo funciona la caja de cambios un poco más tarde en este vídeo mientras la montamos.

El siguiente parámetro de entrada para el diseño del tanque fueron los amortiguadores RC que obtuve. Tienen una longitud de 70 mm cuando están extendidos, con un recorrido de 15 mm. Quería obtener una distancia de recorrido vertical un poco mayor para las ruedas, así que las coloqué en esta configuración y obtuve una distancia de recorrido vertical de 22 mm.

Además de eso, como se trata de un sistema de bogie en el que un par de ruedas están unidas a ese eje móvil, las ruedas pueden girar alrededor de ese eje y, por lo tanto, pueden realizar un recorrido vertical adicional. Evidentemente, esto proporcionará una conducción más suave y un mejor contacto entre la pista y la superficie debajo de ella.

Si miramos más de cerca las ruedas delanteras, podemos notar que están conectadas con la rueda loca en la parte delantera para proporcionar tensión dinámica a la vía. Cuando las ruedas delanteras suben, la circunferencia de la pista se hace más pequeña y por lo tanto la tensión se afloja.

Con esta configuración, cuando eso sucede, la rueda guía se empuja hacia adelante para tensar la oruga. Con esta conexión también podremos tensar la vía de forma estática, ajustando este tornillo y tuerca distanciadora.

En la parte trasera tenemos la rueda dentada que se compone de tres partes. Tiene el acoplador del eje y las secciones izquierda y derecha de la rueda dentada conectados todos juntos con tres pernos M3.

La dimensión clave aquí en la rueda dentada es el paso porque debe coincidir con el paso de la pista. El paso aquí es de 11 mm y elegí que la rueda dentada tuviera 20 dientes, lo que me dio un diámetro de paso de la rueda dentada de alrededor de 69 mm. La idea para el tamaño de la rueda dentada era que fuera lo suficientemente grande como para que la oruga quedara fuera del cuerpo del tanque.

El paso de 11 mm en realidad fue definido por el diseño del eslabón de la vía. Mi objetivo para el eslabón de vía era ser lo más compacto posible y poder conectarlo con el siguiente eslabón con solo una pieza o pasador adicional, y al mismo tiempo ser lo suficientemente fuerte como para fabricarlo con una impresora 3D.

Además de eso, al imprimir en 3D, quería evitar cualquier uso de material de soporte para la pieza, lo cual logré lograr con este diseño.

Para conectar los eslabones de la cadena entre sí, planeé usar pasadores con un diámetro de 2 mm, por lo que dimensioné un lado para que fuera de 2,1 mm, para que encajara bien, y el otro lado, de 2,4 mm, para que quedara suelto, de modo que los eslabones de la cadena pudieran girar libremente.

Los dientes de la rueda dentada engranan con los eslabones de la cadena en la forma cilíndrica exterior. El cilindro de enlace de cadena tiene un radio de 4,4 mm, mientras que la rueda dentada tiene 4,9 mm para que quede suelto y funcione correctamente.

El cuerpo principal donde está conectado todo, tenía que ser lo suficientemente grande para albergar las dos cajas de cambios y, por supuesto, tener espacio para la electrónica y la batería. Todo esto dio como resultado que las dimensiones totales del tanque fueran 547x397 mm. Es bastante grande, más grande que la base de una impresora 3D habitual, por lo que dividí las partes grandes en dos secciones para que podamos imprimirlas en una impresora 3D de base de 300 mm. Tenga en cuenta que si desea imprimirlo en una impresora 3D más pequeña de 220 mm, el modelo debe dividirse en 4 secciones. También proporcionaré esa versión en los archivos 3D.

Para el montaje del depósito necesitamos varios tornillos y tuercas M3 y M4, así como algunos insertos roscados y rodamientos. Puede encontrar una lista completa de todos los componentes necesarios para este proyecto a continuación. Por supuesto, también puedes encontrar el modelo 3D y los archivos STL necesarios para la impresión 3D.

Descarga de archivos STL y modelos 3D

Puedes ver el modelo 3D de este tanque RC directamente en tu navegador web con Onshape.

Puede obtener el modelo 3D de esta plataforma de tanque/robot RC, así como los archivos STL para impresión 3D de Cults3D.

Impresión 3D

Utilicé mi impresora 3D Creality Ender-3 V3 Plus para imprimir la mayoría de las piezas de este tanque.

Al imprimir en 3D, es importante utilizar la función de expansión horizontal, o ahora en el nuevo cortador Creality Print que utilicé, se llama compensación de contorno X-Y. Si dejamos estos ajustes por defecto las dimensiones exteriores de las impresiones así como los agujeros suelen ser más pequeños que el modelo original y podríamos tener problemas para montarlas.

En la cortadora Creality Print utilicé un valor de –0,07 para la compensación del contorno X-Y y más 0,07 para la función de compensación de agujeros X-Y. Por supuesto, deberías hacer algunas impresiones de prueba para ver qué valores te darán los mejores resultados en tu impresora 3D.

Para la impresión 3D de los eslabones de las vías, utilicé balsas como adhesión de la placa de construcción, porque la superficie de contacto de la base con la placa de la base es un poco pequeña y podría no adherirse bien si la adhesión de la base de su impresora no es tan buena.

La Creality Ender-3 V3 Plus tiene una placa de construcción de 300x300 mm, por lo que pude imprimir el cuerpo principal del tanque en dos partes. Incluso en dos secciones, las piezas siguen siendo bastante grandes y llevan la impresora 3D al límite. Pero la Creality Ender-3 V3 Plus logró manejarlo e hizo un gran trabajo imprimiendo estas piezas grandes.

Puedo recomendar esta impresora 3D a cualquiera que busque una impresora 3D rápida y de gran volumen. Es una impresora 3D CoreXZ que puede alcanzar velocidades de hasta 600 mm/s y con su marco resistente proporciona una calidad de impresión realmente buena. Un saludo a Creality por proporcionarme esta impresora 3D.

Visite la tienda Creality Ender-3 V3 Plus – EE. UU.:https://shrsl.com/4rtkk; Tienda de la UE:http://shrsl.com/4rtkm; Amazonas:https://amzn.to/3VjEoRH

Montaje del tanque RC

Aquí están todas las piezas impresas en 3D, para que podamos empezar a montar el tanque. Para ser honesto, hay muchísima impresión 3D. Se necesitan como varios días para imprimirlo todo, y no sólo tiempo, sino que también necesitamos varias bobinas de filamento.

Solo para los enlaces de vía, debido a que hay 214 enlaces de vía en total, necesitamos alrededor de 500 gy 30 horas de impresión 3D. El cuerpo principal del tanque necesita alrededor de 1 kg de filamento, si se divide en dos secciones como aquí, 500 gy alrededor de 12 a 18 horas para cada sección. Además, muchas de las piezas deben imprimirse en 3D con soporte, por lo que debemos dedicar algo de tiempo a limpiarlas.

Lista de materiales

Aquí hay una lista de componentes necesarios para ensamblar este proyecto de tanque RC. La lista de componentes electrónicos se puede encontrar a continuación en la sección de diagrama de circuito del artículo.

Componente Cantidad Enlaces de compra Amortiguadores RC8Amazon | AliExpress Rodamiento De Bolas 686 – 6x13x5mm18Amazon | AliExpress Rodamientos de bolas 624 – 4x13x5mm44Amazon  | AliExpress Rodamiento De Bolas 684 4x9x4mm6Amazon | AliExpress Varilla Roscada M6 300mmAmazon  | AliExpress Contratuerca M64Amazon  | AliExpress Insertos roscados M3~20Amazon  | Aliexpress Tornillo prisionero M3~30Amazon  | Aliexpress Pernos y tuercas M3 y M4A especificarAmazon  | Aliexpress Varilla de soldadura de 2 mm ~ 12 mAmazon  | Aliexpress Pernos y tuercas M3 y M4Ver lista a continuaciónAmazon  | Aliexpress Pernos Nueces M3x8mm – 10
M3x10mm – 10
M3x16mm – 20
M3x20mm – 10
M3x25mm – 10
M3x30mm – 10
M3x16mm avellanado – 20
M4x16mm – 10
M4x35mm – 20
M4x40mm – 20
M5x40mm – 2 Tuerca de seguridad M3 – 50
Tuerca de seguridad M4 – 40
Tuerca M5 – 6

Divulgación:Estos son enlaces de afiliados. Como asociado de Amazon, gano con compras que califican.

Electrónica – Diagrama del circuito del tanque RC

Echemos un vistazo a la electrónica del tanque RC y expliquemos cómo funciona. El cerebro de este tanque RC es una placa basada en un microcontrolador ATmega2560. 

Puede obtener los componentes necesarios para este proyecto en los enlaces siguientes:

Componente Cantidad Enlaces de compra Motor CC 895 – 12V 200W 3000RPM2Amazon | AliExpress Controlador de motor de CC BTS79602Amazon | AliExpress Servomotor 1Amazon | AliExpress ATmega2560:placa Arduino Mega1Amazon  | AliExpress Batería LiPo 3S:mínimo 3000 mAh1Amazon | AliExpress Conectores de batería LiPo1Amazon  | AliExpress Flysky FS-i6X:transmisor RC y receptor FS-iA6B1Amazon  | AliExpress Tira LED direccionable WS2812b 1mAmazon  | AliExpress Regulador de voltaje LM3501Amazon  | AliExpress Olla recortadora – 5k1Amazon  | AliExpress Conector del bloque de terminales4Amazon  | AliExpress Cables ~20AWG~3mAmazon  | AliExpress Interruptor basculante1Amazon  | AliExpress Resistencias
– 1kx1
– 2kx1
– 240 x1Amazon  | AliExpress Condensadores
– 0,1 uF x1
– 1uF x1
– 400uF x1
Amazon  | AliExpress

Divulgación:Estos son enlaces de afiliados. Como asociado de Amazon, gano con compras que califican.

Diseño de PCB personalizado

Para mantener organizados los componentes electrónicos, diseñé una PCB personalizada para el tanque RC. La PCB será compatible con la placa basada en el microcontrolador ATmega2560 que se montará directamente encima de ella.

Pedí la PCB a PCBWay. Aquí podemos simplemente cargar el archivo Gerber, elegir las propiedades de nuestra PCB y pedirlo a un precio razonable.

No cambié ninguna de las propiedades predeterminadas excepto el color de la PCB, que elegí azul. Puede encontrar y descargar Gerber en la comunidad de intercambio de proyectos PCBWay a través de la cual también puede solicitar directamente la PCB.

Terminando el ensamblaje del tanque RC

En esta sección explicaré cómo conectar todo y completar este tanque RC.

Esta sección aún está en construcción.

Programación del tanque RC – Código Arduino

En esta sección explicaré cómo funciona el código Arduino detrás del tanque RC. Aquí puedes descargar el código:

Descripción general del código

Entonces, usando la biblioteca IBusBM leemos los datos entrantes del transmisor RC.

// Reading the data comming from the RC Transmitter
 IBus.loop();
 ch0 = IBus.readChannel(0); // ch0 - left and right;
 ch1 = IBus.readChannel(1); // ch1 - forward and backward;
 ch6 = IBus.readChannel(6); // ch6 - Gear shifter
 ch7 = IBus.readChannel(7); // ch7 - Police light strobe effect
 ch8 = IBus.readChannel(8); // ch8 - All white LEDs
 ch9 = IBus.readChannel(9); // ch9 - Left and Right white LEDsCode language: JavaScript (javascript)

El joystick derecho, canales 0 y 1, se utilizan para controlar el movimiento del tanque, el interruptor basculante izquierdo, o canal 6, para controlar el servo para cambiar las marchas y los otros tres interruptores basculantes para controlar los LED.

Convertimos los datos entrantes en valores adecuados para el control PWM de los motores DC, que va de 0 a 255.

// convert the incoming date into suitable PWM value
 steeringValue = map(ch0, 1000, 2000, -205, 205); // 0 to 205 range because then I add +50 in order to avoid low PWM values as to motors won't start if so
 motorSpeed = map(ch1, 1000, 2000, -205, 205);
 motorSpeed = abs(motorSpeed);
 leftMotorSpeed = 50 + motorSpeed + steeringValue; // 50 + (0-205) + (0 - 205 ) = 50 - 255 so this range from 50 to 255 is used as PWM value
 rightMotorSpeed = 50 + motorSpeed - steeringValue;
 leftMotorSpeed = constrain(leftMotorSpeed, 0, 255); // constrain the PWM value from 0 to 255
 rightMotorSpeed = constrain(rightMotorSpeed, 0, 255);
 // if PWM is lower than 52, set PWM value to 0
 if (leftMotorSpeed < 52) {
 leftMotorSpeed = 0;
 }
 if (rightMotorSpeed < 52) {
 rightMotorSpeed = 0;
 }
Code language: JavaScript (javascript)

Enviamos los valores PWM a los controladores y motores usando la función analogWrite() apropiadamente.

// if right joystick goes up > move forward
 if (ch1 > 1510 && ch1 < 2000) {
 digitalWrite(M1_RPWM, 0);
 analogWrite(M1_LPWM, leftMotorSpeed);
 digitalWrite(M2_RPWM, 0);
 analogWrite(M2_LPWM, rightMotorSpeed);
 }
 // if right joystick goes down > move backward
 if (ch1 > 1000 && ch1 < 1490) {
 analogWrite(M1_RPWM, leftMotorSpeed);
 digitalWrite(M1_LPWM, 0);
 analogWrite(M2_RPWM, rightMotorSpeed);
 digitalWrite(M2_LPWM, 0);
 }
 // if right joystick is in the middle, don't move
 if (ch1 > 1490 && ch1 < 1510) {
 if (leftMotorSpeed < 50 && rightMotorSpeed < 50) {
 digitalWrite(M1_LPWM, 0);
 digitalWrite(M1_RPWM, 0);
 digitalWrite(M2_LPWM, 0);
 digitalWrite(M2_RPWM, 0);
 }
 // if right joystick move just left or right, without going up or down, move the tank left or right (in place)
 else if (ch0 < 1490 || ch0 > 1510) {
 analogWrite(M1_RPWM, rightMotorSpeed);
 analogWrite(M1_LPWM, leftMotorSpeed);
 analogWrite(M2_RPWM, leftMotorSpeed);
 analogWrite(M2_LPWM, rightMotorSpeed);
 }
 }Code language: JavaScript (javascript)

Para el servomotor y el cambio de marchas, debes ajustar los valores según el servo que estés utilizando.

//======= Gear shift ====
 if (ch6 == 2000) {
 myservo.write(140);
 }
 if (ch6 == 1000) {
 myservo.write(40);
 }Code language: JavaScript (javascript)

En cuanto al control de luces, comprobamos qué tecla está activada y, en función de ello, indicamos que se encienda cada LED individualmente según sea necesario.

//===== LIGHTS Control ===
 // Front and back lights LEDs control
 if (ch9 == 2000) {
 frontLeds[0] = CRGB (255, 255, 255);
 frontLeds[1] = CRGB (255, 255, 255);
 frontLeds[2] = CRGB (255, 255, 255);
 frontLeds[3] = CRGB (255, 255, 255);
 frontLeds[4] = CRGB (255, 255, 255);
 frontLeds[5] = CRGB (0, 0, 0);
 frontLeds[6] = CRGB (0, 0, 0);
 frontLeds[7] = CRGB (0, 0, 0);
 frontLeds[8] = CRGB (0, 0, 0);
 frontLeds[9] = CRGB (0, 0, 0);
 frontLeds[10] = CRGB (0, 0, 0);
 frontLeds[11] = CRGB (255, 255, 255);
 frontLeds[12] = CRGB (255, 255, 255);
 frontLeds[13] = CRGB (255, 255, 255);
 frontLeds[14] = CRGB (255, 255, 255);
 frontLeds[15] = CRGB (255, 255, 255);
 backLeftLeds[0] = CRGB ( 255, 0, 0);
 backLeftLeds[1] = CRGB ( 255, 0, 0);
 backLeftLeds[2] = CRGB ( 255, 0, 0);
 backRightLeds[0] = CRGB ( 255, 0, 0);
 backRightLeds[1] = CRGB ( 255, 0, 0);
 backRightLeds[2] = CRGB ( 255, 0, 0);
 }
 if (ch9 != ch9State) {
 if (ch9 == 1000) {
 FastLED.clear();
 }
 ch9State = ch9;
 FastLED.show();
 }
 // Front and back lights LEDs control
 if (ch8 == 1500) {
 frontLeds[0] = CRGB (255, 255, 255);
 frontLeds[1] = CRGB (255, 255, 255);
 frontLeds[2] = CRGB (255, 255, 255);
 frontLeds[3] = CRGB (255, 255, 255);
 frontLeds[4] = CRGB (255, 255, 255);
 frontLeds[5] = CRGB (255, 255, 255);
 frontLeds[6] = CRGB (255, 255, 255);
 frontLeds[7] = CRGB (255, 255, 255);
 frontLeds[8] = CRGB (255, 255, 255);
 frontLeds[9] = CRGB (255, 255, 255);
 frontLeds[10] = CRGB (255, 255, 255);
 frontLeds[11] = CRGB (255, 255, 255);
 frontLeds[12] = CRGB (255, 255, 255);
 frontLeds[13] = CRGB (255, 255, 255);
 frontLeds[14] = CRGB (255, 255, 255);
 frontLeds[15] = CRGB (255, 255, 255);
 backLeftLeds[0] = CRGB ( 255, 0, 0);
 backLeftLeds[1] = CRGB ( 255, 0, 0);
 backLeftLeds[2] = CRGB ( 255, 0, 0);
 backRightLeds[0] = CRGB ( 255, 0, 0);
 backRightLeds[1] = CRGB ( 255, 0, 0);
 backRightLeds[2] = CRGB ( 255, 0, 0);
 }
....and so on...Code language: JavaScript (javascript)

Me tomó algo de tiempo codificar el efecto estroboscópico de las luces de la policía, pero quedó realmente genial.

Probando el tanque impreso en 3D

Una vez que cargamos el código, podemos encender la plataforma del robot y el transmisor RC para probarlo. En la pantalla del transmisor podemos ver el voltaje de la batería LiPo, así como el voltaje del receptor y del transmisor.

Aquí también podemos ver cómo funciona el cambio de marchas en movimiento. Con el interruptor basculante izquierdo podemos cambiar de marcha mientras los motores están en marcha. En realidad es así, ¿no?

Con los otros 3 interruptores basculantes controlamos las luces del tanque. Hay 4 modos diferentes. Cinco LED a cada lado en color blanco, segundo modo, todos los LED blancos encendidos, tercer modo, todos los LED blancos parpadeando y, por supuesto, el modo más fresco, un efecto estroboscópico de luces de policía. El tanque puede moverse con cualquiera de estos modos de luz encendidos.

Sin embargo, solo una nota rápida aquí. Como los LED se alimentan a través de los 5 V provenientes del regulador de voltaje LM350, puede calentarse bastante, especialmente si está en uso el modo de LED blancos. Cada LED consume alrededor de 50-60 mA de corriente para el color blanco, por lo que es casi alrededor de 1 A de corriente.

El LM350 puede manejar hasta 3A de corriente pero necesita una gran refrigeración adecuada para ese fin. Lo coloqué en una ubicación incorrecta en la PCB personalizada para no poder agregar un disipador de calor adecuado. Sin embargo, intenté agregar algunos disipadores de calor pequeños desde un controlador paso a paso.

Ayudan un poco, pero aún así, si todos los LED blancos están encendidos durante más tiempo, el regulador de voltaje se sobrecalentaría. Pero en todos los demás modos estamos bien, así que dejé las cosas como están. En caso de que queramos solucionar este problema, podríamos agregar un convertidor reductor separado con corriente nominal de 8 A. Este convertidor reductor se puede alimentar desde el terminal de salida de 12 V, y su salida de 5 o 6 V que configuramos puede ir al terminal de 6 V en la PCB y podemos usar el riel de 6 V para alimentar los LED.

Sin embargo, espero que hayas disfrutado este video y hayas aprendido algo nuevo. Diviértete construyendo y conduciendo este tanque RC. Como mencioné anteriormente, en futuros videos planeo realizar algunas mejoras a este tanque. Podría agregarle un brazo robótico encima, o tal vez hacer un quitanieves o algo así. Así que estad atentos.


Proceso de manufactura

  1. Grifo de agua automático basado en Arduino con sensor de infrarrojos
  2. Sangre artificial
  3. Reparación / Actualización del abrepuertas de gallinero VSB
  4. Los desafíos del diseño de productos
  5. Principios de funcionamiento, ventajas y desventajas del motor diesel.
  6. Transmisión de Energía Eléctrica
  7. Paletas de plástico frente a madera
  8. Arduino Quadcopter
  9. Galvanoplastia con cobre
  10. Reloj Establecer fecha y hora
  11. Vídeo a 30 FPS en pantalla OLED SSD1106