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

Now i am ready to start but:

  • I wrote some days ago about the flashing process because its the first time for me, and now i have a problem… the link for the bootloader is broken but i found a “BLDC_4_Bootloader.hex” in the internet is that right? (I submited the problem in GitHub)
  • I flashed the bootloader and after that i flashed the firmware “BLDC_4_ChibiOS.bin” all with the “STM32 ST-LINK Utility” (i did not change any parameters is that right? start adresses eg.)
  • Now if i power it up, the blue LED is on and the red one is flashing fast, and i dont get any signals ob the USB like (Serial Adapter eg…) also i cant connect (i think because of that) with the “vesc_tool_2.06.exe” - No Connection (Also like mentioned no COM Port opend from VESC)

Does somebody know what to do?

1 Like

Did you flash the firmware as well with the st link? If not, do that too.

1 Like

Thanks for your fast reply,
i flashed all (Bootloader and ChibiOS) with the ST-LINK.

But i am not sure if the bootloader is right, because i found it somewhere in the internet.

The “BLDC_4_ChibiOS.bin” is from your Git.

Now its just flashing red fast.

1 Like

So both the bootloader and the firmware bin files are on the github repo. I recommend erasing your STM32 and starting over with what you can get from the repo.

Get the firmware from the “FW5.01” folder though

1 Like

another board broken. this time fault code drv.

The following faults were registered since start:

Fault : FAULT_CODE_DRV
Motor : 1
Current : 0.3
Current filtered : 0.1
Voltage : 19.06
Duty : -0.001
RPM : 0.4
Tacho : 4
Cycles running : 3
TIM duty : -6
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 28.74
DRV8301_FAULTS : | GVDD_UV |

hooked the cfoc2 up to my 46.8v battery (lifepo4, 14s, nominal voltage 3.3v) and the motor spun up no problems, sounded awesome.

took it outside, gave a little push and pressed the throttle gently, and it felt like it was braking, so i assumed i just needed to swap two phase wires because the motor was spinning backwards. then i pressed the brake gently and that’s when i noticed the fault light flashing.

i reflowed the drv chip (because why not) and then hooked it up to a 5s lipo and no flashing red light. unplugged, connected to the motor, plugged back in and was able to spin the motor, that’s when i ran “faults” and got the details above.

when i reconnected the 46.8v battery the fault light flashed right away, and now fault returns “error code drv” and faults says no error code (i guess because the current fault is still active?).

now even with the 5s it just goes flashing straight away

1 Like

built a whole new one, now i’m throwing faults like crazy

The following faults were registered since start:

Fault : FAULT_CODE_DRV
Motor : 1
Current : 83.0
Current filtered : 80.4
Voltage : 42.63
Duty : 0.532
RPM : 26799.4
Tacho : 101995
Cycles running : 84770
TIM duty : 4466
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.10
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 34.4
Current filtered : 29.0
Voltage : 45.47
Duty : 0.396
RPM : 20752.7
Tacho : 108457
Cycles running : 5719
TIM duty : 3327
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.55
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 41.1
Current filtered : 35.5
Voltage : 45.43
Duty : 0.687
RPM : 18819.1
Tacho : 114103
Cycles running : 1683
TIM duty : 5769
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 35.17
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 37.8
Current filtered : 32.7
Voltage : 45.06
Duty : 0.756
RPM : 23068.2
Tacho : 115933
Cycles running : 1659
TIM duty : 6353
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 35.23
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 19.5
Current filtered : 18.1
Voltage : 46.36
Duty : 0.435
RPM : 19887.5
Tacho : 135158
Cycles running : 55105
TIM duty : 3653
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 36.15
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 38.6
Current filtered : 34.0
Voltage : 45.12
Duty : 0.733
RPM : 19791.1
Tacho : 156583
Cycles running : 1676
TIM duty : 6155
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 36.81
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 35.1
Current filtered : 30.4
Voltage : 45.30
Duty : 0.719
RPM : 18697.8
Tacho : 172807
Cycles running : 1679
TIM duty : 6041
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 36.61
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 43.0
Current filtered : 33.8
Voltage : 45.41
Duty : 0.720
RPM : 19588.0
Tacho : 206737
Cycles running : 1663
TIM duty : 6048
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 36.29
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 42.7
Current filtered : 34.0
Voltage : 45.43
Duty : 0.713
RPM : 19016.4
Tacho : 210769
Cycles running : 1667
TIM duty : 5991
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 35.14
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 14.3
Current filtered : 7.1
Voltage : 45.50
Duty : 0.586
RPM : 11968.2
Tacho : 309998
Cycles running : 9452
TIM duty : 4920
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 33.96
DRV8301_FAULTS : | FETLC_OC | FETHC_OC | FETLB_OC | FETHB_OC | FETLA_OC | FETHA_OC | OTW | OTSD | PVDD_UV | GVDD_UV | GVDD_OV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : -1.1
Current filtered : 0.1
Voltage : 46.24
Duty : -0.007
RPM : 3110.6
Tacho : 326858
Cycles running : 5606
TIM duty : -62
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.55
DRV8301_FAULTS : | FETHC_OC | GVDD_UV |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 0.0
Current filtered : -0.0
Voltage : 46.09
Duty : -0.001
RPM : -0.7
Tacho : 327018
Cycles running : 2
TIM duty : -4
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.61
DRV8301_FAULTS : | FETLC_OC |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 0.0
Current filtered : 0.0
Voltage : 46.09
Duty : -0.001
RPM : 0.6
Tacho : 327018
Cycles running : 2
TIM duty : -5
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.61
DRV8301_FAULTS : | FETLC_OC |

Fault : FAULT_CODE_DRV
Motor : 1
Current : 0.0
Current filtered : 0.0
Voltage : 46.07
Duty : 0.000
RPM : -0.2
Tacho : 327018
Cycles running : 2
TIM duty : 0
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.61
DRV8301_FAULTS : | FETLC_OC |

Fault : FAULT_CODE_DRV
Motor : 1
Current : -0.0
Current filtered : -0.0
Voltage : 46.09
Duty : -0.001
RPM : -1.3
Tacho : 327018
Cycles running : 2
TIM duty : -7
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 34.49
DRV8301_FAULTS : | FETLC_OC |

have i got a bad motor or something? what am i doing wrong here? i have ruined 2, now looks like 3 boards.

Fault : FAULT_CODE_DRV
Motor : 1
Current : -0.0
Current filtered : -0.0
Voltage : 46.21
Duty : -0.002
RPM : 5.7
Tacho : 0
Cycles running : 2
TIM duty : -13
TIM val samp : 4200
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 32.79
DRV8301_FAULTS : | GVDD_UV |

r22 is vertical…

Show a pic of your FETs, basically the same faults I saw after blowing them…
If you are seeing these faults that means the DRV is still functional, but there might be a shitty connection or a solder bridge somewhere…

1 Like
NSFW

sorry no actual pics of dirty FETs.

3 Likes

thanks for your reply, I found one bad joint on the underside of the PCB, on the source of Q3, maybe that’s the issue with this most recent board?

https://drive.google.com/folderview?id=1OUA7nYldjj2YVZqCP7Ej5mX1r2mdaQZY

after I put r22 back in its place I didn’t get the fault anymore, and was able to spin the motor using VESCtool, but I’m far too scared to ride it. only so many boards left.

i wonder how i was pulling 83A in that first error, batt max is set to 30, motor max 70, abs max 100

I added solder to every FET joint, hopefully that was the issue.

anything else I should check before trying again? I guess it would be prudent to set batt max to like 15A, motor to 20A and abs to 50A for testing?

For the record, one of my boards came with a solder-bridge on the DRV. It was easy enough to clean up with some solder braid.

2 Likes

@alwaysmohawk the controller needs to be soldered perfectly. This controller and most electronics will not tolerate even the slightest error in assembly. Once everything is soldered correctly and assuming nothing is damaged, the CFOC2 will work.

Once you get your controller working, don’t immediately push the limits of the controller. Go easy on it at first, fine tune settings/detection if things are not ideal, and then work up to the higher current limits.

6 Likes

@shaman Could you elaborate on this a little bit. What did you mean by:

" It is recommended that you reflow the DRV and/or touch up the soldering of both the legs and the large pad underneath before initial power on."

Did you mean those double-pins of DRV: PVDD2 and PH?

As soldering via the bottom hole, I suppose, should not be an issue, yes? I really just do not want to reflow entire DRV.

Thanks

2 Likes

i asked about the hole earlier in the thread, and that’s why it’s there, so you can solder through it. not sure about the pins though.

thank you for your help and advice. I hope I haven’t soured any opinions of the project. I am not as skilled at PCB assembly as I would have liked to believe, as such I’m confident that the issues I’ve been having are directly related to my abilities.

I’ve checked and triple checked every joint and just got back from a few km trip with bat.max 20A, and had zero issues. “No faults registered since startup”.

Thank you again for your time and attention, and all of your hard work. I’m reminded of the story (fable?) about the lady who asked Picasso for a napkin he had been doodling on and was about to throw out. He said he’d sell it to her for $20,000 to which she replied “but it only took you 30 seconds” and he replies “no madam, it took me 40 years”

5 Likes

Hey I’m glad you got it working!

Electronics are fickle things that demand perfection. Don’t worry, even I have a pile of burnt controllers and failed prototypes in my shop. This is how we DIYers learn!

4 Likes

I would be as thorough as possible. Yes this means all legs and the hole underneath. This is possible with a regular iron, a flat or chisel tip, and some good flux.

1 Like

I don’t think so. All feedback helps all us DIYers and I’ve seen Shaman integrate it into the project.

3 Likes

@ziploc does the focer work with hc05? Help appreciated.

Yes it does. I used the 5.01 firmware on my CFOC2, and that has a different protocol than my VESC’s (which were running fw 2.18 and fw 3.40), but otherwise identical.

1 Like