FLIPSKY new 20s 100A tiny controller (vesc based)

Archer321 said:
Is the 75100 a good controller or not?
Worked well for me so far on both sensorless and hall sensor motors. Didn't test regen because I was using it in a boat. Was running it with a 20s 80ah battery. There *may* be better controllers for your use case if you are planning on only running 36v though.

Protects itself from blowing up better than anything i've used before!
 
tostino said:
Archer321 said:
Is the 75100 a good controller or not?
Worked well for me so far on both sensorless and hall sensor motors. Didn't test regen because I was using it in a boat. Was running it with a 20s 80ah battery. There *may* be better controllers for your use case if you are planning on only running 36v though.
Protects itself from blowing up better than anything i've used before!

I dunno...a boat with regen might be cool. You could use it going over waterfalls.
Lol
Thanks for the response.
 
Regen is very practical for cruising sailboats, just need a specialised prop that folds when not in use.

"Hydro power charging" tech has been used for decades, regen without any electric motor
 
john61ct said:
Regen is very practical for cruising sailboats, just need a specialised prop that folds when not in use.

"Hydro power charging" tech has been used for decades, regen without any electric motor

Nice! I hadn't thought of that. Regen while under sail power. That makes sense
 
Just tried it on my mountain bike with a MXUS 3k Turbo and 14s pack.

Not enough amps to handle it well! It's just too small for that motor to drive it well unless already spinning fast. Once at speed, it has a decent amount of power. At a stand still, it's maybe 100w of help.
 
REALLY IMPORTANT NOTE TO EVERYONE

I have one of the new ones, just arrived.

It seemed to work, on initial test, but the motor seemed... rather enthusiastic.

I was getting out of date firmware messages, so I dropped the images Jaykup put onto it.

DO NOT DO THIS. DO NOT USE JAYKUP FIRMWARE ON NEW ONES

Investigation, taking it apart shows the issue.
Flipsky 75100.PNG

Flipsky 75100 old version.PNG

The shunts have been stacked. The newer version seems to now be compatible with standard 75300 firmware. Guess this gets around the GPL stuff.

If you use Jaykup firmware on this, and set 120A, it will actually attempt to push 360A, which will be rapidly terminal for the device, and potentially any motor attached. Do not do this.

I shall get a confirmation from Flipsky about what exactly is going on and get the right firmware on it...

Can confirm, the standard 75300 images do not work. The Jaykup ones seem to work, but the current is x3 and the resistance and inductance also x3.
 
tostino said:
Just tried it on my mountain bike with a MXUS 3k Turbo and 14s pack.

Not enough amps to handle it well! It's just too small for that motor to drive it well unless already spinning fast. Once at speed, it has a decent amount of power. At a stand still, it's maybe 100w of help.

That's odd. Look at this Guy he is able to drive his large DD motor without any issue.

What max current have you set?

https://youtu.be/8uSaJf4_daA

I also have a mxus 3k. I'll try over this week and let you know.
 
atkforever said:
What max current have you set?

https://youtu.be/8uSaJf4_daA

I also have a mxus 3k. I'll try over this week and let you know.

I set it according to the FOC calibration value at 52a. I tried higher values originally (70a, 80a, 100a), but I kept getting cutouts when accelerating and when regen kicked in. I could probably kick it slightly higher than 52a and not get cutouts, but haven't had time to mess with it yet. Was trying to get that working before a camping trip this weekend, so I went with the safe "no-cutout" value.

Edit: looking at that video, yeah I am getting no where near that power. Not even close. I'll have to try and tune the settings to see what is wrong.
 
tostino said:
atkforever said:
What max current have you set?

https://youtu.be/8uSaJf4_daA

I also have a mxus 3k. I'll try over this week and let you know.

I set it according to the FOC calibration value at 52a. I tried higher values originally (70a, 80a, 100a), but I kept getting cutouts when accelerating and when regen kicked in. I could probably kick it slightly higher than 52a and not get cutouts, but haven't had time to mess with it yet. Was trying to get that working before a camping trip this weekend, so I went with the safe "no-cutout" value.

Edit: looking at that video, yeah I am getting no where near that power. Not even close. I'll have to try and tune the settings to see what is wrong.

Yes 52 phase amp is way too low for that motor. It's a fat 10kg motor, some people pull 300A phase easily without any issue. I have set 120amps max and it has never been hot, even in summer.

What is cuting out ? the controller or the BMS?

If the controller is cuting out you need to set the Abs current value higher.
 
atkforever said:
tostino said:
atkforever said:
What max current have you set?

https://youtu.be/8uSaJf4_daA

I also have a mxus 3k. I'll try over this week and let you know.

I set it according to the FOC calibration value at 52a. I tried higher values originally (70a, 80a, 100a), but I kept getting cutouts when accelerating and when regen kicked in. I could probably kick it slightly higher than 52a and not get cutouts, but haven't had time to mess with it yet. Was trying to get that working before a camping trip this weekend, so I went with the safe "no-cutout" value.

Edit: looking at that video, yeah I am getting no where near that power. Not even close. I'll have to try and tune the settings to see what is wrong.

Yes 52 phase amp is way too low for that motor. It's a fat 10kg motor, some people pull 300A phase easily without any issue. I have set 120amps max and it has never been hot, even in summer.

What is cuting out ? the controller or the BMS?

If the controller is cuting out you need to set the Abs current value higher.

ABS max doesn't need to be any more than about 50% more than the set point. If you are still getting abs overcurrent errors it means something's set up wrong or firmware/hardware broken.

Increasing the abs max current further only increases the size of the resulting fire.
 
Controller is cutting out. Agreed that 52 phase amps is way too low for that motor, but it would simply throttle down into some error state if I was just the slightest bit too hard on the throttle. I am waiting on BT dongle so I can actually see what's happening.

I also wired up the cruise control, that works quite strangely... I can't get it working at all in duty cycle or pid mode, but it does work when in current mode.

The cruise control is programmed for a toggle switch rather than a momentary button it seems. That is strange as it is, but I can deal. The real issue is that once I hit cruise control, when it activates, it doesn't actually keep a similar duty cycle / current as where my throttle was when I pressed it. I can be WOT, hit my cruise switch, and it'll still keep throttled up but only at about 50% duty cycle.

Was configured with ADC + UART, so I used my servo signal + ground hooked up to the switch. Any ideas welcome for sure.
 
Tostino- your motor detection values may be way off after setup in vesc-tool. I had similar cutouts on acceleration with two different flipsky and makerx esc's driving a sensorless U15 RC motor. I was made aware of a video- after which I manually reset a number of parameters especially observer gain and switching frequency. All good for a couple hundred miles then the makerx burned up..... I don't know enough about this stuff to advise you in any specifics but you might consider those possibilities. Plus vesc firmware 5.3 didn't work at all for me...

I did order a 75100 yesterday to try on my Mongoose Girder build with a 3000W MY1020 Hall inrunner @ 20s. I'm tired of the lurch from standstill and noise from the cheap ebay trap controllers. Once you've had FOC you can never go back...
 
So I started digging into the ADC code for vesc last night. I don't think I like it. I am in the process of writing a new "app" (adc_new...help me come up with a better name) that will work a little more consistently with how ebikes are used to, but also configurable enough to cover all the existing use cases that "adc" does.

Planning on making the pins re-mappable if possible. Right now what pins do what action (reverse, cruise control, brake) is all hard-coded, hardly documented, and decided by if you want to use a UART dongle as well as an ADC throttle. Might as well just make things explicit and allow them to be set in vesc-tool on setup.

The other issue is that the cruise control code in place doesn't seem to work well for me, at all. Figured I'd try my hand at improving that and possibly giving some options to configure how it should work (constant current vs maintain speed).

The one thing is, I'd want to get these changes merged back into VESC either as an improvement replacing the current option if that is wanted, or as an alternate input method. That seems like that could be a bit of a challenge after reading this: https://forum.esk8.news/t/what-do-we-consider-stable-vesc-firmware-community-fork-discussion-serious
Anyone here have experience actually contributing back?

Has there been any progress on making the project a little more open to community contribution, testing, etc? A well maintained project like this by a good open source team would do the world wonders by being able to standardize and rapidly improve on open designs, but this project seems (from Trampa's replies) to want to block any community from being able to actually form around it and build anything they don't approve of.
I'd love to hear that my impression is wrong, and there are some improvements in the direction of getting better branching practices at least? Please?

Anyway, after I get some testing done, I guess i'll see how the development process actually works XD.
 
Thank you for looking into it. I'm sure that Trampa people will do all they can to shut it down. They charge a lot for what they sell and they don't want competition. Once you make some progress, I can PayPal you some money. I'm only good with mechanics, so I'm not much help. :bigthumb:
 
Ecyclist said:
Thank you for looking into it. I'm sure that Trampa people will do all they can to shut it down. They charge a lot for what they sell and they don't want competition. Once you make some progress, I can PayPal you some money. I'm only good with mechanics, so I'm not much help. :bigthumb:
Why don't you ask them? The main brain of that project has posted several times in this thread and I very much doubt he's trying to prevent competition when he open sourced the entire design. Someday I'll be buying one of the sleek and sexy Trampa controllers, damn good kit and it's only fair to try and support an excellent project.
Good to see Flipsky have been listening too and seem to be making some changes to fit in with the licence, I've been a Flipsky customer in the past and a flagrant breach of the GPL would have ended that.
 
Back to the topic of using this controller with an MXUS hub...
I attached the XML motor/app config I am using right now in case anyone sees anything obvious there. I manually tried setting the resistance values to the known measured values for this motor, tried playing with observer gain, etc... nothing has helped yet.

And here are the fault codes I am getting:
Code:
The following faults were registered since start:

Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 150.7
Current filtered : 117.5
Voltage          : 54.64
Duty             : 0.357
RPM              : 209.4
Tacho            : 1459
Cycles running   : 68270
TIM duty         : 1998
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 31.80
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 151.0
Current filtered : 112.6
Voltage          : 55.93
Duty             : 0.273
RPM              : 1381.5
Tacho            : 1943
Cycles running   : 209
TIM duty         : 1527
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 33.41
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 152.9
Current filtered : 108.9
Voltage          : 54.41
Duty             : 0.384
RPM              : 176.0
Tacho            : 2824
Cycles running   : 59197
TIM duty         : 2150
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 35.57
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 150.7
Current filtered : 104.9
Voltage          : 53.86
Duty             : 0.441
RPM              : 461.0
Tacho            : 4663
Cycles running   : 55499
TIM duty         : 2469
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 39.20
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 150.1
Current filtered : 117.0
Voltage          : 55.15
Duty             : 0.264
RPM              : 434.1
Tacho            : 6163
Cycles running   : 44619
TIM duty         : 1476
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 39.29
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 151.0
Current filtered : 128.3
Voltage          : 54.70
Duty             : 0.308
RPM              : 179.9
Tacho            : 8119
Cycles running   : 307505
TIM duty         : 1727
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 40.38
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 151.5
Current filtered : 116.5
Voltage          : 54.67
Duty             : 0.336
RPM              : 172.4
Tacho            : 9406
Cycles running   : 52321
TIM duty         : 1882
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 43.16
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 150.3
Current filtered : 119.1
Voltage          : 54.22
Duty             : 0.394
RPM              : 325.2
Tacho            : 11560
Cycles running   : 51054
TIM duty         : 2205
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 37.05
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 153.2
Current filtered : 103.0
Voltage          : 55.19
Duty             : 0.380
RPM              : 623.8
Tacho            : 14008
Cycles running   : 32229
TIM duty         : 2129
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 41.80
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 151.1
Current filtered : 122.3
Voltage          : 54.32
Duty             : 0.356
RPM              : 256.9
Tacho            : 16933
Cycles running   : 71527
TIM duty         : 1993
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 44.78
 
Fault            : FAULT_CODE_ABS_OVER_CURRENT
Motor            : 1
Current          : 150.7
Current filtered : 122.7
Voltage          : 54.44
Duty             : 0.335
RPM              : 220.6
Tacho            : 18841
Cycles running   : 285498
TIM duty         : 1878
TIM val samp     : 2800
TIM current samp : 2800
TIM top          : 5600
Comm step        : 0
Temperature      : 45.73
 

Attachments

  • 75100_mxus.xml
    9.7 KB · Views: 24
  • 75100_mxus_app.xml
    11 KB · Views: 18
stan.distortion said:
Ecyclist said:
Thank you for looking into it. I'm sure that Trampa people will do all they can to shut it down. They charge a lot for what they sell and they don't want competition. Once you make some progress, I can PayPal you some money. I'm only good with mechanics, so I'm not much help. :bigthumb:
Why don't you ask them? The main brain of that project has posted several times in this thread and I very much doubt he's trying to prevent competition when he open sourced the entire design. Someday I'll be buying one of the sleek and sexy Trampa controllers, damn good kit and it's only fair to try and support an excellent project.
Good to see Flipsky have been listening too and seem to be making some changes to fit in with the licence, I've been a Flipsky customer in the past and a flagrant breach of the GPL would have ended that.
I have no questions for THEM because I know what I need to know. I've been playing with VESCs for the last five years.
I have a question for you, would you ask Satan for recommendation for a weekend getaway to hell?
 
Never hurts to ask, you may be pleasantly surprised.

Business is rarely a zero sum game, and many aren't even in it for the money in the first place
 
mxlemming said:
The shunts have been stacked.

[...]

I shall get a confirmation from Flipsky about what exactly is going on and get the right firmware on it...

Have you heard anything from Flipsky regarding the stacked shunts?

A few questions:

  • What does the version on your board read? 75100V201?
  • Were you able to save the firmware that it shipped with by using an ST-LINK? If so, could you post the .bin?
  • What did the hardware version on the shipped firmware read in the VESC tool?
  • Did you happen to take a screenshot or record the motor detection results with the shipped firmware and the hacked firmware to see the differences?
  • Can you measure the phase current through the VESC App and also through a clamp meter to see if they match with the hacked firmware?

If the shunts are actually 0.0005/3 ohms instead of 0.0005 ohms, then the detection values between the shipped firmware and the hacked firmware should be significantly different. Note that there was a change from firmware version 5.2 and 5.3 in how motor resistance is read, so it would be best to compare the shipped 5.2 vs the hacked 5.2 version.

I wonder if 3x 0.0015 shunts were stacked and labeled it as m50. It seems like it would be a nightmare for Flipsky to manage two different firmware versions based on a shunt change with no way of telling which version you have just by looking at the outside of the package. Plus assembly at the factory usually involves an application of solder paste, moved to the pick & place machine to have the components placed, then moved to an oven. If they are stacked, that would require moving it back and forth between the solder paste applicator and the pick & place machine. If the shunts are pre-assembled from another company, they would likely label it with the total resistance. I'm making a lot of assumptions however, and the best way to know for certain would be to perform some testing based on the questions above.

Finally, the 75300 firmware definitely won't work. It uses phase shunts vs battery shunts, has phase filters, has 3 temp sensors instead of one, uses 3.44v logic instead of 3.3v, has different voltage divider resistances to measure input voltage, has built in NRF module and a single UART port vs no NRF and 2 UART ports, and much higher current limits.

If your unit truly has 3x m50 resistors in parallel, then you only need to change this line in the hw_75_100.h and recompile the firmware.

Original:
Code:
#define CURRENT_SHUNT_RES		0.0005

New:
Code:
#define CURRENT_SHUNT_RES		(0.0005 / 3)
 
It definitely has 3x0.0005 shunts.

Phase vs low side won't make a difference unless you try to set sample in v0 and v7.

The detected values are off by about 3 if you use your firmware. As you would expect. It's not exactly 3 because the voltage divider has also been altered to match the 75300

Marking is 75100V202

Unfortunately I didn't realise this difference until it was too late and I'd flashed your image. I noticed when i set foc_openloop 40 300 and it rapidly got really really hot, because it's actually pushing 120A.

I was surprised that it read 75300 v2 when I first plugged it in but didn't think anything of it, it's not like VESC doesn't ever do strange things...

They said:
"The previous version is based on firmware 75100 and the new version is based on 75300_R2. They are different and not comptible. Thanks."

I've already informed them of the pitfalls of this, e.g. the impossibly high abs max currents and reduced voltage capability.

I also reached out to Vedder about the whole GPL issue. To paraphrase concisely, he asked them nicely 1 time to release the code, they told him the person that compiled it for them had refused and they voluntarily immediately pulled the product from market. It didn't seem dishonest or malicious. Hope this finally shuts down this debate.

This matches exactly what they previously told me.
 
This is really good info, thank you.

I've added a message to my "how to update the firmware" post that if you have 75100V202 printed on the board not to use my firmware.

It sounds like the controller is now using the unmodified 75_300_R2 firmware?

A few more follow-up questions:
  • Do the voltage divider resistors on the board match the 75_300_R2 firmware? (56000 and 2200)
  • Is there still just one physical NTC thermistor for the mosfet temperature?
  • Does the stock 75_300_R2 bin file work?
 
EDIT: Looks like this has already been discussed above..

I just received several new 75/100s. Looks like they are a revision from the first ones I got some time back.

The obvious changes are to the power supply section and looks like they stacked what Im assuming are additional SMD current sensing resistors? for each phase.

PCB is blue vs white.

I took some pics on my phone but it's a PIA to transfer to my PC(which I am posting this on). I was suckered into a freaking Iphone, never again!!!
 
jaykup said:
This is really good info, thank you.

I've added a message to my "how to update the firmware" post that if you have 75100V202 printed on the board not to use my firmware.

It sounds like the controller is now using the unmodified 75_300_R2 firmware?

A few more follow-up questions:
  • Do the voltage divider resistors on the board match the 75_300_R2 firmware? (56000 and 2200)
  • Is there still just one physical NTC thermistor for the mosfet temperature?
  • Does the stock 75_300_R2 bin file work?

I have so far not managed to get it to work using the stock image for 75300. It programs and reads correct voltages but just doesn't respond to motor commands, setup etc, didn't even overcurrent or whatever... Just does nothing.

This is pretty much standard behaviour for VESC, so I'm not too bothered by it.

It works ok with your images, detects, spins up just 3x the current, wrong detection values and reads the wrong voltage. I can flip between these images and get working wrong vs not really working atall. The hardware's fine, there's something weird with the state machine. Speculation from the last day from Benjamin is that it might be due to setting zero regen (I plug things into a large current limiting PSU, not a lipo when I reprogram) which causes the state machine to eat it's face because noise around zero current makes the motor think it's regenerating.

I would make more effort on this, see if yi can tweak the firmware etc but I'm consciously trying to step away from VESC, for me it's been an absolute car crash and it's eaten 3x as much of my time to struggle getting a few custom VESC boards running as it's taken to entirely write my own firmware, from scratch. The solution is normally wait a few weeks for Vedder to release new updates and magically you get a different set of problems, but hopefully the last one that caused trouble has now gone.

Edit:
https://youtu.be/yQhO4mzEEQ8

Short video of what happens. I've tried a lot of combinations... Read the defaults before starting etc. It's not the above mentioned regen current limit.

BLDC mode works. Spins fine.

FOC openloop runs.
 
Ok, figured it out.

The little flipsky has no phase filters.

Disable them and it runs fine with the 75300 firmware.

:bigthumb:
 
Hahaha that's great. So they modified the hardware to be compatible with the 75_300_R2, but still had to slightly modify the 75_300_R2 firmware to make it work. Now when people upgrade the firmware in the VESC tool, it will pull in the unmodified 75_300_R2 and the ESC won't work. If only there was another way...

So to be clear, you are running the 75_300_R2 and just removed this from the header file and it appears to be fully functional?

#define HW_HAS_PHASE_FILTERS
 
Back
Top