There is being a while since I started this project and now that the first prototype is running, I felt the necessite to start sharing back everything that I've learned and the final result of it.
The controller has a different concept from most controllers available, it uses OBD/ELM327 protocol to communicate with any Bluetooth device. I also tried to use the latest technology for the power electronics, so it drives the motor trough Field Oriented Control, does not need any sensor and can recognize the motor parameters with only the most basic inputs.
The first version still has some minor issues in the hardware design (regarding sensors support, connectors and board size) but it works very well.I'm using in two Mountain bikes (26" and 27.5") with a Rear Bafang 36V G05-350W. The battery pack is a 14s2p LG 18650MJ1 (3.6V 3500mAh), this peaks the voltage at almost 59V. I'm using between 7A to 16A (depending on the ride) of maximum current in the motor winding (Id current) and the controller does not even gets warm to the touch.
It has the best mosfets that I could find for this application (CSD18535KCS or CSD19505KCS, much better them the irfb4110). It uses a very fast and reliable micro-controller from Texas Instruments (TMS320F28027FPTT). It has a dc-dc converter for the high-voltage bus (max. 60V) to the auxiliary 5V, so it is very efficient and can power other 5v devices. Includes current sensing and the next board should have even more support for a lot of analog inputs.
The communication via Bluetooth is the most open as can be for a vehicle, it uses the ELM327 protocol and OBDII-pids and should work with any OBD app for smartphones. For now is only tested with Torque for Android. There is a lot of apps, free or paid, even for symbians and blackberries. Most of them are very customizable and full of nice features (graphs, log, camera with gauges information, multiple themes, ...)
The name for the controller is LegStrong and it is available in GitHub (code and Wiki) and CircuitMaker (board design).
Features:
Operating voltage range from 12V to 60V;
Bluetooth technology to use with any smartphone/tablet (Android, iOS, Windows, Blackberry, Symbian);
OBD-II PIDs standard codes to request data and change parameters;
Wide range of data available for the user to keep tracking;
Works sensor-less and with any brush-less motor;
Higher motor efficiency at low speed (compared to non-FOC controllers);
Torque based throttle (multiple mappings);
PAS Sensor as input using special mappings to match power output with cyclist cadence;
Efficient auxiliar 5V output for USB power devices (needs hardware improvement);
Fully programmable parameters (under software development, only JTAG for now);
Battery State of Charge and Low cutoff (needs software improvements);
Torque Sensor or Analog Throttle (under software development);
Field Weakening allows you to run motors faster than normal back-emf limit (under software development);
Thermal Rollback (under software development).
Links for the project:
https://github.com/machadofelipe/LegStrong/wiki
https://github.com/machadofelipe/LegStrong
https://circuitmaker.com/Projects/Details/machado-felipe/LegStrong
Pics:
Let me know who is interested in helping this project (in any way).
I need people to test, build, code, give opinion, spread the word with other makers or even just to give thumbs up.
I'm in Portugal, so help here or in Europe is very welcome, as it is easier to ship stuff. My goal is to improve the controllers that are now in the market, improve the technology and maybe see controllers like this being sold at chinese prices in a near feature.
The controller has a different concept from most controllers available, it uses OBD/ELM327 protocol to communicate with any Bluetooth device. I also tried to use the latest technology for the power electronics, so it drives the motor trough Field Oriented Control, does not need any sensor and can recognize the motor parameters with only the most basic inputs.
The first version still has some minor issues in the hardware design (regarding sensors support, connectors and board size) but it works very well.I'm using in two Mountain bikes (26" and 27.5") with a Rear Bafang 36V G05-350W. The battery pack is a 14s2p LG 18650MJ1 (3.6V 3500mAh), this peaks the voltage at almost 59V. I'm using between 7A to 16A (depending on the ride) of maximum current in the motor winding (Id current) and the controller does not even gets warm to the touch.
It has the best mosfets that I could find for this application (CSD18535KCS or CSD19505KCS, much better them the irfb4110). It uses a very fast and reliable micro-controller from Texas Instruments (TMS320F28027FPTT). It has a dc-dc converter for the high-voltage bus (max. 60V) to the auxiliary 5V, so it is very efficient and can power other 5v devices. Includes current sensing and the next board should have even more support for a lot of analog inputs.
The communication via Bluetooth is the most open as can be for a vehicle, it uses the ELM327 protocol and OBDII-pids and should work with any OBD app for smartphones. For now is only tested with Torque for Android. There is a lot of apps, free or paid, even for symbians and blackberries. Most of them are very customizable and full of nice features (graphs, log, camera with gauges information, multiple themes, ...)
The name for the controller is LegStrong and it is available in GitHub (code and Wiki) and CircuitMaker (board design).
Features:
Operating voltage range from 12V to 60V;
Bluetooth technology to use with any smartphone/tablet (Android, iOS, Windows, Blackberry, Symbian);
OBD-II PIDs standard codes to request data and change parameters;
Wide range of data available for the user to keep tracking;
Works sensor-less and with any brush-less motor;
Higher motor efficiency at low speed (compared to non-FOC controllers);
Torque based throttle (multiple mappings);
PAS Sensor as input using special mappings to match power output with cyclist cadence;
Efficient auxiliar 5V output for USB power devices (needs hardware improvement);
Fully programmable parameters (under software development, only JTAG for now);
Battery State of Charge and Low cutoff (needs software improvements);
Torque Sensor or Analog Throttle (under software development);
Field Weakening allows you to run motors faster than normal back-emf limit (under software development);
Thermal Rollback (under software development).
Links for the project:
https://github.com/machadofelipe/LegStrong/wiki
https://github.com/machadofelipe/LegStrong
https://circuitmaker.com/Projects/Details/machado-felipe/LegStrong
Pics:


Let me know who is interested in helping this project (in any way).
I need people to test, build, code, give opinion, spread the word with other makers or even just to give thumbs up.
I'm in Portugal, so help here or in Europe is very welcome, as it is easier to ship stuff. My goal is to improve the controllers that are now in the market, improve the technology and maybe see controllers like this being sold at chinese prices in a near feature.