BLDC_HALL3

NAME
SYNOPSIS
DESCRIPTION
FUNCTIONS
PINS
PARAMETERS
SEE ALSO
AUTHOR
LICENSE

NAME

bldc_hall3 − 3-wire Bipolar trapezoidal commutation BLDC motor driver using Hall sensors

SYNOPSIS

loadrt bldc_hall3 [count=N|names=name1[,name2...]]

DESCRIPTION

This component produces a 3-wire bipolar output. This suits upstream drivers that interpret a negative input as a low-side drive and positive as a high-side drive. This includes the Hostmot2 3pwmgen function, which is likely to be the most common application of this component.

FUNCTIONS

bldc-hall3.N (requires a floating-point thread)

Interpret Hall sensor patterns and set 3-phase amplitudes

PINS

bldc-hall3.N.hall1 bit in

Hall sensor signal 1

bldc-hall3.N.hall2 bit in

Hall sensor signal 2

bldc-hall3.N.hall3 bit in

Hall sensor signal 3

bldc-hall3.N.value float in

PWM master amplitude input

bldc-hall3.N.dir bit in

Forwards / reverse selection. Negative PWM amplitudes will also reverse the motor and there will generally be a pattern that runs the motor in each direction too.

bldc-hall3.N.A-value float out

Output amplitude for phase A

bldc-hall3.N.B-value float out

Output amplitude for phase B

bldc-hall3.N.C-value float out

Output amplitude for phase C

PARAMETERS

bldc-hall3.N.pattern u32 rw (default: 25)

Commutation pattern to use, from 0 to 47. Default is type 25. Every plausible combination is included. The table shows the excitation pattern along the top, and the pattern code on the left hand side. The table entries are the hall patterns in H1, H2, H3 order. Common patterns are: 0 (30 degree commutation) and 26, its reverse. 17 (120 degree). 18 (alternate 60 degree). 21 (300 degree, Bodine). 22 (240 degree). 25 (60 degree commutation).

Note that a number of incorrect commutations will have non-zero net torque which might look as if they work, but don’t really.

If your motor lacks documentation it might be worth trying every pattern.

 Phases, Source - Sink
patB-AC-AC-BA-BA-CB-C
0000001011111110100
1001000010110111101
2000010011111101100
3001011010110100101
4010011001101100110
5011010000100101111
6010000001101111110
7011001000100110111
8000001101111110010
9001000100110111011
10000010110111101001
11001011111110100000
12010011111101100000
13011010110100101001
14010000100101111011
15011001101100110010
16000100101111011010
17001101100110010011
18000100110111011001
19001101111110010000
20010110111101001000
21011111110100000001
22010110100101001011
23011111101100000010
24100101111011010000
25101100110010011001
26100110111011001000
27101111110010000001
28110111101001000010
29111110100000001011
30110100101001011010
31111101100000010011
32100101001011010110
33101100000010011111
34100110010011001101
35101111011010000100
36110111011001000100
37111110010000001101
38110100000001011111
39111101001000010110
40100000001011111110
41101001000010110111
42100000010011111101
43101001011010110100
44110010011001101100
45111011010000100101
46110010000001101111
47111011001000100110

SEE ALSO

bldc_hall6 6-wire unipolar driver for BLDC motors.

AUTHOR

Andy Pugh

LICENSE

GPL