Double MAX14870 Bouclier de pilote de moteur pour Arduino
Ce petit blindage est un moyen simple et économique de contrôler deux petits moteurs CC brossés avec une carte compatible Arduino ou Arduino. Ses deux drivers de moteur MAX14870 intégrés lui permettent de fonctionner de 4,5 V à 36 V, ce qui en fait un excellent choix pour les moteurs et applications haute tension, et le blindage peut atteindre 1,7 A continu (2,5 A crête) par moteur. Le blindage peut éventuellement être configuré pour alimenter l'Arduino à partir de la même alimentation que le pilote du moteur, et les mappages de broches Arduino peuvent être personnalisés (en coupant des traces) si les valeurs par défaut ne sont pas pratiques.
Double blindage de moteur MAX14870 pour Arduino, vue de dessus avec les dimensions.
Aperçu
Ce blindage de pilote de moteur et sa bibliothèque Arduino correspondante facilitent le contrôle d'une paire de moteurs CC brossés bidirectionnels avec une carte Arduino ou compatible. La carte comporte une paire de circuits intégrés de commande de moteur MAX14870 H-Bridge de Maxim, ce qui lui permet de fonctionner de 4,5 V à 36 V et convient parfaitement à la conduite de moteurs haute tension comme nos motoréducteurs 12V 20D. Le blindage peut fournir 1,7 A continu par canal et tolérer des courants de crête jusqu'à 2,5 A par canal pendant quelques secondes. Le bouclier est entièrement rempli avec ses composants SMD, y compris les pilotes MAX14870 et un FET pour la protection contre les batteries inversées; des broches d'en-tête pour l'interfaçage avec un Arduino et des borniers pour la connexion des moteurs et de l'alimentation sont inclus mais ne sont pas soudés (voir l'assemblage avec la section de matériel incluse ci-dessous).
Le blindage utilise les broches numériques 4, 7, 8, 9, 10 et 12 pour ses lignes de contrôle, bien que les mappages de broches de contrôle puissent être personnalisés si les valeurs par défaut ne conviennent pas. Il devrait être compatible avec n'importe quelle carte qui a un agencement de broches Arduino standard et la capacité de générer des signaux PWM sur les broches 9 et 10. Les cartes de contrôle compatibles comprennent:
- A-Star 32U4 Prime
- Arduino Uno
- Arduino Leonardo
- Arduino Mega 2560
Ce blindage est destiné à fournir une option basique de driver de moteur basique pour les Arduino, il est donc beaucoup plus petit que les blindages Arduino typiques.
Caractéristiques
- Deux conducteurs de moteur à pont H à canal unique avec protection anti-retour et diodes de roue libre internes (chacun peut entraîner un moteur à courant continu)
- Tension d'alimentation du moteur: 4,5 V à 36 V
- Courant de sortie: 1,7 A continu (2,5 A crête) par moteur
- Fonctionnement PWM jusqu'à 50 kHz (les fréquences ultrasoniques permettent un fonctionnement plus silencieux du moteur)
- Interface DIR / PWM simple à deux broches (une broche contrôle la direction et une autre contrôle la vitesse)
- Le bouclier peut alimenter en option la base Arduino directement lorsque la tension d'alimentation du moteur est appropriée
- Shield a un emplacement pratique pour ajouter un régulateur de tension à 3 broches pour alimenter la base Arduino dans les applications où la tension d'alimentation du moteur ne convient pas pour alimenter l'Arduino directement
- La bibliothèque Arduino facilite la mise en route en utilisant cette carte comme bouclier de pilote de moteur
- Les mappages de broches Arduino peuvent être personnalisés (en coupant des traces) si les mappages par défaut ne sont pas pratiques
- Protection contre les inversions de tension sur l'alimentation du moteur
- Verrouillage de sous-tension
- La sortie de défaut actif-bas indique une condition de surintensité ou de surchauffe
- Des résistances montées en surface peuvent être ajoutées en option pour permettre la limitation automatique du courant
Double blindage de moteur MAX14870 pour Arduino, côtés supérieur et inférieur.
Assemblage avec le matériel inclus
Avant que le blindage puisse être branché sur votre Arduino, les broches de l'en-tête doivent être montées au bas de la carte (le côté sans aucun composant ou texte) en les soudant dans les trous appropriés. Le bouclier est livré avec une bande d'en-tête mâle de 0,1 "qui peut être cassée en plus petits morceaux et utilisée à cet effet. La mise à la terre est la seule connexion nécessaire sur le côté gauche de la carte (mais le VIN doit également être soudé si vous avez l'intention d'alimenter l'Arduino à partir du blindage). Le long du côté droit de la carte, les broches numériques 4, 7, 8, 9, 10 et 12 sont utilisées par défaut. Les broches d'en-tête mâles doivent être soudées à au moins ces emplacements afin que le blindage établisse les connexions appropriées à l'Arduino. Une fois que les broches de l'en-tête sont soudées, un moyen facile de s'assurer que vous brancher le blindage correctement dans l'Arduino est d'aligner l'écart entre les broches 7 et 8 sur le blindage avec l'écart entre les broches 7 et 8 sur les connecteurs femelles Arduino.
Lorsque la tension d'entrée pour les moteurs est appropriée pour la carte compatible Arduino ou Arduino, une alimentation protégée contre la contre-pression peut être fournie à la broche VIN de l'Arduino à travers le blindage. Pour cette configuration, soudez deux broches d'en-tête mâles à l'emplacement du cavalier "VM = AVIN" et installez le bloc de court-circuit bleu inclus entre elles (comme indiqué dans l'image assemblée ci-dessus). Ces broches doivent pointer vers le haut, loin de l'Arduino.
Avertissement: Le blindage MAX14870 fonctionne avec des tensions bien supérieures à celles tolérées par les cartes Arduino. Il est donc important de n'utiliser le cavalier "AVIN = VM" que dans les situations où la tension d'alimentation du moteur est également dans les limites de fonctionnement de votre Arduino. Sinon, votre Arduino pourrait être endommagé de façon permanente.
Si la tension d'alimentation du moteur est supérieure à celle de la carte compatible Arduino ou Arduino, un régulateur de tension peut éventuellement être utilisé pour fournir une tension appropriée à la broche VIN de l'Arduino. Pour cette configuration, soudez le régulateur sur les broches VM, GND et AVIN décrites dans la sérigraphie du blindage. Veillez à orienter le régulateur de sorte que sa broche d'entrée s'aligne sur la VM et que sa broche de sortie s'aligne sur AVIN. Pour une configuration plus modulaire, un collecteur femelle à trois broches peut être soudé au blindage et utilisé comme une prise pour un régulateur.
La prise d'alimentation de l'Arduino doit rester déconnectée à tout moment si la broche AVIN est alimentée par le blindage.
Avertissement: Lorsque vous alimentez l'Arduino à partir du blindage du moteur, vous ne devez jamais connecter une alimentation différente à la broche VIN de l'Arduino ou brancher une alimentation dans la prise d'alimentation de l'Arduino, car cela créera un court-circuit entre l'alimentation du blindage et celle de l'Arduino. alimentation qui pourrait endommager de manière permanente l'Arduino et le blindage du moteur.
Trois borniers à 2 broches de 5 mm sont inclus pour faciliter les connexions du moteur et de l'alimentation au blindage une fois qu'ils ont été glissés ensemble et soudés aux six grands trous traversants. Alternativement, vous pouvez souder des broches mâles mâles de 0,1 "dans les plus petits trous traversants au-dessus des trous du bornier, ou vous pouvez simplement souder des fils directement sur le blindage pour des installations plus compactes (et permanentes).
Des broches d'en-tête supplémentaires et des blocs de court-circuit au-delà de ce qui est inclus peuvent être utilisés pour apporter certaines des modifications facultatives les plus avancées au blindage, telles que le remappage des broches de commande.
Un Arduino n'est pas inclus.
Mappages de broches par défaut
Le blindage se branche sur les broches numériques Arduino 4 à 12 d'un côté et A1 à RST sur l'autre. Le coin supérieur gauche du bouclier bloque partiellement la broche IOREF de l'Arduino, mais cette zone de la carte (marquée d'une boîte de sérigraphie blanche) peut être enlevée si nécessaire pour permettre l'accès. Le blindage bloque également les broches numériques Arduino 5, 6 et 11, mais ces broches ne sont pas utilisées par défaut et des points d'accès alternatifs leur sont fournis via les trous traversants voisins.
Ce tableau montre comment les broches GPIO de l'Arduino sont utilisées pour l'interface avec les pilotes du moteur:
Arduino digital pin |
Motor driver pin | Description |
---|---|---|
4 | EN | Inverted enable input: The shield pulls this pin low by default, enabling the drivers. Driving this pin high puts both motor driver ICs into a low-current sleep mode and disables the motor outputs (setting them to high impedance). |
7 | Motor 1 DIR | Motor direction input: When DIR is low, motor current flows from output A to output B; when DIR is high, current flows from B to A. |
8 | Motor 2 DIR | |
9 | Motor 1 PWM | Motor speed input: A PWM (pulse-width modulation) signal on this pin corresponds to a PWM output on the corresponding driver’s motor outputs. When this pin is low, the motor brakes low. When it is high, the motor is on. The maximum allowed PWM frequency is 50 kHz. A 100 kΩ pull-down resistor on the shield makes this pin default low. |
10 | Motor 2 PWM | |
12 | FAULT | Fault output: The internal pull-up on the Arduino pin connected to the FAULT input should be enabled so when the drivers are functioning normally it is pulled high. In the event of an over-current or over-temperature condition, the driver IC experiencing the fault drives FAULT low. |
En utilisant le bouclier
Dans l'état par défaut de la protection, le blindage du pilote du moteur et l'Arduino sont alimentés séparément, bien qu'ils partagent une même terre. Lorsqu'il est utilisé de cette façon, l'Arduino doit être alimenté via USB, sa prise d'alimentation, ou sa broche VIN, et le blindage doit être alimenté de 4,5 V à 36 V grâce à ses grands pads VIN et GND. Tenter d'alimenter le blindage de l'Arduino n'est pas recommandé, car cela pourrait entraîner des courants importants à travers de petites traces. Cependant, il est possible d'alimenter l'Arduino à partir du blindage soit directement avec l'alimentation du moteur, soit via un régulateur ajouté. Pour plus d'informations sur l'alimentation de l'Arduino à partir du blindage, reportez-vous à la section Assemblage avec la section Matériel inclus ci-dessus, y compris certains avertissements importants.
Le MAX14870 offre une interface de contrôle DIR / PWM simple à deux broches, où la broche DIR détermine la direction du moteur et la broche PWM peut être fournie avec un signal PWM pour contrôler la vitesse du moteur. L'entrée de commande PWM est tirée bas sur le blindage à travers une résistance pull-down de 100 kΩ. Lorsque la broche PWM est basse, les sorties du moteur sont court-circuitées à la masse, ce qui entraîne un freinage dynamique d'un moteur connecté.
La broche EN du bouclier peut être entraînée haute pour désactiver les sorties du moteur pour les deux canaux du moteur, ce qui est utile si vous voulez laisser les moteurs en roue libre. La broche EN est tirée vers le bas à travers une résistance pull-down de 100 kΩ sur le blindage de sorte que les deux canaux du moteur sont activés par défaut. Pour obtenir un contrôle individuel des lignes de validation pour les deux pilotes, la trace entre les trous traversants M1EN et M2EN peut être coupée. Cela laissera M2EN connecté à la broche numérique Arduino 4. Un cavalier peut être utilisé à travers la broche M1EN et le trou traversant voisin pour le connecter à la broche numérique 5.
Le tableau de vérité simplifié suivant montre comment le conducteur fonctionne:
Inputs | Outputs | ||||
---|---|---|---|---|---|
EN | DIR | PWM | MxA | MxB | operating mode |
0 | 0 | PWM | PWM (H/L) | L | forward/brake at speed PWM % |
0 | 1 | PWM | L | PWM (H/L) | reverse/brake at speed PWM % |
0 | X | 0 | L | L | brake low (outputs shorted to ground) |
1 | X | X | Z | Z | coast (outputs off) |
Le blindage MAX14780 possède une broche de défaut qui combine les sorties de défaut des deux pilotes intégrés, M1FAULT et M2FAULT. Il s'agit d'une sortie de défaut à drain ouvert, actif bas, qui diminue en cas de surintensité ou de surchauffe sur l'un ou l'autre des canaux du moteur. Pour obtenir des sorties de défaut individuelles, la trace entre les trous traversants M1FAULT et M2FAULT peut être coupée. Cela laissera M2FAULT connecté à la broche numérique Arduino 12. Un cavalier peut être utilisé à travers la broche M1FAULT et le trou traversant voisin pour le connecter à la broche numérique 11.
Limitation de courant optionnelle
Le MAX14870 IC dispose d'une entrée SNS pouvant être utilisée pour la limitation de courant automatique en option. Par défaut, cette entrée est connectée à la masse pour les deux pilotes de cette carte, ce qui contourne la fonction de régulation actuelle. Pour activer la limitation de courant, vous devez d'abord couper les traces entre chaque paire de pastilles de résistance 1206 non peuplées près des puces du pilote.
Ensuite, vous devrez ajouter votre propre résistance 1206 à montage en surface à ces pads.
Chaque pilote essaie de maintenir la tension sur la broche SNS de plus de 100 mV, par exemple, une résistance de 100 mΩ limite le courant à 1 A et une résistance de 200 mΩ le limite à 0,5 A. Pour plus d'informations sur la limitation de courant, voir Fiche technique MAX14870 (492k pdf).
Considérations de dissipation de puissance dans le monde réel
La fiche technique MAX14870 recommande un courant continu maximal de 2,5 A. Cependant, la puce elle-même surchauffera généralement à des courants plus faibles. Dans nos tests, un courant continu de 1,7 A par canal a été durable pendant de nombreuses minutes sans déclencher un arrêt thermique.
Le courant réel que vous pouvez délivrer dépendra de la capacité du moteur à refroidir. La carte de circuit imprimé du bouclier est conçue pour aider à cela en soutirant la chaleur de la puce du pilote du moteur. PWMing le moteur introduira un chauffage supplémentaire proportionnel à la fréquence.
Ce produit peut devenir assez chaud pour vous brûler longtemps avant que la puce ne surchauffe. Soyez prudent lorsque vous manipulez ce produit et d'autres composants qui y sont connectés.
Schématique
Schéma de principe pour le blindage de pilote de moteur Dual MAX14870 pour Arduino.
Ce schéma est également disponible en format pdf téléchargeable (139k pdf).