QCA7000 Foccci+Clara User thread

Development and discussion of fast charging systems eg Chademo , CCS etc
User avatar
dimonlipko
Posts: 45
Joined: Thu Apr 02, 2020 9:28 pm
Location: Ukraine, Kiev
Has thanked: 5 times
Been thanked: 9 times
Contact:

Re: QCA7000 Foccci+Clara User thread

Post by dimonlipko »

Hi! After long delay I am back to my Foccci.

Today I have first successful charging session!))) It is first Foccci in Ukraine!!)

I have project to implement ccs in Fluence ZE with custom battery (bms custom too). Now install Foccci without CAN connection with car, but next step implement it fully like OEM.

I delete one original charging port type 1, and install there type 2 combo. But think about best solution, for control OBC. I can emulate it by CAN, and make for car fake charging session, car close battery contactor. But I need to off OBC, one way is break 12v, or using relay for disconnect OBC from CAN.

I think about add new module CAN relay for realize it.
Attachments
PXL_20250118_161944647.MP.jpg
PXL_20250118_134552145.jpg
Screenshot_20250118-190846.png
PXL_20250118_171625090.jpg
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: QCA7000 Foccci+Clara User thread

Post by uhi22 »

Great, congratulations. Surprisingly you found well matching connectors, seems to be a good alternative to the expensive Deutsch connectors. Where to obtain these, which partnumber do they have?
User avatar
celeron55
Posts: 803
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 38 times
Been thanked: 135 times
Contact:

Re: QCA7000 Foccci+Clara User thread

Post by celeron55 »

Those connectors are definitely Molex Mini-Fit (or one of the Chinese clones).

I have some, and an old spare Foccci. Here are some photos

EDIT: Part number is 35318-1220. And the female wire side header is 39-01-2120, and you need contacts also of course (I don't have those listed on my notes).

EDIT: The holes are very tight for these particular Chinese clones, I'm not sure I can push these fully in without damaging the board. It might make sense to enlarge the holes a bit.
Attachments
IMG_20250119_163745.jpg
IMG_20250119_163740.jpg
IMG_20250119_163731.jpg
jrbe
Posts: 567
Joined: Mon Jul 03, 2023 3:17 pm
Location: CT, central shoreline, USA
Has thanked: 199 times
Been thanked: 165 times

Re: QCA7000 Foccci+Clara User thread

Post by jrbe »

^ that ^ looks more like the row spacing is off connector to footprint from the last 2 images.
If that is a common issue between 2 brands you could make one row or the other slotted holes so it's compatible with either.
User avatar
dimonlipko
Posts: 45
Joined: Thu Apr 02, 2020 9:28 pm
Location: Ukraine, Kiev
Has thanked: 5 times
Been thanked: 9 times
Contact:

Re: QCA7000 Foccci+Clara User thread

Post by dimonlipko »

I am using molex minifit, but hole in pcb is small and connector not fully insert. I think about make next pcb for china cheap ECU box. What I don't like in this minifit, that 2 connector is the same and possible to confuse. Need use connector that have key.

I portable Johu Web interface to ESP32-C3, and delate native SD card support because this esp is not supported it. And also I make small board only for web ui

Is it possible to make Foccci send fixed CAN message, like example, id 423 data: 10 20 30 40 50 60 70 80, with delay 100 Ms?

I want to add one more digital output for off OBC.
Attachments
PXL_20241221_225049200.jpg
jrbe
Posts: 567
Joined: Mon Jul 03, 2023 3:17 pm
Location: CT, central shoreline, USA
Has thanked: 199 times
Been thanked: 165 times

Re: QCA7000 Foccci+Clara User thread

Post by jrbe »

Molex minifit connectors are something I'd never use based on my history of the female terminals going bad in a short amount of time in a medium vibration product.

These seem to be extremely sensitive to crimping technique and even perfect looking machine made crimps are susceptible. Molex crimped cables seem better but still might be susceptible, i never got to test them fully.

I believe a large part of the issue i saw was less than ideal strain relief on the wires close to the connectors, so it put the load on the crimps and weakened / stretched them over time which led to bad connections.

So at the very least i'd recommend good strain reliefs close to the connector. Might be worth swapping out the connector if you guys start seeing issues or consider a dual footprint soon so it's an easier swap.
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Quick question, what actually happens when you have a canbus conflict? I had my ESP32 web interface communicating with Foccci on the bench last year, but now that it's in the car the web interface just sits loading forever without getting parameters. There are other things on the network though, like my inverter, BMS, DCDC and gauges. Web interface connects to the inverter without issue and other devices all appear to be functioning. Just thought I'd ask if there's an easy way to tell if those could be interfering before I start cutting wires.

EDIT: Tried disconnecting other stuff and yeah, something else on the network probably has a conflicting ID because as soon as they were off the network it worked fine. I don't know which device is the culprit but it's either the Dilithium MCU, the Dilithium display gauge or the Gen 1 Chevy Volt DCDC. Interesting. Changing the node id seems to have solved it!
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Working on my CAN mapping and I think I need some help, please. My BMS (Thunderstruck MCU) supports the ZEV/Fellten CCS controller so that's what I'm trying to emulate. I have most of it mapped but there are some messages in each direction that have me stumped.

Here's a snip of the BMS CAN data (And I did compare against what's in the Orion BMS software to grab scaling values etc).
Screenshot 2025-02-18 200039.png
The first table shows everything the BMS broadcasts. Does anyone see something in here that I could map as the 'enable' message? Is there a way to link that to the BMS_ERRORS message so if the errors are false, that will serve as the 'enable' message?

The second table shows the messages the BMS is expecting back from Foccci.
For 0x357 / CCS_COMMAND I don't know if I need to send anything in byte 0 for ISODis. I DO have an isolation monitor but it's not part of the BMS (And for that matter, do I NEED to disable it during charging or can it keep running?).

For 0x36a / CCS_DIAGNOSTIC, this doesn't appear at all in the Orion software so I can't begin to guess at D0 and D1. Battery Voltage Sense seems to be taken downstream of the CCS contactors so if I just send back its own BatteryVoltage value it might think they are welded. What if I send EVSEVoltage for both Battery Voltage Sense and CCS Voltage Sense? Can I even do that?

If anyone else is using Foccci with the Thunderstruck MCU I would appreciate seeing your can mapping. If not, I will of course be happy to put my map on the wiki once it's verified working.
User avatar
tom91
Posts: 2293
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 199 times
Been thanked: 524 times

Re: QCA7000 Foccci+Clara User thread

Post by tom91 »

Zieg wrote: Wed Feb 19, 2025 5:15 am Does anyone see something in here that I could map as the 'enable' message
Nope there is none. You also need to keep in mind how you layout your contactors and such. (The Zero EV CCS/Fellten CCS system is designed to control all contactors) You could just have an external logic that does the contactors and checks there are no errors on the BMS or if a physical output of the MCU for charging is enabled.
Zieg wrote: Wed Feb 19, 2025 5:15 am do I NEED to disable it during charging
Yes

Are you also looking to have the Thunderstruck MCU control the Onboard AC Charger? The Fellten CCS system auto starts AC charging sessions and lets the BMS handle the current limiting and voltage limiting of the Onboard AC Charger. The sent current limit over CAN form the ccs controller is the cable current limit.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Okay, thanks for confirming those things. Yes I'm planning to have the MCU control the OBC. From what I understand, I need to configure Foccci to pull the wakeup line high when plugged in, which connects to an input on the MCU. Foccci sends the AC current limit via CAN and the MCU takes it from there.

So it sounds like the things I'm missing are:

-An isolation monitor disable message while charging
-An enable message to Foccci (that sets true as long as the errors are all false)
-Unknown diagnostic information back to the MCU

I suppose there's no way to do that with the hardware I've got, but a simple Arduino sketch should do the trick.
User avatar
tom91
Posts: 2293
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 199 times
Been thanked: 524 times

Re: QCA7000 Foccci+Clara User thread

Post by tom91 »

Zieg wrote: Wed Feb 19, 2025 3:05 pm Unknown diagnostic information back to the MCU
That might not even be used by the MCU, I believe its for the Orion 2 tool debug info.
Zieg wrote: Wed Feb 19, 2025 3:05 pm -An isolation monitor disable message while charging
Only while CCS charging
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: QCA7000 Foccci+Clara User thread

Post by uhi22 »

Proposal:
- Foccci shall provide a signal "DisableVehicleSideIsolationMonitoring".
- The purpose of this signal is, to turn off the vehicle side isolation monitoring while the CCS charging station is connected to the battery. Because the charging station contains also an isolation monitoring, and having both isolation monitorings active at the same time will lead to unexpected isolation fault reports.
- Foccci shall set this signal to 1 during the PreCharge state. Because, after the precharge Foccci will close the contactors, and we want to give some time to distribute the signal to the receiver, BEFORE closing the contactors.
- Foccci shall keep this signal at 1 during CurrentDemand.
- Foccci shall set the signal to 0 as soon as it opens the contactors.

Does this make sense? Any other ideas?
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Yeah, that would be awesome! Is it possible to invert that as well? I think my monitor (Bender ISO165c-1) needs a 1 when it's supposed to be active and 0 for inactive.
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: QCA7000 Foccci+Clara User thread

Post by uhi22 »

In this case we name it EnableVehicleSideIsolationMonitoring. Or stick to the first proposal and use the CAN mapping with gain -1? Would this work?
jrbe
Posts: 567
Joined: Mon Jul 03, 2023 3:17 pm
Location: CT, central shoreline, USA
Has thanked: 199 times
Been thanked: 165 times

Re: QCA7000 Foccci+Clara User thread

Post by jrbe »

Could send both signals with 1 having inverted output logic and give people the ability to choose. That makes it a bit more confusing though. Something like
DisableVehicleSideIsolationMonitoring
and
DisableVehicleSideIsolationMonitoringInverted
The inverted makes it a bit clearer not to use it except special cases.

Gain -1 also need abs to work?
User avatar
johu
Site Admin
Posts: 6618
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 341 times
Been thanked: 1484 times
Contact:

Re: QCA7000 Foccci+Clara User thread

Post by johu »

In my opinion Foccci shouldn't target specific peripherals but rather output it's own state and other devices can choose to act on that. With opmode this already happens.
In addition a ContactorState variable could be added
jrbe wrote: Mon Feb 24, 2025 12:07 pm Gain -1 also need abs to work?
y=1-x

So offset 1, gain -1 would invert
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Hmm, if it works with an existing spot value then so much the better.

I'm still at the early stages of learning CAN stuff. So hopefully I understand this correctly.. opmode has two possible states, 0 and 1 (?), and the gain is applied as a multiplier, then offset adds to that?

So if it's 0.. 0 x -1[the gain]= 0, then 0 + 1[the offset] = 1
And if it's 1... 1 x -1 = -1, then -1 + 1 = 0?
User avatar
johu
Site Admin
Posts: 6618
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 341 times
Been thanked: 1484 times
Contact:

Re: QCA7000 Foccci+Clara User thread

Post by johu »

Mathematically it's canVal = trunc(gain * spotVal) + offset

So if you want to use opmode you can choose where to make the cut. E.g. state CableCheck has numerical value 10. If you want your bit to become 1 when CableCheck (and the states thereafter) are reached you go
canVal=trunc(0.1 * opmode). At state 10 (CableCheck) this will evaluate to 1, before CableCheck to 0.

If you'd rather invert it you can pull the same trick as above
canVal=trunc(-0.1 * opmode) + 1

non-inverted

Code: Select all

can tx opmode <id> 0 1 0.1
inverted

Code: Select all

can tx opmode <id> 0 1 -0.1 1
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Oh, very cool! Thanks for that, I never realized you could do it with a spot value with had more than two states!
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: QCA7000 Foccci+Clara User thread

Post by uhi22 »

To avoid confusion of the integrator by such kind of calculations, just added a new spot value which can be mapped to CAN directly (or inverted). With a name which hopefully helps to understand the purpose: VehicleSideIsoMonAllowed. This is normally 1, to allow the isolation monitoring, and is turned to 0 during PreCharge and back to 1 at the end of the session.
Commit: https://github.com/uhi22/ccs32clara/com ... 4e3928e30d
Binaries (CI#92): https://github.com/uhi22/ccs32clara/act ... 3561848940

Wiki updated: https://openinverter.org/wiki/Foccci#Spot_values
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

Thank you! I guess the added benefit there is that any future changes to opmode wouldn't risk breaking the math.

It's warming up here, temps are above freezing and snow is melting off the roads. Hoping to be able to get to some chargers for testing soon!
User avatar
tom91
Posts: 2293
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 199 times
Been thanked: 524 times

Re: QCA7000 Foccci+Clara User thread

Post by tom91 »

I realised through someone else debugging I did not push the code change I done for BigPie (Jamie) of settings the portstate to 4 - CCS charging.

https://github.com/uhi22/ccs32clara/pull/49

Also on a Zombie integration note; I cleaned up Zombie CAN handling to sort the sleeping of the Foccci. Following the wiki info, advised not to use PP wake up. It will however not hamper the Zombie interaction only the Foccci wont sleep.

Zombie in Off opmode checks Foccci is sending plug present then waits for 1 minute to see if we can start charge, if not it times out and stops sending CAN frames. So with a Foccci waking due to something other then a valid Control Pilot we stay here and Foccci will sleep if other wake sources are not present.

If the Foccci confirms the Control Pilot and is okay to charge Zombie goes to Charge mode. When ending charge we go to off state and CAN also stops 1 minute after removing the plug. This will then also put the Foccci to sleep.

Zombie Code update: https://github.com/damienmaguire/Stm32- ... cea55b64d3
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: QCA7000 Foccci+Clara User thread

Post by uhi22 »

Okay, merged the pull request. The binaries are available (CI #94) https://github.com/uhi22/ccs32clara/act ... 3594262929
User avatar
tom91
Posts: 2293
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 199 times
Been thanked: 524 times

Re: QCA7000 Foccci+Clara User thread

Post by tom91 »

Yes I ran those binaries during my bench testing.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Zieg
Posts: 339
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 142 times
Been thanked: 138 times

Re: QCA7000 Foccci+Clara User thread

Post by Zieg »

AC charging is working! I'm hoping to try a CCS session soon, but right now I am having trouble with the output testing. Is there something special I need to do before ActuatorTest will work? Seems like no matter what I set it to, nothing happens. No voltage on the contactor or motor outputs. The LED is working but trying to change its color via ActuatorTest doesn't work.

One time I got it to energize the lock motor, but it stayed on for quite some time before I killed the power, even though I'm on a version that should have that fix implemented.

Once I get this all sorted I would like to make an entry to the wiki, but in case anyone else is currently working on the same integration, here is the CAN mapping that I have set up with my Thunderstruck MCU. This hasn't been tested beyond verifying the values are showing up correctly in my parameters/spot values, and verifying that the EvseAcCurrentLimit is being received correctly by the MCU. I also have a Teensy 4.1 which is checking the flags being broadcast by the MCU, if they are all 0 it sends a 1 for Foccci enable (not shown below because I just picked an arbitrary mapping for it).
ac charging working can map.png
Post Reply