I finally decided to put some TLC to my next project which has been gathering dust for ..say about 3 or 4 years....
This project is focussing on making a drop-in replacement Vectrix VX1 motorcontroller using as many of the OEM controller parts or better/cheaper parts together with the OpenInverter board.
At least the MC backplate/coolerplate has to be used as this act as the mounting plate as well.
Since the VX1 is using mainly CANbus comms between the InstrumentControlModule and charger (can probably be left out when using the OpenInverter charger capabilities) this protocol has te be implemented as well.
Love the Vectrix, nearly bought one of the few in Ireland. The motor has an encoder, correct?
Maybe the Honda IMA-based Lebowski is the right size and Roger (Kiwifiat) sells conversion boards for this inverters - I'm running one myself.
Not much CAN, though, but likely tuneable to the funny throttle the VX-1 has (regen on roll forward).
I have also thought about this for some time, not sure if I have much time to spare for a project unless forced by a dead MC.
To me it seems that doing something like this project seems the path of least resistance https://github.com/kaminaris/GigaESC as FW is fully open source and all of the VESCs I have used have been eons ahead of other BLDC controllers in terms of functionality and actual "feel" of use.
I have not used any zombieverter to comment, so maybe it's a much more sane approach.
Problem is that no matter how you approach it (unless going the hacked IMA path) - it would still end up costing 500+ish € when all is said and done.
Another problem I see is lack of compact power bricks for HV->12V dcdc, so most likely something like GigaESC power board + external server power supply should be used to run all of the other onboard electronics.
A new MC or dremeling automotive inverter to fit is a pretty gargantuan task imo.
How about these much simpler tasks:
1) Magnetic encoder based on AS5047P + RP2040 PIO to emulate the optical encoder? BOM cost <20€, can delete first link for garbage data given how bad of a reputation there is for the existing optical encoder, at the same time it could release gatekept community out on to nicely oriented magnetic fields. Imo timings totally make sense even with "slow fast" PIO on rp2040. A few standoffs + 1 pcb + magnet disc holder.
2) Zombify the original MC, throw out TMS320F241, make 64-Pin QFP castellated edge zombie-adapter, fork for any of the brainboards to nicely be attached on top of the MC using existing mechanical fixturing points. Emulate whatever the DSP is doing, this would not be trivial but totally doable given that the full schematic of MC can be found on the internet as well as ancient dsp assambler source code from early protos. Still super cheap, easily replicable by even novice soldering iron people. Again, moves community forward, maybe makes the bike feel fresher.
Question is if any gains from making the firmware transparent and using a more modern (albeit slow given the PM300CLA060 relic status) FOC for the SPM with what we have is worth it? My guesstimates if we skin off extra 200-800W of heat produced by more efficient commutation from peak power output around 30kW, it could make for a much more enjoyable ride, not even talking about all the extra torque to be found there somewhere.
Main things to cover, what existing dsp is doing:
1) 6pack IGBT control, pwm period approx 33.5us up and down, 3us dead time, approx 15kHz. 5V logic
2) encoder signal, either use whatever exotic comes out of optical encoder along ABZ or see step 1 above. A pcb with encoder + diff transducer should be enough.
3) ADC channels sampled at pwm half period (2 x LEM transducers, diff +-2.5V, afaik SPI FRAM stores offset calibration values on powerdown either use that or reimplement), not sure what happens with bus voltage as it is read as pwm, but probabbly no biggie to read.
4)Temperatures - DS18B20 on SPI on IGBT, 3 ADC channels (use external spi adc for this maybe?)
5)Canbus - nothing too complex, a few PGNS to transmit, a few to read some logic (i.e. regen reduce on BMS data, etc)
6)Random IOs (keyswitch, PS monitoring/control, FAN PWM, interlocks, fault detect, protections, etc)
What scares me the most is how this feels like a few weekend project would still turn out to be multi month stint, question still remains - if full control, slight gains in efficiency, full and modern source code and documentation for this would outweigh the time spent. Now the control loops feel awfully rudimentary, which is understandable as it was designed 20 years ago on tools made 30+ years ago.
Maybe anyone can do a sanity check on possible EMI issues, FOC control with PM300CLA060, imo totally doable, just no sure if worth the effort.
I will have another motor controller soon to experiment with, I found a person willing to send me an optical encoder to experiment with (most likely just put on cnc spindle and see what it does, record waveforms). An extra for this project would probably be ease of porting all of this to any other inverter to basically do the same thing on the same bike.