Dual Brushless Motor ESC, 10-62V, up to 50A per motor. Motors ganged or independent, multiple control input methods, cycle-by-cycle current limit, speed mode and torque mode control. Motors tiny to kW. Speed limit and other parameters easily set in firmware. As used in 'The Brushless Brutalist' locomotive - www.jons-workshop.com. See also Model Engineer magazine June-October 2019.

Dependencies:   mbed BufferedSerial Servo PCT2075 FastPWM

Update 17th August 2020 Radio control inputs completed

Revision:
6:f289a49c1eae
Parent:
5:ca86a7848d54
Child:
7:6deaeace9a3e
--- a/DualBLS.h	Tue May 29 16:36:34 2018 +0000
+++ b/DualBLS.h	Tue Jun 05 07:19:39 2018 +0000
@@ -21,6 +21,7 @@
 const   double      PI      = 4.0 * atan(1.0),
                     TWOPI   = 8.0 * atan(1.0);
 
+enum    {MOTADIR, MOTBDIR, GANG, SVO1, SVO2, COMM_SRC, ID, WHEELDIA, MOTPIN, WHEELGEAR}  ;  //  Identical in TS and DualBLS
 struct  optpar  {
     int min, max, def;  //  min, max, default
     const char * t;     //  description
@@ -33,6 +34,12 @@
     {0, 2, 2, "Servo2 0, 1, 2 = Not used, Input, Output"},
     {1, 5, 2, "Command source 0 Invalid, 1 COM1, 2 COM2, 3 Pot, 4 Servo1, 5 Servo2"},
     {'1', '9', '0', "Alternative ID ascii '1' to '9'"}, //  defaults to '0' before eerom setup for first time
+    {50, 250, 98,  "Wheel diameter mm"},   //  New 01/06/2018
+    {10, 250, 27,  "Motor pinion"},   //  New 01/06/2018
+    {50, 250, 85,  "Wheel gear"},   //  New 01/06/2018
 }   ;
-const int    numofopts    = sizeof(option_list) / sizeof (struct optpar);
+const int    numof_eeprom_options    = sizeof(option_list) / sizeof (struct optpar);
 
+struct  single_bogie_options   {
+    char    motoradir, motorbdir, gang, svo1, svo2, comm_src, id, wheeldia, motpin, wheelgear, spare;
+}   ;