Wanted: hacker

hacker_debugliveCurious to learn what’s inside in the top-tier servo drives? Want to put your ideas in motion? Are you a natural born microcontroller hacker suited for the job?

In other words, we’re now hiring the best of the best hacker available to take a major role in servo drive firmware development. If your socks started spinning already, don’t miss this once-in-a-lifetime chance and drop Granite Devices your CV now!

Argon servo drive firmware 2.1 adds SinCos encoder support

The just released Argon servo drive firmware version 2.1.0 adds support for encoders with analog Sin/Cos outputs. Drive allows selecting interpolation factors of 16, 64 and 256 for such encoder. This means that an sin/cos encoder with 1000 lines per revolution, would give resolution equivalent of 256*1000 lines. In addition to this, normal quadrature decoder 4x gain applies on top of that, meaning that 1000 line encoder will yield total resolution of 1024000 counts per revolution.

The FW upgrade contains also many other improvements based on the user feedback that we have received. For full list & download, see firmware page at wiki.

Perfecting BLDC performance

Something cool is under development relating to BLDC (brushless DC) motors. BLDC is similar technology to sinusoidal AC motors but with trapezoidal voltage waveform. This makes BLDC little bit smaller and usually cheaper than AC motor.

BLDC torque simulation with FEMM

While I’m typing this, in running a FEM simulation of outrunner BLDC motor to optimize the electrical commutation phase angle for such motor. Iterative simulation takes some 20 hours to compute.

Finding optimum commutation angle makes it possible to implement MTPA (maximum torque per amp) drive algorithm for such engines. Such efficiency boost might be very beneficial especially in battery powered applications such as multicopters, but of course it also will benefit  squeezing more out of the existing motors. More about that later!

IONI firmware 1.4.0 gets floating point precision

To celebrate the new year 2016, we have released a new IONI firmware version 1.4.0. It includes rewritten torque controller that uses 32 bit floating point precision arithmetics instead of integer arithmetics. As IONI has hardware FPU, it yielded faster code execution time as well. This makes more room for the new upcoming features.

  •  Improvements
    • IONI Pro HC model maximum output current in AC/BLDC/Stepper modes increased to 25A (was 23A)
    • Re-implemented torque controller using 32 bit floating point arithmetics instead of integer arithmetics (at least theoretical precision improvement)
    • DC motor mode no longer requires parallel connection of drive output phases if current is at most 50% of drive’s maximum output current capability (sensitivity of overcurrent fault with Fault ID 440219 is greatly reduced).
  • Fixes
    • Changed limit switch polarity: earlier limit switches needed to be normally open (NO), while drive specifications say that they are normally closed type (NC). Now limit switchers are NC (switch conducting -> motion allowed, switch open -> motion stops).
    • Fix an issue where AC/BLDC motor initialization could become incorrectly phased when Hall sensors are enabled
    • Address an issue where torque was 5% lower than setpoint with TBW parameter value of 4700 Hz

Get it from here.

Firmware Monday!

We have released new firmware files for Argon and Ioni today. Also Granity has been updated.

Argon V2.0.0 beta 4

All reported bugs have been addressed. Beta 4 is a release candidate and it will become official 2.0 if no further problems are found. Once tested, please send feedback about it (email or comment here, also please tell which control mode you are using: torque, velocity or position). Or give vote on the poll on the right sidebar. Get the firmware from here.

Ioni V1.3.0

This update includes lots of changes since the last release. For full change log and downloads, see this wiki page. Feedback is very welcome.

Granity 1.9

The latest Granity includes support for the Ioni V1.3.0 as well as some improvements. Starting from this release, it includes also Linux version!

Motor torque cogging & uniformity compensation

Development today focused on improving torque smoothness of motors. Some motors, especially cheaper ones and stepping motors, suffer from cogging torque:

Cogging torque of electrical motors is the torque due to the interaction between the permanent magnets of the rotor and the stator slots of a Permanent Magnet (PM) machine. It is also known as detent or ‘no-current’ torque. This torque is position dependent and its periodicity per revolution depends on the number of magnetic poles and the number of teeth on the stator.”

This can be compensated by modulating motor current to counter the motor cogging. The firmware under development adds options to adjust compensation current by few new parameters.

Perfecting motor with cogging and uniformity compensations

Perfecting motor with cogging and uniformity compensations

In addition to cogging torque, the new feature allows compensating also nonuniformity of torque production. I.e. if motor torque setpoint is kept constant and motor is being turned, it may produce variable amount of torque due to same reasons than cogging. Nonuniformity compensation will modulate the torque setpoint by a selected sine or cosine function and amplitude.

The new feature beta will become available for IONI Pro in the soon upcoming FW release. We hope that this will bring cost of any motor control system down as cheaper motor could achieve nearly same smoothness as expensive ones.

High current IONIs arrived!

We’ve got our hands on the pilot run high current IONIs yesterday! Everything is working as expected which makes development straightforward.

Today I spent full day adapting the drive firmware, bootloader firmware and testing application to support the new hardware. It took some time to create a system where the one and only firmware runs on both hardware models. Firmware detects the underlying hardware model and automatically adjusts it’s operation accordingly.


Thank you for all the great name proposals! We are having difficult time choosing one among so many good options. The winner will be announced soon :)

Argon firmware 1.4.2 released

While we’re finalizing the Argon firmware 2.0 for official release, we have brought several of the 2.0’s fixes and improvements to the current official firmware version 1.4.2. Get it from the wiki!

Standard firmware version

  • Fixes & adjustments:
    • Added additional protection interlocks for drive’s internal in-rush limiter (reliability improvement)
    • Reduce sensitivity of resolver feedback device no-signal failure (fault location code 890101)
    • Increased upper limit of HV DC bus supply (parameter FOV increased)
    • Effectiveness of regenerative resistor improved
    • Speed of Phasing a.k.a. phase search increased
    • Current setpoint during Phasing a.k.a. phase search reduced to reduce unnecessary motor heating during power-on

Racing simulator special version

  • Additional changes to simulator wheel special version:
    • Eliminate Phasing a.k.a. phase search error in 110-120 VAC power networks
    • Duty cycle limit parameter (6110) now has 200% scale in 110-120 VAC power networks to have equal effect compared to 220-240 VAC networks

For those who don’t know yet, Argon is being used in many professional racing simulator systems. For introduction, see the comparison below: