banner



How To Repair Terminal Solder Connection On Motor

Arduino Simple Field Oriented Control (FOC) library

Library Compile License: MIT arduino-library-badge

Nosotros alive in very exciting times 😃! BLDC motors are inbound the hobby community more and more and many dandy projects have already emerged leveraging their far superior dynamics and power capabilities. BLDC motors have numerous advantages over regular DC motors but they take i large disadvantage, the complexity of control. Even though information technology has become relatively like shooting fish in a barrel to design and industry PCBs and create our own hardware solutions for driving BLDC motors the proper low-cost solutions are nonetheless to come. Ane of the reasons for this is the apparent complexity of writing the BLDC driving algorithms, Field oriented control (FOC) being an example of one of the most efficient ones. The solutions that tin can be institute on-line are well-nigh exclusively very specific for certain hardware configuration and the microcontroller architecture used. Additionally, most of the efforts at this moment are still channeled towards the high-power applications of the BLDC motors and proper low-cost and low-ability FOC supporting boards are very hard to find today and even may not exist.
Therefore this is an attempt to:

  • 🎯 Demystify FOC algorithm and make a robust simply simple Arduino library: Arduino SimpleFOClibrary
    • Support as many motor + sensor + commuter + mcu combinations out there
  • 🎯 Develop a modular FOC supporting BLDC driver boards:
    • Low-power gimbal driver (<5Amps) : Arduino SimpleFOCShield.
    • NEW 📢: Medium-power BLDC driver (<30Amps): Arduino SimpleFOCPowerShield .
    • Run into also @byDagor's fully-integrated ESP32 based board: Dagor Brushless Controller

NEW RELEASE 📢: SimpleFOClibrary v2.2 - run across release

  • Sensor floating point mistake bugfix (initial solution) simplefoc#83, simplefoc#37
  • Sensor class restructuring - slight API change - docs
  • Restructured the generic code and simplified adding new mcus: Important: an additional compiler flag needed for PlatformIO see consequence and PlatformIO docs
  • Removed initial spring simplefoc#110, simplefoc#111
  • Double to bladder transformation of the lawmaking - operation increase past @sDessens (simplefoc#100), @KaSroka (simplefoc#100)
  • Docs webiste translated to Chinese! 🎉: Awesome work 😃 past @MINQING1101, @Deng-ge-open-source and @mingggggggg
  • New MCU support - docs
    • Support for arduino leonardo simplefoc#108
    • Initial back up for portenta h7 lath in collaboration with Arduino
    • Initial support for esp8266
  • Depression side electric current sensing initial support - docs
    • Initial support for stm32 B_G431B_ESC1 by @sDessens: PR simplefoc#73
    • Initial support for samd21 by @maxlem: PR simplefoc#79
    • Initial support for esp32 by @byDagor

Arduino SimpleFOClibrary v2.i

This video demonstrates the ElementaryFOClibrary bones usage, electronic connections and shows its capabilities.

Features

  • Arduino compatible:
    • Arduino library code
    • Arduino Library Manager integration
  • Open up-Source: Full code and documentation available on github
  • Easy to setup and configure:
    • Piece of cake hardware configuration
    • Easy tuning the command loops
  • Modular:
    • Supports as many sensors, BLDC motors and driver boards as possible
    • Supports multiple MCU architectures:
      • Arduino: UNO, MEGA, any lath with ATMega328 chips
      • STM32 boards: Nucleo, Bluepill ...
      • ESP32
      • Teensy boards
  • Plug & play: Arduino SimpleFOCShield

Arduino SimpleFOCShield v2.0.3

Features

  • Plug & play: In combination with Arduino SimpleFOClibrary - github
  • Depression-cost: Price of €15 - Bank check the pricing
  • In-line current sensing: Up to 3Amps/5Amps bidirectional
    • configurable: 3.3Amps - three.3V adc, 5Amps - 5V adc
  • Integrated 8V regulator:
    • Enable/disable by soldering pads
  • Max ability 120W - max current 5A, power-supply 12-24V
    • Designed for Gimbal motors with the internal resistance >ten Ωs.
  • Stackable: running 2 motors in the aforementioned time
  • Encoder/Hall sensors interface: Integrated iii.3kΩ pullups (configurable)
  • I2C interface: Integrated 4.7kΩ pullups (configurable)
  • Configurable pinout: Hardware configuration - soldering connections
  • Arduino headers: Arduino UNO, Arduino MEGA, STM32 Nucleo boards...
  • Open Source: Fully available fabrication files - how to make it yourself

Getting Started

Depending on if yous want to apply this library as the plug and play Arduino library or you want to get insight in the algorithm and make changes there are two ways to install this code.

  • Full library installation Docs
  • Minimal project architect Docs

Arduino SimpleFOClibrary installation to Arduino IDE

Arduino Library Manager

The simplest way to get concur of the library is directly past using Arduino IDE and its integrated Library Manager.

  • Open up Arduino IDE and commencement Arduino Library Manager past clicking: Tools > Manage Libraries....
  • Search for Unproblematic FOC library and install the latest version.
  • Reopen Arduino IDE and you should have the library examples in File > Examples > Simple FOC.

Using Github website

  • Go to the github repository
  • Click get-go on Clone or Download > Download ZIP.
  • Unzip it and place it in Arduino Libraries folder. Windows: Documents > Arduino > libraries.
  • Reopen Arduino IDE and you should have the library examples in File > Examples > Uncomplicated FOC.

Using terminal

  • Open terminal and run
                cd                                  #Arduino libraries folder                git clone https://github.com/simplefoc/Arduino-FOC.git
  • Reopen Arduino IDE and y'all should have the library examples in File > Examples > Unproblematic FOC.

SimpleFOClibrary minimal project architect

For those willing to experiment and to change the code I suggest using the minimal project architect minimal branch.

This code is completely independent and you tin run information technology every bit any other Arduino Sketch without the demand for any libraries.

All you need to do is:

  • Go to minimal branch
  • Follow the tutorial in the README file and choose just the library files that are necessary for your application.

Arduino code case

This is a unproblematic Arduino code instance implementing the velocity control program of a BLDC motor with encoder.

NOTE: This plan uses all the default command parameters.

#include                                  <SimpleFOC.h>                                                  //                  BLDCMotor( pole_pairs )                BLDCMotor motor = BLDCMotor(11);                                  //                  BLDCDriver( pin_pwmA, pin_pwmB, pin_pwmC, enable (optional) )                BLDCDriver3PWM commuter = BLDCDriver3PWM(9,                10,                11,                eight);                                  //                  Encoder(pin_A, pin_B, CPR)                Encoder encoder = Encoder(2,                three,                2048);                                  //                  channel A and B callbacks                void                doA(){encoder.handleA();}                void                doB(){encoder.handleB();}                void                setup() {                                  //                  initialize encoder hardware                encoder.init();                                  //                  hardware interrupt enable                encoder.enableInterrupts(doA, doB);                                  //                  link the motor to the sensor                motor.linkSensor(&encoder);                                  //                  power supply voltage [5]                driver.voltage_power_supply                =                12;                                  //                  initialise driver hardware                commuter.init();                                  //                  link driver                motor.linkDriver(&driver);                                  //                  gear up control loop type to be used                motor.controller                = MotionControlType::velocity;                                  //                  initialize motor                motor.init();                                  //                  align encoder and start FOC                motor.initFOC(); }                void                loop() {                                  //                  FOC algorithm part                motor.loopFOC();                                  //                  velocity control loop function                                  //                  setting the target velocity or 2rad/s                motor.move(two); }

You can discover more details in the SimpleFOC documentation.

Example projects

Hither are some of the SimpleFOClibrary and SimpleFOCShield application examples.

Documentation

Find out more information about the Arduino SimpleFOC project in docs website

Arduino FOC repo construction

Branch Clarification Status
main Stable and tested library version Library Compile
dev Development library version Library Dev Compile
minimal Minimal Arduino example with integrated library MinimalBuild

Source: https://githubhelp.com/1126259445/Arduino-FOC

Posted by: searsgloopenise87.blogspot.com

0 Response to "How To Repair Terminal Solder Connection On Motor"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel