Azriel
So following on from the physical conversion of the motor to brushless, next we need to get the brushless ESC to run the motor in two directions as smoothly as possible. I do intend on putting out a hex file which I'll be using in Azriel but I won't put it up just now as I'll explain later.
A reminder: Your mileage may vary if you decide to follow this.
Today's plethora of parts on the square paper are the following from left to right: A USBasp programming device (this doesn't seem to be in stock at HobbyKing at the moment), a 3x and a 2x terminal connection block, a old Featherweight grade wiring loom (I seem to recall this came out of The Honey Badger 2.x) and a Redbrick 100A v2.
20190726_135419.jpg
First thing first, I plugged in the motor into the 3x terminal block. I wouldn't do this in a fighting robot but for a workbench test, I found this to be sufficient.
20190726_135701.jpg
I then broke open the Redbrick and took off the heatshrink wrap, which I am fairly sure would void any warranty it was under but given this is a fighting robot, I am fairly sure no warranty would ever cover this.
20190726_140043.jpg
I then hooked up the ESC and the rest of the wiring loom together and picked up the 6S battery set from Azriel. As an aside, the below is how you wire up this ESC (I find the lack of colour coding annoying).
20190726_140630-1.jpg
Now, at this stage, I tested to see if the motor spins at all (I might post a short compliation video of this soon) and it did. Great, so now it is time to get programming the thing. The USBasp programming device is a great thing, I picked one up when I was flashing TZ85As and worth its weight in gold. For those who have never used one, you need to line up the red dot on the device with the circle on the Atmel processor as below when connecting the two together and, as a aside, don't have the ESC on when programming. When the device makes a connection, it'll supply its own power to the ESC during the programming.
20190726_141546.jpg20190726_141630.jpg
And here is my bench test setup. It is fairly rudimentry but because of the proximity to the computer where I do the programming on, I can flash a new hex file pretty quickly.
20190726_141941-1.jpg
Now originally, when I started this, I followed a few guideline settings from the Ask Aaron archives (http://runamok.tech/AskAaron/motors.html) but these do not work in this ESC/motor combination, just resulting in a lot of jittering. Now, in preparation for this, I watched a Youtube video on how AC motors work and figured that, in the SimonK code, the amount of power being delivered to the motor at startup was too much. To put it very simply, in the video below the hand is the amount of power being supplied to the motor and the fan is the rotor itself (2:01 in the video):
The standard SimonK code reads as the following:
Code:
.equ MAX_POWER = (POWER_RANGE-1)
.equ PWR_COOL_START = (POWER_RANGE/24) ; Power limit while starting to reduce heating
.equ PWR_MIN_START = (POWER_RANGE/6) ; Power limit while starting (to start)
.equ PWR_MAX_START = (POWER_RANGE/4) ; Power limit while starting (if still not running)
.equ PWR_MAX_RPM1 = (POWER_RANGE/4) ; Power limit when running slower than TIMING_RANGE1
.equ PWR_MAX_RPM2 = (POWER_RANGE/2) ; Power limit when running slower than TIMING_RANGE2
Even under what I assumed to be the COOL_START variable, the motor jitters so I changed it to read the following:
Code:
.equ MAX_POWER = (POWER_RANGE-1)
.equ PWR_COOL_START = (POWER_RANGE/48) ; Power limit while starting to reduce heating
.equ PWR_MIN_START = (POWER_RANGE/24) ; Power limit while starting (to start)
.equ PWR_MAX_START = (POWER_RANGE/10) ; Power limit while starting (if still not running)
.equ PWR_MAX_RPM1 = (POWER_RANGE/8) ; Power limit when running slower than TIMING_RANGE1
.equ PWR_MAX_RPM2 = (POWER_RANGE/4) ; Power limit when running slower than TIMING_RANGE2
Now when I start it, the motor spins up OK for a bit but about half way into full throw on the transmitter, it jitters a little bit before resuming cleanly all the way up to full power. Clearly, I still have some way to go in getting the spot on but the fact is, I could flash both ESCs and Azriel would move fairly happily on them. However, it isn't perfect as the motor and the ESC get quite warm after a minute so there is evidently some work to go on refining this. As a test, I also put a KEDA 5663 outrunner on this as well and it jitters a lot more than the inrunner but this is proving to be a good basis to work with - even that motor spins up partly on the code I have running now.
I'll try and update this over the weekend.
Bookmarks