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

Got a chance to mess around a bit with my 75100 yesterday.

I'm going to reflash the firmware and try the steps in the VESC tuning thread as well as the suggestions in this thread. In the meantime I was hoping someone could see some obvious issues here and maybe save me a lot of trial and error.

I am really puzzled as to why simple BLDC mode wont run at all.

Here is the setup:
  • Lightningrods / LMX style inrunner. Its the old SPM version 45kv
  • 20s @ 80v
  • motor current set to 100amp
  • batt to 40amps
  • abs max current 150amps
  • current throttle
  • battery min is set super low at 20v to rule it out as a source of limiting or faults
motor detect seems to run fine as generic inrunner >2000g
Motor current: 73.88A
Motor R : 48.86mOhms
Motor L : 184.08 uH
Motor Lq-Ld : 99.56 uH
Flux leakage : 26.62wMb
temp comp :true
Sensors : Hall

Problems, many of which I have stated earlier in the thread:
  • From a dead stop the motor frequently wont start and just squeaks with throttle. Sometimes at like half throttle it will slam in to action violently. Other times it takes off fine without issue.
  • Once spinning it runs OK but the current ramp is always slow like its matched to RPM. Seems to me from a dead stop with the throttle ramp time down at 0.1sec it should always go close to max current rather than ramping with speed. I am set at 100amps and it wont go over 60 until about half my top speed.
  • About every 5 test rides the VESC app on my phone tells me the firmware is incompatible. Im assuming the violent surging or noise is corrupting the firmware. I'm starting to believe this is a "feature" of flipsky controllers.
This motor has a reputation of only running with square wave controllers. I dont really even care about the FOC and would be happy with simple square wave BLDC control as this is just a kids toy I'm working on.

But when I switch the VESC to BLDC mode it will not run at all. I am really surprised by this since I thought the default parameters for BLDC mode would be a super reliable fallback plan at the cost of some efficiency and noise.

Questions I am trying to get answered:
  • Why is the current ramp always slow with this thing? Is there a max amps per second ramp that is separate from the throttle ramp?
  • Why wont BLDC mode work? Does it have its own motor auto config step that I am missing? Shouldn't this be easy mode for this controller?
  • Why does my firmware get corrupted all the time?
  • Why do I never see any faults when I am looking at the RT data screen?
  • How likely is it that I am trying to get away with too much motor current since the motor detect suggested 73amps and I am trying to run 100?
Thanks
 
Maybe I can somewhat help with these questions?

Are you sure you aren't hitting the battery current limit at startup and low speeds and that is what is limiting the phase amps, set at 40 you should get close to or above 100A phase but can depend on the motor. Still could be other things, some logs may help here, honestly at this point I don't even bother trying to tune a motor controller combo that doesn't work off the bat without first plugging in the laptop to get the realtime data logging.

BLDC in VESC is rather simple and has had way less development than FOC, in theory it should be more reliable but I'm not sure that's always the case.

I don't think the firmware is corrupted, I think you're just talking about the message that tells you the VESC phone app is a newer version than the VESC version on the controller which you can either just ignore or update the controller firmware if you think some other issue has been improved with newer firmware.

The hard faults that stop the motor (almost always over current) only pop for a second and show a read indicator but you can ask the controller in the command line for the fault record and it will show you what the last fault was and some information on when it happened which can be very useful, the command escapes me at the moment but I could look it probably if you can't find it.

Highly unlikely it's too much current for the motor but too much current for the controller to drive the motor that is a different story. My experience with these cheap flipsky controllers is that is exactly where they fail, they have a hard time driving a motor hard, often well below even the controllers rated current. They just have too much noise to be able to control the motor, although this is often worse in sensorless mode and they can handle hall mode somewhat better. The motor current the wizard sets is just based on whatever you put in for the motor size and heat dissipation, really it just picks something reasonable for those variables to stop somebody from doing something dumb.
 
Thanks for the replies. I need to learn how to do logs with this thing. Problem is I have never managed to get more than a quick test ride out of it.

Once the firmware warning message pops up the controller has a blinking red light on it and it will nolonger spin the wheel.

I just tried to hook it up to my PC to try and reflash the firmware and it wont connect through USB or Blue tooth. The Blue connect option button that pops up with the name of the controller keeps strobing on and off.

So its definitely not happy.

You are probably correct about the faults being overcurrent. Its set pretty aggressively so when it has a problem synching with the motor I would imagine it slams pretty hard against the load of my freewheel and chain slop and spikes to a lot of amps.

I'll try to get this connection thing sorted and get fresh firmware and start the whole process over.

In the meantime I just want to test ride this thing and its a beautiful day so I'm wiring up an old Lyen trap controller at 3kw. Its going to be wheelie city. If I survive I'll mess with VESC after dark.
 
Update in case anyone cares at all. I cannot get this thing connected to VESC tool. It just says SERIAL PORT ERROR or A DEVICE THAT DOESNT EXIST WAS SPECIFIED. Having it plugged in makes my com ports strobe like its connecting and dropping every second.

I don't know if its a problem on the windows end or if the VESC is damaged. I found lots of info on how to reflash a bricked VESC but a lot of it involves connecting to it first in VESC tool.

If there is an easy known fix for this Id love to know but at this point paying myself buy the hour I have invested Trampa money in this POS from flipsky. Could be my lack of tech knowledge too but I doubt any device should lose the ability to connect every other time its powered on.

As popular as the VESC platform is I have to think its just bad hardware. There is no way every VESC user is spending a hundred hours splicing custom USB cables and reflashing confusing firmware every other time they power their controller up.

I bought this thing to learn about VESC before spending big money. That was a mistake. The poor quality has now scared me away from VESC.

I'm probably going to list this thing in the marketplace for the cost of shipping and the promise that whomever buys it will let me know what the problem is when they figure out how to fix it.

Thanks for the advice and tech support thus far as well as listening to me rant.
 
Yeah it sounds like it's just bad hardware which isn't exactly surprising considering Flipsky quality, honestly I've been were you are and while I did manage to get them working-ish it's just not worth it and it seems most of the issues are just due to poor quality control and poor design and it's worth buying quality hardware. It just comes with the open source model, you can't control who is going to use it to make garbage at the same time allowing many to make some amazing controllers. Honestly Benjamin and the Devs have put in more work than they had to to make these piles of garbage work as well as they do.

What is frustrating about the whole thing they could be decent, like for basically zero extra cost they could have made them pretty functional, they just put in no effort and are incompetent. And while I think you got unluckier than most I think it's still not worth the time for most people vs buying a mid-tier VESC which isn't that much more or if you really want something cheap and you have an easy to drive motor buying a matching cheap generic controller.

And the comparisons to cheap generic controllers kinda make sense, the VESC was never designed to be made from cheap hardware, it was designed I think with a more advanced and adaptable hardware setup that does cost slightly more, actually most of the added cost for premium controllers is quality control and support but some is high quality components. But like the Trampas use an entirely different current sensing method that totally changes how they work, which from my understanding works better but requires better hardware design. I'm simplifying slightly here to not try and explain the differences between low side and phase shuts which I only partially understand.
 
That is a shame. Flipsky does a pretty good job of offering a variety of options for fun small projects like the ones I generally find myself doing. I rescue a lot of ebikes and small scooters from the trash. The low risk price point and 84v capability were hard to find in the not so distant past.

What companies make a high quality 84v capable 100 motor amp vesc? What is the minimum price point to get one that will likely just work correctly? If money were no object who is making the best quality controllers?

Are the Spintend VESCs any better than the Flipsky stuff? Some of the reviews would suggest that they are but others report very similar problems.
 
The first flipsky product i bought had wires easily coming loose from the controller, and didn't work out of the box either..
Once realizing the crap build quality, i gave up on it - most likely just gonna be problems down the line.

I bought a spintend and think the build quality is really good for the dollar, and it just worked out of the box.
 
Got a spintend 85V/240A. Working ok so far. Two issues thou. Regen not strong and motor shuddering when i apply throttle real fast.
 
There are so many VESC brands it would take too long to talk about them all but Flipsky and Makerbase are bottom tier for sure and I would say Spintend and MakerX are probably above those and into the good but not premium pricing range. And I think top end are Trampa, Triforce and Tronic. And there are lots and lots of brands in the middle that it's hard to gauge how good they are because there are so few of them out there or have mixed reviews which are hard to sort out.

I do think there could be a real silver lining to these dirt cheap controllers though, in my expereince yes they have sone QC issues now and then but mostly that isn't the issue and they are assembled just fine, they are just designed like shit with poor board layout, lack of filter caps, incorrect firmware, etc. But here is the thing a lot of that really only relates to being able to drive the motor in sensorless mode using the current sensors. So with a motor with an absolute encoder you skip all that and the controller always knows exactly where the rotor is. So perhaps pairing a cheap controller with an absolute encoder could yield very good perforamnce for little money and faff. The encoders are very cheap and depending on the controller just as easy as wiring the halls. Installing them is very easy as long as you can put something over the end of the motor shaft. This is however and issue for hub motors and I was trying to figure out how to do that.

But I do have the perfect application for this as I have a bike with a motor I'm working on installing an encoder on with a shit controller that has issues dirving the motor past around 130PA and even at that after lots of tuning. So I guess eventually I'll give that a shot.

Got a spintend 85V/240A. Working ok so far. Two issues thou. Regen not strong and motor shuddering when i apply throttle real fast.
So far I've had what I would desribe as strong regen with my VESC, what do you have the regen currents set to? Shuddering is probably the controller not being able to quite keep the current stable, may be able to be tuned out, perhaps with a little higher pid gains from lowering the time constant a little, just as a guess.
 
And I think top end are Trampa, Triforce and Tronic.

So with a motor with an absolute encoder you skip all that and the controller always knows exactly where the rotor is. So perhaps pairing a cheap controller with an absolute encoder could yield very good perforamnce for little money and faff. The encoders are very cheap and depending on the controller just as easy as wiring the halls. Installing them is very easy as long as you can put something over the end of the motor shaft. This is however and issue for hub motors and I was trying to figure out how to do that.

I would love to know more about what encoders you would recommend and what criteria you are using to pick one. Since encoders are found on lots of fancy expensive equipment its hard to sort out which ones are the simple cheap ones for hobby projects.

My LMX motor seems to throw some pretty significant field out of the end of the windings. The hall signals from it have always been messy and the now the temp sensor spikes immediately with the current. So unless the motor temp is actually rising and falling 30 degrees C in fractions of a second I'm thinking its electrical noise from the windings.

Would an encoder be more resistant to interference from the high current?

Thinking about this takes me back to 2011 when Burtie was using optical sensors in place of halls in small RC motors.
 
The AS5047 series seems to be the most common, it's the one I'm going to try. The idea is I'm mounting it outside the motor by making a new pulley cover with the sensor mounted inside and the encoder magnet glued to the end of the motor shaft. That way it's well isolated from any noise. You can get the AS5047 on a dev board and they even generally come with the magnet so all you need to do is wire it to the VESC. The trick though is possibly some VESCs have electronic filters on the hall pins which may cause issues, not sure about this.

How to set up AS5047 encoder on vesc based escs seems to explain it pretty well. I made the new pulley cover but just haven't had a chance to install it. I does seem that getting the sensor as centered as possible improves it's readings. But it does seem like the AS5047 can run fast enough to easily operate my motor throughout it's full RPM range.
 
Thanks. Looks like it could be a good solution for difficult motors. If I counter bored the end of a steel motor shaft and glued the magnet down into it I wonder if that would induce field in the shaft in a way that would alter the reading. Would be nicer than trying to glue it dead center and be a little more compact.
 
Should be fine, I was thinking of that, how to glue the magnet as centered as possible, not sure I can be bothered to bore a pocket in the shaft. The magnets are also quite small and so are the sensors boards. I think it is both a possible solution for difficult motors and difficult controllers. As far as I understand it the driving the current if you know where the rotor is and the basic parameters of the motor is the easy part, it's the knowing exactly where the rotor is that causes all the issues for both motors and controllers.
 
There are so many VESC brands it would take too long to talk about them all but Flipsky and Makerbase are bottom tier for sure and I would say Spintend and MakerX are probably above those and into the good but not premium pricing range. And I think top end are Trampa, Triforce and Tronic. And there are lots and lots of brands in the middle that it's hard to gauge how good they are because there are so few of them out there or have mixed reviews which are hard to sort out.

I do think there could be a real silver lining to these dirt cheap controllers though, in my expereince yes they have sone QC issues now and then but mostly that isn't the issue and they are assembled just fine, they are just designed like shit with poor board layout, lack of filter caps, incorrect firmware, etc. But here is the thing a lot of that really only relates to being able to drive the motor in sensorless mode using the current sensors. So with a motor with an absolute encoder you skip all that and the controller always knows exactly where the rotor is. So perhaps pairing a cheap controller with an absolute encoder could yield very good perforamnce for little money and faff. The encoders are very cheap and depending on the controller just as easy as wiring the halls. Installing them is very easy as long as you can put something over the end of the motor shaft. This is however and issue for hub motors and I was trying to figure out how to do that.

But I do have the perfect application for this as I have a bike with a motor I'm working on installing an encoder on with a shit controller that has issues dirving the motor past around 130PA and even at that after lots of tuning. So I guess eventually I'll give that a shot.


So far I've had what I would desribe as strong regen with my VESC, what do you have the regen currents set to? Shuddering is probably the controller not being able to quite keep the current stable, may be able to be tuned out, perhaps with a little higher pid gains from lowering the time constant a little, just as a guess.
Was comparing my spintend regen to my phaserunner ver3 regen. Spintend regen set at 120A phase/60A battery. Will try pid tuning soon as we get better weather day
 
I had issues with a 75200 not liking a 2000w scooter hub motor couldn't apply much torque without it losing sync and making metallic slapping sounds as it locked up but it would run a hoverboard motor like champ smooth and quite.

I assumed it was inductance to big of a motor for the controller but it then managed to spin a qs138 v3 up obviously not near its potential but it didnt lose sync, so at a guess its possibly the emf from the motor thats causing the issues but never got to the bottom of it and shelved the parts probably recycle them is best bet lol.
 
One day, I intend to make a video on tuning motors. I will outline my methodology in limited detail... I think it is kind of important because the common internet folklore about it is garbage/dangerous.

DO NOT:
1) use slow abs max, EVER
2) blindly increase limits to make errors go away
These are two commonly cited suggestions. This is akin to ignoring problems.

When I set up a new motor/controller, I roughly follow this order:
1) plug in controller (preferably to current limiting PSU, 18V or the lowest it will turn on at and 0.2A), check FOC offets on current sensors are sensible (typically 2048+/-150 counts).
2) Set the general current to like 10A and 20A abs max
Set the voltage limits to be sensible... I tend to use 10-15% above battery max voltage but always at least 5V off the FET rating. Under voltage I just put at a level where going lower would result in the controller turning off (typically 20V)
Take care that the battery current and voltage cut off limits are sensible to avoid power rollback and wondering why you have no power. Or blowing your battery.
3) press the bandbrake button, measure the phase voltage with scope or multimeter - scope = 50% duty (might recently have changed to all low FETs on...) multimeter = vbus/2 (might now be 0V).

Now connect a motor.
4) repeat 3), watch out for overcurrents. At this stage, if you get overcurrents, you probably have bad hardware or shorts somewhere.
5) Set currents to like half what your motor/ESC should be capable of, abs max like 50A over.
6) FOC page... run detection RL and lambda, with PSU set to half your battery voltage and maybe 5-10A... Many people have not got a PSU and so this becomes a lithium battery and YOLO. Check the results are sensible!
Flux linkages for EVs are usually:
10-20mWb region for in-runners,
20-40mWb for hubs.
2-10mWb for smaller outrunners can be down in the region...
higher kV implies lower flux linkage, more PP implies lower flux linkage.
R and L... quite variable.
big inrunners are in the 2-10mohm, 20-100uH region
outrunners can belike 5-100mohm, inductance is hugely variable,
hubs maybe 10-300mohm and 20-300uH

It is usually best to decrease the time constant to 400us. I have not seen a case where higher time constants helped except with broken hardware, where it can mask really bad current sensor readings.

If you get values much outside this, check it is really correct. Without correct values, there is little point proceding.

7) Run hall/encoder detection - remember if doing encoder you need to manually enter the encoder counts and pole pairs in the General Sensors tab before doing the setup in FOC Encoder... It can be really tricky to guess what the real counts are given motor datasheets since there are counts, transitions, steps... many factors of 2 and 4 between the naming.

Remember to apply and write the values using the Mdown button on the right...

At this point, your motor should spin and if you are lucky you are done and just need to set up a throttle.

However, if you are pushing a motor to the limit, or running a highly salient motor you usually need to go further.
8) Engage MTPA if your Ldq difference is more than maybe 20% of the L value. Use IQ measured, always, otherwise you can get extreme amounts of unintended field weakening.
9) Now we get to the painful world of observers. If you have an encoder... and it works... just set the erpm limit in the FOC encoder tab to be higher than your max erpm and it should just be better that way without effort.
If you have not... then you just need to try various things. Different motors respond better to different observers.
Generally, highly salient motors run best with ortega original and a very low gain whereas a lot of problematic motors which have rapid saturation and high pole count (like Tmotor U15) run much better with mxlemming observer.

My findings with running Ortega back to back with an encoder has been that the lower the gain, the better it tracks... right up until it becomes unstable and stops working atall. If you run a higher gain, you can easily push more more more amps... btu the tracking angle is bad and the power output drops off so you create much more heat for not much benefit.
The flux linkage observer uses the same gain factor as the main observer, which means you cannot tune them independently - this causes trouble, and has led to some dislike of the flux linkage observer.
If running Mxlemming observer, you can use the gain factor independently for the flux linkage... if using Ortega... cannot. Frequent comment from scooters has been that Mxlemming observer gets more torque, but Ortega more amps. I have verified this, BUT if you sit and mess with gain and inductance tuning, eventually you get the best result with Ortega original in many cases.
Other tips for getting higher current under sensorless:
Use the FOC Sensorless Saturation Compensation Mode... use factor. Higher current = more saturation. Maybe start with like 30%. Maybe reduce the L or Ldq by 30%, this often improves stability but sometimes at the expense of efficiency.
I have never seen cross coupling help in an EV application. Turn it off, it is for things like servo drives with huge inductance and rapidly changing setpoints, not throttle twisting and accellerating.

The key thing is to identify the real source of your problem. This is done using the "trigger sampled at fault" option, and inducing the fault while connected (USB, BLE, wifi...) to a proper computer. Nothing else is much use. NOTHING.
View attachment 359817
This is a very nice looking trace, 500A, 60% duty cycle, 20s battery... But it was on low side shunts. Therefore, you start to get current sensing anomolies at high duty and current (dinks at the bottom of the sin). Perfectly useable though.
View attachment 359818
Same thing but 80% duty. This starts to be a problem, there is not much you can do about this, it is a hardware limitation this device still pushed like 20kW though so meh)
View attachment 359819
This is an example of unstable observer. The tracking goes off and therefore the currents go haywire. Need to fiddle the gain/inductance/saturation comp.

View attachment 359820
Here is an example of a small motor running field weakening on an ESC with 600A current meaurement range. It looks rough, but it is fine. The blue line is inverting because it cannot decide if it is breaking or accellerating - free spin. There is some evidence of low side shunt abbheration but it is minor.
View attachment 359823
The dinks in this are due to dead time abherration (ignore the first 0.02s, that is where it locks the rotor into synch). Not much you can do about it. Hardware limitation imposed by the maker. This is running on a phase current sensor board I had with very nice sensing but needed power stage tuning.

View attachment 359824
This looks horrid but is actually nice. Board was 1800A sensors, running 20A. Be aware of the noise floor.

Annoyingly, I cannot find an example of the typical unstable observer behaviour. That looks like a pulsating sin wave, with fault triggering when the pulsation goes above the abs max. If I find an example, or next time I experience it... I will post.

Field weakening:
the only setting I ever use on VESC is 200ms, 80-85% start duty. Ramp up the amps to taste... bear in mind infinite speed is when L*id = lambda.
I've seen so many people try to push the Abs current by just increasing it until it's out of the controller's reading range it's ridiculous haha it's obvious that's no sense, but 99.9% of ppl using Vesc just dont know how to connect a light bulb on a battery so ... not surprised

thx for this tutorial who is very great about infirmations, i will give you some sampling issues when i will have it if you want to complete the list of wavefoarm issue
 
I bought a spintend with an e-wheel adapter and matching accessories and it worked great out of the box except for one vesc tuning detail i didn't know about. No problem on 52v. Good quality build and good service.

I bought a flipsky equivalent and it doesn't even work out of the box and wires detatched from the pins while handling it, lol.
 
I just bought the 75100 FOC VESC enclosed controller, and I was wondering if I can use my old 2 wire brake lever, and not have to buy a 3 wire version. I was wondering if anyone has done this. And which connections to use. I don't want to short the wrong wires lol! Also I would love to run a power switch, besides the main battery switch, but not sure what to use for that either, maybe wire in a switch to the brake connections also? Thanks
 

Attachments

  • flipsky_brake_wiring.png
    flipsky_brake_wiring.png
    222.3 KB · Views: 3
Few ways you could do it, that VESC doesn't have a power switch as in there is no way to turn the actual controller off although it will go to a low power mode after being not used but will still draw some power. As for a brake lever with the correct wiring you should be able to use it fine, just may need a pullup or down. Is it a brake switch as in for regen braking for a safety kill switch, setup and such would be different for that matter is it a switch or a variable resistor?
 
Few ways you could do it, that VESC doesn't have a power switch as in there is no way to turn the actual controller off although it will go to a low power mode after being not used but will still draw some power. As for a brake lever with the correct wiring you should be able to use it fine, just may need a pullup or down. Is it a brake switch as in for regen braking for a safety kill switch, setup and such would be different for that matter is it a switch or a variable resistor?
I'm still not sure what connections, I would think you would short the signal ADC2 with the ground or positive, because wouldn't shorting the ground and positive together blow the controller? As for the switch, I learned they sell a antispark module with a switch attached, I will just get one of those.
 
Back
Top