国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

機械社區(qū)

標題: 基于電子積木arduino(AVR)的G代碼解釋器原代碼 [打印本頁]

作者: xmdesign    時間: 2012-8-6 19:48
標題: 基于電子積木arduino(AVR)的G代碼解釋器原代碼
基于電子積木arduino的G代碼解釋器原代碼,來源于http://arduino.cc/forum/搜CNC
. _1 q; a( |! a6 O) o  u我去年收集了許多程序,經(jīng)過測試挑選出可以用,后來沒時間繼續(xù)研究學習,現(xiàn)在發(fā)% U3 a) z2 K  H4 R& B7 s
上來給有用的朋友參考
! |2 _& c8 _6 ^4 z4 Z+ ]: ]& R, s# q下面是其中的小段源碼+ s8 g  ]  T& \! e' K- k
//init our variables6 N& f3 R" ^. z* ^. P+ y, @
long max_delta;1 R* v/ E/ m' K9 b+ w7 f
long x_counter;- Q  Z1 O6 G) g$ Y
long y_counter;
* Z. v; N- F' f. F" n0 Z* u1 dlong z_counter;3 _* a+ f! f3 y2 l2 h- M
bool x_can_step;
- G0 T) w* G* w! @0 T& l" Ubool y_can_step;
: G+ c2 g$ k) @6 c8 d- b% ~6 Xbool z_can_step;
' N  N. e' q" aint milli_delay;% `2 c6 j6 f; f& X8 A
void init_steppers(): m2 W5 j( g7 @# ~9 G8 I  R  o
{6 n4 n- b; S) s, x5 v* r
//turn them off to start.# F0 ?# F# x3 Q7 z, {2 N; x
disable_steppers();7 L$ c! D" q* e, P; k" o  P7 U
6 N$ D6 L6 \" z4 ]1 B5 C
//init our points.
, V* j  I. q1 G4 o1 x current_units.x = 0.0;
( y' ~. p  L" ?5 N, E current_units.y = 0.0;6 [0 V4 h- }1 {- Q! i9 C6 ^! @5 O
current_units.z = 0.0;2 T9 J5 v5 O  O8 }  q
target_units.x = 0.0;
4 D5 B  [$ X" [' E, Q  [5 I target_units.y = 0.0;" s; y0 Z; c6 E, L. w- x7 {' B. T
target_units.z = 0.0;7 ^/ S( c% s$ H1 E( Y

+ N& P, ?' I' @ pinMode(X_STEP_PIN, OUTPUT);
! [( y8 _% b: K  } pinMode(X_DIR_PIN, OUTPUT);. W! p+ F( }$ Y1 m
pinMode(X_ENABLE_PIN, OUTPUT);: h7 g- _, e  A: v# p4 ]
pinMode(X_MIN_PIN, INPUT);! h" O& n1 o7 C
pinMode(X_MAX_PIN, INPUT);6 |  x8 L' m: Z0 }: f
: E, w7 F+ V7 Q% h% a0 K5 m
pinMode(Y_STEP_PIN, OUTPUT);; Q7 y3 A" g0 p0 U4 r: x
pinMode(Y_DIR_PIN, OUTPUT);6 o5 t- t0 A3 x9 p0 a5 W
pinMode(Y_ENABLE_PIN, OUTPUT);  r8 C2 u3 X! k
pinMode(Y_MIN_PIN, INPUT);8 b1 D. q1 w9 G6 Z
pinMode(Y_MAX_PIN, INPUT);2 o) g9 [+ f; u. y

. o8 J8 e7 t2 N2 }5 n pinMode(Z_STEP_PIN, OUTPUT);
$ z* [5 ^1 N2 \8 s2 ~ pinMode(Z_DIR_PIN, OUTPUT);, h+ F' i0 x" _2 g0 O& [8 |
pinMode(Z_ENABLE_PIN, OUTPUT);
) J) O$ ?' f2 e8 F pinMode(Z_MIN_PIN, INPUT);
) N9 K9 q4 Z7 w8 W pinMode(Z_MAX_PIN, INPUT);
- \- B* n8 F3 \, C8 Z: D# U: c- l
6 W* Z6 Y1 F8 n5 ^  m/ Z2 K7 r& C //figure our stuff.
1 H) |) I8 z* w; U calculate_deltas();( B  A: l* _# o, {, g+ F/ f
}& F) I% B8 A& e, d
void dda_move(long micro_delay)4 i: q, h( _' {  }7 D% T- R" @) o% i
{
" E* M. Q4 O/ l7 W8 c& V  }2 ~ //enable our steppers
: @& ^7 [7 k( l( V  Y: e digitalWrite(X_ENABLE_PIN, HIGH);- J" B6 s( l5 I+ y- c
digitalWrite(Y_ENABLE_PIN, HIGH);
5 L5 S9 I( Y/ S0 e- h2 k9 Y7 E digitalWrite(Z_ENABLE_PIN, HIGH);; {0 @& ?0 B+ D$ {; b# _) L

1 z& |7 l9 g( C9 @7 x6 K$ D //figure out our deltas
9 d6 L4 v1 h, j; \- p  v1 I max_delta = max(delta_steps.x, delta_steps.y);* U) G2 c* e7 q# y4 z
max_delta = max(delta_steps.z, max_delta);* R" i5 `) L% g* ~3 W# s' ]
//init stuff.) A0 x: O* q8 m8 R* i; e) w
long x_counter = -max_delta/2;6 |# c6 g2 R' c8 v! a8 i4 }5 A8 `
long y_counter = -max_delta/2;/ {/ d* c4 O4 z  O6 i$ o
long z_counter = -max_delta/2;( l: i5 x4 s0 s" h" C

& U5 I  `- H# L6 I //our step flags
! P1 t; u$ X. O0 ~( m: E bool x_can_step = 0;. e  s4 @! B8 S/ x* g$ h  o
bool y_can_step = 0;/ ?+ X& Q% {& {6 l  ]
bool z_can_step = 0;
$ m4 ~7 }5 H$ h: l $ ?/ b8 K3 o, I" P9 ~& p; U
if (micro_delay >= 16383)
- p$ ?6 f9 N" a3 S+ J  milli_delay = micro_delay / 1000;
$ U" ^$ P: K4 X: P$ } else
# E5 y% L1 P- `2 q  milli_delay = 0;
- h) P$ D5 P2 i
3 k( n7 n6 D- C( v- h. ?2 L
作者: xmdesign    時間: 2012-8-6 19:50
有2軸圓弧查補和3軸直線查補功能
作者: godbyw    時間: 2013-8-7 14:46
謝謝分享。
作者: cbcy    時間: 2013-8-25 00:01
謝謝分享。
作者: 兔子機械    時間: 2014-12-2 14:14
謝謝分享
作者: lkmdkl    時間: 2015-5-2 17:56
謝謝分享!
作者: yueame    時間: 2015-5-5 10:06
感謝分享
作者: 龍游大海    時間: 2015-5-5 10:18
電子積木是什么意思?是CNC的G碼嗎?
作者: lnxianzhi    時間: 2015-9-27 00:13
這個還沒怎么接觸過,樓主能詳細解釋解釋嗎
8 Z5 B4 {- Z8 z  T3 G
作者: Kiss1212    時間: 2015-10-5 11:21
謝謝分享  
作者: 醉行者123    時間: 2016-1-19 18:07
不錯




歡迎光臨 機械社區(qū) (http://m.whclglass.com.cn/) Powered by Discuz! X3.5