Cheap FOCer 2 (Open-source, Low-cost, VESC 6 based ESC) (v0.9 Release. Beta testing ongoing)

I’ve still got 4 boards, with all components from LCSC, I could get rid of (ordered 10), if anyone’s interested,

pros of building one include: learn how good you are at soldering! help beta test! get a cheap focer!

2 Likes

interesting, thanks for the background. If you couldn’t tell I’m completely new to all of this and don’t know about these little weirdnesses that you can’t really just google.

I wonder if I should have went with “10s” (which would be 12s using these lifepo4 cells)

Yeah you kinda have to live on the forum to know something like that without having experienced it yourself. I know someone somewhere on the forum has mentioned exactly what I did, but I cant find it :smiley:

Rather than calling it “S” lets call it voltage… 42v is generally considered the safe area for VESC Based controllers. Some people trying to squeeze as much out of a “unsure” controller will even run 46.2v (11s LiPo(Ion)/ 13s LiFe). But it seems that 50-51v does tend to cause the most problems (from what ive seen on the forum) but you get the most out of the Controller without getting to the “pop” voltage which is usually 55v (13s LiIon/LiPo).

As far as I know there are only a handful of controllers that can reliably run on 55v and thats likely (also IIRC) because they have a robust enough design to filter/handle voltage spikes that cause DRV’s to go pop. I believe @doomy ran the CheapFOCer 1 v0.9/v1.0 at 13s with success; This also to keep in mind was Rev4 hardware design using the DRV8302 and not the current Rev6 hardware using DRV8301. As well some other controllers like FOCBOX and a few others out there can manage it.

Im still learning myself, so im sure there will be others with good insights that chime in as well.

1 Like

one cool thing with the lifepo4 cells is that they drop to 3.3 almost right away, then stay there til they’re dead empty. This does make remaining capacity difficult to measure though, but that’s very good to know. I’ll try to make sure to discharge the battery a bunch before any big braking. if this keeps giving me trouble I’ll just lop off a p-group or two

1 Like

Let off the throttle for a few seconds, voltage rebounds very quickly

2 Likes

I think the capacity remaining issue with LifePO4 cells is less to do with the voltage draw-down at higher currents and more an issue of having a very flat discharge curve even at very low discharge rates.

I mapped the draw-down for a set of LiIons I have, including the impact of current on voltage, and I was quite happy with how stable that made my “fuel gauge”. When I looked at some other cells (like LifePO4’s) I had some doubts about whether I could make a useful gauge.

pic

1 Like

I’d rather take voltage out of the equation and do coulomb counting. Basically counting Amp-hours coming out or going into the battery to track state of charge. Has the esk8 community adopted this in any kind of way?

5 Likes

I’ve considered that as well, but there are some issues. The amount “in” the cell depends in some sense on the rate you take it out. Also, you really have to know how much is in there to begin with. So I guess if you do a full cycle on your batteries every so often, you can know their full capacity. And if you characterize the internal resistance, you could compensate for the rate of discharge.

Then there’s the problem of remembering your state of discharge if you don’t discharge it all in one go.

To my knowledge this is not done in the E-skate community. But I will say that after characterizing my Li-Ion cells I’ve been very happy with the behavior of my fuel gauge (it was moderately useless before that).

3 Likes

Hey guys.
So in the past 2 weeks I have made around 20 FOCers from two different pcb manufacturers, JLCPCB and PCBway. I had some interesting times doing this and I want to share my experiences and thoughts with you all.
My first batch was from pcbway which was disappointing since all the focers overheated when powered on. After much trial and error, it was found that the pcbs had a bad batch of D6 diode. I replaced that and the focer worked flawlessly.
JLCPCB was a bit more interesting, half of the batch had bad drvs, which are difficult to replace and expensive! Not to forget the time wasted doing it. After replacing the drvs, the focer worked well.
Cost wise, jlc is half the price of pcbway, but the biggest difference is that pcbway solders the bmi160 imu and that is a huge relief. I had an 80% success rate getting the imu correctly soldered and working the first time on jlc pcbs. On 2 of the pcbs, the ground pads lifted the second time making the imu impossible to get working. I have kept these pcbs for non-balance applications, but keep in mind, that is 2 out of 10 focers gone.
Testing the focers on my Funwheel was a blast. The FOCers performed well in all aspects and even with no heatsink, the were at a cool 45C.
Overall, I think its an amazing vesc. We just need to find a reliable pcb manufacturer and smt assembler who is ALSO cheap. Lol. I guess beggars cant be choosers.
I cant thank @shaman enough, not only for the best open source vesc there is, but for the continued support in helping me diagnose and solve problems listed above.
Here are some of my thoughts, and a quick test ride with the FOCer:

14 Likes

DieBieMS & FlexiBMS do coulomb counting.

5 Likes

Just a thought here, but would it make sense on 1.0 to bring contacts out for the IMU so you could just add one of these with nothing but a Radio Shack wood burner?

I think there might be a way to hybrid the two methods. Use resting voltage to determine initial state of charge and make that the reference for the coulomb counter at startup. Go on about your ride and let the coulomb counter do it’s thing.

So basically every time you turn on your rig the coulomb counter re-calibrates to the resting voltage (fuel gauge). Seems doable by an arduino, accurate low-side shunt resistor, and some analog conditioning between the shunt and arduino ADC.

1 Like

I agree that would work as long as you know the cell’s overall capacity. Simply using voltage has the advantage, and disadvantage, that it doesn’t need to know cell capacity since it only tells you the percentage charge remaining.

But this approach doesn’t solve the problem of LifePo4 cells having such a shallow discharge curve since it would still be difficult to tell the state of charge by looking at the resting voltage.

2 Likes

well just like you said, if you know the battery capacity (the user should) then it’s possible. LiFePo4 batteries will just have to take voltage references fresh off the charger and then coulomb count from there. The reference then can’t be reset until nearing depletion or when charged again. It’s possible to keep track of this. I have ambitions to do a cheap open-source BMS capable of all this but that’s just a pipe dream for now. Wish I could get a hold of the schematics for those generic “smart” BMS units from China…

8 Likes

Hmmm…this might be interesting. I’ll save looking into this sort of thing for a different thread…

4 Likes

Up to 20s with UART, metr compatible and very tiny :slight_smile:

1 Like

@shaman Diebiems has selectable SOC methods including coulomb + voltage lookup.
Both Flexi and Diebie are open sourced
Derelict Robot also has new open source BMS in the works:

I think there are enough options, I would rather contribute to the projects that are already in the works so they could be finished more quickly

2 Likes

Yeah seems like the BMS scene is taken car of. The only thing is that they don’t use the BQ769xx chips and use the LTC6803 chips instead. It’s just that the BQ769xx stuff is JLCPCB compatible… Oh well. Back to motor controllers.

7 Likes

i added a third cap, still getting the over voltage issue during braking, which is not that concerning, but after 10-15 mins or so I get the issue where the DRV throws every fault.

Is there any further troubleshooting I can do? replace DRV? more caps? bigger caps? happy to make whatever mods

1 Like

Sorry to ask dumb questions, but where do you see all these faults? Is that from logging with the metr? I log continuously when I ride and I’d definitely like to log faults. Right now I’m just logging specific things I ask for.

1 Like