[ActivityBot] - Right wheel always on
Hi All, absolute newbie here . I hope to have posted in the right category, I wasn't quite sure where to post this question.
Here's the problem:
Right wheel starts to spin full speed if no speed instruction is given or if speed is set to 0.
I think calibration had problems since I saw the robot spin on itself, something that does not happens on the videos neither on other posts I've read from this forum.
I've followed troubleshooting instructions for the calibration problem (last issue) because my calibration table was exactly as described (is at the end of the post).
I've also double checked jumpers, encoders cables and everything seems right (attached photo).
Would really appreciate some help!
Thanks!
Eduardo.
=== LEFT SERVO ===
Table Entries = 88
Zero Speed Index = 47
Index Servo Drive Encoder Ticks/Second
0 -194 1000
1 -189 186
2 -184 190
3 -179 185
4 -174 181
5 -169 183
6 -164 183
7 -159 185
8 -154 185
9 -149 185
10 -144 185
11 -139 183
12 -134 179
13 -129 187
14 -124 181
15 -119 179
16 -114 179
17 -109 175
18 -104 179
19 -99 173
20 -94 171
21 -89 169
22 -84 164
23 -79 163
24 -74 155
25 -69 155
26 -64 144
27 -59 146
28 -54 139
29 -49 135
30 -44 122
31 -39 118
32 -34 110
33 -29 100
34 -24 93
35 -19 83
36 -14 74
37 -9 66
38 -4 56
39 1 46
40 6 36
41 11 27
42 16 17
43 18 13
44 20 10
45 22 6
46 24 4
47 30 0
48 36 10
49 38 14
50 40 19
51 42 23
52 47 33
53 52 40
54 57 54
55 62 59
56 67 67
57 72 76
58 77 85
59 82 92
60 87 100
61 92 111
62 97 119
63 102 127
64 107 135
65 112 138
66 117 143
67 122 151
68 127 154
69 132 159
70 137 159
71 142 164
72 147 165
73 152 172
74 157 174
75 162 172
76 167 174
77 172 178
78 177 176
79 182 180
80 187 182
81 192 180
82 197 182
83 202 186
84 187 182
85 192 180
86 197 182
87 202 1000
=== RIGHT SERVO ===
Table Entries = 88
Zero Speed Index = 33
Index Servo Drive Encoder Ticks/Second
0 -195 1000
1 -190 178
2 -185 178
3 -180 174
4 -175 174
5 -170 176
6 -165 170
7 -160 172
8 -155 169
9 -150 172
10 -145 162
11 -140 159
12 -135 154
13 -130 156
14 -125 150
15 -120 143
16 -115 145
17 -110 135
18 -105 126
19 -100 121
20 -95 110
21 -90 103
22 -85 97
23 -80 84
24 -75 76
25 -70 67
26 -65 59
27 -60 50
28 -55 45
29 -50 35
30 -45 23
31 -40 12
32 -38 9
33 -31 0
34 -24 5
35 -22 11
36 -20 14
37 -18 17
38 -16 21
39 -11 31
40 -6 41
41 -1 50
42 4 61
43 9 68
44 14 78
45 19 89
46 24 97
47 29 102
48 34 112
49 39 119
50 44 125
51 49 131
52 54 135
53 59 143
54 64 148
55 69 148
56 74 157
57 79 157
58 84 163
59 89 162
60 94 165
61 99 169
62 104 168
63 109 172
64 114 174
65 119 172
66 124 175
67 129 174
68 134 175
69 139 179
70 144 178
71 149 176
72 154 178
73 159 176
74 164 180
75 169 177
76 174 179
77 179 175
78 184 178
79 189 176
80 194 178
81 199 174
82 204 177
83 184 178
84 189 176
85 194 178
86 199 174
87 204 1000
Here's the problem:
Right wheel starts to spin full speed if no speed instruction is given or if speed is set to 0.
I think calibration had problems since I saw the robot spin on itself, something that does not happens on the videos neither on other posts I've read from this forum.
I've followed troubleshooting instructions for the calibration problem (last issue) because my calibration table was exactly as described (is at the end of the post).
I've also double checked jumpers, encoders cables and everything seems right (attached photo).
Would really appreciate some help!
Thanks!
Eduardo.
=== LEFT SERVO ===
Table Entries = 88
Zero Speed Index = 47
Index Servo Drive Encoder Ticks/Second
0 -194 1000
1 -189 186
2 -184 190
3 -179 185
4 -174 181
5 -169 183
6 -164 183
7 -159 185
8 -154 185
9 -149 185
10 -144 185
11 -139 183
12 -134 179
13 -129 187
14 -124 181
15 -119 179
16 -114 179
17 -109 175
18 -104 179
19 -99 173
20 -94 171
21 -89 169
22 -84 164
23 -79 163
24 -74 155
25 -69 155
26 -64 144
27 -59 146
28 -54 139
29 -49 135
30 -44 122
31 -39 118
32 -34 110
33 -29 100
34 -24 93
35 -19 83
36 -14 74
37 -9 66
38 -4 56
39 1 46
40 6 36
41 11 27
42 16 17
43 18 13
44 20 10
45 22 6
46 24 4
47 30 0
48 36 10
49 38 14
50 40 19
51 42 23
52 47 33
53 52 40
54 57 54
55 62 59
56 67 67
57 72 76
58 77 85
59 82 92
60 87 100
61 92 111
62 97 119
63 102 127
64 107 135
65 112 138
66 117 143
67 122 151
68 127 154
69 132 159
70 137 159
71 142 164
72 147 165
73 152 172
74 157 174
75 162 172
76 167 174
77 172 178
78 177 176
79 182 180
80 187 182
81 192 180
82 197 182
83 202 186
84 187 182
85 192 180
86 197 182
87 202 1000
=== RIGHT SERVO ===
Table Entries = 88
Zero Speed Index = 33
Index Servo Drive Encoder Ticks/Second
0 -195 1000
1 -190 178
2 -185 178
3 -180 174
4 -175 174
5 -170 176
6 -165 170
7 -160 172
8 -155 169
9 -150 172
10 -145 162
11 -140 159
12 -135 154
13 -130 156
14 -125 150
15 -120 143
16 -115 145
17 -110 135
18 -105 126
19 -100 121
20 -95 110
21 -90 103
22 -85 97
23 -80 84
24 -75 76
25 -70 67
26 -65 59
27 -60 50
28 -55 45
29 -50 35
30 -45 23
31 -40 12
32 -38 9
33 -31 0
34 -24 5
35 -22 11
36 -20 14
37 -18 17
38 -16 21
39 -11 31
40 -6 41
41 -1 50
42 4 61
43 9 68
44 14 78
45 19 89
46 24 97
47 29 102
48 34 112
49 39 119
50 44 125
51 49 131
52 54 135
53 59 143
54 64 148
55 69 148
56 74 157
57 79 157
58 84 163
59 89 162
60 94 165
61 99 169
62 104 168
63 109 172
64 114 174
65 119 172
66 124 175
67 129 174
68 134 175
69 139 179
70 144 178
71 149 176
72 154 178
73 159 176
74 164 180
75 169 177
76 174 179
77 179 175
78 184 178
79 189 176
80 194 178
81 199 174
82 204 177
83 184 178
84 189 176
85 194 178
86 199 174
87 204 1000
Comments
Thanks Martin.
I'm trying that but right servo refuses to completely stop. However, if I switch right servo connection with that of left servo, then left servo starts to spin. Can be there a problem with P13?
I'll remove all the connections I added, may be there's something interfering, since the servo stops but then starts to spin again.
It is not only when set speed to 0. It ignores any speed set up.
If you don't, get yourself one. Very handy now and later on. http://www.ebay.com/itm/Multi-Servo-Tester-3CH-ECS-Consistency-Speed-Controler-Power-Channels-CCPM-DY-/262047015681?hash=item3d03382301
@erco If I switch P12 servo to P13 and vice versa the one failing is the "left" servo. Is this relevant?
-Phil
If you swap servos and the bad servo becomes the good servo, then they are probably OK and you likely have a hardware or software issue.
Here's what I found.
If I switch the whole setup then the left servo continues to work properly. I will test the encoder to see if that's what's not working.
Thanks!
First, I would recommend you remove every connection shown on your breadboard except the servo/encoder cables, and resistors at P14&15 (see this tutorial page for connection details, if needed). Start simple when identifying your issue; your breadboard is full of connections that are not necessary for calibration and I cannot identify which might be affecting your robot from the picture you included. Once everything is removed, try a fresh calibration and see what happens.
If that doesn't work, there have been cases where the servo is so out of center that it cannot be calibrated properly via the calibration program. I happen to have encountered this issue yesterday myself. Try the following code, making sure your power switch is set to 2 (also, have the robot's wheels off the ground in case it tries to take off).
If the affected wheel spins while this program is running, gently use a screwdriver to adjust the potentiometer until the wheel stops. You may have to remove the battery pack to gain better access.
Then, run the calibration program again and see if that fixes the problem. Do not forget to calibrate again after you have manually adjusted the servo's potentiometer. If this does not fix the issue, please call or email technical support at 888-997-8267 (support@parallax.com) and they can help you further isolate the cause of the runaway servo.
Thanks for your help, worked like charm. Calibrated the servos and run the calibration program, worked as expected. However the calibration table still looks as in the troubleshooting section
(run the calibration twice, just in case) and yes, pins are right.
=== LEFT SERVO ===
Table Entries = 89
Zero Speed Index = 40
Index Servo Drive Encoder Ticks/Second
0 -194 1000
1 -189 178
2 -184 181
3 -179 174
4 -174 174
5 -169 173
6 -164 173
7 -159 173
8 -154 170
9 -149 172
10 -144 170
11 -139 170
12 -134 168
13 -129 168
14 -124 166
15 -119 164
16 -114 166
17 -109 158
18 -104 160
19 -99 152
20 -94 147
21 -89 144
22 -84 138
23 -79 128
24 -74 124
25 -69 114
26 -64 107
27 -59 99
28 -54 91
29 -49 83
30 -44 76
31 -39 62
32 -34 55
33 -29 45
34 -24 35
35 -19 26
36 -14 16
37 -12 12
38 -10 8
39 -8 5
40 -1 0
41 6 6
42 8 11
43 10 15
44 12 19
45 14 23
46 19 33
47 24 41
48 29 50
49 34 60
50 39 68
51 44 78
52 49 87
53 54 94
54 59 103
55 64 108
56 69 117
57 74 126
58 79 129
59 84 133
60 89 141
61 94 145
62 99 146
63 104 153
64 109 157
65 114 157
66 119 160
67 124 162
68 129 165
69 134 162
70 139 169
71 144 169
72 149 169
73 154 170
74 159 172
75 164 174
76 169 169
77 174 172
78 179 172
79 184 172
80 189 174
81 194 172
82 199 172
83 204 172
84 184 172
85 189 174
86 194 172
87 199 172
88 204 1000
=== RIGHT SERVO ===
Table Entries = 89
Zero Speed Index = 40
Index Servo Drive Encoder Ticks/Second
0 -195 1000
1 -190 178
2 -185 175
3 -180 177
4 -175 173
5 -170 175
6 -165 177
7 -160 175
8 -155 173
9 -150 171
10 -145 171
11 -140 171
12 -135 173
13 -130 166
14 -125 166
15 -120 164
16 -115 161
17 -110 159
18 -105 161
19 -100 155
20 -95 153
21 -90 141
22 -85 141
23 -80 136
24 -75 127
25 -70 126
26 -65 113
27 -60 108
28 -55 101
29 -50 88
30 -45 81
31 -40 73
32 -35 63
33 -30 54
34 -25 44
35 -20 35
36 -15 25
37 -10 16
38 -8 11
39 -6 7
40 2 0
41 10 8
42 12 13
43 14 17
44 16 20
45 18 24
46 23 33
47 28 45
48 33 52
49 38 60
50 43 71
51 48 77
52 53 91
53 58 96
54 63 105
55 68 112
56 73 124
57 78 127
58 83 133
59 88 140
60 93 145
61 98 149
62 103 155
63 108 155
64 113 161
65 118 161
66 123 165
67 128 169
68 133 170
69 138 172
70 143 174
71 148 174
72 153 172
73 158 176
74 163 176
75 168 176
76 173 180
77 178 174
78 183 176
79 188 176
80 193 176
81 198 176
82 203 174
83 178 174
84 183 176
85 188 176
86 193 176
87 198 176
88 203 1000
If your robot managed to reach speeds far beyond what it originally calibrated for (by turning off encoder feedback), you would very quickly lose accuracy in your experienced speed values without this high upper/lower limit.
The troubleshooting screenshot has not yet been updated to reflect the change to the code, but I will make note to update it asap to prevent further confusion.