久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9401|回復: 10

基于電子積木arduino(AVR)的G代碼解釋器原代碼

[復制鏈接]
1#
發表于 2012-8-6 19:48:27 | 只看該作者 |倒序瀏覽 |閱讀模式
基于電子積木arduino的G代碼解釋器原代碼,來源于http://arduino.cc/forum/搜CNC: t5 {7 J5 N' M' E$ Z6 C
我去年收集了許多程序,經過測試挑選出可以用,后來沒時間繼續研究學習,現在發. e# l6 x8 ~5 }  f" z/ l
上來給有用的朋友參考
  j+ D6 K3 {1 c8 x9 r/ P下面是其中的小段源碼
& d3 a" ^; Q5 O1 w5 K5 J5 X//init our variables4 u* H0 A0 |1 E1 H: _! x
long max_delta;
0 l  w5 f6 J; ?8 jlong x_counter;
) O6 y: z$ l3 m7 `, r1 ylong y_counter;
( L5 j" A8 m* ~% Q& olong z_counter;
3 t3 ~. ^( l6 E5 ?( N6 Y9 m3 _bool x_can_step;
% T5 D( @. \1 N: o+ }/ nbool y_can_step;, G; y, L1 y; \  N" ^1 i' W* F5 s
bool z_can_step;
, q/ p! Z' N. v" _+ Oint milli_delay;
* B1 U0 @7 C9 I+ c$ z( D' T/ e1 ~void init_steppers()
8 ~8 h' w( n/ i8 w3 U/ R; ^5 d{; C9 h0 d* }4 l2 p/ t( f2 ~6 h
//turn them off to start.
9 S3 [8 N* k* L0 m) z, L& ` disable_steppers();
; @5 P/ ~& ]2 K
$ o8 {5 l4 W, g) X9 f' z$ {- D //init our points.9 N: z( o# u4 F6 D/ j0 [
current_units.x = 0.0;# r* k; f4 u# I( k
current_units.y = 0.0;
/ L: P. `; x+ L- w  a' Z9 J5 { current_units.z = 0.0;
5 }% {+ e: l( O- B7 T6 |0 A* m target_units.x = 0.0;9 H; t5 X/ j7 o* V- A
target_units.y = 0.0;
3 O& w% V8 E- ?1 L. x target_units.z = 0.0;0 N# E  m) d2 H
6 W8 w9 C* ~+ Q1 O5 g- D$ @! H( l
pinMode(X_STEP_PIN, OUTPUT);* h% E( Z1 R) q& c  Z
pinMode(X_DIR_PIN, OUTPUT);
+ h9 H( [+ S# k& s# A- C. {4 r pinMode(X_ENABLE_PIN, OUTPUT);
& K6 N# B- q' n1 B pinMode(X_MIN_PIN, INPUT);
# x+ ^/ w/ B9 J$ i7 b2 ]; ` pinMode(X_MAX_PIN, INPUT);
* u: Z4 I* y; U2 p' L . }! M2 C7 o0 V( \4 w
pinMode(Y_STEP_PIN, OUTPUT);
% u  S& J$ P" n! V pinMode(Y_DIR_PIN, OUTPUT);2 ]% V) U/ V2 A2 R  p& ?" S
pinMode(Y_ENABLE_PIN, OUTPUT);
* i* `6 s+ W* W: e+ N! p pinMode(Y_MIN_PIN, INPUT);
1 J7 ]: W7 t! D- V pinMode(Y_MAX_PIN, INPUT);; u; W3 u  ]4 K2 k

2 d9 s, o+ M* X7 d' w pinMode(Z_STEP_PIN, OUTPUT);* C7 |" \; r8 W7 U
pinMode(Z_DIR_PIN, OUTPUT);2 v+ D4 l" U+ H
pinMode(Z_ENABLE_PIN, OUTPUT);
( j# R0 c9 E1 M! D1 ^9 H7 \- X! ` pinMode(Z_MIN_PIN, INPUT);
. T) A% \, A; e" s# p pinMode(Z_MAX_PIN, INPUT);
* A2 |0 c0 [' ]% n, A 4 z1 w) A: a/ K  A/ K
//figure our stuff.- [4 l: N& n/ g
calculate_deltas();* }9 E* _$ p! k7 h: i; e: X5 t
}* w8 v3 _% b: o) S2 Y
void dda_move(long micro_delay)% E8 b! d/ g* c+ C1 F/ i! D
{) y, s' a+ z, }2 c
//enable our steppers
2 e8 q; A. C3 b2 D) u digitalWrite(X_ENABLE_PIN, HIGH);
7 K7 M5 P7 ^. A3 j% z digitalWrite(Y_ENABLE_PIN, HIGH);& @) c7 x" r1 [" ]
digitalWrite(Z_ENABLE_PIN, HIGH);9 M' H2 P7 F! B. n* ?8 k

) O) S: L# q4 i% g; c2 l //figure out our deltas' y: w1 W8 y: ]( l
max_delta = max(delta_steps.x, delta_steps.y);
1 j! f+ B8 F3 ^) T  @+ s- v! w max_delta = max(delta_steps.z, max_delta);
. s- N( {; B' I  B1 Q8 l5 m //init stuff./ S7 k. o1 P: W# O8 |
long x_counter = -max_delta/2;
' s# S& j  T( R+ T long y_counter = -max_delta/2;, g8 e. ]& G1 c/ n
long z_counter = -max_delta/2;' z( C' i" G/ o2 W
6 B2 S( @- j: `1 P# K
//our step flags5 B4 x5 h; ~. `& l! X+ n* O  q/ _
bool x_can_step = 0;
# k4 \; M1 f7 e  [  M6 c* f! Y bool y_can_step = 0;
$ N7 S  d1 I) k! Z bool z_can_step = 0;
0 {; Y7 Z+ M8 w7 n! s6 j 2 G3 g$ _$ W" k  i
if (micro_delay >= 16383)
( O4 G6 P$ [: t! \# |% q  Y  milli_delay = micro_delay / 1000;6 L$ d- h0 b2 i3 u% }: R& p
else
" b! _' Z& Q7 T" I9 ?; M9 s  milli_delay = 0;
6 Y6 j9 f% Z' ?
" c6 O4 l. {: m) s

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復

使用道具 舉報

2#
 樓主| 發表于 2012-8-6 19:50:44 | 只看該作者
有2軸圓弧查補和3軸直線查補功能
3#
發表于 2013-8-7 14:46:24 | 只看該作者
謝謝分享。
4#
發表于 2013-8-25 00:01:13 | 只看該作者
謝謝分享。
5#
發表于 2014-12-2 14:14:14 | 只看該作者
謝謝分享
6#
發表于 2015-5-2 17:56:27 | 只看該作者
謝謝分享!
7#
發表于 2015-5-5 10:06:23 | 只看該作者
感謝分享
8#
發表于 2015-5-5 10:18:43 | 只看該作者
電子積木是什么意思?是CNC的G碼嗎?
9#
發表于 2015-9-27 00:13:28 | 只看該作者
這個還沒怎么接觸過,樓主能詳細解釋解釋嗎& s. |7 [5 F+ x4 \: n3 ^) J! e8 h
10#
發表于 2015-10-5 11:21:26 | 只看該作者
謝謝分享  
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-24 08:18 , Processed in 0.087432 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表