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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9578|回復(fù): 10

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

  [復(fù)制鏈接]
1#
發(fā)表于 2012-8-6 19:48:27 | 只看該作者 |倒序瀏覽 |閱讀模式
基于電子積木arduino的G代碼解釋器原代碼,來源于http://arduino.cc/forum/搜CNC  @# W2 Y8 l* u1 |
我去年收集了許多程序,經(jīng)過測試挑選出可以用,后來沒時間繼續(xù)研究學(xué)習(xí),現(xiàn)在發(fā)
# I. g0 H9 c- W1 h$ H" H4 [上來給有用的朋友參考0 h1 y: k7 ]! [2 b$ X
下面是其中的小段源碼
5 U- w/ t. t" N# X/ c. o//init our variables
* I' Q# ?  K' G" p* ]+ \long max_delta;: z( V/ I* R7 Q& ^/ J; v
long x_counter;
% G8 w) b* e- x5 P" X7 Qlong y_counter;
8 e( @: E0 e4 t- t4 olong z_counter;0 l/ r* i1 U1 w' x; T0 q
bool x_can_step;4 P* n+ T) T" Q# l
bool y_can_step;
* N0 c, Q: P1 |' }% z) b5 bbool z_can_step;1 C6 t4 @4 x5 z3 m. S
int milli_delay;; s$ _5 {0 j% y& ?
void init_steppers()
1 {$ k8 K5 C- G# U; o{
( i) x6 y: r. ^+ Q; o9 Q //turn them off to start." @8 H- s% G; H6 k, _1 l
disable_steppers();1 d$ E7 F$ R( N, z1 H* e3 d% L

4 Y& [8 L! r& b //init our points.  L2 A& n; p  [! g* }9 G
current_units.x = 0.0;. u3 J, @/ D0 c( A
current_units.y = 0.0;. X, F5 `" \, k% Y* K3 p3 ?
current_units.z = 0.0;
  d! h5 g+ k) l target_units.x = 0.0;- Y; i1 M2 M* u+ u  v
target_units.y = 0.0;6 T2 x0 r) a+ W2 [
target_units.z = 0.0;$ P- _. Y+ U& |
, u* G- o$ n2 i$ |, ~! R
pinMode(X_STEP_PIN, OUTPUT);
$ Y; ?# y  @9 c. u2 R pinMode(X_DIR_PIN, OUTPUT);
( v; W3 ]! T$ t5 f$ H) c% k- C pinMode(X_ENABLE_PIN, OUTPUT);6 _% F2 t6 X# D) W. ]
pinMode(X_MIN_PIN, INPUT);
. M, f; K1 ^) X; w pinMode(X_MAX_PIN, INPUT);
( Z* d0 |, n3 k. m1 J4 v+ o
, L% e6 f0 S! I pinMode(Y_STEP_PIN, OUTPUT);+ i/ U% s  m& w! x( U
pinMode(Y_DIR_PIN, OUTPUT);
# p, S6 O, _8 d# p2 x- O pinMode(Y_ENABLE_PIN, OUTPUT);
: E6 c; V+ O0 r' n( ?# y7 Q' j* S pinMode(Y_MIN_PIN, INPUT);
- e9 \. u$ Y* R, X4 X0 A pinMode(Y_MAX_PIN, INPUT);+ N) F2 L- V) B6 l, M, `# x, ]

. V. P% M; |( Y; [- y( V pinMode(Z_STEP_PIN, OUTPUT);
$ E: c. N' ^- ]# e pinMode(Z_DIR_PIN, OUTPUT);
  P3 B$ U* n7 d) y7 i pinMode(Z_ENABLE_PIN, OUTPUT);0 [& U/ {  T3 c+ t$ V. ]
pinMode(Z_MIN_PIN, INPUT);* R6 q8 n6 d6 k$ r2 f
pinMode(Z_MAX_PIN, INPUT);/ [0 P- ^) N% |( O4 X

, U8 t6 y1 T  {/ {! ]) E6 p- ~$ b //figure our stuff.
" D7 {- M, H8 m' }9 B/ q. a calculate_deltas();
+ u  d6 J, p( T/ P0 J}
! ]1 M/ l9 f" E* {5 p7 j% R1 |void dda_move(long micro_delay)2 O5 Q+ N: e- B! n& F* ^5 Z1 ?
{8 [0 t# W5 @6 w. E& q% N0 F. T
//enable our steppers
. p% P  ^1 K2 J* w digitalWrite(X_ENABLE_PIN, HIGH);
8 ]' C- n! ~* ?( K+ ]' \" v digitalWrite(Y_ENABLE_PIN, HIGH);
/ M5 a5 ?+ c% K2 H3 g% C# I- m: n, l digitalWrite(Z_ENABLE_PIN, HIGH);1 e" j& t2 S7 ^7 S5 A

% Z; ^) P8 D% n. z- D' A //figure out our deltas
+ u3 U% m& _$ u0 G3 W. B/ q5 \ max_delta = max(delta_steps.x, delta_steps.y);
, Y6 S( a: P# @/ f, ?* V: R max_delta = max(delta_steps.z, max_delta);
, q" f1 K5 y4 b& L7 M! ^ //init stuff.
6 o7 O1 O4 k" w& B5 i long x_counter = -max_delta/2;* l1 G8 P* W; f$ D  l  l6 e5 `
long y_counter = -max_delta/2;
1 F7 K# B7 q: p; V6 C0 o" E long z_counter = -max_delta/2;
% C5 [4 l% K2 I) v( O& a9 z" H. F/ L+ _
& H! z8 f, Q6 z0 O% ? //our step flags( D5 i, I/ T' `- S+ q& E  l. V- c& D
bool x_can_step = 0;! p1 k( G0 z8 ]1 z" o7 _. S/ b
bool y_can_step = 0;
+ Z0 P' A" c* _ bool z_can_step = 0;9 k! L9 x+ C- E+ @3 N5 s
  M+ s5 T0 s/ U
if (micro_delay >= 16383)
* g) ~5 p* A/ m. a/ {8 ^; C  milli_delay = micro_delay / 1000;
9 x" S" }/ b9 O: Z" w else* ]" M3 D/ I% X2 ?7 Z
  milli_delay = 0;  E8 N% p6 k! g7 c  r  ~

5 S& c5 D, n+ Z* a

本帖子中包含更多資源

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

×
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

GMT+8, 2025-9-22 00:54 , Processed in 0.071361 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表