AntRunner Rotation @ 50% of Expected
Splintershop opened this issue · 17 comments
Angular rotation of motor is only half of what it should be. For example, when 90deg is entered, the motor only rotates half that amount (45deg). This is true on both azimuth and elevation. I went so far as to remove all brackets and fittings from the elevation motor to confirm it wasn't a loose set screw or other binding.
This is on a purchased AntRunner. This is the first setup of the device. I have tried removing device and device driver, rebooting, anything obvious I could think of.
Windows 11
Standard AntRunner_Start_Serial edited line 1 for Com 3
Gpredict 2.3.37
Suggestions?
Hello, can you check if the screw is loose?
I don't believe it's mechanical. With how I tested things, there isn't any screw that could be loose. As I said in my original post, I disassembled the elevation bracket from the stepper motor. In other words, this isolated the motor from anything else. I was monitoring the actual shaft angle with nothing attached to the motor.
The software is sending the correct G code, and GPredict is showing the expected target angle. GPredict is also displaying the the expected "read" value. However, the physical results appear to be scaled by 50%. I want to repeat that this is with the motor only - it was physically removed from the housing.
Hello, there are two motors, are both motors scaled by 50%?
Yes, both the azimuth and elevation motors seem to be scaled.
OK... when double click the AntRunner_Start_Serial.bat, there are many logs, can you send it to me, I will check it.
I need a little more info. Where would I find the logs? What directory? What are the log filenames?
when double click the AntRunner_Start_Serial.bat, there is a dos black window, the log is in the window
Here is the batch file:
.\bin\rotctld.exe -vvvvv -m 2401 -r COM3
::.\bin\rotctld.exe -vvvvv -m 601 -r COM470
pause
And here is the output when the batch file is run:
.\bin\rotctld.exe -vvvvv -m 2401 -r COM3
rotctld, Hamlib 4.5~git Tue May 17 22:03:48 2022 +0000 SHA=468dd1
Report bugs to hamlib-developer@lists.sourceforge.net
rot_init called
initrots4_grbltrk: _init called
rot_register (2401)
rot_register (2402)
grbltrk_rot_init:407 rot->caps->rot_model: 2401
set_conf: called
rot_open called
serial_open: COM3
serial_setup: tcgetattr
serial_setup: cfsetispeed=115200,0x1002
serial_setup: cfsetospeed=115200,0x1002
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: Handshake=None
serial_setup: tcsetattr TCSANOW
read_string_generic called, rxmax=4095 direct=1
grbltrk_rot_open:433 ctrl via serial
req: [$$
][0]
write_block(): TX 4 bytes, method=2
0000 24 24 0d 0a $$..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 6
read_string_generic(): RX 6 characters, direct=1
0000 24 30 3d 33 0d 0a $0=3..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 24 31 3d 32 35 35 0d 0a 24 32 3d 30 0d 0a 24 33 $1=255..$2=0..$3
0010 3d 33 0d 0a 24 34 3d 30 0d 0a 24 35 3d 31 0d 0a =3..$4=0..$5=1..
0020 24 36 3d 30 0d 0a 24 31 30 3d 31 0d 0a 24 31 31 $6=0..$10=1..$11
0030 3d 30 2e 30 31 30 0d 0a 24 31 32 3d 30 2e 30 30 =0.010..$12=0.00
0040 32 0d 0a 24 31 33 3d 30 0d 0a 24 32 30 3d 30 0d 2..$13=0..$20=0.
0050 0a 24 32 31 3d 30 0d 0a 24 32 32 3d 30 0d 0a 24 .$21=0..$22=0..$
0060 32 33 3d 33 0d 0a 24 32 34 3d 32 30 30 2e 30 30 23=3..$24=200.00
0070 30 0d 0a 24 32 35 3d 32 30 30 30 2e 30 30 30 0d 0..$25=2000.000.
0080 0a 24 32 36 3d 32 35 30 2e 30 30 30 0d 0a 24 32 .$26=250.000..$2
0090 37 3d 31 2e 30 30 30 0d 0a 24 33 30 3d 31 30 30 7=1.000..$30=100
00a0 30 2e 30 30 30 0d 0a 24 33 31 3d 30 2e 30 30 30 0.000..$31=0.000
00b0 0d 0a 24 33 32 3d 30 0d 0a 24 4e 31 3d 0d 0a 24 ..$32=0..$N1=..$
00c0 4e 30 3d 0d 0a 24 31 30 30 3d 31 37 37 36 2e 30 N0=..$100=1776.0
00d0 30 30 0d 0a 24 31 30 31 3d 31 37 37 36 2e 30 30 00..$101=1776.00
00e0 30 0d 0a 24 31 30 32 3d 31 30 30 2e 30 30 30 0d 0..$102=100.000.
00f0 0a 24 31 31 30 3d 35 30 2e 30 30 30 0d 0a 24 31 .$110=50.000..$1
0100 31 31 3d 35 30 2e 30 30 30 0d 0a 24 31 31 32 3d 11=50.000..$112=
0110 31 30 30 30 2e 30 30 30 0d 0a 24 31 32 30 3d 32 1000.000..$120=2
0120 35 2e 30 30 30 0d 0a 24 31 32 31 3d 32 35 2e 30 5.000..$121=25.0
0130 30 30 0d 0a 24 31 32 32 3d 32 30 30 2e 30 30 30 00..$122=200.000
0140 0d 0a 24 31 33 30 3d 33 30 30 2e 30 30 30 0d 0a ..$130=300.000..
0150 24 31 33 31 3d 33 30 30 2e 30 30 30 0d 0a 24 31 $131=300.000..$1
0160 33 32 3d 33 30 30 2e 30 30 30 0d 0a 6f 6b 0d 0a 32=300.000..ok..
0170 6f 6b 0d 0a ok..
rsp: [$0=3
]
grbl_request [$1=255
] req: [$1=255
][0]
write_block(): TX 8 bytes, method=2
0000 24 31 3d 32 35 35 0d 0a $1=255..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$3=3
] req: [$3=3
][0]
write_block(): TX 6 bytes, method=2
0000 24 33 3d 33 0d 0a $3=3..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$100=1776
] req: [$100=1776
][0]
write_block(): TX 11 bytes, method=2
0000 24 31 30 30 3d 31 37 37 36 0d 0a $100=1776..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$101=1776
] req: [$101=1776
][0]
write_block(): TX 11 bytes, method=2
0000 24 31 30 31 3d 31 37 37 36 0d 0a $101=1776..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$110=50
] req: [$110=50
][0]
write_block(): TX 9 bytes, method=2
0000 24 31 31 30 3d 35 30 0d 0a $110=50..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$111=50
] req: [$111=50
][0]
write_block(): TX 9 bytes, method=2
0000 24 31 31 31 3d 35 30 0d 0a $111=50..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$120=25
] req: [$120=25
][0]
write_block(): TX 9 bytes, method=2
0000 24 31 32 30 3d 32 35 0d 0a $120=25..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [$121=25
] req: [$121=25
][0]
write_block(): TX 9 bytes, method=2
0000 24 31 32 31 3d 32 35 0d 0a $121=25..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [G90
] req: [G90
][0]
write_block(): TX 5 bytes, method=2
0000 47 39 30 0d 0a G90..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
grbl_request [G0 X0 Y0
] req: [G0 X0 Y0
][0]
write_block(): TX 10 bytes, method=2
0000 47 30 20 58 30 20 59 30 0d 0a G0 X0 Y0..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
read_string_generic called, rxmax=1024 direct=1
read_string_generic: minlen now 4
read_string_generic(): RX 4 characters, direct=1
0000 6f 6b 0d 0a ok..
rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1
0000 6f 6b 0d 0a ok..
rsp: [ok
]
Opened rot model 2401, 'GRBLTRK via Serial'
Backend version: 20220515.0, Status: Beta
Ok, it seems to be ok, can you record a video of you operating the device, let me check the hardware and software configuration
Another data point. I moved the AntRunner from my Windows 10 box to a Raspberry Pi, and am seeing the same behavior. This should eliminate the PC/PC software as the issue.
Videos to follow.
Video 1 - Elevation change from 0 to 90 and back to 0 degrees.
video1.mov
Video 2 - Azimuth change from 0 to 180 and back to 0.
Video2.mov
It seems that the motor movement is not normal, and it does not move to 45 degrees. In the first video, it may only be 15 degrees by visual inspection. When it is working normally, the movement is actually relatively smooth.
Can you check to see if it might be a lack of power supply? It is best to use a 12V adapter with 5V 2A for power supply
That was it! I connected to a very stiff USB-C and it worked flawlessly. I wondered about that when I was seeing the erratic (not-smooth) movement. It is now very very smooth, moving to the proper setting accurately. I am ecstatic!
What is the actual input voltage to the board (wiring in direct versus through the cable that was provided)?
Thank you for staying with me on this. I'll post a new video tomorrow, demonstrating the correct behavior.
The working voltage is 12V, the 12V supplies power to the motor, and a power chip converts 12V into 5V and 3.3V for powering the ESP32 system, can check the schematic for detail.