I was wondering can we up the regen limit??? And how hard would it be to change some options? As well can we have 24fets and 36 fets as options?
Very cool on the Current limits

Thanks very much for doing this!
This controller I purchased from Lyen, a well respected member our Endless-Sphere family.anpaza wrote:...Floont wrote: I'm looking forward to giving this a try. However, right now I'm running 132V to a Lyen 24FET controller, so I'm unsure what values to use in your program in its current state.
Is this a stock controller, or self-made?
I use a Lyen version of Keywin which I hacked with a hex editor to get the values I needed into the controller. It works OK, but it is a hacked binary file and has its limitations.anpaza wrote:What program are you using to program it?
24 FET 10000Watts Muscular High Current LYEN Controller $299anpaza wrote: If it is a widespread model, you can give me a link to the modified "E-Bike Lab", I will reverse-engineer the formulas like I did for EB206-218.
As an engineer, I got into programming decades ago, but times have changed rapidly and I have not kept up. So right now, although I can read your code, performing a modification and recompiling is currently beyond my skill level.anpaza wrote:However, if it is self-made from any stock controller by just adding extra FETs and modifying some resistor values (including the shunt), you may tweak the file xpdm/infineon.py and add your own controller. For example, let's suppose you modified an EB212 by adding 12 extra FETs and chopping down the battery voltage measuring resistor twice. In this case you would copy the section starting with <<"Name" : "EB212",>> and copy it to the end of the ControllerTypeDesc array, like this:
Code: Select all
{ "Name" : "EB224-floont", "PhaseCurrent2Raw" : lambda I: I * 0.625 - 7, "Raw2PhaseCurrent" : lambda V: 11.2 + (1.6 * V), "BattCurrent2Raw" : lambda I: I * 0.624 - 1.5, "Raw2BattCurrent" : lambda V: 2.404 + (1.603 * V), "Voltage2Raw" : lambda U: U * 3.283, "Raw2Voltage" : lambda V: V / 3.283, },
Now, that is a GREAT idea! We could have a folder containing our custom config.anpaza wrote:...Perhaps, I can add support for a user config file (in "C:\Documents and Settings\%User%\My Documents\xpd") that adds additional controller types. With it you may easily upgrade XPD without having to modify its source code every time.
Doctorbass wrote:I am browsing it right now... and again... THIS IS AN EXCELELNT WORK!!
Something you could add is the version that would make it perfect is displaying the version.. ex: V1.0 with the date and also the possibility for those who modified the R12 to select a factor or directly the resistor they modded so that the EBS HV and LVC value to allow higher selectable value would be automaticaly rescaled!! and the value selectable would be coresponding to the right active value!
ex. while the max EBS limit voltage is 77.7V with the OEM resistor value of around 1200ohms , we could be able to select or enter a new resistor value... or scale factor that correspond to the R12 mod so when we select the EBS, LVC or otehr affected parameters, they would be displayed with the true value!![]()
Doc
It is not that it is so complicated to understand the changing of the formulas, and the logic behind that, it is the thought if adjusting the actual program code, compiling and all that stuff to adjust the program that would put me off, and the fear of screwing something else up...tinkering with stuff we do not really fully understand, etc.anpaza wrote:Floont wrote:
I hope this is not very complex to understand for the average user that does controller mods, thus I don't have to write a user interface for all this stuff
Perhaps, I can add support for a user config file (in "C:\Documents and Settings\%User%\My Documents\xpd") that adds additional controller types. With it you may easily upgrade XPD without having to modify its source code every time.
Heh, you tell me! Mine is from Lyen as wellFloont wrote:This controller I purchased from Lyen, a well respected member our Endless-Sphere family.anpaza wrote:Is this a stock controller, or self-made?
Okay, if you can't share the program, can you at least tell me what's the shunt value on the 24-FET (and would be cool if somebody tells about the 36-FET too) compared to some known controller?Floont wrote:I use a Lyen version of Keywin which I hacked with a hex editor to get the values I needed into the controller. It works OK, but it is a hacked binary file and has its limitations.anpaza wrote:What program are you using to program it?
The joy of Python is that you don't have to recompile anything! Just change the text file (the source code), save it, and run the program - the changes will take effect immediately. The Python interpreter reads all source files at startup, then just interprets them.Floont wrote: As an engineer, I got into programming decades ago, but times have changed rapidly and I have not kept up. So right now, although I can read your code, performing a modification and recompiling is currently beyond my skill level.
The easiest mobile platform to port XPD to would be Maemo/Meego (and perhaps HP/Palm WebOS), because these are full-featured Linux-based platforms (only a few tweaks to user interface would be required, to better fit the small device screen). But since this is not a widespread platform (it runs mostly on Nokia N800, N810, N900 and the upcoming N950, also (Meego) on some netbooks), I'm not pushing this project very hard, since perhaps I'm one of the few people in the world that owns a Maemo and Infineon device at the same timeNeilP wrote: I did read somewhere in the original documentation that one reason for this project was to make it possible to run the software from a portable device ( phone? ) for on the go re programming.
I see from your comments above that this is not yet possible. Any thoughts on what devices would be needed to run this as a mobile application ? Any ideas on what would be the most suitable platform? Win Mobile? Android? iPhone?
Oh my, indeed I have it. I did not observed he has EB224/236 models in the list. Usually I'm using the "stock" "e-bike lab", because the Lyen version for some reason doesn't load the settings file which were saved seconds ago in the same programNeilP wrote:Well if you got a controller from him, check your paperwork /e-mails from him, and you may find a link to the Lyen.exe software that he had modified..
Lyen told me to program the shunt value for my CA for my Lyen 24 Fet as 1mohm, and it seems accurate for me.Okay, if you can't share the program, can you at least tell me what's the shunt value on the 24-FET (and would be cool if somebody tells about the 36-FET too) compared to some known controller?
My hacked Lyen version does work with all three speed switch positions. The "secret" is to change the parameter "3 Speed Mode" to "0:Button Mode" which is entirely counter-intuitive. And also change "Indicate Mode" to "1:Comm GND". Both of these settings are not in the "sample" config files that come with the Lyen version I bought the controller. I agree that the program is frustrating with its idiosyncrasies, but it always eventually works with some persistance.NeilP wrote:...I seem to remember it only works with speed switch in position 2...
Floont wrote:My hacked Lyen version does work with all three speed switch positions.NeilP wrote:...I seem to remember it only works with speed switch in position 2...
Not exactly true...if set to the wrong setting and a three speed switch is used...speed changes do happen, but do seem sort of random. Worth pointing this out, as I had this problem initially and did not suspect the software.3 SPEED MODE - This controls the behavior of the ESC's speed switch
* 0: Switch mode - allows you to change speed on the fly using a 3-speed switch (Low, Medium, High)
1: Cycle mode - latches the value at power on. (3spd switch will not work with a 1).
You don't have to buy anything, Python is already installed on your computer as part of XPD installation (in windows-prereq.zip file). It is free software, freely available from python.org.Floont wrote:I just might try your python program. I didn't realize it was that easy to use Python and change the program. I have to investigate it more. I assume I have to buy Python. I have to find out if will run on a Windows 7 laptop and such.
Hmm, are you sure this can be done only at power-on? I was not aware of it. By reading various docs I was under the impression that you can toggle the speed setting at any time by just pushing the momentary switch. The three-position-switch, if I understand correctly, can be switched at any time?NeilP wrote:Power off and back on with the switch not pressed and the Overall Speed Limit setting is enabled
Wow, you've overclocked your 250W to >1KW. Don't you feel worried about the health of the nylon gears?BMC v1 250w (nylon geared)
12 FET programmable Infineon controller with 4110s (running on 20A)
18s2p Konion 26650s (66v, 4.4Ah)
Max. speed 54km/h(34mph) no assist on flat
Don't worry, this is standard with the old software too.anpaza wrote:I would like to beg anybody who uses XPD for the first time to keep an eye on the real current (with Cycle Analyst, or with a wattmeter), after setting the desired current limits with XPD.
I did limited testing of settings only for EB212/Lyen and EB206/Lyen controllers, the rest are untested, thus the real curent limits may happen to be larger than set.
Try the following:bigmoose wrote:Ratttts... I had hoped this would load on my XP Pro build. Python is there and I can launch it from the DOS window... but when I double click on xpd.pyw I only get a python flash through windsows task manager and nothing stays open... and python disappears from the task manager...
Likely a build issue on my laptop... Rattts. I need to search for the Python fix.
Code: Select all
cd "C:\Program Files\xpd-0.2.0"
Code: Select all
python xpd.pyw
C:\Python27\pythonw.exe -E "C:\Program Files\xpd-0.2.0\xpd.pyw"