PWM über Seriellen Monitor - AZ-Delivery

Bonjour à tous

nous avons déjà quelques produits dans notre Portofolio qui permettent d’exploiter des moteurs à pas ou DC avec plusieurs canaux sur l’Arduino. Aujourd’hui, je veux montrer un moteur 12V sur un Arduino. En principe, tout consommateur contrôlé via PWM peut être connecté, comme une LED. La vitesse ou la luminosité peut être contrôlée via le moniteur de série. Cependant, il est également possible de mettre en œuvre le projet sans bibliothèque. Un problème majeur avec la mise en œuvre manuelle est la charge sur le contrôleur, c’est pourquoi nous aimerions vous présenter cette bibliothèque aujourd’hui:

https://github.com/HobbyComponents/HCMotor

Ceux-ci (et d’autres bibliothèques de moteurs) offrent la possibilité d’exécuter le moteur "en arrière-plan", c’est-à-dire de ne pas bloquer le contrôleur afin que notre ONU puisse effectuer d’autres tâches.

Nous avons déjà montré comment installer la bibliothèque dans de nombreux billets de blog.

Afin d’avoir un pouvoir suffisant pour notre ventilateur et de ne pas endommager l’ONU, nous utilisons le Module MOS avec IRF520.

Le câblage:

Les trois broches du module MOS sont connectées à l’ONU, à la source d’énergie et au ventilateur aux terminaux à vis :

Onu Module MOS Alimentation Consommateurs
5v Vcc Vcc
Gnd Gnd
D6 D6 Sig Sig (Sig)
Vin (Vin) 12v
Gnd Gnd
V +
V- -

 

Voici le code:

 

#include "HCMotor.h"
#define MOTOR_PIN 6 Broche PWM    HCMotor (en) HCMotor (en);
 
Vide Configuration(){   Série.Commencer(9600);   HCMotor (en).Init();   HCMotor (en).joindre(0, DCMOTOR (en), MOTOR_PIN);   HCMotor (en).DutyCycle (DutyCycle)(0, 100); vitesse minimale 0 et maximale 100
}    Vide Boucle(){      Tandis que(Série.Disponible() > 0){          Int Valeur = Série.Lirestring().Toint();     Int motorSpeed = Carte(Valeur, 0, 1024, 0, 100);     HCMotor (en).À l’heure(0, motorSpeed);   }
}

 

Amusez-vous à expérimenter!

Für arduinoProjekte für anfänger

4 commentaires

Moritz

Moritz

Hallo,
ich denke es ist immer schwierig das richtige Niveau für die Artikel zu finden. So wie ich das verstanden habe will AZ mit den Artikeln die Leute für Mikrocontroller begeistern und zur Umsetzung eigener Projekte anregen. Alle Sachen die ich hier im Blog gefunden habe funktionierten auf Anhieb, das ist recht selten. Interne Timer und Register sind nicht besonders anfängerfreundlich. Sieht einfach aus, ist es aber nicht….

Matthias Jacobsen

Matthias Jacobsen

Moin,
Prinzipiell finde ich ihren Beitrag sehr gut.
Erwähnenswert wäre, dass die Benutzung des internen Timermoduls. Dieser lässt sich als pwm Generator parametrisieren und dies benötigt auch nur ca. 3 Zeilen Code.
Damit läuft der pwm Generator im Hintergrund und blockiert die Main nicht.

Es ist zwar schön wenn einem Librarys die Arbeit abnehmen und Mann nicht weiß was diese tun.

Gruß
Matthias

Ljubomir Madzarac

Ljubomir Madzarac

Monitor ??? Motor :-)

Norbert

Norbert

Vielen Dank das Du dein Wissen mit uns teilst.
Jedoch wären im Programm einige Erklärungen hilfreich, da ich trotz ein wenig
Programmierkenntnis da nicht so viel verstehe.
Wo ist denn der Wert der den Motor (soll warscheinlich der erwähnte Lüfter sein) Steuert?

Ihr Programmierprofis setzen häufig zuviel als selbstverständlich voraus, und hängt dann die lernwilligen ab, schade.

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery