NOTE: this post is just for discussion of goals, protocols, and what projects to base systems off of. It is not for active development.
Another post will be made for that purpose once the description, goals, and purpose are refined and solidified. (And because of that, don’t be afraid to let out your inner grammar demons run wild)
There seems to be a severe lack of open source ESCs, BMSs, and other EV Subsystems on the market. The ones that are have very little integration or seem to be extremely expensive and hard to set up.
This project aims to fix these problems by designing an open source vehicle electronics system, standardized communication protocol, and programming tools for all units to use.
(more explanation and definitions are needed here. What's your vision?)
There are a couple systems similar to this that exist already, but all seem to have stagnated or not have as comprehensive as an outlook with an extreme ease of use. (I could not find any commercial systems - If there are any community projects that I missed, please point them out.
- https://endless-sphere.com/forums/vi ... 30&t=38337
This image isn't showing properly. Can you guys help? attached to end of post instead.
Initial system block diagram (Any other good & free diagramming software out there? Gliffy sucks)
All hardware and software must be open source. Hardware files will be hosted on a widely used, easily accessible site (suggestions?) so that it won't just disappear someday. Software will be hosted on github. (Any other suggestions are welcome though)
Ease of programming
This system should be relatively easy to program. All compilers should be commonly available for reflashing firmware, and IO should be able to be programmed a graphical programming site (Ladder logic?) without needing to reload the firmware. Ideally there will be no special adapters, and all programmable devices used should have a usb connector (and preferably usb on chip? No FTDI stuff if it can be helped ). This shouldn’t add much cost, if any, and makes the system much easier to use. It also makes it easy to connect something like a netbook and do work out on the field and on the go.
For the firmware compiler, there are several that the community know quite well, but only that I know well. Please suggest some and I’ll add them to the list.
There are several dataflow programming languages that could be used. The ones that I know of are listed below. Please point out others that may be a good / better fit.
http://www.ni.com/labview/ – not free and open source
A good reference page with lots of other projects linked exists here.http://programmingfortherestofus.com/Others/
And several others that this quick search turned up. https://www.google.com/search?q=open+so ... S:official
The systems should be relatively cheap, but not quite as cheap as Chinese made parts. (but also much higher quality.) Maybe 50% over parts and assembly costs? I don’t know. I’m not an economist. Whoever builds them will need to figure that out. If they are good enough and still too expensive, someone will come along and make them more affordable. The important part is that they are readily available for builders to use and improve.
What needs to be done?
Pick a License
What open source license will this project use? This will be somewhat dependent on the licenses the “base” projects use, but could be changed with permission. Would a “viral” open source license be best? (if you use and improve some part of the code, you must publish the result) or a free for all “you can monopolize it, take it for what it is and not share, build a business advantage with your improvements, etc” approach work best?
I would really like to hear feedback on this one, especially from people who have actually read through various open source licenses and really understand them.
Pick base projects
let's not reinvent the wheel here.(bah, hubmotors ) There are plenty of fragmented open source projects for each of these modules and bits of software floating around the community.
Existing base projects need to be chosen for all of the modules (with the original author's permission of course) and integrated into the system.
Choose a data protocol and standardize communication methods between modules
What protocol should be used for communication between modules?
it should be...
- - Isolated
- high-ish speed
- reliable (low error and not prone to electrical disturbances)
Create several subsystems that can work together but also independently if needed. Any module can be connected to any other module/s and get useful data / connection if there is any data to be had.
Serial or CAN bus communication may be good candidates for this, any comments on this?
Develop the first module and setup a marketplace
Someone will have to build and sell these modules to make them commonly available. If this isn’t done, very little new people will come in and be able to contribute to the project. What remains to be seen is:
- 1. Which module will be first? Which module can operate on it’s own the best and is most sorely needed in the community? A BMS, an open motor controller, or a better display? I believe the BMS is needed the most, especially for custom hobbyking packs.
2. Who will make and sell it? Will someone that already has experience with this sort of thing step up to the plate? Or will someone new do it? Please express interest if you are up to the challenge.
These questions can wait a bit to be answered, but these problems need to be solved past a certain point in the project.