Thread Tools
Jan 25, 2020, 10:57 PM
Registered User
Thread OP
Discussion

Questions on BLHeli_S


I've read the BLHeli_S firmware a few times and had some questions that I'm hoping you all can help with.

Questions about BLHeli_S with A.asm. I arbitrarily chose A.asm .

A.asm:
Hardware definition file "A"
; X X RC X MC MB MA CC X X Cc Cp Bc Bp Ac Ap

1) What does RC mean?

2) Are the following correct?
MC: Motor C phase connection
MB: Motor B phase connection
MA: Motor A phase connection
CC: Motor A, B, C each connected to a resistor and the other side of the resistors are connected together and this is the node?
Ac: Motor A phase half bridge high side FET. This is driven high or low only.
Ap: Motor A phase half bridge low side FET. This is PWM
Bc: Motor B phase half bridge high side FET. This is driven high or low only.
Bp: Motor B phase half bridge low side FET. This is PWM
Cc: Motor C phase half bridge high side FET. This is driven high or low only.
Cp: Motor C phase half bridge low side FET. This is PWM

3) Does: [ABC]comFET_off mean turn off the high side [ABC] half bridge FET?

4) What does the "com" stand for?

5) What do the following do:
AcomFET_off
AcomFET_on
ApwmFET_off
ApwmFET_on
Set_PWM_A

I can't tell if this is software PWM or if somehow the PCA (or PWM) is being routed through the crossbar and it is being output on a pin or?

6) In BlHeli_s.asm, init_start_bidir_done:
Why are comm5comm6 and comm6comm1 called back to back?

7) I'm struggling a bit with the calc_next_comm_timing: routine.
It looks like the comparator is not generating an interrupt but is polled. Is that correct?

8) For spin up, when there is no BEMF to generate a comparator transition, the code relies on the commutation period timing out?
I haven't been able to work out how it reduces the time per commutation phase so that the motor accelerates. Is this done in the code just before setup_zc_scan_timeout_startup_done:?

I didn't see how it terminated / transitioned from startup to using BEMF on acceleration and then on deceleration from using the comparator to just the timer

9) Is the basic logic - use timer 3 to create the window in which the comparator for BEMF zero crossing should occur and if it does, use that timing to setup the next commutation cycle and if it doesn't, then ?

Thanks in advance.
Sign up now
to remove ads between posts


Quick Reply
Message:

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Getting started on the flex cable mod on my recoil tonight, I have a few questions spencer911 Racing Boats - Electric 31 Dec 10, 2019 12:05 AM
Discussion Maytech BLHeli_S ESC programmer, 4 in1 BLheli_S ESC MaytechRC Multirotor Drone Electronics 27 Nov 29, 2016 07:20 AM
Discussion Field test on Maytech BLHELI_S ESCs MaytechRC Multirotor Drone Power Systems 1 Jul 03, 2016 06:36 AM
Discussion Field test on Mayteech BLHELI_S ESCs MaytechRC Multirotor Drone Power Systems 0 Jul 02, 2016 07:26 PM
Discussion Questions on Fuel Tables and on MPA schnellschnell Revolectrix 1 Jan 14, 2016 06:49 AM