PWM via Serial Monitor

Hallo allemaal

we hebben al enkele producten in ons portfolio waarmee stepper- of DC-motoren met meerdere kanalen op de Arduino kunnen worden gebruikt. Vandaag wil ik een werking van een 12V-motor op een Arduino laten zien. In principe kan elke consument die wordt bestuurd via PWM worden aangesloten, b.v. ook een LED. De snelheid of helderheid kan worden geregeld via de seriële monitor. Het uitvoeren van het project zonder een bibliotheek is mogelijk, maar het heeft ook nadelen. Een groot probleem met handmatige implementatie is de belasting van de controller. Daarom willen we deze bibliotheek vandaag aan u voorstellen:

https://github.com/HobbyComponents/HCMotor

Deze (en andere motorbibliotheken) bieden de mogelijkheid om de motor "op de achtergrond" te laten draaien, d.w.z. om de controller niet te blokkeren zodat onze VN andere taken kan uitvoeren.

We hebben al laten zien hoe de bibliotheek in veel blogberichten te installeren.

We gebruiken dit om voldoende stroom beschikbaar te hebben voor onze ventilator en om de VN niet te beschadigen MOS-module met IRF520.

De bedrading:

De drie pinnen van de MOS-module zijn verbonden met de UNO, stroombron en de ventilator met de schroefklemmen:

VN MOS-module Voeding Consumenten
5V VCC
GND GND
D6 Sig
VIN 12V
GND GND
V + +
V- -

 

Hier is de code:

 

# opnemen "HCMotor.h"
#define MOTOR_PIN 6 // PWM-pen    HC motor HC motor;
 
nietig instellen(){   Serie.beginnen(9600);   HC motor.Init();   HC motor.hechten(0, DCMOTOR, MOTOR_PIN);   HC motor.DutyCycle(0, 100); // minimum 0 en maximum snelheid 100
}    nietig lus(){      terwijl(Serie.beschikbaar() > 0){          int waarde = Serie.readString().toInt();     int motorSpeed = kaart(waarde, 0, 1024, 0, 100);     HC motor.OnTime(0, motorSpeed);   }
}

 

Veel plezier met experimenteren!

Für arduinoProjekte für anfänger

4 Kommentare

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.

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi