Inter
national
J
our
nal
of
Recongurable
and
Embedded
Systems
(IJRES)
V
ol.
15,
No.
2,
July
2026,
pp.
339
∼
349
ISSN:
2089-4864,
DOI:
10.11591/ijres.v15.i2.pp339-349
❒
339
Congurable
embedded
solution
f
or
multi-mode
motor
contr
ol
Ufuk
G
¨
uner
Department
of
Electrical
and
Electronic
Engineering,
F
aculty
of
Engineering
and
Architecture,
Erzurum
T
echnical
Uni
v
ersity
,
Erzurum,
T
urk
e
y
Article
Inf
o
Article
history:
Recei
v
ed
Dec
18,
2025
Re
vised
Feb
23,
2026
Accepted
May
30,
2026
K
eyw
ords:
Brushless
direct
current
motor
Direct
current
motor
Motor
type
identication
Multi-mode
motor
dri
v
e
Stepper
motor
ABSTRA
CT
Precise
robotic
systems
often
require
multiple
motor
types,
which
increases
hardw
are
comple
xity
,
cost,
and
synchronization
ef
fort.
This
study
present
s
an
open-source
multi-mode
motor
control
platform
based
on
four
half-bridge
po
wer
stages,
enabling
direct
current
(DC),
brushless
direct
current
(BLDC),
and
step-
per
motor
control
on
a
single
hardw
are
architecture.
Unlik
e
e
xisting
softw
are-
based
multi-mode
approaches,
the
proposed
system
intr
oduces
automatic
motor
type
identi
cation
and
safe
connection
v
erication
at
the
hardw
are
le
v
el,
re-
quiring
only
a
microcontroller
and
a
inte
grated
po
wer
stage.
This
represents
a
k
e
y
no
v
elty
of
the
platform.
Experimental
v
alidation
w
as
performed
using
three
dif
ferent
motor
types.
The
system
achie
v
ed
correct
motor
classication
o
v
er
re-
peated
i
dentication
tests,
with
no
f
alse
detections.
Position
control
e
xperiments
conrmed
stable
operation
across
DC,
BLDC,
and
stepper
motor
.
The
results
demonstrate
that
the
proposed
platform
signicantly
reduces
system
comple
x-
ity
while
pro
viding
reliable
multi-motor
operation
in
a
compact
and
lo
w-cost
structure.
This
is
an
open
access
article
under
the
CC
BY
-SA
license
.
Corresponding
A
uthor:
Ufuk
G
¨
uner
Department
of
Electrical
and
Electronic
Engineering,
F
aculty
of
Engineering
and
Architecture
Erzurum
T
echnical
Uni
v
ersity
Erzurum,
T
urk
e
y
Email:
ufuk.guner@erzurum.edu.tr
1.
INTR
ODUCTION
Direct
current
(DC)-dri
v
en
actuators
are
used
e
xtensi
v
ely
in
robotics,
electric
cars,
and
automati
on.
The
most
commonly
used
actuators
in
these
elds
are
DC,
stepper
,
and
brushless
direct
current
(BLDC)/
permanent
magnet
synchronous
motor
(PMSM)
motors.
These
motors
require
separate
dri
v
e
hardw
are
and
softw
are
for
optimal
performance
due
to
dif
ferent
dri
ving
principles,
current
control
strate
gies,
and
feedback
requirements
[1].
This
situation
leads
to
the
construction
of
comple
x
hardw
are
structures,
especially
in
proto-
typing
and
e
xperimental
studies
where
dif
ferent
types
of
motors
are
used
together
.
Hardw
are-wise,
these
motors
can
be
dri
v
en
using
dif
ferent
half-bridge
po
wer
switching
unit
t
opolo-
gies,
disre
g
arding
motor
po
wer
.
While
DC
motors
are
dri
v
en
by
a
simple
full-bridge
[2],
PMSM/BLDC
motors
require
precise
current
and
position
feedback
along
with
three
half-bridges
[3].
On
the
other
hand,
stepper
motors
require
tw
o
full-bridges
and
chopper
current
control
[4].
Therefore,
although
the
basic
hardw
are
is
a
half-bridge,
each
motor
type
requires
dif
ferent
hardw
are
optimization
and
control
infrastructures.
Additionally
,
po
wer
dif
ferences
between
the
same
motor
types
also
necessitate
a
change
in
the
po
wer
stage.
Research
on
motor
dri
v
e
s
ystems
has
generally
focused
on
de
v
eloping
control
methods
specic
to
J
ournal
homepage:
http://ijr
es.iaescor
e
.com
Evaluation Warning : The document was created with Spire.PDF for Python.
340
❒
ISSN:
2089-4864
the
motor
type.
Specically
,
sensorless
and
adapti
v
e
control
strate
gies
for
BLDC
motors
are
comprehensi
v
ely
addressed
with
the
goal
of
achie
ving
high
ef
cienc
y
and
dynamic
performance
[5],
[6].
Sliding
mode
and
com-
bined
control
approaches
are
recommended
for
stepper
motors
[7].
Con
v
erter
-based
adapti
v
e
[8]
and
embedded
control
softw
are
is
of
fered
for
DC
motors
[9].
These
studies
of
fer
signicant
contrib
utions
in
terms
of
control
algorithms.
Ho
we
v
er
,
the
studies
are
based
on
dri
v
e
architectures
specic
to
motor
type.
In
studies
on
the
control
of
mult
iple
motors,
the
general
aim
is
to
synchronize
the
dri
ving
of
multiple
same
type
motors
[10]–[12]
with
the
same
type
system
architectures.
Such
as,
FPGA-based
multi-motor
control
platforms
for
electric
v
ehicles
and
industrial
applications
[13].
Ho
we
v
er
,
in
these
systems,
it
is
also
assumed
that
the
motor
types
are
homogeneous.
Therefore,
current
multi-motor
control
studies
do
not
address
the
issue
of
operating
dif
ferent
motor
types
together
.
A
signicant
portion
of
the
w
ork
on
systems
supporting
dif
ferent
motor
types
is
based
on
softw
are
libraries
or
FPGA-based
recongurable
architectures.
Librar
ies
such
as
SimpleFOC
[14]
and
STM32
motor
control
SDK
[15]
of
fer
common
control
algorithms
for
DC,
BLDC,
and
stepper
motors
in
microcontroller
-
based
solutions
.
Ho
we
v
er
,
the
po
wer
dri
v
er
stages
must
be
designed
or
added
separately
according
to
the
motor
type.
In
FPGA-based
systems,
hardw
are
control
cores
can
be
implemented
for
dif
ferent
motor
with
selecting
the
po
wer
stage
according
to
the
motor
type
[16],
[17].
Although
these
approaches
of
fer
e
xibility
in
control
design,
critical
aspects
such
as
po
wer
le
v
el
conguration,
current
limiting,
motor
type
identication,
and
safe
connection
management
are
left
entirely
to
the
user
.
This
situation
poses
a
si
gn
i
cant
limitation,
especially
for
robotic
systems
where
dif
ferent
types
of
ac-
tuators
are
used
together
,
e
xperimental
control
studies,
and
R&D
applications
requiring
rapid
prototyping.
The
requirement
for
separate
dri
v
ers
and
dif
ferent
po
wer
t
opologies
for
each
motor
type
e
xtends
system
inte
gration
time,
increases
costs,
and
mak
es
it
dif
cult
to
compare
and
e
v
aluate
control
algorithms.
The
best
approach
to
solving
this
problem
is
multi-mode
motor
dri
v
e
approximation
on
the
same
hardw
are.
On
the
other
hand,
designing
multi-mode
motor
control
on
the
same
platform
als
o
brings
with
it
some
problems.
T
o
ensure
opti-
mal
control
specic
to
the
motor
type,
hardw
are
deciencies
must
be
addressed
through
embedded
softw
are.
Magnetic
zero
and
direction
determination
are
required
for
BLDC
motors
[18].
Current
l
imiting
capability
must
be
pro
vided
for
stepper
motors.
The
control
algorithm
and
motor
type
must
be
matched.
Ev
en
if
this
match
is
determined
by
the
user
,
incorrect
entries
should
be
considered.
Applying
the
wrong
control
mode
can
lead
to
serious
safety
risks,
including
high
current,
o
v
erheating,
and
uncontrolled
torque
generation
[19].
It
is
also
quite
dif
cult
to
support
a
wide
range
of
motor
po
wer
.
This
study
proposes
a
platform
that
utilizes
an
open-source
multi-mode
motor
dri
v
e
architecture
b
uilt
around
a
microcontroller
.
The
proposed
platform
aims
to
control
DC,
BLDC,
and
stepper
motors
as
serv
os
on
the
same
hardw
are.
An
inte
grated
circuit
is
used
for
dri
ving
DC,
BLDC,
or
stepper
motors.
The
inte
grated
cir
-
cuit
contains
four
half-bridge
channels.
The
inte
grated
circuit
pro
vides
current
feedback
from
each
channel.
In
the
study
,
mo
ving
a
v
erage
lteri
ng
is
applied
within
direct
memory
access
(DMA)
for
f
ast
and
ef
fecti
v
e
current
measurement.
The
po
wer
stage
has
a
single
current
limit
input
for
all
bridges.
A
digital-to-analog
con
v
erter
(D
A
C)
is
used
for
dynamic
current
limiting.
In
softw
are
optimization,
special
algorithms
ha
v
e
been
de
v
eloped
for
dif
ferent
motor
types,
considering
hardw
are
capabilities.
An
algorithm
for
determining
the
direction
and
magnetic
zero
for
the
BLDC
motor
w
as
de
v
eloped
using
feedback
from
the
encoder
.
F
or
the
stepper
motor
,
closed-loop
control
with
encoder
feedback
w
as
implemented
to
o
v
ercome
the
lack
of
a
current
chopper
.
An
additional
decision
algorithm
has
also
been
inte
grated
into
the
system
to
determine
the
motor
type
and
acti
v
ate
the
appropriate
controller
.
Embedded
softw
are
supports
data
collection,
paramet
er
adjus
tment,
and
real-time
simulation
inte
gration.
In
this
respect,
the
proposed
system
of
fers
a
unied
hardw
are-softw
are
co-design
archi-
tecture
that
supports
heterogeneous
motor
types
on
a
single
po
wer
stage,
in
contrast
to
the
com
mon
approach
in
the
literature
of
a
dedicated
dri
v
er
per
motor
type.
Furthermore,
it
allo
ws
for
the
determination
of
motor
type
and
acti
v
e
channels,
which
is
a
weakness
of
softw
are-based
multi-mode
motor
control
solutions.
The
pro-
posed
platform
pro
vides
a
lo
w-cost,
f
ast,
and
recongurable
solution
for
comparati
v
e
testing
of
heterogeneous
multi-motor
mechatronic
systems,
educational
laboratory
infrastructure,
and
control
algorithms.
2.
HARD
W
ARE
CONFIGURA
TION
The
core
of
the
system
is
the
STM32F405RB
microcontroller
unit
(MCU),
which
pro
vides
high
pro-
cessing
po
wer
and
e
xtensi
v
e
peripheral
support.
The
MCU
is
responsible
for
PWM
generation,
current
and
v
olt-
age
measurement,
data
communication,
and
e
x
ecuting
control
algorithms.
The
system
uses
the
DR
V8962DD
W
Int
J
Recongurable
&
Embedded
Syst,
V
ol.
15,
No.
2,
July
2026:
339–349
Evaluation Warning : The document was created with Spire.PDF for Python.
Int
J
Recongurable
&
Embedded
Syst
ISSN:
2089-4864
❒
341
four
half-bridge
motor
dri
v
er
inte
grated
circuit
as
the
motor
po
wer
stage
[20].
The
connections
between
the
MCU
and
the
po
wer
stage
are
arranged
to
include
control
and
feedback
signals.
F
igure
1
sho
ws
design
of
the
multi-mode
motor
control
platform.
Motor
supply
is
applied
directly
to
the
po
wer
stage.
Figure
1.
Design
of
the
multi-mode
dri
v
er
The
MCU,
on
the
other
hand,
is
po
wered
independently
from
the
motor
dri
v
er
via
USB.
Feedback
from
the
motors
includes
current
and
b
us
v
oltage,
as
well
as
position
and
speed
information.
There
are
tw
o
quadratic
encoder
inputs.
Additionally
,
there
is
an
e
xtra
input
for
encoders
that
has
serial
peripheral
interf
ace
(SPI).
Encoder
data
is
used
in
the
closed-loop
control
algorithms.
The
block
diagram
of
the
proposed
multi-
mode
motor
controller
is
sho
wn
in
Figure
2.
Figure
2.
Block
diagram
of
multi-mode
motor
control
The
po
wer
stage
pro
vides
current
feedback
from
the
high-side
of
each
half-bridge
[20].
The
current
feedback
outputs
are
connected
to
the
MCU’
s
analog-to-digital
con
v
erter
(ADC)
unit.
The
MCU
performs
ADC
readings
using
DMA.
Measurements
are
ltered
with
the
mo
ving
a
v
erage
on
the
DMA.
The
current
reference
for
the
po
wer
stage
is
connected
to
the
MCU’
s
D
A
C
output.
The
MCU
can
dynamically
adjust
the
current
limit
via
the
D
A
C.
The
e
xternal
unit
connection
of
the
system
is
achie
v
ed
using
the
MCU’
s
internal
USB
i
nterf
ace.
W
ith
the
USB
connection,
the
MCU
can
be
connected
to
MA
TLAB
or
similar
simulation
en
vironments.
In
this
study
,
a
MA
TLAB
user
interf
ace
is
used.
Control
parameters,
tar
get
position,
current
limits,
and
other
parameters
can
be
sent
to
the
platform
via
the
USB
interf
ace.
Real-time
data
is
recei
v
ed
o
v
er
the
same
connection.
3.
CONTR
OL
ALGORITHMS
The
algorithm
initially
w
aits
for
parameters
and
commands
from
the
user
.
In
this
s
tudy
,
the
MA
TLAB
en
vironment
w
as
used
for
user
input.
When
commands
and
parameters
arri
v
e
from
the
user
,
the
algorithm
rst
performs
the
function
of
determining
the
motor
type
and
acti
v
e
channels.
If
there
are
no
errors
or
incompatible
motors
at
this
stage,
the
motor
rotation
direction
is
determined
according
to
the
motor
connections.
Subse-
quently
,
the
rele
v
ant
motor
control
layer
is
acti
v
ated.
Motor
control
performs
tw
o
time-dependent
process.
The
Congur
able
embedded
solution
for
multi-mode
motor
contr
ol
(Ufuk
G
¨
uner)
Evaluation Warning : The document was created with Spire.PDF for Python.
342
❒
ISSN:
2089-4864
rst
process
is
motor
control
stage.
It
is
dif
ferent
for
each
motor
and
repeats
with
a
period
of
T
c
at
timer
c
.
The
second
function
is
the
data
transfer
process.
It
is
the
same
for
each
m
otor
and
repeats
with
a
period
of
T
m
at
timer
m
.
The
parameters
T
c
and
T
m
are
user
-adjustable.
3.1.
Dir
ect
curr
ent
motor
contr
ol
algorithm
Algorithm
1
sho
ws
the
DC
motor
dri
v
e
algorithm.
The
DC
motor
is
dri
v
en
by
tw
o
pulse
width
mod-
ulation
(PWM)
outputs
through
the
tw
o
half-bridges
of
the
po
wer
stage.
The
direction
of
motor
rotation
is
determined
by
the
polarity
of
the
PWM
signals.
A
linear
relationship
can
be
established
between
motor
cur
-
rent,
PWM
duty
c
ycle,
and
torque
[21].
The
control
algorithm
is
based
on
closed-loop
position
control.
Speed
and
positi
on
information
are
obtained
fr
o
m
encoders.
In
each
control
c
ycle,
the
dif
ference
between
the
tar
-
get
position
(
pos
r
ef
)
and
the
measured
position
(
pos
)
is
processed
by
a
proportional
inte
gral
deri
v
ati
v
e
(PID)
controller
.
The
controller
output
is
passed
to
the
proportional
inte
gral
(PI)
current
control
layer
as
the
current
reference
(
I
r
ef
).
The
PI
controller
output
(
u
I
)
and
the
source
v
oltage
(
V
bus
)
det
ermine
the
PWM
duty
c
ycle.
In
this
structure,
the
internal
current
limit
(
I
pk
)
of
the
po
wer
stage
is
adjusted
by
the
D
A
C.
A
short
pulse
and
encoder
response
are
used
to
determine
the
motor
direction.
All
PID
and
PI
parameters
are
user
-adjustable.
Algorithm
1.
DC
motor
dri
v
e
1:
I
pk
←
Set
current
limit
with
DAC
2:
Initialize
power
stage
3:
Initialize
parameters
4:
Detect
rotation
direction
5:
loop
6:
if
timer
c
≥
T
c
then
7:
(
pos,
v
el
)
←
ReadENC
()
8:
(
I
r
[]
,
V
bus
)
←
ReadADC
FDMA
()
9:
I
r
ef
←
CalcPIDPos(
pos,
pos
r
ef
)
10:
u
I
←
CalcPI(
I
r
[]
,
I
r
ef
)
11:
P
W
M
T
I
M
2
←
CalcPWM(
u
I
,
V
bus
)
12:
end
if
13:
if
timer
m
≥
T
m
then
14:
SendUSBData(
I
r
[]
,
pos,
v
el
,
v
bus
)
15:
end
if
16:
end
loop
3.2.
Stepper
motor
contr
ol
algorithm
The
stepper
motor
dri
v
e
is
sho
wn
in
Algorithm
2.
The
hardw
are
has
the
capability
to
dri
v
e
a
bipolar
stepper
motor
.
Ho
we
v
er
it
does
not
channel-based
chopper
control.
T
o
o
v
ercome
this
decienc
y
,
position
feedback
and
PID
control
are
utilized.
In
stepper
motor
control,
the
four
half-bridges
of
the
po
wer
stage
are
connected
to
the
tw
o
phases
of
the
motor
.
Each
phase
current
is
modulated
according
to
a
sinusoidal
reference
prole.
The
motor
windings
are
e
xcited
with
a
phase
dif
ference
of
90
de
grees
[22].
It
is
possible
to
create
micro-step
by
di
viding
the
phase
into
smaller
steps
[23].
F
or
this,
a
predened
sinusoidal
microstep
lookup
table
(LUT)
is
used.
LUT
is
scalable
from
4
to
128
microsteps
by
the
user
.
The
motor
shaft
angle
and
speed
are
measured.
The
motor
angle
(
pos
)
and
the
reference
position
(
pos
r
ef
)
are
passed
through
the
PID
controller
.
The
controller
output
pro
vides
the
step
speed
reference
(
w
r
ef
).
By
con
v
erting
the
speed
reference
to
an
angle
command
(
θ
cmd
),
the
LUT
inde
x
(
idx
)
is
calculated
[24].
The
sinusoidal
references
(
s
Q
,
c
Q
)
obtained
from
LUT
are
con
v
erted
into
PWM
ratios.
Control
and
LUT
parameters
are
user
-adjustable.
3.3.
Brushless
dir
ect
curr
ent
motor
contr
ol
algorithm
BLDC
control
is
the
most
adv
anced
control
layer
of
the
system.
The
BLDC
motor
control
is
sho
wn
in
Algorithm
3.
The
proposed
platform
is
designed
to
be
suitable
for
three-phase
motor
dri
ving.
Ho
we
v
er
,
the
motor’
s
magnetic
zero
and
direction
must
be
determined
in
the
multi-mode
control.
This
can
be
done
in
tw
o
w
ays.
The
encoder
start
can
be
mechanically
aligned
to
magnetic
zero,
or
a
relati
v
e
magnetic
zero
can
be
determined
by
applying
a
2
π
/
3
radian
phase
dif
ference
pulse.
F
or
motor
direction,
a
short
pulse
and
encoder
response
are
used.
While
the
three
half-bridges
of
the
po
wer
s
tage
directly
dri
v
e
the
three
phases,
eld-oriented
control
(FOC)
with
position
feedback
is
implemented
in
the
softw
are
[25].
FOC
includes
current
and
position
loops
with
a
cascaded
structure.
By
applying
Clark
e–P
ark
transformations,
the
phase
currents
are
transformed
to
the
d–q
axis
(
i
d
,
i
q
).
PI-based
current
controllers
generate
v
oltage
references
(
v
d
,
v
q
)
in
the
d-q
axis.
These
Int
J
Recongurable
&
Embedded
Syst,
V
ol.
15,
No.
2,
July
2026:
339–349
Evaluation Warning : The document was created with Spire.PDF for Python.
Int
J
Recongurable
&
Embedded
Syst
ISSN:
2089-4864
❒
343
references
are
con
v
erted
to
three-phase
PWM
v
alues
using
the
in
v
erse
P
ark
(
v
α
,
v
β
)
transformation
[26].
Rotor
position
and
speed
are
obtained
from
encoders.
All
control
parameters
are
user
-adjustable.
Algorithm
2.
Stepper
motor
dri
v
e
1:
I
pk
←
Set
current
limit
with
DAC
2:
Initialize
power
stage
3:
Initialize
parameters
4:
Generate
LUT
5:
Detect
rotation
direction
6:
loop
7:
if
timer
c
≥
T
c
then
8:
(
pos,
v
el
)
←
ReadENC
()
9:
(
I
r
[]
,
V
bus
)
←
ReadADC
FDMA
()
10:
ω
r
ef
←
CalcPIDPos(
pos,
pos
r
ef
)
11:
θ
cmd
←
CalcAngleCMD(
ω
r
ef
);
12:
idx
←
CalcLUTIndex(
θ
cmd
);
13:
s
Q
,
c
Q
←
LUT(
idx
)
14:
P
W
M
T
I
M
2
←
CalcPWM(
s
Q
,
c
Q
,
g
ain,
V
bus
)
15:
end
if
16:
if
timer
m
≥
T
m
then
17:
SendUSBData(
I
r
[]
,
pos,
v
el
,
V
bus
)
18:
end
if
19:
end
loop
Algorithm
3.
BLDC
dri
v
e
1:
I
pk
←
Set
current
limit
with
DAC
2:
Initialize
power
stage
3:
Initialize
parameters
4:
Detect
magnetic
zero
5:
Detect
rotation
direction
6:
loop
7:
if
timer
c
≥
T
c
then
8:
(
I
r
[]
,
V
bus
)
←
ReadADC
FDMA
()
9:
θ
m
←
CalcMechanicalAngle()
10:
i
d
r
ef
,
i
q
r
ef
←
CalcPIDPos(
θ
m
,
θ
r
ef
)
11:
FOC
Update
(
i
d
r
ef
,
i
q
r
ef
)
12:
i
a
,
i
b
←
I
r
[0]
,
I
r
[1]
13:
i
α
,
i
β
←
Clarke(
i
a
,
i
b
)
14:
θ
e
←
CalcElectricalAngle()
15:
i
d
,
i
q
←
Park(
i
α
,
i
β
,
θ
e
)
16:
v
d
,
v
q
←
CalcPI(
i
d
r
ef
,
i
q
r
ef
)
17:
v
α
,
v
β
←
InversePark(
v
d
,
v
q
,
θ
e
)
18:
P
W
M
T
I
M
2
←
CalcPWM(
v
α
,
v
β
,
V
bus
)
19:
end
FOC
Update
20:
end
if
21:
if
timer
m
≥
T
m
then
22:
SendUSBData(
I
r
[]
,
pos,
v
el
,
V
bus
)
23:
end
if
24:
end
loop
3.4.
Motor
type
identication
algorithm
F
or
motor
identication,
short-duration
and
lo
w-duty
c
ycle
test
pulses
are
applied
to
the
dri
v
er
output
s.
Feedback
currents
are
measured.
The
po
wer
stage
pro
vides
feedback
from
high
side
of
half-bridge.
Thus,
it
is
possible
to
match
acti
v
e
channels
with
current
measurement.
This
current
measurements
are
used
to
create
the
current
matrix
B
ij
.
The
inde
x
i
represents
the
channel
being
e
xcited,
and
j
represents
the
a
v
erage
current
v
alue
measured
from
the
channel.
A
relati
v
e
threshold
v
alue
ϵ
is
used
for
analysis.
ϵ
=
δ
·
(
I
pk
r
ef
)
,
δ
∈
[0
.
5
,
0
.
9]
(1)
Congur
able
embedded
solution
for
multi-mode
motor
contr
ol
(Ufuk
G
¨
uner)
Evaluation Warning : The document was created with Spire.PDF for Python.
344
❒
ISSN:
2089-4864
where,
δ
is
the
proximity
f
actor
that
is
used
to
grantee.
The
binary
response
matrix
B
ij
dependent
on
the
threshold
v
alue
is
dened
as
(2):
B
ij
=
(
1
,
max(
I
r
[
j
]
i
)
≥
ϵ,
0
,
max(
I
r
[
j
]
i
)
<
ϵ.
(2)
In
this
case,
B
ij
=
1
indicates
a
strong
current
response
in
channel
j
when
channel
i
is
stimulated.
This
reaction
allo
ws
for
m
o
t
or
identication
and
acti
v
e
channel
determination
with
Algorithm
4.
As
a
result
of
this
identication
process,
the
system
dynamically
acti
v
ates
the
rele
v
ant
control
layer
or
the
safe
mode.
Algorithm
4.
Motor
identication
algorithm
1:
I
pk
←
Set
current
limit
with
DAC
2:
Initialize
power
stage
3:
for
i
=
1
to
4
do
4:
P
W
M
T
I
M
←
Set
all
channel
to
zero
5:
P
W
M
i
←
Excite
channel
i
6:
(
I
r
[]
,
V
bus
)
←
ReadADC
FDMA
()
7:
for
j
=
1
to
4
do
8:
if
max(
I
r
[
j
])
≥
ϵ
then
B
ij
=
1
else
B
ij
=
0
9:
end
for
10:
end
for
11:
if
P
j
=
i
B
ij
=
3
then
12:
Motor
type
←
BLDC
,
active
channels
i
:
B
ij
=
1
13:
else
if
P
j
=
i
B
ij
=
2
then
14:
Motor
type
←
DC
,
active
channels
i
:
B
ij
=
1
15:
else
if
P
j
=
i
B
ij
=
4
then
16:
Motor
type
←
stepper
,
active
channels
i
:
B
ij
=
1
17:
else
if
P
j
=
i
B
ij
=
0
then
18:
Open
Mode
←
Disable
Driver
,
No
connection
19:
end
if
20:
if
Motor
type
̸
=
User
type
then
21:
Safe
Mode
←
Disable
Driver
,
Unmatched
Motor
22:
end
if
4.
V
ALID
A
TION
OF
PLA
TFORM
T
o
v
erify
the
platform,
three
test
setups
were
establ
ished.
In
the
e
xperimental
setup,
a
1000
pulses
per
re
v
oluti
on
3-phase
opt
ical
disk
encoder
and
an
AS5048
magneti
c
encoder
wer
e
located
on
the
s
ame
shaft.
The
magnetic
encoder
pro
vides
absolute
position
measurement
with
14-bit
resolution.
The
optical
encoder
w
as
connected
to
the
quadratic
encoder
input
of
the
MCU.
The
magnetic
encoder
w
as
connected
to
the
MCU
via
the
SPI
b
us.
The
angular
position
of
the
motor
shaft
w
as
measured
with
the
magnetic
encoder
.
The
angular
v
elocity
of
the
motor
shaft
w
as
measured
with
the
optical
encoder
.
A
F
aulhaber
planetary
geared
motor
w
as
used
as
a
sample
DC
motor
.
The
DC
motor
geared
shaft
is
directly
connected
to
sensor
shaft.
Figure
3
presents
the
e
xperimental
test
setups
used
to
v
alidate
the
proposed
motor
algorithm
for
dif
ferent
motor
types.
Figure
3(a)
sho
ws
the
DC
motor
test
setup.
Figure
3(b)
d
e
monstrates
the
stepper
motor
test
bench.
A
NEMA
17
type
bipolar
motor
w
as
used
for
the
stepper
motor
test.
The
BLDC
motor
test
setup
is
sho
wn
in
Figure
3(c).
A
GMB5108-120T
gimbal
motor
w
as
used
as
the
FOC
algorithm
v
alidation.
In
platform
v
alidation
e
xperiments,
the
current
s
of
each
half-bridge
(on
high-side),
the
DC
b
us
v
oltage,
the
optical
and
absolute
encoder
responses
were
measured
and
graphed.
Figure
4
presents
the
responses
of
the
control
algorithms
obtained
during
the
e
xperimental
v
alidation
tests.
Figure
4(a)
sho
ws
the
DC
motor
algorithm
response
with
a
reference
input
of
3
radian.
The
stepper
motor
w
as
set
to
128
microsteps
and
a
2
radian
reference
input
w
as
applied.
Figure
4(b)
sho
ws
the
stepper
motor
algorithm
response.
F
or
the
BLDC
motor
,
a
reference
of
2
radians
w
as
applied
with
relati
v
e
magnetic
zero
detection.
Figure
4(c)
sho
ws
the
FOC
algorithm
response.
All
parameters
were
adjusted
using
MA
TLAB
interf
ace
and
all
response
data
were
collected
in
MA
TLAB.
Three
performance
metrics
were
considered
to
demonstrate
the
functionality
of
the
algorithms:
rise
time,
settling
time,
and
steady-state
error
.
The
control
parameters
for
each
motor
were
manually
adjusted
e
xperimentally
by
monitoring
motor
responses.
Int
J
Recongurable
&
Embedded
Syst,
V
ol.
15,
No.
2,
July
2026:
339–349
Evaluation Warning : The document was created with Spire.PDF for Python.
Int
J
Recongurable
&
Embedded
Syst
ISSN:
2089-4864
❒
345
T
able
1
summarizes
the
v
alidation
results
of
the
proposed
po
wer
stage
for
the
sample
motors.
The
steady-state
error
remains
belo
w
0.015
radians
for
all
tested
motors.
The
stepper
motor
e
xhibits
the
highest
settling
time
and
steady-state
error
,
while
the
DC
motor
achie
v
es
the
best
dynamic
performance.
These
results
conrm
that
the
proposed
system
can
successfully
dri
v
e
dif
ferent
motor
types,
with
the
nal
performance
depending
on
the
selected
control
parameters
and
motor
characteristics.
(a)
(b)
(c)
Figure
3.
T
est
setup
for;
(a)
DC,
(b)
stepper
,
and
(c)
BLDC
motor
(a)
(b)
(c)
Figure
4.
Control
responses
for;
(a)
DC,
(b)
stepper
,
and
(c)
BLDC
motor
T
able
1.
The
v
alidation
of
control
algorithms
Motor
type
Rise
time
(s)
Settling
time
(s)
Steady
state
error
(rad)
DC
motor
0.32
0.254
0.0094
Stepper
motor
0.22
0.853
0.0148
BLDC
motor
0.18
0.383
0.0107
Experiments
were
conducted
with
the
sample
motors
to
demonstrate
the
rob
ustness
of
the
motor
t
y
pe
identication
algorithm.
In
the
e
xperiment,
each
half-bridge
w
as
stimulated
sequentially
for
a
durat
ion
of
37.5
ms.
The
channel
being
tested
is
acti
v
e
in
the
high
side.
Other
channels
are
k
ept
acti
v
e
on
t
he
lo
w
side.
The
current
limit
is
set
as
300
m
A
±
12%
and
duty-c
ycle
is
tuned
as
45%
at
25
kHz.
The
threshold
v
alue
is
dened
as
150
mA
for
δ
=
0
.
5
.
Figure
5
sho
ws
the
current
response
for
motor
type
and
acti
v
e
channel
e
xperiments.
The
DC
motor
is
connected
to
the
channel
one
and
tw
o.
Figure
5(a)
sho
ws
the
channel
responses
for
DC
motor
.
There
are
tw
o
short
current
pulses
on
channel
one
and
tw
o.
Other
channels
are
on
the
oor
.
Congur
able
embedded
solution
for
multi-mode
motor
contr
ol
(Ufuk
G
¨
uner)
Evaluation Warning : The document was created with Spire.PDF for Python.
346
❒
ISSN:
2089-4864
The
acti
v
e
channel
responses
are
approximately
twice
t
he
threshold
le
v
el.
The
stepper
motor
w
as
connected
on
channel
one,
tw
o,
three,
and
four
.
Figure
5(b)
sho
ws
the
current
response
for
t
he
stepper
motor
.
F
our
channels
pro
vide
current
pulses
o
v
er
than
twice
the
threshold
le
v
el.
In
the
BLDC
motor
,
three
channels
of
dri
v
er
were
connected.
Figure
5(c)
e
xhibits
the
current
response
for
the
BLDC
motor
.
There
are
three
pulses
o
v
er
threshold
le
v
el.
Response
of
the
BLDC
motor
is
dif
ferent
from
DC
and
stepper
motor
.
There
are
sharp
current
drop
at
the
be
ginning
of
the
e
xcitation.
This
situation
is
caused
by
the
back-EMF
that
initially
occurs
in
the
acti
v
e
lo
w-side
connected
windings
of
the
star
-w
ound.
The
identication
algorithm
searches
the
maximum
response
o
v
er
than
the
threshold.
Thus,
the
current
drop
in
the
BLDC
motor
does
not
af
fect
the
identication
process.
Repeated
testing
w
as
conducted
to
demonstrate
the
rob
ustness
of
the
identication
algorithm.
(a)
(b)
(c)
Figure
5.
Motor
type
and
acti
v
e
channel
identication
response
for;
(a)
DC,
(b)
stepper
,
and
(c)
BLDC
motor
T
able
2
summarizes
the
identication
performance.
The
identication
algorithm
w
as
repeated
ten
times
for
each
motor
.
The
success
count
denotes
the
number
of
correct
identications.
The
peak-min
v
alue
represents
the
a
v
erage
of
the
lo
west
responses
abo
v
e
the
threshold
le
v
el,
while
the
peak-max
v
alue
denotes
the
a
v
erage
of
the
highest
responses
abo
v
e
the
threshold
le
v
el.
Peak-Std
denes
the
standard
de
viation
of
the
peak
responses.
The
root-mean-square
(RMS)
of
the
responses
belo
w
the
threshold
le
v
el
is
denoted
as
the
noise
RMS.
The
signal-to-noise
ratio
(SNR)
is
calculated
as
the
log
arithmic
ratio
between
the
peak-max
v
alue
and
the
noise
RMS.
The
identication
algorithm
determines
the
motor
type
and
acti
v
e
channels
based
on
the
peak-max
v
alues.
F
or
all
tested
motors,
the
success
count
reached
ten
out
of
ten,
corresponding
to
a
100%
identication
success
rate.
The
maximum
Peak-Std
v
alue
w
as
limited
to
0.0035,
indicating
good
repeatability
of
the
proposed
method
across
repeated
trials.
Furthermore,
the
minimum
SNR
w
as
observ
ed
in
the
BLDC
motor
as
25.078.
All
measured
identication
peaks
are
clearly
distinguishable
from
the
noise,
which
ensures
accurate
motor
type
identication
in
the
e
xperiments.
T
able
2.
Performance
of
identication
algorithm
Motor
Success
count
Acti
v
e
channels
Peak-min
(A)
Peak-max
(A)
Peak-Std
Noise
RMS
SNR
(dB)
DC
motor
10
CH1
0.3065
0.3135
0.0018
0.0060
34.278
CH2
0.3223
0.3293
0.0020
0.0051
36.121
Stepper
motor
10
CH1
0.3048
0.3153
0.0031
0.0057
34.785
CH2
0.3135
0.3258
0.0035
0.0058
34.843
CH3
0.3223
0.3328
0.0028
0.0054
35.655
CH4
0.3206
0.3328
0.0035
0.0051
36.065
BLDC
motor
10
CH1
0.3030
0.3048
0.0008
0.0169
25.078
CH2
0.3083
0.3118
0.0012
0.0165
25.497
CH3
0.3048
0.3135
0.0031
0.0168
25.324
5.
RESUL
TS
AND
DISCUSSION
Considering
T
able
1,
while
the
BLDC
motor
has
the
highest
rise
time,
the
DC
motor
e
xhibits
the
lo
west
rise
time.
The
main
reason
for
this
situation
is
that
the
measurement
is
tak
en
from
the
gear
output
of
the
DC
motor
.
The
DC
motor
e
xhibits
the
best
settling
time,
while
t
he
stepper
motor
has
the
w
orst.
The
microstep
resolution
of
a
stepper
motor
is
set
at
128.
Therefore,
increasing
the
number
of
control
step
causes
Int
J
Recongurable
&
Embedded
Syst,
V
ol.
15,
No.
2,
July
2026:
339–349
Evaluation Warning : The document was created with Spire.PDF for Python.
Int
J
Recongurable
&
Embedded
Syst
ISSN:
2089-4864
❒
347
the
stepper
mot
o
r
to
settle
do
wn
more
slo
wly
.
Additionally
,
it
should
be
considered
that
the
motor
performance,
besides
the
control
parameters,
will
depend
on
load,
t
he
mechanical
structure,
motor
specications
(such
as
step
resolution
of
stepper
motors
and
pole-pair
number
of
BLDCs),
and
feedback
sensors.
Therefore,
T
able
1
should
be
e
v
aluated
specically
in
terms
of
v
alidation.
W
ith
the
proposed
platform,
the
user
can
customize
the
control
performance
depending
on
the
motor
characteristics,
associated
mechanical
system,
and
load.
Motor
type
identication
and
acti
v
e
channel
detection
of
fer
a
feature
that
distinguishes
the
propo
s
ed
system
from
softw
are-based
heterogeneous
multi-mode
motor
control
methods
[14],
[15].
This
feature
ensures
the
correct
identication
of
the
motor
type
and
the
acti
v
e
half-bridge
channels.
According
to
T
able
2,
it
is
seen
that
the
stepper
and
DC
motor
ha
v
e
SNRs
abo
v
e
34
dB.
On
the
other
hand,
it
is
observ
ed
that
the
SNR
v
alue
of
the
BLDC
motor
is
around
25
dB
and
its
noise
RMS
is
relati
v
ely
high.
The
main
reason
for
this
is
that
the
current
drop
in
the
motor
response
f
alls
belo
w
the
threshold
v
alue.
Therefore,
the
RMS
noise
increases.
Ho
we
v
er
,
this
does
not
af
fect
the
identication
algorithm.
Because
the
algorithm
considers
the
peak-max
v
alue.
One
situation
to
consi
der
is
connecting
tw
o
DC
motors
simultaneously
.
In
this
case,
the
identi
cation
process
recognizes
both
DC
motors
as
stepper
motor
.
Ho
we
v
er
,
the
user
must
also
enter
the
motor
type
infor
-
mation
to
start
the
identication
process.
The
algorithm
compares
the
motor
type
with
the
user
input.
In
case
of
a
mismatch,
the
system
enters
safety
mode
and
shuts
do
wn
the
po
wer
stage.
Connection
issues,
such
as
connection
f
ault
or
motor
winding
problems,
can
be
determined
using
the
identication
algorithm.
In
addition
to
algorithmic
check,
the
channel
responses
sho
wn
in
Figure
5
are
transmitted
to
the
user
via
the
user
interf
ace.
Therefore,
the
user
can
also
identify
f
aulty
connections.
The
proposed
hardw
are
can
pro
vide
up
to
300
w
atts
of
output
po
wer
.
The
maximum
supply
v
oltage
is
60
V
and
the
maximum
current
per
channel
is
5
A.
This
limits
the
motors
that
the
system
can
dri
v
e.
On
the
other
hand,
man
y
motors
commonly
used
in
robotics
and
precision
electro-mechanical
systems
can
be
co
v
ered
[27].
Additionally
,
a
heat-sink
is
required
if
the
current
per
channel
e
xceeds
1.5
A.
The
proposed
platform
uses
an
MCU
with
a
12-bit
resolution
ADC
and
D
A
C.
Current
measur
ement
utilizes
a
high-side
current
sensor
located
within
the
inte
grated
po
wer
stage.
The
current
measurement
accu-
rac
y
for
the
current
sens
or
is
dened
as
±
3%
for
a
maximum
current
of
5
A
[20].
The
current
measurement
resolution
is
calculated
as
1.23
mA/LSB.
The
current
limiter
accurac
y
of
the
DR
V8962DD
W
is
typically
within
±
8%
[20],
it
is
assumed
±
12%
for
w
orst-case
conditions.
The
MCU
hardw
are
and
algorithms
are
open
to
implemented
within
higher
po
wer
motor
.
Ho
we
v
er
,
hardw
are
of
the
po
wer
stage
needs
to
be
redesign.
F
or
higher
po
wers,
it
is
necessary
to
construct
4
half-bridges
that
can
operate
under
high
po
wer
with
thermal
management.
In
addition
to
a
suitable
g
ate
dri
v
er
,
analog
signal
conditioning
circuits
must
be
added
for
current
limiting
and
current
sensing.
On
t
he
other
hand,
a
pin-
compatible
600
w
att
v
ersion
of
the
inte
grated
po
wer
stage
(DR
V8962DD
V)
is
a
v
ailable
and
compatible
with
all
al
gorithms
in
this
study
.
Ho
we
v
er
,
due
to
the
dif
ferent
package
structure,
it
requires
re
vision
of
the
printed
circuit
board.
6.
CONCLUSION
This
study
presents
a
unied,
multi-mode
motor
control
platform
capable
of
controlling
DC,
BLDC,
and
stepper
motors
on
the
same
hardw
are
through
motor
type
identication
and
optimized
control
algorithms.
Studies
on
motor
control
in
the
literature
are
lar
gely
focused
on
a
single
type
of
motor
.
Softw
are
libraries
or
FPGA
solutions
are
being
de
v
eloped
in
the
conte
xt
of
multi-mode
motor
control
systems.
In
the
proposed
system,
softw
are
and
hardw
are
are
combined
for
a
multi-mode
motor
dri
ving
structure
with
four
half-bridges.
Unlik
e
softw
are-based
solutions,
algorithms
were
applied
to
detect
the
motor
type
and
the
motor
connections.
Additionally
,
a
method
is
presented
that
is
easier
to
congure
than
FPGA-based
solutions.
F
or
e
xperimental
v
alidation,
position
control
of
DC,
BLDC,
and
stepper
motors
w
as
performed.
The
v
alidity
of
the
motor
type
and
acti
v
e
channel
identication
algorithms
w
as
tested
through
repeated
e
xperiments.
No
identication
errors
were
observ
ed
during
the
e
xperiments.
The
results
demonstrate
the
potential
of
the
proposed
platform
and
algorithms
as
a
reliable
and
e
xible
solution
for
medium-po
wer
multi-mode
motor
control.
FUNDING
INFORMA
TION
Author
state
no
funding
in
v
olv
ed.
Congur
able
embedded
solution
for
multi-mode
motor
contr
ol
(Ufuk
G
¨
uner)
Evaluation Warning : The document was created with Spire.PDF for Python.
348
❒
ISSN:
2089-4864
A
UTHOR
CONTRIB
UTIONS
ST
A
TEMENT
This
journal
uses
the
Cont
rib
utor
Roles
T
axonomy
(CRediT)
to
recognize
indi
vidual
author
contrib
u-
tions,
reduce
authorship
disputes,
and
f
acilitate
collaboration.
Name
of
A
uthor
C
M
So
V
a
F
o
I
R
D
O
E
V
i
Su
P
Fu
Ufuk
G
¨
uner
✓
✓
✓
✓
✓
✓
✓
C
:
C
onceptualization
I
:
I
n
v
estig
ation
V
i
:
V
i
sualization
M
:
M
ethodology
R
:
R
esources
Su
:
Su
pervision
So
:
So
ftw
are
D
:
D
ata
Curation
P
:
P
roject
Administration
V
a
:
V
a
lidation
O
:
Writing
-
O
riginal
Draft
Fu
:
Fu
nding
Acquisition
F
o
:
F
o
rmal
Analysis
E
:
Writing
-
Re
vie
w
&
E
diting
CONFLICT
OF
INTEREST
ST
A
TEMENT
Author
state
no
conict
of
interest.
D
A
T
A
A
V
AILABILITY
All
code
and
hardw
are
design
les
are
openly
a
v
ailable
in
https://github
.com/ufukguner/FEMC
Mul
ModMotorDrv
with
GPL3
licenses.
The
y
can
be
used
and
modied
with
referencing
this
study
.
REFERENCES
[1]
A.
V
eltman,
D.
W
.
J.
Pulle,
and
R.
W
.
De
Donck
er
,
Fundamentals
of
Electrical
Drives
,
Cham,
Switzerland:
Springer
,
2016,
doi:
10.1007/978-3-319-29409-4.
[2]
S.-
H.
Kim,
Electric
Motor
Contr
ol:
DC,
A
C,
and
BLDC
Motor
s
,
Else
vier
Science,
2017,
ISBN:
978-0-12-812138-2.
[3]
D.
Mohanraj
et
al.
,
“
A
Re
vie
w
of
BLDC
Motor:
State
of
Art,
Adv
anced
Control
T
echniques,
and
Applications,
”
IEEE
Access
,
v
ol.
10,
pp.
54833–54869,
2022,
doi:
10.1109/A
CCESS.2022.3175011.
[4]
A.
Morar
,
“Compact
and
intelligent
Full/Hal
f
v
e-phase
stepping
Motor
dri
v
er
,
”
Pr
ocedia
T
ec
hnolo
gy
,
v
ol.
12,
pp.
730–739,
Jan.
2014,
doi:
10.1016/j.protc
y
.2013.12.556.
[5]
M
.
Akrami,
E.
Jamshidpour
,
B.
Nahid-Mobarak
eh,
S.
Pierfederici,
and
V
.
Frick,
“Sensorless
Control
Methods
for
BLDC
Mo-
tor
Dri
v
es:
A
Re
vie
w
,
”
IEEE
T
r
ansactions
on
T
r
ansportation
Electrication
,
v
ol.
11,
no.
1,
pp.
135–152,
Feb
.
2025,
doi:
10.1109/TTE.2024.3387371.
[6]
D
.
Joshi,
D.
Deb,
and
A.
K.
Giri,
“Metaheuristic
Adapti
v
e
Input
Output
Feedback
Linearization
Control
for
BLDC
Motor
Dri
v
e,
”
IEEE
T
r
ansactions
on
Consumer
Electr
onics
,
v
ol.
71,
no.
2,
pp.
6120–6130,
May
2025,
doi:
10.1109/TCE.2025.3553388.
[7]
S.
Lixian
and
W
.
Rahiman,
“
A
Compound
Control
for
Hybrid
stepper
Motor
Based
on
PI
and
Sliding
Mode
Control,
”
IEEE
Access
,
v
ol.
12,
pp.
163536–163550,
2024,
doi:
10.1109/A
CCESS.2024.3490793.
[8]
D.
Monto
ya-Ace
v
edo,
W
.
Gil-Gonz
´
alez,
O.
D.
Monto
ya,
C.
Restrepo,
and
C.
Gonz
´
alez-Casta
˜
no,
“
Adapti
v
e
Speed
Control
for
a
DC
Motor
Using
DC/DC
Con
v
erters:
An
In
v
erse
Optimal
Control
Approach,
”
IEEE
Access
,
v
ol.
12,
pp.
154503–154513,
2024,
doi:
10.1109/A
CCESS.2024.3482982.
[9]
J.
A.
Niembro-Cece
˜
na,
R.
A.
G
´
omez-Loenzo,
and
J.
Rodr
´
ıguez-Res
´
endiz,
“SoftCtrlDC-M:
Embedded
control
softw
are
for
brushed
direct
current
motors,
”
Softwar
eX
,
v
ol.
25,
2024,
doi:
10.1016/j.softx.2024.101643.
[10]
X.
Zeng,
C.
Liu,
X.
Sheng,
Z.
Xiong,
and
X.
Zhu,
“De
v
elopment
and
implementation
of
modular
FPGA
for
a
multi-motor
dri
v
e
and
control
inte
grated
system,
”
in
International
Confer
ence
on
Intellig
ent
Robotics
and
Applications
,
2015,
pp.
221–231,
doi:
10.1007/978-3-319-22879-2
21.
[11]
Z.
Huang,
S.
Qiu,
B.
W
ang,
and
Q.
Liu,
“High
Precision
and
F
ast
Synchronization
Fuzzy
Position
FPGA-Based
Controller
for
Smart
Multi-Motor
System,
”
IEEE
T
r
ansactions
on
Industry
Applications
,
v
ol.
61,
no.
3,
pp.
3886–3895,
May–Jun.
2025,
doi:
10.1109/TIA.2025.3536417.
[12]
T
.
Lan,
B.
Liu,
J.
W
ang,
and
Y
.
Xue,
“Ev
ent-T
riggered
Control
Strate
gy
for
Multi-Motor
Systems
Based
on
Iterati
v
e
Learning,
”
in
2025
2nd
International
Confer
ence
on
Electrical
T
ec
hnolo
gy
and
A
utomation
Engineering
(ET
AE)
,
Guangzhou,
China,
2025,
pp.
324–329,
doi:
10.1109/ET
AE65337.2025.11089630.
[13]
R
.
de
Castro,
R.
E.
Araujo,
and
H.
Oli
v
eira,
“Control
in
multi-motor
electric
v
ehicle
with
an
FPGA
platform,
”
in
2009
IEEE
Interna-
tional
Symposium
on
Industrial
Embedded
Systems
,
Lausanne,
Switzerland,
2009,
pp.
219-227,
doi:
10.1109/SIES.2009.5196218.
[14]
A.
Skuric,
H.
S.
Bank,
R.
Unger
,
O.
W
illiams,
and
D.
Gonz
´
alez-Re
yes,
“
A
Field
Oriented
Control
(FOC)
Library
for
Controlling
Brushless
Direct
Current
(BLDC)
and
Stepper
Motors,
”
J
ournal
of
Open
Sour
ce
Softwar
e
,
v
ol.
7,
no.
74,
p.
4232,
2022,
doi:
10.21105/joss.04232.
[15]
“
STM32
Motor
Control
Softw
are
De
v
elopment
Kit
(SDK),
”
STMicroelectronics,
[Online].
A
v
ailable:
https://www
.st.com/en/embedded-softw
are/x-cube-mcsdk.html#o
v
ervie
w,
(Accessed:
Dec.
2025).
[16]
Xilinx
Inc.,
“
A
vnet-AES-S6M
C1-LX75T
-G
User
Guides:
Getting
Started
Guide,
”
Xilinx
Documentation,
2014,
[Online].
A
v
ail-
able:
https://www
.a
vnet.com/fsp/opasdata/d120001/medias/docus/7/A
vnet-AES-S6MC1-LX75T
-G-User
-Guides-Getting-Started-
Guide.pdf,
(Accessed:
Dec.
2025).
Int
J
Recongurable
&
Embedded
Syst,
V
ol.
15,
No.
2,
July
2026:
339–349
Evaluation Warning : The document was created with Spire.PDF for Python.