机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 8853|回复: 10
打印 上一主题 下一主题

基于电子积木arduino(AVR)的G代码解释器原代码

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-6 19:48:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于电子积木arduino的G代码解释器原代码,来源于http://arduino.cc/forum/搜CNC
" U" X! [/ [6 L6 [% h5 a* y  A6 l我去年收集了许多程序,经过测试挑选出可以用,后来没时间继续研究学习,现在发
, E1 A; l3 Y; y  d! j  O: I! N上来给有用的朋友参考
& T4 @2 B7 s, |; p% b7 E. k" h% {下面是其中的小段源码0 ~/ O! p1 d, l  k8 ~9 ?
//init our variables
; p) O* U0 r& R3 f( }' slong max_delta;4 b/ ^# F* @! ^" @! e
long x_counter;
3 h) b5 j9 d. q6 W  a. ?7 ^& J7 S# ^  jlong y_counter;
/ x. P* g0 t; X1 W) }7 Jlong z_counter;/ J- o" Q9 S8 d( S
bool x_can_step;
9 W1 O  q: U+ {$ V- E: }bool y_can_step;% U! r% a# K3 H' p1 c6 e
bool z_can_step;' H8 C" e) j  l4 d6 }
int milli_delay;
& x% ]1 @6 M# S1 P0 R, k: n3 [void init_steppers()1 F0 Y8 h  [; a& x% d9 k. M+ S, |0 v8 r; S; I
{; T) M, w# j* S% ]0 Q1 j
//turn them off to start./ s4 \  O3 C$ d# m" j5 N9 j& `
disable_steppers();- S0 j2 E0 c/ ^5 N; J

4 y1 m( E- }, N8 U3 P2 h //init our points.
; V0 g- z* e; _/ T current_units.x = 0.0;3 H' {% e4 A, i3 I# V) }* y; O
current_units.y = 0.0;) n: |8 G* m4 {, j* J$ L7 i3 A3 Q; Q
current_units.z = 0.0;
8 x  z) A. J- K) S4 @ target_units.x = 0.0;. }; _' [8 d# e/ Z& B9 D' m9 B
target_units.y = 0.0;
/ y1 C9 _' ^( I* P$ s target_units.z = 0.0;
" S; l' L3 q1 u  V, K - u6 @) y4 E0 N6 J
pinMode(X_STEP_PIN, OUTPUT);' i& ]2 y, H# b8 Y; p
pinMode(X_DIR_PIN, OUTPUT);; |" @, u& {6 j/ {5 u5 a( ?
pinMode(X_ENABLE_PIN, OUTPUT);
4 W6 N) x# Y/ H. k, Z9 N: E pinMode(X_MIN_PIN, INPUT);
8 {- _1 A3 W( A& f9 P" m pinMode(X_MAX_PIN, INPUT);
; z5 m' ]3 q3 i7 F2 x1 j
0 C" m8 q( A9 n  X% g5 N/ Z pinMode(Y_STEP_PIN, OUTPUT);
( r! s# f# @+ a! O/ R* g pinMode(Y_DIR_PIN, OUTPUT);
. p% E# O$ I- s' { pinMode(Y_ENABLE_PIN, OUTPUT);/ {: r% }+ Z% k2 a. {; T
pinMode(Y_MIN_PIN, INPUT);
" c; s$ z3 ?8 { pinMode(Y_MAX_PIN, INPUT);6 E1 x1 |; N4 |$ _. H( D& u; Y6 k
3 _5 t8 ]% j" A8 `8 l
pinMode(Z_STEP_PIN, OUTPUT);. w; Z( ^) t" Q& Z' B' D
pinMode(Z_DIR_PIN, OUTPUT);; g9 T5 R2 W8 l" Z) L8 `
pinMode(Z_ENABLE_PIN, OUTPUT);' R) |8 d! [7 Y  a/ C
pinMode(Z_MIN_PIN, INPUT);
" f) o" s6 }) H: `: ]" l pinMode(Z_MAX_PIN, INPUT);' Z( q) t9 p5 ~" u
+ n  I) D7 n+ \
//figure our stuff.
1 R3 ?4 w: P' {& S. O calculate_deltas();, k% G$ [% C4 ~) r
}
. |* S2 X+ ]  c) T1 zvoid dda_move(long micro_delay)
+ q7 N9 T& {" J6 o# r{
' Z4 @/ Z& a; N- `3 K2 r" O/ K //enable our steppers
: o1 N, q8 w* b& R# H/ t# b7 w+ N! [ digitalWrite(X_ENABLE_PIN, HIGH);
* I8 S7 J2 Z4 Y& g+ o digitalWrite(Y_ENABLE_PIN, HIGH);
- z+ @$ T0 D8 N% \' n/ M+ z9 m1 u4 G) [2 B digitalWrite(Z_ENABLE_PIN, HIGH);
/ _+ M! O1 a$ k% @/ |1 C ; }4 Q/ v5 L, Y7 s& d9 _6 a
//figure out our deltas: a  J7 V% v( Z0 C
max_delta = max(delta_steps.x, delta_steps.y);- O2 m$ G: M* W# s; e$ l+ |7 P8 m
max_delta = max(delta_steps.z, max_delta);; i) {8 L& }& U6 c3 ^" F
//init stuff.
) o: i# u  q- I( _# r; [9 M long x_counter = -max_delta/2;
9 Z$ W6 w& a" z2 y- k/ V" D$ B long y_counter = -max_delta/2;
8 _7 c  t& x: E0 R  |7 w long z_counter = -max_delta/2;
3 H' A) @% ], \$ |. J( g; t: n/ c7 N : B3 E5 X& C0 D7 j2 I6 F' m" g
//our step flags8 ]& E  M0 u$ w" |0 I% p# ~
bool x_can_step = 0;; o# T0 H% o' g
bool y_can_step = 0;
" J" R* @- r- Q bool z_can_step = 0;+ k8 c* H9 \  x

+ s8 \+ ]( D6 A& R6 m5 [1 p if (micro_delay >= 16383)
- y! ~( S2 }7 a" r+ g+ v* M  milli_delay = micro_delay / 1000;
# U9 n' {) h1 g% v, C2 S4 L+ I; Q else) Z3 s- L0 n6 T7 a8 U
  milli_delay = 0;' @$ }4 M( l! u1 W2 q
/ a9 k# \0 }) o2 l

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复

使用道具 举报

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 | 只看该作者
这个还没怎么接触过,楼主能详细解释解释吗
5 M& L% G$ h2 q( f* [
回复 支持 反对

使用道具 举报

10#
发表于 2015-10-5 11:21:26 | 只看该作者
谢谢分享  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-2-19 06:34 , Processed in 0.091285 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表