我通过蓝牙以很短的时间间隔向电机发送大量命令以用于我的应用程序,并且由于发送命令的速度,当机器不空闲时会发送一两个命令,并error : not idle在输入中提供消息。出现此错误后,grbl 立即开始沿一个方向连续移动电机。我究竟做错了什么?
我的程序在 Z5.0 和 Z5.001 之间以 15 Hz 的频率快速振荡(电机是全微步进的 Nema 17,螺杆的螺距为 1mm,给我 3200 步/mm),并在每个命令之间改变速度。下面的每个命令后跟一个数字。响应将该数字作为前缀,以便它可以与其各自的命令相匹配(输入流和输出流在并行线程中运行)。当 Z 位置开始连续向上移动时,可以在命令 128 后看到问题。
$112=300 4
4 ok
5 ok
Z5.0 5
$112=290 6
6 ok
Z5.001 7
7 ok
? 8
$112=300 10
Z5.0 11
8 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 12
9 ok
10 ok
11 ok
12 ok
Z5.001 13
? 14
13 ok
$112=300 16
Z5.0 17
14 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 18
15 ok
16 ok
17 ok
Z5.001 19
18 ok
? 20
19 ok
$112=300 22
Z5.0 23
$112=290 24
20 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
21 ok
22 ok
Z5.001 25
23 ok
? 26
24 ok
$112=300 28
25 ok
Z5.0 29
26 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 30
27 ok
28 ok
29 ok
Z5.001 31
30 ok
? 32
31 ok
$112=300 34
Z5.0 35
$112=290 36
32 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
33 ok
34 ok
Z5.001 37
35 ok
? 38
36 ok
$112=300 40
37 ok
38 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
Z5.0 41
39 ok
$112=290 42
40 ok
41 ok
42 ok
Z5.001 43
? 44
43 ok
$112=300 46
Z5.0 47
44 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 48
45 ok
46 ok
47 ok
Z5.001 49
48 ok
? 50
49 ok
$112=300 52
Z5.0 53
$112=290 54
50 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
51 ok
Z5.001 55
52 ok
? 56
53 ok
$112=300 58
54 ok
55 ok
Z5.0 59
56 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 60
57 ok
58 ok
59 ok
Z5.001 61
60 ok
? 62
61 ok
$112=300 64
Z5.0 65
62 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 66
63 ok
64 ok
65 ok
Z5.001 67
66 ok
? 68
67 ok
$112=300 70
Z5.0 71
68 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 72
69 ok
70 ok
71 ok
Z5.001 73
? 74
72 ok
73 ok
$112=300 76
Z5.0 77
74 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 78
75 ok
76 ok
77 ok
Z5.001 79
78 ok
? 80
79 ok
$112=300 82
Z5.0 83
80 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 84
81 ok
82 ok
83 ok
Z5.001 85
84 ok
? 86
85 ok
$112=300 88
Z5.0 89
86 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 90
87 ok
88 ok
89 ok
Z5.001 91
? 92
90 ok
$112=300 94
91 ok
Z5.0 95
92 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 96
93 ok
94 ok
95 ok
Z5.001 97
96 ok
? 98
97 ok
$112=300 100
Z5.0 101
98 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 102
99 ok
100 ok
101 ok
Z5.001 103
102 ok
? 104
103 ok
$112=300 106
104 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
Z5.0 107
105 ok
$112=290 108
106 ok
107 ok
108 ok
Z5.001 109
? 110
109 ok
$112=300 112
Z5.0 113
110 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 114
111 ok
112 ok
113 ok
Z5.001 115
114 ok
? 116
115 ok
$112=300 118
116 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
Z5.0 119
$112=290 120
117 ok
118 ok
119 ok
Z5.001 121
120 ok
? 122
121 ok
$112=300 124
Z5.0 125
122 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
$112=290 126
123 ok
124 ok
125 ok
Z5.001 127
126 ok
? 128
127 ok
$112=300 130
Z5.0 131
$112=290 132
128 <Idle,MPos:0.000,0.000,5.001,WPos:0.000,0.000,5.001,Buf:0,RX:0,Lim:000>
129 ok
130 ok
Z5.001 133
131 ok
? 134
132 error: Not idle
$112=300 136
133 ok
Z5.0 137
$112=290 138
134 <Run,MPos:0.000,0.000,5.778,WPos:0.000,0.000,5.778,Buf:2,RX:1,Lim:000>
135 ok
136 error: Not idle
Z5.001 139
? 140
137 ok
$112=300 142
138 error: Not idle
139 ok
Z5.0 143
$112=290 144
140 <Run,MPos:0.000,0.000,6.633,WPos:0.000,0.000,6.633,Buf:4,RX:1,Lim:000>
141 ok
142 error: Not idle
Z5.001 145
143 ok
? 146
144 error: Not idle
$112=300 148
145 ok
Z5.0 149
146 <Run,MPos:0.000,0.000,7.607,WPos:0.000,0.000,7.607,Buf:6,RX:1,Lim:000>
$112=290 150
147 ok
148 error: Not idle
149 ok
Z5.001 151
150 error: Not idle
? 152
151 ok
$112=300 154
Z5.0 155
152 <Run,MPos:0.000,0.000,8.618,WPos:0.000,0.000,8.618,Buf:8,RX:1,Lim:000>
$112=290 156
153 ok
154 error: Not idle
155 ok
Z5.001 157
156 error: Not idle
? 158
157 ok
$112=300 160
Z5.0 161
$112=290 162
158 <Run,MPos:0.000,0.000,9.618,WPos:0.000,0.000,9.618,Buf:10,RX:1,Lim:000>
159 ok
160 error: Not idle
161 ok
Z5.001 163
? 164
162 error: Not idle
$112=300 166
163 ok
Z5.0 167
164 <Run,MPos:0.000,0.000,10.624,WPos:0.000,0.000,10.624,Buf:12,RX:1,Lim:000>
$112=290 168
165 ok
166 error: Not idle
167 ok
Z5.001 169
168 error: Not idle
? 170
169 ok
$112=300 172
170 <Run,MPos:0.000,0.000,11.614,WPos:0.000,0.000,11.614,Buf:14,RX:1,Lim:000>
Z5.0 173
171 ok
$112=290 174
172 error: Not idle
173 ok
Z5.001 175
我通过蓝牙以很短的时间间隔向电机发送大量命令以用于我的应用程序,并且由于发送命令的速度,当机器不空闲时会发送一两个命令,并
error : not idle
在输入中提供消息。出现此错误后,grbl 立即开始沿一个方向连续移动电机。我究竟做错了什么?我的程序在 Z5.0 和 Z5.001 之间以 15 Hz 的频率快速振荡(电机是全微步进的 Nema 17,螺杆的螺距为 1mm,给我 3200 步/mm),并在每个命令之间改变速度。下面的每个命令后跟一个数字。响应将该数字作为前缀,以便它可以与其各自的命令相匹配(输入流和输出流在并行线程中运行)。当 Z 位置开始连续向上移动时,可以在命令 128 后看到问题。