cancel
Showing results for 
Search instead for 
Did you mean: 

B-G431B-ESC1 Encoder Problem

Gmatt.1
Associate II

Hi

I want to make a position control with a B-G431B-ESC1.

I use a motor with an encoder with 1024 PPR.

Motor profiler ended with no problem.

I started a project in motor control workbench Ver. 5.Y.1.21203 setting the encoder in motor settings and in speed sensing.

I tryied to generate the code but i get following errors:

Type Time   Motor  Id  Message

UNK  09:07:29        A0 is used in: Encoder Interface Timer( TIM2 ).CH1, Bus Voltage feedback ADC( ADC1 ).ADC12_IN1

UNK  09:07:29        A1 is used in: Encoder Interface Timer( TIM2 ).CH2, Phase current feedback OPAMP( OP1/OP2/OP3 ).ChU NoInv

Any help?

Thanks

12 REPLIES 12
erno.1
Associate II

What I have learned while using motor control workbench:

 Encoder and motor are synchronized when start button is pressed first time.

 Status is "alignment" during alignment in motor pilot. It will do it only once after boot

 Motor movement should not be blocked during alignment.

If motor is not moving when its doing alignment (movement could be only few degree) motor nominal current and final current ramp value may be too small.

 Motor is forced to "alignment electrical angle" position by corresponding phase currents.

 After motor is in known position it will set the encoder.

One way to test encoder:

- In motor pilot change mode to torque and torque reference to 0 and plot from ASYNC config tab encoder_el_angle when rotating motor slowly using other motor

(status should be run)

- If motor has 7 pole pairs then there should be 7 transitions in plot in one turn. This is easier to see when plotted from registers tab and rotating by hand (low sample rate).

In your picture serial baudrate is 115200 in 5.Y.1 default is 1843200. If its not try to start new project, that fixed it for me (I had imported old project).

in 5.Y.1 POSITION_ALIGN_STATE register is not yet implemented. It is always read as ALIGNMENT_ERROR

0693W00000Bc0vDQAR.png

Thank you @erno.1​ for quick response, once I saw your snapshot I realized I'm using an older version of the motor control workbench, however even after updating the software and doing all the steps from scratch on a new project I was still getting the same behavior.

fyi, I was able to get the encoder graph by just plotting encoder_el_angle under torque control mode as you suggested but the motr doesn't respont to any positive torque command or velocity command. it just gets stuck, I tried the same thing with a new PCB thinking maybe I have mistakenly damaged the board but the behavior was the same.

At this point I'm gonna give up on this thinking there are bugs in the whole product which hopefully will be resolved for other people. I'm going to try another vendor.

PKVSK.2
Associate II

Hello Laurent.

I have an error popping up which says "Main sensor set to Quadrature Encoder, but the motor doesn't support it"

I have initialized Quadrature Sensor in the sensing block, changed timer to TIM4 and its respective pins.

I request ST support to help me with this issue since I'm NOT able to generate the .ioc file with Workbench