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
Diff: cli_BLS_nortos.cpp
- Revision:
- 17:cc9b854295d6
- Parent:
- 16:d1e4b9ad3b8b
--- a/cli_BLS_nortos.cpp Tue Jun 09 09:20:19 2020 +0000 +++ b/cli_BLS_nortos.cpp Sun Aug 16 14:13:19 2020 +0000 @@ -28,7 +28,7 @@ extern error_handling_Jan_2019 ESC_Error ; // Provides array usable to store error codes. extern int WatchDog; // from main extern bool WatchDogEnable; // from main -extern bool read_temperature (float & t) ; // from main March 2020 +//extern bool read_temperature (float & t) ; // from main March 2020 extern brushless_motor MotorA, MotorB; // Controlling two motors together or individually extern const char * get_version () ; // Need this as extern const char can not be made to work. This returns & const_version_string @@ -202,7 +202,7 @@ * void temperature_cmd (struct parameters & a) { * Few boards have temperature sensor fitted. Now only supports LM75B i2c sensor */ -void read_temperature_cmd (struct parameters & a) { +/*void read_temperature_cmd (struct parameters & a) { float t = -99.25; if (a.respond) { a.com->printf ("tem%c ", user_settings.rd(BOARD_ID)); @@ -211,7 +211,7 @@ else a.com->printf ("Temp sensor not fitted\r\n"); } -} +}*/ /** *void rpm_cmd (struct parameters & a) // to report e.g. RPM 1000 1000 ; speed for both motors @@ -364,6 +364,12 @@ a.com->printf ("who%c\r%s", user_settings.rd(BOARD_ID), a.source == SOURCE_PC ? "\n" : ""); } +extern void rcins_report () ; +void qrc_cmd (struct parameters & a) // report RC1 and RC2 input condition and activity +{ + rcins_report (); +} + /** *void rcin_pccmd (struct parameters & a) * @@ -450,7 +456,7 @@ {"?v", "Report system bus voltage", sysV_report}, {"?i", "Report motor both currents", sysI_report}, {"who", "search for connected units, e.g. 3who returs 'who3' if found", who_cmd}, - {"tem", "report temperature", read_temperature_cmd}, +// {"tem", "report temperature", read_temperature_cmd}, {"mph", "read loco speed miles per hour", mph_cmd}, {"?s", "read loco speed miles per hour", mph_cmd}, // Shorter-hand added 17th May 2020 // {"ssl", "set speed limit e.g. 10.7", ssl_cmd}, // NEW July 2019 @@ -479,17 +485,18 @@ {"?v", "Report system bus voltage", sysV_report}, {"?i", "Report motor both currents", sysI_report}, {"?w", "show WatchDog timer contents", wd_report}, + {"kd", "kick the dog, reloads WatchDog", kd_cmd}, {"who", "search for connected units, e.g. 3who returs 'who3' if found", who_cmd}, {"us", "read or set user settings in eeprom", user_settings_cmd}, // Big change Jan 2019 {"ssl", "set speed limit e.g. 10.7", ssl_cmd}, // NEW July 2019 ONLY HERE FOR TEST, normal use is from Touch Screen only. {"sbe", "set brake effectiveness 5 to 90 percent", brake_eff_set_cmd}, // NEW May 2020 // {"erase", "set eeprom contents to all 0xff", erase_cmd}, - {"tem", "report temperature", read_temperature_cmd}, // Reports -50 when sensor not fitted - {"kd", "kick the dog, reloads WatchDog", kd_cmd}, +// {"tem", "report temperature", read_temperature_cmd}, // Reports -50 when sensor not fitted {"ver", "Version", ver_cmd}, {"rpm", "read motor pair speeds", rpm_cmd}, - {"mph", "read loco speed miles per hour", mph_cmd}, +// {"mph", "read loco speed miles per hour", mph_cmd}, {"?s", "read loco speed miles per hour", mph_cmd}, + {"?rc", "report RC1 and RC2 input condition and activity", qrc_cmd}, // {"rvi", "read most recent values sent to pwms", rvi_cmd}, // {"rdi", "read motor currents and power voltage", rdi_cmd}, // {"bc", "bogie constants - wheel dia, motor pinion, wheel gear", bogie_constants_report_cmd},