Odometry only works on right channel

tobiasrj

New member
Hello,

I have the following setup:
Motor: BL42 - BLDC Gear Motor
Motor driver: ACT BL0815A with ACT Adapterboard
PCB1.4
Sunray Firmware

I am running the motor test "AT+E".
When I connect the control signals from the motor driver (ACT BL0815A) to the connector for the right wheel motor on the ACT adapterboard the odometry is present as seen here:
odometry.png

However if I take the same motor and connects it to the left wheel motor connector on the ACT adaptorboard no odometry is present.
Is there any schematics for the ACT adaptorboard so that I can do some troubleshooting?
ACTBLA4.jpg

Do I need the capacitors as shown here in this setup (they are not included in the set i received)?
capacitors.png

Any suggestions to what might be wrong?

2nd question
Does anybody know what the number of ticks pr. rev. is for the BL42 - BLDC Gear Motor?
When it has rotated approx. 1 rev. on the wheel, the motor test writes 151 ticks in the serial monitor, which seems very low?
But maybe this is due to the previous answer?
This is the serial monitor output, where I stopped it after one rev. on the wheel:
Code:
RESET cause: unknown
Sunray,1.0.298
compiled for: Arduino Due
using robot driver: AmRobotDriver
robot id: 51:20:32:20:34:57:33:52:32:30:34:31:38:31:30:31
MOTOR_DRIVER_BRUSHLESS: yes
enableCharging 0
probing for HM-10 module (NOTE: will fail for ESP32)...
trying to detect Bluetooth 4.0/BLE (HM-10 module) (make sure your phone is NOT connected)9600...
BLE: AT
trying to detect Bluetooth 4.0/BLE (HM-10 module) (make sure your phone is NOT connected)115200...
BLE: AT
OK
Bluetooth 4.0/BLE (HM-10) module found!
BLE: AT+VERSION
+VERSION=ESP32 firmware V0.4.5,Bluetooth V4.0 LE
BLE: AT+NAMEArdumower
+NAME=Ardumower
BLE: AT+RESET
+RESET
RCModel disabled in config
ENABLE_PASS
ENABLE_TILT_DETECTION
FREEWHEEL_IS_AT_BACKSIDE: 1
WHEEL_BASE_CM: 36
WHEEL_DIAMETER: 250
ENABLE_ODOMETRY_ERROR_DETECTION: 0
TICKS_PER_REVOLUTION: 750
MOTOR_DRIVER_BRUSHLESS
MOTOR_DRIVER_BRUSHLESS_GEARS_BLDC8015A
MOTOR_FAULT_CURRENT: 6.00
MOTOR_OVERLOAD_CURRENT: 0.80
USE_LINEAR_SPEED_RAMP: 0
MOTOR_PID_KP: 2.00
MOTOR_PID_KI: 0.03
MOTOR_PID_KD: 0.03
MOW_FAULT_CURRENT: 8.00
MOW_OVERLOAD_CURRENT: 2.00
ENABLE_OVERLOAD_DETECTION: 1
ENABLE_FAULT_DETECTION: 1
ENABLE_FAULT_OBSTACLE_AVOIDANCE: 1
ENABLE_RPM_FAULT_DETECTION: 1
SONAR_INSTALLED
SONAR_ENABLE: 0
SONAR_TRIGGER_OBSTACLES: 1
RAIN_ENABLE: 0
BUMPER_ENABLE: 0
BUMPER_DEADTIME: 1000
BUMPER_TRIGGER_DELAY: 0
BUMPER_MAX_TRIGGER_TIME: 30
CURRENT_FACTOR: 1.98
GO_HOME_VOLTAGE: 21.50
BAT_FULL_VOLTAGE: 28.70
BAT_FULL_CURRENT: 0.20
BAT_SWITCH_OFF_IDLE: 0
BAT_SWITCH_OFF_UNDERVOLTAGE: 1
REQUIRE_VALID_GPS: 1
GPS_SPEED_DETECTION: 1
GPS_MOTION_DETECTION: 1
GPS_REBOOT_RECOVERY: 1
GPS_CONFIG: 0
GPS_CONFIG_FILTER: 1
CPG_CONFIG_FILTER_MINELEV: 10
CPG_CONFIG_FILTER_NCNOTHRS: 10
CPG_CONFIG_FILTER_CNOTHRS: 30
ALLOW_ROUTE_OUTSIDE_PERI_METER: 1.00
OBSTACLE_DETECTION_ROTATION: 1
KIDNAP_DETECT: 1
KIDNAP_DETECT_ALLOWED_PATH_TOLERANCE: 1.00
DOCKING_STATION: 1
DOCK_IGNORE_GPS: 0
DOCK_AUTO_START: 1
TARGET_REACHED_TOLERANCE: 0.05
STANLEY_CONTROL_P_NORMAL: 3.00
STANLEY_CONTROL_K_NORMAL: 1.00
STANLEY_CONTROL_P_SLOW: 3.00
STANLEY_CONTROL_K_SLOW: 0.10
BUTTON_CONTROL: 1
USE_TEMP_SENSOR: 0
BUZZER_ENABLE
SERIAL_BUFFER_SIZE=1024 (increase if you experience GPS checksum errors)
-----------------------------------------------------
UBLOX::begin serial
using gps driver: UBLOX
sizeof Point=4
map dump - mapCRC=0
points:
perimeter pts: 0
exclusion pts: 0
exclusions: 0
dock pts: 0
mow pts: 0
free pts: 0
mowPointsIdx=0 dockPointsIdx=0 freePointsIdx=0 wayMode=3
probing for ESP8266 (NOTE: will fail for ESP32)...
WIFI (ESP8266) not found! If you have ESP8266 and the problem persist, you may need to flash your ESP to firmware 2.2.1
MPU ID=0x0
MPU6050/9150/9250/9255 not found - Did you connect AD0 to 3.3v and choose it in config.h?
WARN: PID unmet cycle time Ta=3.02 TaMax=0.10
WARN: PID unmet cycle time Ta=3.02 TaMax=0.10
batTemp=998  cpuTemp=0
0:0:12 ctlDur=0.00 op=Idle(initiatedByOperator 0) freem=81823 sp=2 bat=0.00(0.00) chg=0.00(0.00) tg=0.00,0.00 x=0.00 y=0.00 delta=0.00 tow=0 lon=0.00000000 lat=0.00000000 h=0.0 n=0.00 e=0.00 d=0.00 sol=0 age=12.44
CON:AT+E
motor test - 10 revolutions
t=0  ticks Left=0  Right=0  current Left=0.10  Right=0.06
t=1  ticks Left=10  Right=0  current Left=0.02  Right=0.00
t=2  ticks Left=20  Right=0  current Left=0.02  Right=0.00
t=3  ticks Left=30  Right=0  current Left=0.13  Right=0.11
t=4  ticks Left=40  Right=0  current Left=0.03  Right=0.12
t=5  ticks Left=50  Right=0  current Left=0.00  Right=0.00
t=6  ticks Left=61  Right=0  current Left=0.12  Right=0.04
t=7  ticks Left=71  Right=0  current Left=0.04  Right=0.00
t=8  ticks Left=81  Right=0  current Left=0.08  Right=0.00
t=9  ticks Left=91  Right=0  current Left=0.14  Right=0.00
t=10  ticks Left=101  Right=0  current Left=0.06  Right=0.02
t=11  ticks Left=112  Right=0  current Left=0.08  Right=0.00
t=12  ticks Left=122  Right=0  current Left=0.13  Right=0.03
t=13  ticks Left=132  Right=0  current Left=0.04  Right=0.02
t=14  ticks Left=142  Right=0  current Left=0.03  Right=0.05
t=15  ticks Left=151  Right=1  current Left=0.00  Right=0.00
 
Zuletzt bearbeitet:
Hmm the capacitors do not seem to improve the results for me at all.
Quite surprisingly (to me at least) the issue seems related to which of the 8015a boxes I plug where, furthermore one of them seems to drive the motor slower than the other two...
Anyone got any ideas of what could be going on?
Note I did try adjusting the switches in various ways to no avail, and iirc when controlled by the knob they run at the same max speed (need to recheck that though).
So I'm guesstimating the the difference between them is perhaps due to variations in the resistivity/inductance/capacitance or whatever of the I/O pins on the boxes?
 
Oben