Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

High-Performance Arduino-bibliotheek voor DC-motorbesturing

Onderdelen en benodigdheden

OnderdeelAantal
Arduino UNO1
Algemene NPN-transistor2
Algemene PNP-transistor2
Weerstand 1k ohm2
1N4007 Diode (hoge spanning/stroom)4

Apps en online diensten

  • Arduino IDE

Over dit project

High-Performance Arduino-bibliotheek voor DC-motorbesturing

Deze bibliotheek biedt industriële bewegingscontrole voor DC-motoren met 16 functies voor veelzijdige besturing:

  1. Richting bepalen (vooruit/achteruit)
  2. Snelheid instellen (0–100%)
  3. Soft start: geleidelijke opstart in ingestelde tijd
  4. Smooth stop: geleidelijke stop in ingestelde tijd
  5. Jog control: korte ruk in opgegeven richting
  6. DC-brake: directe noodstop (vereist geschikte hardware/dynamische remweerstanden)

De eerste 8 functies bieden basiscontrole zonder snelheidsregeling. De volgende 8 vereisen PWM-pins (initialiseren met speed_flag=1).

Bibliotheekfuncties overzicht

FunctieBeschrijving
DC_Motor(int pin1, int pin2)Declareert Arduino-pins voor motor (geen snelheidscontrole)
DC_Motor(int pin1, int pin2, int speed_flag)Declareert PWM-pins voor motor (met snelheidscontrole)
start_motor(int dir)Start motor in richting (1=vooruit, 0=achteruit)
forward()Start motor vooruit
reverse()Start motor achteruit
dc_break()Directe stop (alleen met geschikte hardware)
stop_motor()Stopt motor
jogg_full_speed(int dir)Ruk voor 5 seconden op volle snelheid
set_speed(int speed)Stelt snelheid in (0–100%)
forward_with_set_speed()Draait vooruit op ingestelde snelheid
reverse_with_set_speed()Draait achteruit op ingestelde snelheid
run_motor(int dir, int speed)Draait in richting met snelheid
jogg_set_speed(int dir, int speed)Ruk in richting met ingestelde snelheid
motor_speed_zero()Verlaagt snelheid naar 0 (analoge uitgang)
soft_start(int dir, int speed, int time_sec)Zachte start: 0 → snelheid in seconden
smooth_stop(int time_sec)Zachte stop: huidige snelheid → 0 in seconden

Let op: bij snelheidscontrole stop_motor() niet gebruiken, maar motor_speed_zero().

Voorbeelden

1. Motor vooruit/achteruit op volle snelheid (geen snelheidscontrole)

#include 
DC_Motor motor(8, 12);
void setup() {}
void loop() {
  motor.forward(); delay(5000);
  motor.stop_motor(); delay(2000);
  motor.reverse(); delay(5000);
  motor.stop_motor(); delay(2000);
}

2. Motor met snelheidscontrole

#include 
DC_Motor motor2(9, 10, 1); // PWM-pins + speed_flag
void setup() {}
void loop() {
  motor2.set_speed(40);
  motor2.forward_with_set_speed(); delay(5000);
  motor2.motor_speed_zero(); delay(2000);
  motor2.set_speed(80);
  motor2.reverse_with_set_speed(); delay(5000);
  motor2.motor_speed_zero(); delay(2000);
}

3. Jog-commando's met en zonder snelheidscontrole

#include 
DC_Motor motor(8, 12);
DC_Motor motor2(9, 10, 1);
void setup() {}
void loop() {
  motor.jogg_full_speed(1);
  motor.jogg_full_speed(0);
  motor2.jogg_set_speed(0, 80);
  motor2.jogg_set_speed(1, 30);
}

4. Soft start en smooth stop

#include 
DC_Motor motor2(9, 10, 1);
void setup() {}
void loop() {
  motor2.soft_start(1, 90, 10); // 0→90% in 10s vooruit
  delay(3000);
  motor2.smooth_stop(5);        // 90%→0 in 5s
  motor2.soft_start(0, 50, 6);  // 0→50% in 6s achteruit
  delay(3000);
  motor2.smooth_stop(3);        // 50%→0 in 3s
}

Code

De bibliotheek (DC_Motor.h / DC_Motor.cpp) is een C-headerbestand. Kopieer de map DC_Motor naar je Arduino libraries-map (bijv. C:\arduino-1.6.7\libraries).

Schema's

High-Performance Arduino-bibliotheek voor DC-motorbesturing

Gebruik een H-brugschakeling (zoals getoond) voor correcte motorbesturing.

Productieproces

  1. Sensor-gestuurde Audio-effecten Bouwen met de Satellite CCRMA Kit
  2. Bouw je eigen DIY huiswerk-schrijfmachine thuis
  3. Arduino Uno Gebaseerde Mensendetectie Robot: Stap-voor-stap Sensorintegratie
  4. Uitgebreide bibliotheek voor bipolaire stappenmotoren met Arduino
  5. Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
  6. Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
  7. Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
  8. Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
  9. Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
  10. Naadloze LED-dimmer met Bolt IoT en Arduino UNO
  11. Slim Indoor Navigatie Robot Kit voor Arduino Projecten