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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

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

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

  [復(fù)制鏈接]
1#
發(fā)表于 2012-8-6 19:48:27 | 只看該作者 |倒序瀏覽 |閱讀模式
基于電子積木arduino的G代碼解釋器原代碼,來源于http://arduino.cc/forum/搜CNC
, T9 r+ Y; j: ~; z$ _7 ~: k  b+ f我去年收集了許多程序,經(jīng)過測試挑選出可以用,后來沒時間繼續(xù)研究學(xué)習,現(xiàn)在發(fā)9 T1 r) e3 j( {+ U
上來給有用的朋友參考6 }9 K1 Q& W4 [
下面是其中的小段源碼; Q9 f* i0 i; \
//init our variables
$ t: \# |- P" @# w6 hlong max_delta;
: n3 D6 e. M6 blong x_counter;( C+ r% Y' Z3 o9 f) {7 W
long y_counter;/ F9 g7 m) h2 w! P. [
long z_counter;
2 t' V. W+ O& m+ ^( Y* Z. lbool x_can_step;
; t% X, z0 [, Y; l4 Q4 I  h8 ~8 pbool y_can_step;5 r  w* p" n+ P. [; c
bool z_can_step;
6 t7 l. v5 d% f/ K5 c# rint milli_delay;
. o! m3 Q6 V3 f# y6 hvoid init_steppers()) S1 m. F" P2 M
{
" T. F; U# j) V: G0 B //turn them off to start.
7 T! ]: A0 H# r2 U& l: y7 h disable_steppers();
9 S$ j3 W: I5 i4 O% E/ _0 i
& ]4 o% `9 S! Q9 t //init our points.
: K7 g/ ~" @5 _- c+ A' F8 J: }& ` current_units.x = 0.0;
: A3 o- j# p# z( ?( R, l: n current_units.y = 0.0;  b: q9 H0 C6 A8 P: U8 m
current_units.z = 0.0;1 y# f4 B5 G9 y* K7 G! i" L
target_units.x = 0.0;
/ d% d; }" P# ?$ ^6 _( Z6 ^ target_units.y = 0.0;
% K! r1 c. w! S( T5 O target_units.z = 0.0;, V% u& |9 Q1 e, I

& g4 S2 [. ]8 @/ w/ \: ?' A' ^ pinMode(X_STEP_PIN, OUTPUT);3 J6 R/ H7 D. B( g- }
pinMode(X_DIR_PIN, OUTPUT);
' v* i! r$ r' E+ \& ?- o pinMode(X_ENABLE_PIN, OUTPUT);( [' `- w$ N) `5 T: ^( X
pinMode(X_MIN_PIN, INPUT);
" }  e2 G6 ^1 c, ?+ D pinMode(X_MAX_PIN, INPUT);; Y' l5 n7 P8 H  _1 \# u6 d9 w% X) V
+ v0 @5 v: ^+ R
pinMode(Y_STEP_PIN, OUTPUT);
* _% Y0 K0 K( `6 F pinMode(Y_DIR_PIN, OUTPUT);, ?  G% Z$ Y% W$ L* h) e0 Q
pinMode(Y_ENABLE_PIN, OUTPUT);
/ d7 @. l- a# y5 r# h pinMode(Y_MIN_PIN, INPUT);
  X0 ?1 q8 C4 U/ ?- X  I pinMode(Y_MAX_PIN, INPUT);
: G" t7 Z0 t; |
! T2 U, K/ r3 s: r8 X3 f  o pinMode(Z_STEP_PIN, OUTPUT);- Y# d% X- }% P) x6 f* ~2 n
pinMode(Z_DIR_PIN, OUTPUT);
/ W# n7 F* f* L8 f& Z; |, O pinMode(Z_ENABLE_PIN, OUTPUT);
8 y5 x$ t1 J+ T! o/ c pinMode(Z_MIN_PIN, INPUT);" ]6 ^# O) c& N+ A
pinMode(Z_MAX_PIN, INPUT);
5 r7 o/ r* |* d1 l/ I" w 9 a) S4 F( o5 W* `7 y
//figure our stuff.5 Y" Q' m# G# x; J. y
calculate_deltas();
; E" l" r& Q* Q$ T}
7 `0 ?) }& M. W7 B3 u1 D% A4 M' ~void dda_move(long micro_delay): P, p5 @& s/ ?
{
9 j; }2 O9 k+ Q; O //enable our steppers
4 \' e/ u. k$ ^/ l& V7 \0 a, Y/ k- Z: o digitalWrite(X_ENABLE_PIN, HIGH);5 m" b: N5 t+ g, `. `8 a
digitalWrite(Y_ENABLE_PIN, HIGH);
7 g5 C, Y, @) I7 k  _6 ?9 k* \ digitalWrite(Z_ENABLE_PIN, HIGH);
$ C3 a& }9 n( E" ~0 O1 x9 ] 7 [) [$ {( z/ K  _  Z5 B
//figure out our deltas
7 \: T1 V% Y" h, h& F max_delta = max(delta_steps.x, delta_steps.y);
/ I8 L$ [! x/ ^0 E5 P. Z max_delta = max(delta_steps.z, max_delta);
* @% u! ^! E) u& [1 Q //init stuff.
9 x& A* o+ v* D, G6 E. b! d long x_counter = -max_delta/2;
9 x, D- ?# v$ c: B) e$ F long y_counter = -max_delta/2;. w2 f9 _! y; C0 \0 [
long z_counter = -max_delta/2;
$ M, G  g5 F+ C1 \ . B: r7 f) |+ A$ X% [3 G
//our step flags
3 K: v* U8 C6 P! I2 @* W: X; i bool x_can_step = 0;- \' [1 V" K$ {& ~) \; f% D
bool y_can_step = 0;
: |8 S( d! R% q/ _3 |( ~% t! h bool z_can_step = 0;
' `7 ~- J5 C+ J8 p4 d" z , J) f0 y# C8 ?5 a3 r. l" ^
if (micro_delay >= 16383)" w& g8 s8 F7 D- T. @# R
  milli_delay = micro_delay / 1000;0 L  @: B' o0 r5 {2 Q
else' `7 @/ E2 f- v- ~
  milli_delay = 0;/ z, N+ I2 r+ O, }+ R6 Q6 M

+ n8 |' q9 o) Y3 P$ v" t* ?

本帖子中包含更多資源

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

×
回復(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 | 只看該作者
這個還沒怎么接觸過,樓主能詳細解釋解釋嗎0 r: ?$ E# N: Q9 E+ ]8 ?
10#
發(fā)表于 2015-10-5 11:21:26 | 只看該作者
謝謝分享  
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2025-9-24 02:03 , Processed in 0.083190 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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