Project image
)}
$644
pledged of $2,195pledged of $2,195 goal
10
backers
Funding Unsuccessful
The project's funding goal was not reached on Mon, February 19 2018 2:20 PM UTC +00:00
Igor ChekhovtsovBy Igor Chekhovtsov
First created
Igor ChekhovtsovBy Igor Chekhovtsov
First created
$644
pledged of $2,195pledged of $2,195 goal
10
backers
Funding Unsuccessful
The project's funding goal was not reached on Mon, February 19 2018 2:20 PM UTC +00:00

What is a prototype?

A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:

Proof of Concept

Explorations that test ideas and functionality.

Functional Prototype

Demonstrates the functionality of the final product, but looks different.

Appearance Prototype

Looks like the final product, but is not functional.

Design Prototype

Appearance and function match the final product, but is made with different manufacturing methods.

Production Prototype

Appearance, function, and manufacturing methods match the final product.

C0f50300c09b88a5760c1b01f0ad5e6d original.jpg?ixlib=rb 2.0

Prototype Gallery

These photos and videos provide a detailed look at this project’s development.

About

Introduction - Modular System

When I start a BLDC motor controller design there was a one problem. A lot of MOSFETs where burned when a switching control algorithm was debugged. To help myself a motor controller board was split on two parts. First is a Processor Module includes microcontroller and LDO voltage regulator. Second is an Application Module includes three phase driver, power MOSFET stage and a current control circuitry. I debugged an initial switching algorithm using only a Processor Module, then connect two modules together and proceed debugging everything else.

I see two most important advantages of a modular design (although there are more):

  • Each module can be independently created and then used in different systems
  • Modules can be changed or updated without affecting other connected modules  

Sensorless BLDC Motor Controller

   a. Hardware

This project hardware is a totally open source product. Backers will get all schematics and PCB layout of my hardware design.

This is my first Modular System project where developed modules will be used in the next.

Modular System (MS):

  • Processor Module(PM)  
  • Application Module(AM)
  • Debug Module(DM)

Processor Module (PM) - MSP430FR5949

https://c-firmware.com/wp-content/uploads/2016/11/BLDC_v4.5_FR5949_sch.pdf

Processor Module (PM) - MSP430FR5949
Processor Module (PM) - MSP430FR5949
  • 3.3…24V input voltage, 3.3V output, 150 mA LDO
  • MSP430FR5949 microcontroller
  • 32.768 kHz crystal 
  • pads for JTAG and UART interfaces
  • all 33 (from 40) usable PINs are available 
  • small size: 1″ x 0.5″

For the Processor Module Texas Instruments (TI) microcontroller MSP430FR5949 was chosen. Why? There are the reasons for that.

  • TI MSP430 microcontrollers have been proven to be the best for using in the battery powered systems. This is may be not the case for the motor controllers, but as a module it could be used in the next projects required very low power consumption.
  • MSP430FR5949 uses FRAM instead EEPROM. FRAM technology combines the speed, flexibility, and endurance of SRAM with the stability and reliability of flash or EEPROM at much lower power. It's helpful to use it, for example, for tuned look up tables etc.
  • This 16-bit 16 MHz microcontroller has so many helpful features, like fast recovery from the “sleep” modes, 12-bit ADC that can be configured as a window comparator, 32-Bit Hardware Multiplier, 128-Bit or 256-Bit AES Security Encryption and Decryption Coprocessor, very rich peripherals etc.

I have plans to use other Texas Instruments and ARM Cortex series processors. You can tell me, what you'd like :) .

What is so special in this Processor Module?

  • MSP430FR5949 16 MHz Ultra-Low-Power, 64 KB FRAM, 2 KB SRAM, 33 IO
  • all 33 pins are available
  • small size

Application Module (AM) – analog part of BLDC motor controller

https://c-firmware.com/wp-content/uploads/2016/11/BLDC_v4.9_MOSFET_sch.pdf

Application Module (AM) - analog part of motor controller
Application Module (AM) - analog part of motor controller
  • 3.3...8.4V and up to 6A (12A MOSFETs)  
  • Current Sense Amplifier with gain 50  
  • Current Sense Resistor – 1/4 watt, 0.01 ohms, 1%  
  • power pads  
  • remote speed control pads (for 1…2 ms PPM, 0…100% duty cycle)  
  • small size: 1″ x 0.5″

What is so special in this Application Module?  

  • Input voltage range up to 8.4V (li-ion 1S, 2S batteries)
  • Support current up to 6A (12A MOSFETs)
  • A current sensor used to measure current consumption and an initial rotor position
  • small size

I want to mention, the module's hardware itself can work up to 16V, but I've limited input voltage because a Processor Module 12-bit ADC has not enough dynamical range for signal measurements from all needed channels.

Attention, reverse voltage destroys a motor controller. Connection of an external voltage polarity has to be carefully controlled.

Motor controller as a Modular System can work and be debugged independently from a Debug Module. This is a  convenient way when a controller installed on a quad copter, for example.

 project video thumbnail
Replay with sound
Play with
sound

Video 1. Motor speed controlled by PC HyperTerminal through UART serial interface

 project video thumbnail
Replay with sound
Play with
sound

Video 2. Motor speed controlled by Futaba RC radio

Although a modular motor controller can be debugged independently, a Debug Module, as a part of a Modular System, gives an easy excess to the all microcontroller pins and makes a debugging more convenient.

Debug Module (DM)

https://c-firmware.com/wp-content/uploads/2018/01/DM-v1.0.pdf

Debug Module - top
Debug Module - top
  • 2-pin input power connector (up to 8.4 V)
  • 3-pin jumper block for "external/JTAG" power
  • 14-pin TI JTAG connector
  • 2 x 18 pins 0.100" pitch debug connector
  • two 2 x 18 pins 0.050" pitch sockets for PM
  • two 2 x 18 pins 0.050" pitch connectors for AM
  • two 1.4 mm screws used for PM and AM aligned connection to DM
  • green LED
Debug Module - bottom
Debug Module - bottom
  • Micro USB Type B Connector and  serial UART to USB IC
  • two 18 pins 0.100" pitch debug connectors for breadboard
  • small size: 2.8" x 1"
Processor Module installed on the Debug Module
Processor Module installed on the Debug Module
The Processor and Application Modules installed on a Debug module connected to a breadboard
The Processor and Application Modules installed on a Debug module connected to a breadboard
 project video thumbnail
Replay with sound
Play with
sound

  Video 3. Using a Debug Module makes it a Development Kit

Using a Debug Module requires to limit a current by 2 A. For that purpose it's could be helpful to use a power supply (linear is better) with a current control. This motor controller can hold short time shortages, but only couple seconds :) .

   b. Firmware

Event driven finite state machines (FSM) approach was used for this sensorless BLDC motor controller firmware.

The programming language is C and there is no operating system.

It was implemented by myself from scratch based on the well known motor control, other algorithms and the backers will get the processor boards with pre-installed firmware.

What the implemented firmware can do?

  • Uses a 31.25 kHz symmetric PWM scheme to better detect BEMF zero crossing
  • 12-bit ADC configured as a window comparator makes more error prone zero crossing detection, especially on a start
  • Initial Position Detection (IPD) algorithm was implemented based on Variable Inductance Sensing Method
  • A rotor revolving direction can be changed any time on a fly, that can be used for "reverse braking"
  • Safety stop when a motor stalled
  • Motor speed control (start, stop, up, down, duty cycle %) and obtaining a real time telemetric data (speed, voltage current) using serial UART interface configured for 460800 bps
  • Motor speed control using standard 1...2 ms PPM of remote control (RC) devices

In this project where used:

  • Three timers, one of which was configured for 6 PWM output
  • Real Time Clock
  • FRAM configured to work with 16 MHz clock
  • UART with DMA configured for 460800 bps
  • 12-bit ADC configured for the signal measurements from 6 sources and three voltage references
  • GPIO pins for LED control
  • Interrupts from 6 different sources

What is so special in this firmware?   

  • Highly optimized for speed and a code space (compiler optimization isn't used)
  • My technical support for all backers

   c. Debugging

The firmware development and debugging process always requires two things: Emulator/Debugger and Integrated Development Environment (IDE).

For MSP430 series of microcontrollers Emulator/Debugger is MSP-FET.

MSP-FET430UIF (old) and MSP-FET (new) emulators
MSP-FET430UIF (old) and MSP-FET (new) emulators

IDE I've used is Texas Instruments Code Composer Studio (CCS v7) because it is free and doesn't have any code size limitations. You can use any other suitable IDE, like IAR, Keil etc.

If you are working, for example, with ARM processors you need an Emulator/Debugger like Segger J-Link and Kinetis IDE. If a microcontroller is Atmel, you need Atmel Ice debugger and Atmel Studio IDE.

I mean, if you are doing an embedded development you have to use something like that :) .

Rewards

I hope this project will help you to extend your knowledge and experience and you can help me to realize new ideas which can be helpful for you again.

Thank you for your support!

Risks and challenges

A prototype of the sensorless BLDC Motor Controller as a Modular System has already been build, debugged and tested. I have everything to assemble and test in a house the full sets of Processor, Application and Debug modules for all backers and I don't anticipate any problems delivering the boards on time. I'll keep you updated every step along the way.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge $12 or more About $12

    Processor Module

    Get the MSP430FR5949 Processor Module. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $15 or more About $15

    Debug Module

    Get the Debug Module. Comes tested and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $20 or more About $20

    Application Module

    Get the Application Module. Comes tested and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $30 or more About $30

    Motor Controller

    Get the one set: Processor and Application Modules. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $40 or more About $40

    Full Modular System, early bird

    Get the full sensorless BLDC motor controller as a Modular System: Processor, Application and Debug Modules at an early-bird price. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 5 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $45 or more About $45

    Full Modular System

    Get the full sensorless BLDC motor controller as a Modular System: Processor, Application and Debug Modules at an early-bird price. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $110 or more About $110

    Motor Controller - 4 sets

    Get the 4 sets of sensorless BLDC motor controllers. One set includes the Processor and Application Modules. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware and open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge $120 or more About $120

    Motor Controller - 4 sets + Debug Module

    Get the 4 sets of sensorless BLDC motor controllers plus one Debug Module. One set includes the Processor and Application Modules. Comes preinstalled with the firmware and is ready to run. You are also helping to make this modular motor controller hardware an open source, thank you!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    3 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)