Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Rover M1

Composants et fournitures

Drivers de moteur SparkFun Dual H-Bridge L298
× 1
Moteur à courant continu (générique)
× 4
Arduino UNO
× 1
LED (générique)
× 8
Résistance 221 ohm
× 8
Servos (Tower Pro MG996R)
× 1
Capteur à ultrasons - HC-SR04 (Générique)
× 1

Applications et services en ligne

Arduino IDE
Microsoft Visual Studio 2015
Microsoft Windows 10 IoT Core

À propos de ce projet

Après avoir construit un certain nombre de robots d'intérieur, j'ai décidé de construire un robot d'extérieur capable de se déplacer sur un terrain accidenté. Je l'appelle "M1-Robot".

Le moteur M1-Robot entraîne facilement quatre moteurs à courant continu avec Arduino, il est donc parfait pour tout projet de robotique. J'ai pensé que cela ferait un cœur fantastique pour des robots plus puissants. gratter.

Ce n'est pas seulement une voiture RC, elle peut être programmée pour être autonome en suivant un ensemble d'instructions ou même être contrôlée à partir d'un ordinateur distant, et elle peut être utilisée via des contrôleurs de jeu et des joysticks personnalisés comme une voiture télécommandée.

Étape 1 :Conception

Concevoir votre propre produit ou prototype est très amusant, mais cela devient plus compliqué lorsque vous décidez de le fabriquer à une échelle de taille réelle. J'ai donc choisi Google Sketch-up 2017 comme outil de conception puissant et facile et il vous permet d'exporter les plans de votre modèle vers une machine de découpe laser ou même une imprimante 3D.

J'ai passé les trois premières semaines à concevoir et à construire la coque du robot.

Quant aux matériaux, on m'a donné une feuille de planche de bois de 3 mm.

Le câblage final pas si beau du robot, qui, en raison de contraintes de temps, consistait à fourrer tout le roadkill dans la coque.

Je pensais qu'un nom approprié pour mon robot était M1Rover. Parce que je prévois d'en développer des versions dans une séquence de noms comme M2, M3, etc. Il est conçu dans un kit, tout ce que vous avez à faire est de l'assembler avec des vis.

Étape 2 : composants et fonctionnalités

⦁ Jusqu'à trois heures d'autonomie !

⦁ Conçu pour les Arduino Uno, Mega et Nano.

⦁ Tension de fonctionnement 5 V-9 V CC

⦁ Un châssis en bois de 3mm d'épaisseur

⦁ Roues de 68 mm de diamètre L298N Moteur pas à pas à double pont en H

⦁ Piles 9v pour alimenter les moteurs DC

⦁ Piles 9v pour alimenter l'Arduino

⦁ Feux LED 7 pour l'arrière et l'avant

Module Bluetooth HC-06

⦁ Bouclier de capteur Arduino v5.0

⦁ Transducteur à ultrasons HC SR04

Étape 3 : le contrôleur de moteur

Les ponts en H sont généralement utilisés pour contrôler la vitesse et la direction des moteurs, mais peuvent être utilisés pour d'autres projets tels que la gestion de la luminosité de certains projets d'éclairage tels que les matrices de LED haute puissance.

⦁ Assurez-vous que tous vos terrains sont liés ensemble; Arduino, source d'alimentation et contrôleur de moteur.

⦁ Les broches PWM sont inutiles si vous ne souhaitez pas contrôler les fonctionnalités PWM.

Étape 4 :Assemblage du châssis

Le châssis a été découpé au laser en quelques parties et, comme je l'ai mentionné précédemment, le modèle a été créé dans un kit facile à assembler, il vous suffit donc de suivre les instructions ci-dessous.

Considérant que le design était également important et quand il s'agit de voitures RC, il devrait contenir des feux avant et arrière. A l'avant du M1-Robot j'ai mis 4 LED blanches chacune connectée à une résistance de 220 ohm, et à l'arrière j'ai mis 2 LED rouges avec une résistance de 220 ohm pour chacune. Ces LED peuvent être contrôlées par la même application

Étape 5 :Circuits

Le circuit était un peu délicat car lorsque vous avez décidé de contrôler plusieurs pièces électroniques en même temps, vous devez faire attention à la séquence de chaque pièce.

Arduino Sensor Shield 5.0

⦁ Arduino Uno R3 L298N double moteur/pas à pas à pont en H

⦁ Pile 9v pour alimenter les moteurs DC

⦁ Feux LED 7 (2 à l'arrière) et (4 à l'avant)

Module Bluetooth HC-06

⦁ Transducteur à ultrasons HC SR04

⦁ Servomoteur 9g

⦁ Avertisseur actif

⦁ 4 moteurs à courant continu avec roues

Étape 6 :Logiciel

J'ai pris en compte beaucoup de choses lors de l'écriture du code de M1-Robot, et avec le logiciel GUI, vous pouvez obtenir plus d'informations sur l'état du robot.

Le code de base pour le kit de démarrage, peut être contrôlé par mobile ou ordinateur portable via Bluetooth :

int frontled =3 ; //led int backled =4;int outPin1 =5; //moteur1 int outPin2 =6; //moteur1 int outPin4 =11; //moteur2 int outPin3 =12; //moteur2 car bt =0; //BT int buzzerPin =2;const int pingPin =9; // Trigger Pin of Ultrasonic Sensorconst int echoPin =8; // Broche d'écho du capteur à ultrasons/*------------------------------------------ -------------------------------------*/ void setup() { Serial.begin(9600); pinMode(outPin1,OUTPUT); pinMode(outPin2,OUTPUT); pinMode(outPin3,OUTPUT); pinMode (outPin4, SORTIE); pinMode(frontled,OUTPUT); pinMode (buzzerPin, OUTPUT);} void loop() { if (Serial.available()> 0) { bt =Serial.read(); digitalWrite(frontled, 1); longue durée, pouces, cm; pinMode(pingPin, SORTIE); digitalWrite(pingPin, LOW); délaiMicrosecondes(2) ; digitalWrite(pingPin, HAUT); délaiMicrosecondes(10) ; digitalWrite(pingPin, LOW); pinMode(echoPin, INPUT); durée =pulseIn(echoPin, HIGH); pouces =microsecondesVersInches(durée); cm =microsecondesEnCentimètres(durée); if (cm> 10 ){ // distance jusqu'à l'arrêt /*________________________________________________________________________*/ if(bt =='F') //avancer { digitalWrite(outPin1,HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); } else if (bt =='B') //revenir en arrière { digitalWrite(outPin1,LOW); digitalWrite (outPin2, HAUT); digitalWrite (outPin3, LOW); digitalWrite (outPin4, HAUT); } else if (bt =='S') //stop!! { digitalWrite(outPin1,LOW); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, LOW); } else if (bt =='R') //right { digitalWrite(outPin1,HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, LOW); } else if (bt =='L') //left { digitalWrite(outPin1,LOW); digitalWrite (outPin2, LOW); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); } else if (bt =='I') //forward right { digitalWrite(outPin1,HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, HAUT); } else if (bt =='G') //forward left { digitalWrite(outPin1,LOW); digitalWrite (outPin2, HAUT); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); } } else{ digitalWrite (buzzerPin, HIGH); retard (500); digitalWrite (buzzerPin, LOW); retard (500); } }}long microsecondsToInches(long microseconds) { return microseconds / 74 / 2;}long microsecondsToCentimeters(long microseconds) { return microseconds / 29/2;} 

Le code Arduino est compatible avec tout type de contrôleurs car toutes les pièces électroniques sont programmées pour fonctionner via des commandes de port série, vous pouvez donc utiliser l'émetteur/récepteur du module Bluetooth, un PC, un téléphone portable.

⦁ Application Windows C# (capture d'écran jointe)

Étape 7 :Forfaits

STARTER

Ce package M1-Robot comprend des composants de base tandis que la plaque supérieure permet un montage facile de tout matériel de détection, de manipulation ou informatique. Connectez simplement les capteurs aux alimentations embarquées et Rover pour commencer.

EXPLORATEUR

Le package Explorer permet des fonctionnalités autonomes intérieures et extérieures de base, et au lieu d'une caméra IP, j'ai utilisé une caméra de téléphone portable connectée à Internet via une adresse IP.

CARTOGRAPHIE

Le package Explorer permet un suivi GPS de base, bien sûr, lorsque le véhicule est à l'extérieur, c'est très cool lorsque vous regardez les chemins de coordonnées en temps réel.

MANIPULATION

Interagir avec le monde avec un bras robotisé et une pince à deux doigts de 50 mm.

Conseil important :

Tous les servos n'ont pas une rotation complète de 180 degrés. Beaucoup ne le font pas. Vous pouvez écrire un test pour déterminer où se trouvent les limites mécaniques. Utilisez servo.writeMicroseconds au lieu de servo.write J'aime mieux cela car il vous permet d'utiliser 1000-2000 comme plage de base. Et de nombreux servos prendront en charge en dehors de cette plage, de 600 à 2400.

Alors, essayez différentes valeurs et voyez où vous obtenez le buzz qui vous indique que vous avez atteint la limite. Alors ne restez que dans ces limites lorsque vous écrivez. Vous pouvez définir ces limites lorsque vous utilisez servo.attach(pin, min, max)

Edit:je dois dire que si vous le souhaitez, vous pouvez définir les microsecondes min et max dans la pièce jointe, puis utilisez simplement servo.write. Il utilise map() pour changer la valeur 0-180 degrés que vous passez en une valeur en microsecondes.

Ce le sera bientôt si vous le maintenez à la fin de la course - il tire un courant élevé et chauffe rapidement - il est trop facile de "cuire" un servo en le chargeant de cette façon pendant un certain temps.

Trouvez la véritable plage de mouvement et assurez-vous que le code n'essaie pas de le pousser au-delà des butées, la fonction Arduino contrainte() est utile pour cela :

servo.write (contrainte (angle, 10, 160)); // contraint l'angle dans la plage 10..160 

Pièces et boîtiers personnalisés

m1rover_dxf_hackaday_4o7WTGHUGE.dxf

Schémas


Processus de fabrication

  1. Moteur à réluctance
  2. Prototype Raspoulette
  3. Rover
  4. Robot Pi simple
  5. Attaque d'OVNI !
  6. Ardulock 3D RVB
  7. Pédale de vitesse et pédale pour guitare !
  8. Qu'est-ce qu'un moteur linéaire ?
  9. Qu'est-ce qu'un servomoteur ?