Register To Comment
Results 1 to 10 of 373

Thread: Team Kaizen Build Diary

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #11
    Ocracoke's Avatar
    Team Kaizen

    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.
    Last edited by Ocracoke; 26th July 2019 at 19:48.
    Team Kaizen - Build Diary for all the robots

    AW: Amai, Ikari, Lafiel, Osu, Ramu
    BW: Shu!, The Honey Badger
    FW: Azriel
    MW: Jibril, Kaizen

Register To Comment

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •