I would rename the page to "pyPLC". I would not merge it completly but just merge the generell CCS Stuff to the new page as it would be a duplication. I feel like pyPLC is especially for debugging and testing still important enough to deserve a separate page with instructions on how to set it up. Also makes linking/refering to it more easy if you just want to guide someone to it specificly (e.g. people that want something to test against their i3 lim).johu wrote: ↑Thu Dec 14, 2023 2:25 pm Concerning wiki I found we also have this page: https://openinverter.org/wiki/CCS_EVCC_using_AR7420 . Maybe should be merged into the new pages
Develop a QCA7000 board?
-
- Posts: 27
- Joined: Thu Oct 12, 2023 5:41 pm
- Location: Karlsruhe/Germany
- Has thanked: 53 times
- Been thanked: 20 times
Re: Develop a QCA7000 board?
Plasma cutter solves all my problems.
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
Yes, makes sense.
I've created a CCS category and maybe this could contain the contents of https://openinverter.org/wiki/CCS_Fast_ ... (Overview) and make that redundant. It automatically links to all pages in that category.
EDIT: on another note writing the wiki article on CHAdeMO interfacing reminded me that there is not mechanism for CAN timeout. Since there is no such thing as counters e.g. in CHAdeMO I'd simply add a "watchdog" parameter that needs to be mapped to CAN in a way that it is overwritten by 0. Internally it is counted up every 100ms and once it reaches some limit charging would be stopped. For testing this somehow needs to be disabled
I've created a CCS category and maybe this could contain the contents of https://openinverter.org/wiki/CCS_Fast_ ... (Overview) and make that redundant. It automatically links to all pages in that category.
EDIT: on another note writing the wiki article on CHAdeMO interfacing reminded me that there is not mechanism for CAN timeout. Since there is no such thing as counters e.g. in CHAdeMO I'd simply add a "watchdog" parameter that needs to be mapped to CAN in a way that it is overwritten by 0. Internally it is counted up every 100ms and once it reaches some limit charging would be stopped. For testing this somehow needs to be disabled
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 27
- Joined: Thu Oct 12, 2023 5:41 pm
- Location: Karlsruhe/Germany
- Has thanked: 53 times
- Been thanked: 20 times
Re: Develop a QCA7000 board?
My original intention with it was that I wanted to create a page that also explains CCS from a Beginners perspective since currently we only link to different ressources and I havent seen a single source on the internet that has one (free) centralized source where it is explained thorougly. Since the CCS Standard is rather convoluted this creates a high entry barrier. I also noticed that for example on the pyPLC page you need to always explain at least the basics at the top since even for some of the setup instructions a basic understanding is needed.johu wrote: ↑Thu Dec 14, 2023 5:40 pm Yes, makes sense.
I've created a CCS category and maybe this could contain the contents of https://openinverter.org/wiki/CCS_Fast_ ... (Overview) and make that redundant. It automatically links to all pages in that category.
The category thing would be fine for me, but if its okay for you I would rename the overview page to "How CCS works" or something simmilar. (This then could still be linked on the top of e.g. the pyPLC page and remove the duplications.
johu wrote: ↑Thu Dec 14, 2023 5:40 pm EDIT: on another note writing the wiki article on CHAdeMO interfacing reminded me that there is not mechanism for CAN timeout. Since there is no such thing as counters e.g. in CHAdeMO I'd simply add a "watchdog" parameter that needs to be mapped to CAN in a way that it is overwritten by 0. Internally it is counted up every 100ms and once it reaches some limit charging would be stopped. For testing this somehow needs to be disabled
This is a very interesting and important point. I have two larger feature requests/proposals that I want to make regarding interfaces (but need to finish writing those up, since I want to structure them first ). One of them might be connected to this since it is also about the CAN Interface.
But for now: How is the CAN Interface currently implemented? Are there Readbacks of the messages? If not it might be a generell problem we should think about since a CAN-Node might decide to stack up a lot in the TX (if it gets disconnected) and decide to just dump the messages on the bus once it is connected back to the bus (which obviously would be a huge problem).
If there are readbacks it might make sense to implement something like a heartbeat every x seconds or so.
If a heartbeat is not received this works as a "timout". Otherwise I would see a problem to differentiate between plausability or importance of the timings from different nodes. And if you think of a generall interface design there might be nodes that dont need to send that data every x ms since there is nothing changed (e.g. Isolation monitoring, lock, etc. in a seperate Unit).
Regarding the disableing: I am always a fan of giving the user controll. Since this is more of a dev board then a finished product, I would prefer a setting in the software that by default is enabled and can be disabled. Would also make it easy for people implementing the "other" site of what is communicating to focci/clara.
[Site note:
Or from a different perspective it might make sense to implement generall plausability checks for your "saved" Values e.g. Voltage, etc.
I will need to put a CAN Bridge between focci and my car anyway but will for example implement as a safety feature some plausability checks like not going over my (by the cell manufacturer) predefined charging curve. So even if the BMS sends me wrong data or an error occurs at the can segment gateways I dont blow up my battery.
]
Plasma cutter solves all my problems.
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
In all lib OI projects CAN uses the 3 message hardware buffer and if that fills up it uses a 20 message deep stack. I suppose if you disconnect it from the net the hardware buffer never empties because it gets no ACKs. So then the software stack doesn't empty either. Once you reconnect you get 20 stale messages and then new messages. Or new and then 20 stale, not 100% sure.
I have now implemented the simple watchdog for one CAN Id: https://github.com/uhi22/ccs32clara/com ... 60ae3e475d
So say you use CHAdeMO CAN then 0x102 is the most important message containing the current set point. So you'd map in OI lingo "can rx canwatchdog 258 0 1 0 0". So whenever 0x102 arrives it sets canwatchdog to 0 (Because gain=0).
Every 100ms canwatchdog is incremented by Clara and when it reaches 5 (500 ms) this is considered CAN timeout and charging is stopped.
I think chargecur is the single most important item that is continuously updated. batvtg is only important at startup and can then even be not updated anymore. targetvtg also never changes. So I don't think right now not more than one node needs to be watch-dogged. FMEA it
EDIT: just tested with Clara, works (almost) as expected. Only the charge cycle then restarts. We should inhibit that while hardwareInterface_stopCharging() is true
I have now implemented the simple watchdog for one CAN Id: https://github.com/uhi22/ccs32clara/com ... 60ae3e475d
So say you use CHAdeMO CAN then 0x102 is the most important message containing the current set point. So you'd map in OI lingo "can rx canwatchdog 258 0 1 0 0". So whenever 0x102 arrives it sets canwatchdog to 0 (Because gain=0).
Every 100ms canwatchdog is incremented by Clara and when it reaches 5 (500 ms) this is considered CAN timeout and charging is stopped.
I think chargecur is the single most important item that is continuously updated. batvtg is only important at startup and can then even be not updated anymore. targetvtg also never changes. So I don't think right now not more than one node needs to be watch-dogged. FMEA it
EDIT: just tested with Clara, works (almost) as expected. Only the charge cycle then restarts. We should inhibit that while hardwareInterface_stopCharging() is true
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- asavage
- Posts: 368
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 338 times
- Been thanked: 115 times
- Contact:
Re: Develop a QCA7000 board?
The wiki AR7420 page was initially a one stop place to begin the CCS PLC journey with the hardware we had on hand at the time (pre-foccci) and a sort of recipe developed to begin that journey, documenting what had been learned and posted in the forum thread, so that anybody could "jump in" using only the wiki and have a reasonable shot at achieving what had been achieved, without having to read about all the dead ends in the thread.
From the perspective of where open source CCS is now, some of that page probably could be moved to a pyPLC page of its own, but much of that page remains specific to the AR7420 hardware.
- celeron55
- Posts: 801
- Joined: Thu Jul 04, 2019 3:04 pm
- Location: Finland
- Has thanked: 37 times
- Been thanked: 131 times
- Contact:
Re: Develop a QCA7000 board?
Has focci+clara been tested on Delta chargers? Or, has anyone gotten pyPLC to work on those either? I know I didn't.
I haven't had time to do testing after summer, and even then I was using an old version of pyPLC (which I found to work best at the time).
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
I've never seen one around. Do you know which providers typically use them?
On other news I've tidied up the code a bit and defined some error messages and documented stuff at https://openinverter.org/wiki/CCS32Clara
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 27
- Joined: Thu Oct 12, 2023 5:41 pm
- Location: Karlsruhe/Germany
- Has thanked: 53 times
- Been thanked: 20 times
Re: Develop a QCA7000 board?
Comfortcharge (Telekom) uses Delta Chargers (Delta EVC 150; Delta UFC 200).
Also have seen them used scattered by MER and Allego. But I think both replaced them with Alpitronic Units.
Which (from my perspective) makes sense, since the ones I came in contact with were not really the most reliable units.
I had one pretty close to me that was operated by Virta Global. I think they still use it often. The one that was close to me was replaced with a much nicer Siemens SiCharge D. The Delta one had a lot of problems. My sample size is not big enough but from my (limited) experience of a couple units, they are not the best units on the market .
Nice! The documentation and code cleanup is much appreciated (I really enjoy that we now have a single formatting style. Improves readability a lot!)johu wrote: ↑Sun Dec 17, 2023 5:04 pm On other news I've tidied up the code a bit and defined some error messages and documented stuff at https://openinverter.org/wiki/CCS32Clara
Also I noticed that it might be worth to document test results in a central, standardized, ordered manner. I created a PR on Github regarding this.
Plasma cutter solves all my problems.
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
-----------------------------------------------------------
Trying to bring a CCS Retrofit to a Renault Zoe.
Github |
-
- Posts: 961
- Joined: Tue Sep 17, 2019 8:33 pm
- Location: Raleigh, NC, USA
- Has thanked: 158 times
- Been thanked: 213 times
Re: Develop a QCA7000 board?
Here in the southeastern US, EVGo has been installing Deltas almost exclusively. My car is off the road for a bit longer, but I'd be happy to test once its back up.
If at first you don't succeed, buy a bigger hammer.
1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed Hot Rod Drag Week 2023 and 2024
https://www.youtube.com/@MangelsdorfSpeed
1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed Hot Rod Drag Week 2023 and 2024
https://www.youtube.com/@MangelsdorfSpeed
- uhi22
- Posts: 950
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 143 times
- Been thanked: 535 times
Re: Develop a QCA7000 board?
Progress with the board: fixed some of the todo items. The most relevant is the transformer:
https://jlcpcb.com/parts/componentSearc ... t=C3000379 (which is 12.3 x 12.3mm)
to
https://jlcpcb.com/parts/componentSearc ... t=C5127462 (11.5 x 10mm),
but this still looks bigger than the one in your screenshot, and we do not need the 8A rated current.
Which JLC part number has this inductor? I today changed from
https://jlcpcb.com/parts/componentSearc ... t=C3000379 (which is 12.3 x 12.3mm)
to
https://jlcpcb.com/parts/componentSearc ... t=C5127462 (11.5 x 10mm),
but this still looks bigger than the one in your screenshot, and we do not need the 8A rated current.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- catphish
- Posts: 959
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 96 times
- Been thanked: 187 times
Re: Develop a QCA7000 board?
The inductor I originally suggested was https://jlcpcb.com/partdetail/Sunlord-M ... MT/C408412uhi22 wrote: ↑Mon Dec 18, 2023 2:22 pm Which JLC part number has this inductor? I today changed from
https://jlcpcb.com/parts/componentSearc ... t=C3000379 (which is 12.3 x 12.3mm)
to
https://jlcpcb.com/parts/componentSearc ... t=C5127462 (11.5 x 10mm),
but this still looks bigger than the one in your screenshot, and we do not need the 8A rated current.
Sorry I didn't get a chance to do these PCB changes for you.
- uhi22
- Posts: 950
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 143 times
- Been thanked: 535 times
Re: Develop a QCA7000 board?
No worries Thanks for the hints, now it's way better (but still some room for optimizations):
1. The rotation of some components was again wrong, even if two months ago it was perfect, and I did not change anything with these parts. Maybe they had a data base update where they changed the default orientation. Lesson learnt: always check in the jlcs viewer the orientation of all parts.
2. More irritating: The economy service does not populate the big elco anymore. They did the last time, but this time, they give the choice to either not populated it or switch to the expensive service. Any idea how to workaround this?
And each time something new at JLC:1. The rotation of some components was again wrong, even if two months ago it was perfect, and I did not change anything with these parts. Maybe they had a data base update where they changed the default orientation. Lesson learnt: always check in the jlcs viewer the orientation of all parts.
2. More irritating: The economy service does not populate the big elco anymore. They did the last time, but this time, they give the choice to either not populated it or switch to the expensive service. Any idea how to workaround this?
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
-
- Posts: 250
- Joined: Sun Feb 20, 2022 4:23 am
- Location: N. Wiltshire. UK
- Has thanked: 21 times
- Been thanked: 121 times
Re: Develop a QCA7000 board?
Footprint is for 10x10mm part number is 8x10mm, not sure why error mentions 0201. Works ok with C3445244.
C75 is also incorrect, footprint is 8x10mm part selected is 6.3x5.5mm.
C75 is also incorrect, footprint is 8x10mm part selected is 6.3x5.5mm.
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
The best way would be to get rid of all elcaps. I've done so by using converters that only need like 10 uF input and output capacitance. Elcaps also have the nasty habit of falling off, at least when JLCPCB populated them. Alternatively do thruhole ones.
Have you added wakeup via PP and a powerful 12V output (say, 5A) for running components needed for fast charging?
EDIT: viewtopic.php?p=64221#p64221
EDIT2: issue created https://github.com/uhi22/foccci/issues/2
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- uhi22
- Posts: 950
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 143 times
- Been thanked: 535 times
Re: Develop a QCA7000 board?
Thanks a lot, this works. Pushed the update.
Yes, this is "a little bit on purpose" (but not really consenquently). I tend to use bigger footprints, to enable hand-soldering with just available parts. Even if the jlc parts are smaller. Yes, I see, it's a bad habbit, to stick to the old things, but I need some more steps until I'm convinced that the time for hand-soldering is over. And if it is, we could move to even smaller sizes for the many 0805 parts.
The stepdown is one thing, the switching of loads on the 12V is the other that require some capacitance. I see that the JLC uses a very small amount of tin, nearly nothing I would say. This fails if we have heavy components and vibration. Through-hole would be indeed more reliable. But on the other hand I've seen surface mounted elcaps a lot in the automotive, sometimes glued, often not. Seems to depend on the soldering process, whether this works over years.
No, just stabilizing the "version 4 features", until we start with the sleep/wakeup-things, which are intended for v5 (and this is faaar away). Maybe nearer than I feltjohu wrote: ↑Mon Dec 18, 2023 5:03 pm Have you added wakeup via PP and a powerful 12V output (say, 5A) for running components needed for fast charging?
EDIT: viewtopic.php?p=64221#p64221
EDIT2: issue created https://github.com/uhi22/foccci/issues/2
[EDIT] For discussion the wakeup / sleep topics, created a separate thread, to avoid too many topics mixed together here. viewtopic.php?p=65022#p65022
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- uhi22
- Posts: 950
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 143 times
- Been thanked: 535 times
Re: Develop a QCA7000 board?
Regarding the "Demo mode": My personal use case for the foccci/clara is, to be able to make a tea or some waffles during the charging breaks, and in this use case the device shall just give 225V on a socket without grabbing the laptop to parametrize something after each plug-in. That's why I added the parameter demovtg (Demo voltage), which is NOT volatile. The wiki (https://openinverter.org/wiki/CCS32Clara) says that demovtg is volatile. We should align the goal If it comes to safety, we could introduce a redundant non-volatile parameter, so that the two use cases "CAN controlled" and "standalone" cannot be mixed-up by setting one single parameter.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Develop a QCA7000 board?
Off chance, is it possible to include an esp32 chip, in order to run the OI esp32 webinterface ?
- catphish
- Posts: 959
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 96 times
- Been thanked: 187 times
Re: Develop a QCA7000 board?
The short answer: don't use it. Use multiple smaller caps that they *will* populate. I don't use electrolytics at all in my designs (I just use 10u ceramics), but if ceramics won't work, then I would hope there are smaller electolytic caps that they can populate.
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
I think the off board CAN web interface is the better solution here. The ESP module also forces you away from economy PCBA
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Re: Develop a QCA7000 board?
Thank you all!
I haven't visited the site in a while. It may be useful to someone - to exclude such problems as:
I haven't visited the site in a while. It may be useful to someone - to exclude such problems as:
I would recommend to work with the project https://github.com/uhi22/ccs32clara in Ubuntu and use STM32CubeIDE as IDE.uhi22 wrote: ↑Sat Dec 09, 2023 2:05 pm Finding4: The make does not see if the param_prj.h is changed. Just calling make (or in my case mingw32-make) should see the changed file compile all dependent files. Unfortunately I'm not the make-file expert, but my impression is, that the .h files somehow should mentioned in the dependencies in the makefile.
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
It's fixed already viewtopic.php?p=64622#p64622
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Re: Develop a QCA7000 board?
Thank you - I've seen that. My point was that it's easier for me to fix errors if I use the IDE
- uhi22
- Posts: 950
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 143 times
- Been thanked: 535 times
Re: Develop a QCA7000 board?
I used the CubeIDE as starting point, and indeed this made it possible to get fast results without the need to dig into each bit, and the integrated approach of graphical configuration, code generation, build and debugger is nice. Then I noticed that this "perfect world" is a little bit like a dream. There are discussions that the mcal is shit and is better to do the low-level things per hand. Personally I ve seen situation where the debugger just lied, showed totally crap while the software was in fact ok. And since Johannes provided the own "framework", I do not miss the Cube at all. I'm just using notepad++ (also in other Projects) and command line for compiling. If you feel the CubeIDE is your preferred way, you could try to find out how to bring the project back into this and describe this, so that others can do it the same way. Or describe the blocking points and maybe they can be resolved to enable different IDEs in parallel.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Develop a QCA7000 board?
The project does not need to be redesigned.uhi22 wrote: ↑Fri Dec 22, 2023 12:34 pm If you feel the CubeIDE is your preferred way, you could try to find out how to bring the project back into this and describe this, so that others can do it the same way. Or describe the blocking points and maybe they can be resolved to enable different IDEs in parallel.
The procedure for opening the https://github.com/uhi22/ccs32clara project in Ubuntu is as follows:
- Install gcc-arm-none-eabi
- Install STM32CubeIDE
- Install libopencm3 in any way (I did it in terminal).
Then STM32CubeIDE->File->New->Makefile Project with Existing Code. Then select Toolchain-> MCU ARM GCC and select the directory with ccs32clara project.
And then - as usual....
And who likes Code::Blocks better (though I personally don't like it very much) - open the project file in IDE Code::Blocks - stm32-ccs.cbp.
- johu
- Site Admin
- Posts: 6315
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 249 times
- Been thanked: 1308 times
- Contact:
Re: Develop a QCA7000 board?
Perfect. If you find out which is the eclipse (==cubeide) project file we could add it to the repo so people who prefer eclipse can use it with little hassle
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9