คำอธิบาย
บอร์ดขับมอเตอร์บัสเลส BLDC Servo Motor drivers SimpleFOC Mini V1.0 DRV8313
- SimpleFOC library and any BLDC motor Open-Source
- DRV8313 H-bridge drivers based Overcurrent protection, Fault detection Deep-sleep more
- Onboard 3.3V LDO regulator maximum current 10mA
- Power supply 8-35V
- Max current 2.5A
- Max Power 100W
- The input control signal is compatible with 3.3V and 5V
- Supports SPWM and SPVMW control algorithms (not support traditional 6-step commutation control algorithms)
- Small package 26mm x 21mm
Three-PhaseBrushless-DCMotorControl
ระวัง: ข้อ จำกัด ด้านพลังงาน Power limitations
- SimpleFOCMini ออกแบบมาสำหรับมอเตอร์ gimbal ที่มีความต้านทานภายในสูงกว่า R>10Ohm กระแสสูงสุดสัมบูรณ์ของบอร์ดนี้คือ 5A โปรดตรวจสอบให้แน่ใจว่ามอเตอร์ BLDC ที่ใช้เป็นไปตามข้อจำกัดเหล่านี้เมื่อใช้บอร์ดนี้ในโครงการของคุณ หากคุณยังต้องการใช้ไดรเวอร์นี้กับมอเตอร์ BLDC ที่มีความต้านทานต่ำมาก R < 1 โอห์ม ตรวจสอบให้แน่ใจว่าได้จำกัดแรงดันไฟฟ้าที่ตั้งค่าไว้ที่บอร์ด
สำหรับข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับตัวเลือกของมอเตอร์ โปรดไปที่ BLDC motor docs
1 2 |
<span class="c1">//default voltage_power_supply</span> <span class="fcnName">motor</span><span class="p">.</span><span class="classProps">voltage_limit</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> |
https://docs.simplefoc.com/mini_getting_started
https://docs.simplefoc.com/mini_connect_hardware
An example connection of the SimpleFOCMini and Arduino UNO is shown on the image below.
SimpleFOCMini can be directly plugged into the Arduino headers of the UNO board from the pin 8
to the 12
pin (pin 12 can act as a GND pin) and in that way reduce the amount of wires necessary. For more information on this example connection see this library example.
Mini Pin | EN | IN3 | IN2 | IN1 | GND |
UNO Pin | 8 | 9 | 10 | 11 | 12 |
1 |
<span class="className">BLDCDriver3PWM</span> <span class="n">driver</span> <span class="o">=</span> <span class="className">BLDCDriver3PWM</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">8</span><span class="p">);</span> |
Installing the SimpleFOClibrary
- https://docs.simplefoc.com/installation#installing-the-simplefoclibrary
- https://docs.simplefoc.com/library_download
Product List:
- 1x DC brushless motor driver module
- 1x 5P double header
- 1x 3P single header
- 1x 2P single header
BLDC Servo Motor Development Board
- BLDC Servo Motor Development Board https://docs.simplefoc.com/simplefocmini
- DRV8313 2.5-A Triple 1/2-H Bridge Driver 65-V max, 3-A peak 3-phase motor driver
- https://www.ti.com/lit/ds/symlink/drv8313.pdf?ts=1650461862269&ref_url=https%253A%252F%252Fwww.google.com%252F
PCB Dimension 20x26mm
// Open loop motor control example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
// Open loop motor control example #include <SimpleFOC.h> // BLDC motor & driver instance // BLDCMotor motor = BLDCMotor(pole pair number); BLDCMotor motor = BLDCMotor(11); // BLDCDriver3PWM driver = BLDCDriver3PWM(pwmA, pwmB, pwmC, Enable(optional)); BLDCDriver3PWM driver = BLDCDriver3PWM(11, 10, 9, 8); // Stepper motor & driver instance //StepperMotor motor = StepperMotor(50); //StepperDriver4PWM driver = StepperDriver4PWM(9, 5, 10, 6, 8); //target variable float target_velocity = 0; // instantiate the commander Commander command = Commander(Serial); void doTarget(char* cmd) { command.scalar(&target_velocity, cmd); } void doLimit(char* cmd) { command.scalar(&motor.voltage_limit, cmd); } void setup() { // driver config // power supply voltage [V] driver.voltage_power_supply = 12; // limit the maximal dc voltage the driver can set // as a protection measure for the low-resistance motors // this value is fixed on startup driver.voltage_limit = 6; driver.init(); // link the motor and the driver motor.linkDriver(&driver); // limiting motor movements // limit the voltage to be set to the motor // start very low for high resistance motors // currnet = resistance*voltage, so try to be well under 1Amp motor.voltage_limit = 1; // [V] // open loop control config motor.controller = MotionControlType::velocity_openloop; // init motor hardware motor.init(); // add target command T command.add('T', doTarget, "target velocity"); command.add('L', doLimit, "voltage limit"); Serial.begin(115200); Serial.println("Motor ready!"); Serial.println("Set target velocity [rad/s]"); _delay(1000); } void loop() { // open loop velocity movement // using motor.voltage_limit and motor.velocity_limit motor.move(target_velocity); // user communication command.run(); } |
การใช้ Simple FocMini ควบคุม BLDC Motor ผ่าน Arduino
รีวิว
ยังไม่มีบทวิจารณ์