Construire un Char RC Haute Performance Imprimé en 3D avec Boîte de Vitesses à Double Rapport
Dans ce tutoriel, je vous montre comment j'ai construit un char RC imprimé en 3D — un véhicule chenillé radiocommandé — au design tout noir soigné, avec éclairage LED sympa et une boîte de vitesses à double rapport. Oui, j'ai spécialement conçu une boîte de vitesses pour ce char afin de pouvoir choisir un rapport court ou long selon le terrain ou l'usage, et ainsi obtenir soit plus de couple, soit plus de vitesse.
Regardez la vidéo ci-dessous ou suivez le tutoriel écrit.
Vue d'ensemble
Si vous me suivez, vous savez que j'avais déjà construit un char RC imprimé en 3D, sympa mais un peu sous-motorisé. Cette fois, j'utilise un moteur DC 200 W par chenille, et avec cette boîte de vitesses, le char a de la puissance de sobra pour affronter n'importe quel terrain ou faire des brûlures et des donuts.
Côté fun, j'ai installé une bande LED adressable pour les feux, offrant une infinité d'effets lumineux. Pour cette vidéo, j'ai fait un effet gyrophare police, super cool en roulant, surtout la nuit.
Pour la suspension, chaque côté du char repose sur trois ressorts hélicoïdaux et amortisseurs, avec deux galets par ensemble. Cela permet au véhicule de rouler souplement sur terrain accidenté et de franchir des obstacles tout en maintenant un bon contact chenilles/sol.
Tout est imprimé en 3D, fichiers 3D dispo en téléchargement pour que vous puissiez en construire un vous-même.
Pour le pilotage, j'utilise un émetteur RC commercial bon marché. À bord, un récepteur RC reçoit les commandes et les transmet au microcontrôleur. Le cerveau : carte ATmega2560, avec un PCB custom qui se clipse dessus pour simplifier le câblage.
Accrochez-vous, je vous guide à travers tout le processus : conception, impression 3D, assemblage, électronique, programmation.
Conception du Char RC
J'ai conçu ce char avec Onshape.
Onshape est un système CAO/PDM 3D natif cloud de qualité professionnelle que j'utilise pour mes projets.
Je recommande aux ingénieurs mécaniciens et designers produits de tester Onshape ; vous et votre entreprise pouvez utiliser Onshape Professional gratuitement 6 mois sur https://Onshape.pro/HowtoMechatronics.
Les paramètres d'entrée initiaux : les moteurs DC, leurs dimensions et leur régime (3 000 tr/min). Trop rapide pour ce char, d'où la boîte de vitesses qui réduit la vitesse à deux valeurs différentes.
Cette boîte fonctionne comme une boîte manuelle de voiture. Un sélecteur de rapport, actionné non pas à la main mais par un servomoteur, choisit lequel des deux trains de sortie est engagé.
La réduction initiale est de 1,88:1 (fixe), puis on choisit : rapport court avec réduction supplémentaire 2,76:1, ou rapport long 1:1. En rapport court, réduction totale 5,2 (~570 tr/min) ; en rapport long, 1,88 (~1 600 tr/min).
On verra le détail de la boîte à l'assemblage.
Autre paramètre d'entrée : les amortisseurs RC (70 mm déployés, 15 mm de débattement). Je voulais plus de débattement vertical pour les galets, donc je les ai positionnés ainsi pour obtenir 22 mm de débattement vertical.
En plus, c'est un système bogie : une paire de roues sur un axe mobile, les roues peuvent pivoter autour de cet axe pour un débattement vertical supplémentaire. Résultat : roulement plus souple et meilleur contact chenilles/sol.
Regardons les galets avant : ils sont reliés à la roue tendeuse avant pour une tension dynamique de la chenille. Quand le galet avant monte, la circonférence de la chenille diminue et la tension se relâche.
Avec cette liaison, la roue tendeuse est poussée vers l'avant pour retendre la chenille. On peut aussi tendre statiquement en ajustant le boulon et l'écrou d'écartement.
À l'arrière, le pignon de sortie est en trois parties : manchon d'arbre + sections gauche/droite du pignon, assemblées par 3 boulons M3.
La dimension clé du pignon est le pas, qui doit correspondre au pas de la chenille. Pas de 11 mm ici, 20 dents → diamètre primitif ~69 mm. L'idée : pignon assez grand pour que la chenille reste hors de la caisse.
Le pas de 11 mm vient du design du maillon de chenille. Mon but : maillon le plus compact possible, raccordable au suivant par une seule pièce (axe), assez solide pour l'impression 3D. Et sans support d'impression — objectif atteint.
Pour relier les maillons, axes de 2 mm : un côté 2,1 mm (serré), l'autre 2,4 mm (libre pour rotation).
Les dents du pignon s'engrènent sur la forme cylindrique externe du maillon. Cylindre du maillon : rayon 4,4 mm ; pignon : 4,9 mm (jeu libre).
Le corps principal (où tout se fixe) devait loger les deux boîtes de vitesses, l'électronique, la batterie. Dimensions finales : 547×397 mm. Assez grand, plus grand que le plateau d'imprimante classique → grosses pièces divisées en deux sections pour imprimante 300 mm. Si imprimante 220 mm, division en 4 sections (fournie dans les fichiers 3D).
Pour l'assemblage : divers boulons/écrous M3/M4, inserts filetés, roulements. Liste complète ci-dessous. Bien sûr, modèle 3D et fichiers STL dispo.
Modèle 3D et Fichiers STL à Télécharger
Visualisez le modèle 3D de ce char RC directement dans votre navigateur via Onshape.
Modèle 3D de cette plateforme char/robot et fichiers STL pour impression 3D disponibles sur Cults3D.
Impression 3D
J'ai utilisé ma Creality Ender-3 V3 Plus pour la plupart des pièces.
En impression 3D, il faut utiliser l'expansion horizontale (dans Creality Print : compensation de contour X-Y). Par défaut, les dimensions extérieures et les trous sortent plus petits que le modèle → problèmes d'assemblage.
Dans Creality Print, j'ai mis -0,07 mm pour la compensation de contour X-Y, et +0,07 mm pour la compensation de trou X-Y. Faites des essais pour trouver les meilleures valeurs sur votre imprimante.
Pour les maillons de chenille, j'ai utilisé des radeaux (raft) pour l'adhérence au plateau : surface de contact petite, risque de décollement si adhérence moyenne. Surtout par gros lots, le radeau est plus sûr.
L'Ender-3 V3 Plus a un plateau 300×300 mm, j'ai pu imprimer le corps du char en deux parties. Même en deux sections, les pièces sont grandes et poussent l'imprimante à fond. Mais elle a géré parfaitement et fait un excellent travail.
Je recommande cette imprimante à qui cherche grand volume et vitesse. C'est une CoreXZ jusqu'à 600 mm/s, châssis rigide, excellente qualité. Merci à Creality pour me l'avoir fournie.
Dispo : Boutique USA ; Boutique EU ; Amazon.
Assemblage du Char RC
Voici toutes les pièces imprimées, on commence l'assemblage. Honnêtement, y'a beaucoup d'impression : plusieurs jours, plusieurs bobines de filament.
Seuls les maillons de chenille : 214 au total → ~500 g et 30 h d'impression. Corps du char : ~1 kg de filament (en deux sections, ~500 g et 12–18 h chacune). Beaucoup de pièces nécessitent des supports → temps de nettoyage.
Nomenclature (BOM)
Liste des composants pour l'assemblage du char RC. Liste électronique dans la section schéma de câblage.
| Composant | Quantité | Liens d'achat |
|---|---|---|
| Amortisseurs RC | 8 | Amazon | AliExpress |
| Roulement 686 – 6×13×5 mm | 18 | Amazon | AliExpress |
| Roulements 624 – 4×13×5 mm | 44 | Amazon | AliExpress |
| Roulement 684 – 4×9×4 mm | 6 | Amazon | AliExpress |
| Tige filetée M6 | 300 mm | Amazon | AliExpress |
| Écrous frein M6 | 4 | Amazon | AliExpress |
| Inserts filetés M3 | ~20 | Amazon | AliExpress |
| Vis sans tête M3 | ~30 | Amazon | AliExpress |
| Boulons/écrous M3 et M4 | Selon liste | Amazon | AliExpress |
| Baguette de soudure 2 mm | ~12 m | Amazon | AliExpress |
| Boulons | Écrous |
|---|---|
|
M3×8 mm – 10 M3×10 mm – 10 M3×16 mm – 20 M3×20 mm – 10 M3×25 mm – 10 M3×30 mm – 10 M3×16 mm fraisés – 20 M4×16 mm – 10 M4×35 mm – 20 M4×40 mm – 20 M5×40 mm – 2 |
Écrou frein M3 – 50 Écrou frein M4 – 40 Écrou M5 – 6 |
Note : Ce sont des liens d'affiliation. En tant qu'associé Amazon, je gagne sur les achats éligibles.
Électronique – Schéma de Câblage du Char RC
Voyons l'électronique du char RC. Le cerveau : carte ATmega2560.
Composants nécessaires :
| Composant | Quantité | Liens d'achat |
|---|---|---|
| Moteur DC 895 – 12 V 200 W 3 000 tr/min | 2 | Amazon | AliExpress |
| Driver DC BTS7960 | 2 | Amazon | AliExpress |
| Servomoteur | 1 | Amazon | AliExpress |
| ATmega2560 – Carte Arduino Mega | 1 | Amazon | AliExpress |
| Batterie LiPo 3S – min 3 000 mAh | 1 | Amazon | AliExpress |
| Connecteurs batterie LiPo | 1 | Amazon | AliExpress |
| Flysky FS-i6X – Émetteur/récepteur FS-iA6B | 1 | Amazon | AliExpress |
| Bande LED WS2812b adressable | 1 m | Amazon | AliExpress |
| Régulateur LM350 | 1 | Amazon | AliExpress |
| Potentiomètre de réglage 5 kΩ | 1 | Amazon | AliExpress |
| Connecteurs à bornier | 4 | Amazon | AliExpress |
| Fils ~20 AWG | ~3 m | Amazon | AliExpress |
| Interrupteur à bascule | 1 | Amazon | AliExpress |
| Résistances – 1k×1, 2k×1, 240×1 | – | Amazon | AliExpress |
| Condensateurs – 0,1µF×1, 1µF×1, 400µF×1 | – | Amazon | AliExpress |
Note : Ce sont des liens d'affiliation. En tant qu'associé Amazon, je gagne sur les achats éligibles.
Conception du PCB Custom
Pour organiser l'électronique, j'ai conçu un PCB custom compatible avec la carte ATmega2560, se montant directement dessus.
Commandé chez PCBWay : upload du Gerber, choix des propriétés, commande à prix raisonnable. J'ai juste changé la couleur du PCB en bleu. Fichiers Gerber dispo sur la communauté PCBWay pour téléchargement ou commande directe.
Finalisation de l'Assemblage du Char RC
Cette section explique comment tout connecter et finaliser le char.
Cette section est encore en construction.
Programmation du Char RC – Code Arduino
Cette section explique le code Arduino. Téléchargement du code :
Aperçu du code
Via la bibliothèque IBusBM, on lit les données de l'émetteur RC :
// Lecture des données depuis l'émetteur RC
IBus.loop();
ch0 = IBus.readChannel(0); // ch0 - gauche/droite
ch1 = IBus.readChannel(1); // ch1 - avant/arrière
ch6 = IBus.readChannel(6); // ch6 - sélecteur de rapport
ch7 = IBus.readChannel(7); // ch7 - effet gyrophare police
ch8 = IBus.readChannel(8); // ch8 - toutes LED blanches
ch9 = IBus.readChannel(9); // ch9 - LED gauche/droite blanches
Joystick droit (canaux 0, 1) = mouvement du char ; interrupteur gauche (canal 6) = servomoteur changement de rapport ; les 3 autres interrupteurs = contrôle LED.
Conversion des données en valeurs PWM 0–255 pour les moteurs DC :
// Conversion en valeurs PWM appropriées
steeringValue = map(ch0, 1000, 2000, -205, 205); // 0-205 car +50 après pour éviter PWM trop bas (moteurs ne démarrent pas)
motorSpeed = map(ch1, 1000, 2000, -205, 205);
motorSpeed = abs(motorSpeed);
leftMotorSpeed = 50 + motorSpeed + steeringValue; // 50 + (0-205) + (0-205) = 50-255
rightMotorSpeed = 50 + motorSpeed - steeringValue;
leftMotorSpeed = constrain(leftMotorSpeed, 0, 255);
rightMotorSpeed = constrain(rightMotorSpeed, 0, 255);
// Si PWM < 52, on met à 0
if (leftMotorSpeed < 52) { leftMotorSpeed = 0; }
if (rightMotorSpeed < 52) { rightMotorSpeed = 0; }
Envoi des valeurs PWM aux drivers/moteurs via analogWrite().
// Joystick droit vers le haut = avance
if (ch1 > 1510 && ch1 < 2000) {
digitalWrite(M1_RPWM, 0);
analogWrite(M1_LPWM, leftMotorSpeed);
digitalWrite(M2_RPWM, 0);
analogWrite(M2_LPWM, rightMotorSpeed);
}
// Joystick droit vers le bas = recule
if (ch1 > 1000 && ch1 < 1490) {
analogWrite(M1_RPWM, leftMotorSpeed);
digitalWrite(M1_LPWM, 0);
analogWrite(M2_RPWM, rightMotorSpeed);
digitalWrite(M2_LPWM, 0);
}
// Joystick au centre = arrêt
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);
}
// Juste gauche/droite sans avant/arrière = rotation sur place
else if (ch0 < 1490 || ch0 > 1510) {
analogWrite(M1_RPWM, rightMotorSpeed);
analogWrite(M1_LPWM, leftMotorSpeed);
analogWrite(M2_RPWM, leftMotorSpeed);
analogWrite(M2_LPWM, rightMotorSpeed);
}
}
Pour le servomoteur et le changement de rapport, ajustez les valeurs selon votre servo :
// ======= Changement de rapport ======
if (ch6 == 2000) { myservo.write(140); }
if (ch6 == 1000) { myservo.write(40); }
Pour les lumières : on vérifie quel interrupteur est actionné et on allume les LED individuellement selon le mode.
// ====== Contrôle LUMIÈRES ======
// Contrôle LED avant/arrière
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();
}
// Mode toutes LED blanches
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);
}
// ... et ainsi de suite ...
L'effet gyrophare police m'a pris du temps à coder, mais le résultat est top.
Test du Char Imprimé en 3D
Code uploadé, on alimente la plateforme et l'émetteur. Sur l'écran : tension LiPo, tensions récepteur/émetteur.
On voit le changement de rapport en mouvement. Interrupteur gauche = changement de rapport moteurs en marche. C'est fluide.
Les 3 autres interrupteurs = contrôle lumières. 4 modes : 5 LED blanches par côté, 2ème mode toutes blanches, 3ème mode clignotement toutes blanches, 4ème mode = gyrophare police (le plus cool). Le char roule avec n'importe quel mode allumé.
Note rapide : les LED sont alimentées par le 5 V du régulateur LM350, qui chauffe fort surtout en mode « toutes blanches ». Chaque LED ~50–60 mA en blanc → ~1 A total. Le LM350 tient 3 A mais faut un gros radiateur. Je l'ai mal placé sur le PCB (pas de place pour radiateur correct). J'ai mis de petits radiateurs de driver pas-à-pas : ça aide un peu, mais en mode toutes blanches prolongé, ça surchauffe. Sur les autres modes, c'est bon. Pour corriger : ajouter un convertisseur abaisseur séparé 8 A, alimenté par la sortie 12 V, sortie 5/6 V vers le bornier 6 V du PCB pour alimenter les LED via le rail 6 V.
Bref, j'espère que cette vidéo vous a plu et appris quelque chose. Amusez-vous à construire et piloter ce char RC. Comme dit plus haut, je prévois des upgrades : bras robotique, chasse-neige, etc. Restez branchés.
Processus de fabrication
- Production et qualité du bagel : de la pâte au délice
- Prothèses Oculaires Artificielles : De l'Histoire à l'Innovation de Pointe
- Choisir la meilleure entreprise de design et développement produit industriel
- Lames Peddinghaus Gunna Engineering — Remplacement durable, coupe de précision pour équipements industrie lourde
- Traitements au fluor : science, histoire et perspectives futures
- Optimiser la qualité de l'acier : gestion des inclusions et production d'acier propre
- Créer un Cadre Photo Cœur LED Époustouflant avec Arduino - Guide DIY Étape par Étape
- Tecnored : Procédé innovant de production de fer sans coke
- Arduino UNO : Mesure de distance avec capteur ultrasons HC-SR04 et écran OLED Adafruit