標(biāo)題: 51單片機(jī)激光雕刻機(jī)制作 含易語言上位機(jī)源碼等資料 [打印本頁]
作者: onyloveonlyu 時(shí)間: 2018-1-20 22:51
標(biāo)題: 51單片機(jī)激光雕刻機(jī)制作 含易語言上位機(jī)源碼等資料
剛剛注冊(cè)的論壇,純純的萌新。
習(xí)慣性的瀏覽論壇版塊中的精華帖子,看看到很多前輩大佬的作品。其中自己也做過一些差不多的項(xiàng)目,后悔當(dāng)初沒來論壇學(xué)習(xí)下,走過不少彎路啊。
剛剛瀏覽到本版塊的時(shí)候看到
基于STM32的簡易激光雕刻機(jī)這個(gè)帖子。就像順路我也發(fā)一個(gè)吧
首先這個(gè)激光雕刻機(jī)是沒有實(shí)物了的,這是我大一的時(shí)候參加校內(nèi)競賽做的。當(dāng)然這種東西的水平是拿不到什么獎(jiǎng)的啦。后來同學(xué)拿去玩把激光頭給燒了就直接把他分尸了。
幸虧我有保存些資料的習(xí)慣,不然真的尸骨無存了。
忘記當(dāng)初為什么要做這個(gè)東西了,可能是為了后來的CNC雕刻機(jī)做的初代版本練手,具體原因我記不清了。
一共貌似用了一周左右的時(shí)間,使用的是STC89C52RC單片機(jī),也是當(dāng)時(shí)我唯一會(huì)的啦。XY軸電機(jī)使用拆機(jī)光驅(qū),光驅(qū)來自實(shí)驗(yàn)室古董臺(tái)式機(jī),當(dāng)時(shí)還拆了軟驅(qū)的
很多人都沒見過軟驅(qū)了現(xiàn)在。
激光頭是后來才郵過來的,12V 500mW應(yīng)該,反正很小。前面幾天測試使用的油筆芯畫圖的。
機(jī)架用的是文具店的A4板夾就是這個(gè)樣子的
TIM截圖20180120221255.png (581.68 KB, 下載次數(shù): 138)
下載附件
8
2018-1-20 22:14 上傳
我們記得是買了好幾個(gè),用壁紙刀劃開,用膠槍拼成的機(jī)架
由于當(dāng)時(shí)單片機(jī)水平垃圾,所以下位機(jī)沒有處理過多的程序。大部分的處理是通過上位機(jī)進(jìn)行的。
上位機(jī)用的是易語言,話說這個(gè)也是第一次,當(dāng)時(shí)找破jie就找了一天多。
還好是中文編程上手快。
上位機(jī)支持拖拽,可以轉(zhuǎn)換灰度圖。其他記不清了。
因?yàn)槭褂靡渍Z言寫的因此很可能或者說肯定360等安全軟件會(huì)報(bào)毒,但是放心吧各位,當(dāng)初我那個(gè)水平是沒有能力的。源碼也會(huì)上傳大家自己修改編譯就好
當(dāng)初也百度搜索下載了很多大神的文件上位機(jī)等,也一并上傳了。
等下。。。我看看還有啥
啊哈哈 這個(gè)后來去參加過博創(chuàng)杯,但是呢~并沒有完成參賽手續(xù),學(xué)校的某些領(lǐng)導(dǎo)公務(wù)過于繁忙而忘記了給組委會(huì)交付一些文件
但是當(dāng)初為博創(chuàng)杯準(zhǔn)備的視頻還有。不過上傳視頻還得等待審核,只好等等啦
http://v.youku.com/v_show/id_XMzMzNjQ0MjczMg==.html
剛剛?cè)ブ販亓讼挛壹迅绲囊曨l,濃郁的非主流風(fēng)格哈哈哈
由于時(shí)間倉促,后來沒有參加上比賽有些心灰意冷,這期間同學(xué)就給拆了。所以就沒有了后續(xù)版本。運(yùn)動(dòng)軌跡優(yōu)化啥的都沒有做,現(xiàn)在是單純一行行的打點(diǎn)。諸位誰有空可以接著做
開發(fā)手冊(cè)
一、系統(tǒng)運(yùn)行環(huán)境 上位機(jī)軟件支持x86、x64構(gòu)架的Windows操作系統(tǒng)(98以上)
上位機(jī)軟件屬于小型軟件不要求系統(tǒng)配置,windows運(yùn)行環(huán)境即可運(yùn)行。
下位機(jī)自帶220v變壓電源,支持210~240v交流電源
二、系統(tǒng)配置 將激光雕刻機(jī)通電、放置于水平穩(wěn)定的平臺(tái)上,環(huán)境要求通風(fēng)。
打開上位機(jī)軟件,將激光雕刻機(jī)自帶的USB線連接,點(diǎn)擊上位機(jī)刷新按鈕,軟件會(huì)自動(dòng)檢測使用的串口。(串口通訊需要計(jì)算機(jī)安裝CH340USB轉(zhuǎn)串口驅(qū)動(dòng),具體方法自行尋找)
選擇打開的串口,點(diǎn)擊打開按鍵。點(diǎn)擊激光控制按鍵檢測連接是否正常。
將需要打印的材料放置于激光頭下部,可以通過軟件設(shè)置中控制按鍵微調(diào)激光頭位置、激光軸移動(dòng)速度等。
選擇文字模式或圖片模式,也可以通過快捷鍵ctrl+M快速切換。
圖片模式支持BMP等大多數(shù)圖片格式,用戶可以通過常規(guī)文件打開方式或快捷拖動(dòng)到編輯區(qū)來添加圖片。
文字模式下、用戶可以在編輯區(qū)中編輯、排版需要打印的內(nèi)容。
三、說明 更多功能說明請(qǐng)查看上位機(jī)軟件說明部分。
/*z地址定義
50 x+前進(jìn)
51 x-
52 y+
53 y-
54/55 字寬
56 前進(jìn)步
57 激光開關(guān)
58/59 激光強(qiáng)度
60 x軸速度
61 y軸速度
62 開始打印0,57
63 暫停
64 停止標(biāo)志
65 bmp灰度圖標(biāo)志位
100開始時(shí)灰度圖數(shù)據(jù)
*/
單片機(jī)下位機(jī)源程序如下:
- #include <reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define N z[60] //X速度
- #define M z[61] //Y速度
- //#define zil 54]*256+z[55]
- unsigned char code Z1[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; // 正轉(zhuǎn)
- //unsigned char code F1[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //反轉(zhuǎn)
- sbit jg=P2^0;
- sbit EN1=P2^7;
- sbit EN2=P2^6;
- sbit EN3=P2^5;
- sbit EN4=P2^4;
- sbit led=P2^1;//指示燈
- uchar xdata z[500]={0};//緩存
- uchar buff[3];//串口緩存
- uchar x1,x0,y1,y0,cont2=0;
- uchar xfb=4,yfb=4;//走步標(biāo)志位
- uchar x,y,k,temp,t;//變量定義,有些沒有用
- char i,j;
- uint h=0,jiguang;
- void delayms(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--) //i=xms即延時(shí)約xms毫秒
- for(j=110;j>0;j--);
- }
- /**********************************************************************
- * *
- * 步進(jìn)電機(jī)驅(qū)動(dòng) *
- * *
- ***********************************************************************/
- /********x方向正轉(zhuǎn)***********/
- void motor_fxw(uint flag)
- {
- while(1)
- {
- P0=Z1[i];
- delayms(N);
- flag--;
- i++;
- if(i>7)
- i=0;
- if(flag==0)
- break;
- }
- }
- /********x方向逆轉(zhuǎn)***********/
- void motor_fxz(uint flag)
- {
- while(1)
- {
- P0=Z1[i];
- delayms(N);
- flag--;
- i--;
- if(i<0)
- i=7;
- if(flag==0)
- break;
- }
- }
- /********y方向正轉(zhuǎn)***********/
- void motor_fyw(uint flag)
- {
- while(1)
- {
- P1=Z1[j];
- delayms(M);
- flag--;
- j++;
- if(j>7)
- j=0;
- if(flag==0)
- break;
- }
- }
- /********y方向逆轉(zhuǎn)***********/
- void motor_fyz(uint flag)
- {
- while(1)
- {
- P1=Z1[j];
- delayms(M);
- flag--;
- j--;
- if(j<0)
- j=7;
- if(flag==0)
- break;
- }
- }
- /*****************打點(diǎn)完畢激光移至原點(diǎn)****************************/
- void huanyuan(uint zix,uint ziy)
- {
- while(1)
- motor_fxz(zix);
- while(1)
- motor_fyz(ziy);
- }
- void dazi(uint zik,uchar bu)//打印函數(shù)
- {
- uint x;
- uint s;
- jg=1;
- for(x=0;x<zik;x++) //執(zhí)行zik個(gè)循環(huán),x軸右移zik步
- {
- while(z[63]);//暫停等待
- if(z[64]==1) break;//停止標(biāo)志 跳出循環(huán)
- s=z[99+x]*(z[58]*256+z[59])/100;
- jg=0;//開激光
- delayms(s);
- jg=1; //關(guān)閉激光
- // if(y%2==0)
- motor_fxw(1); //x軸前進(jìn)一步
- // else
- // motor_fxz(1); //x軸后退一步
- }
- if(z[64]==1) z[64]=0; //停止標(biāo)志 跳出循環(huán)
- else //y軸進(jìn)一行
- {
- y++;
- motor_fxz(zik);
- motor_fyw(1);
- }
- // if(y==zil)
- // {
- // huanyuan(zik,ziy);
- // }
- }
- /* 串口配置函數(shù),baud-通信波特率 */
- void ConfigUART(unsigned int baud)
- {
- SCON = 0x50; //配置串口為模式1
- TMOD &= 0x0F; //清零T1的控制位
- TMOD |= 0x20; //配置T1為模式2
- TH1 = 256 - (11059200/12/32)/baud; //計(jì)算T1重載值
- TL1 = TH1; //初值等于重載值
- ET1 = 0; //禁止T1中斷
- ES = 1; //使能串口中斷
- TR1 = 1; //啟動(dòng)T1
- }
- void chuanlo() interrupt 4
- {
- if(RI)
- {
-
- buff[cont2]=SBUF;//每次3字節(jié),地址高,地址低,數(shù)據(jù),,
- cont2++;
- if(cont2==3)//每收3個(gè)字節(jié),把數(shù)據(jù)寫入地址中
- {
- z[(buff[0]*256)+buff[1]]=buff[2];
- cont2=0;
- }
- RI=0;
- }
- }
- main()
- {
- EA=1;
- P0=0xff;
- ConfigUART(9600) ;
- z[60]=15;//默認(rèn)的參數(shù)
- z[61]=50;
- z[56]=1;
- z[62]=0;
- jg=1;
- cont2=0;
- EN1=1;
- EN2=1;
- EN3=1;
- EN4=1;
- y=0;
- i=0;
- j=0;
- t=1;
- // z[54]=0;
- // z[55]=44;
- // z[60]=50;
- // z[61]=50;
- while(1)
- {
- if(z[57]==100){jg=0;}//上位機(jī)指令處理,開關(guān)激光
- if(z[57]==0) {jg=1;}
- //// //if(z[57]==100){jg=~jg;z[57]=0;}
- //// if(cont2!=0) led=1; else led=0;//指示通信是否可用
- //// // if(cont2!=0) led=0; else led=1;
- if(z[50]>0){motor_fxw(t);z[50]=0;} //x軸前進(jìn)一步
- if(z[51]>0){motor_fxz(t);z[51]=0;}
- if(z[52]>0){motor_fyz(t);z[52]=0;}
- if(z[53]>0){motor_fyw(t);z[53]=0;}
- if(z[62])//開始打印標(biāo)志
- {
- dazi(z[54]*256+z[55],z[56]);
- z[62]=0;//一行打印完成
- SBUF=1;//發(fā)送信息,表示打印完成
- while(!TI);
- TI=0;
- }
-
- }
- }
復(fù)制代碼
0.png (13.77 KB, 下載次數(shù): 153)
下載附件
2018-1-21 00:13 上傳
所有資料51hei提供下載:
各版本上位機(jī).zip
(3.93 MB, 下載次數(shù): 881)
2018-1-20 22:44 上傳
點(diǎn)擊文件名下載附件
各版本上位機(jī)及源碼
下載積分: 黑幣 -5
作者: onyloveonlyu 時(shí)間: 2018-1-21 00:39
剛要睡覺就被通知審核通過了,趕快用手機(jī)查了一下。然后發(fā)現(xiàn)登陸的賬號(hào)并沒有帖子。好奇怪啊。趕快起來開電腦看一眼。我的天應(yīng)該有兩個(gè)賬號(hào)了,名字差了一個(gè)字母。上次注冊(cè)之后沒有怎么登陸,賬號(hào)密碼記憶有點(diǎn)混淆了,今天逛論壇以為自己沒有賬號(hào)就注冊(cè)了,然后一直沒有發(fā)覺自己用戶名打錯(cuò)了啊啊啊
真是不開心的一天。
樓上說要把全部相關(guān)資料共享的,之前百度云上傳需要一些時(shí)間就直接發(fā)表。剛剛百度云上傳好了。
鏈接:pan點(diǎn)baidu點(diǎn)com/s/1brffs67 (注意點(diǎn)替換一下.)密碼:saht
網(wǎng)絡(luò)上面下載的,看過但是沒有驗(yàn)證過可靠性。既然是網(wǎng)絡(luò)搜集的,相信原作者不會(huì)反對(duì)我發(fā)出來的。
好啦,郁悶ing睡覺取
作者: sam0528 時(shí)間: 2018-2-1 20:50
不錯(cuò),謝謝分享!!
作者: ftfsvtt3 時(shí)間: 2018-2-7 19:05
好好學(xué)習(xí)
作者: qjzyx 時(shí)間: 2018-2-7 22:49
謝謝分享
作者: lvlv99 時(shí)間: 2018-3-2 16:07
DIY樂趣,
作者: creator 時(shí)間: 2018-3-3 23:25
謝謝分享
作者: 愛喝奶的小孩子 時(shí)間: 2018-3-8 21:17
這個(gè)是,,上位機(jī)把圖形轉(zhuǎn)換成G代碼,然后傳給下位機(jī),下位機(jī)再解析G代碼控制步進(jìn)電機(jī)嗎
作者: 大角哥 時(shí)間: 2018-3-9 19:57
有原理圖沒有?
作者: pmsjzj 時(shí)間: 2018-3-30 15:53
共享資料的黑幣獎(jiǎng)勵(lì)!
作者: vvv64 時(shí)間: 2018-4-4 14:20
,謝謝分享。。
作者: l630034911 時(shí)間: 2018-5-4 11:08
很好很不錯(cuò),樓主威武
作者: TSY666 時(shí)間: 2018-5-15 15:30
樓主無私,感謝!
作者: 塵莫央 時(shí)間: 2018-5-16 14:40
樓主無私,感謝!
作者: zangchao 時(shí)間: 2018-5-25 22:00
學(xué)習(xí)學(xué)習(xí),真好
作者: yaoyl2010 時(shí)間: 2018-5-28 22:13
謝謝樓主,試著和單片機(jī)連接了一下,通信正常,剩下就買備件了
作者: dragonman 時(shí)間: 2018-6-18 14:41
學(xué)習(xí)中,謝謝分享
作者: 九頭鳥 時(shí)間: 2018-7-14 17:09
謝謝樓主的分享


作者: hefeng898961 時(shí)間: 2018-8-2 16:05
感謝分享
作者: qxdqx 時(shí)間: 2018-8-25 07:42
太好啦!謝謝!
作者: mohoxo 時(shí)間: 2018-8-25 11:36
你好。我想請(qǐng)教一下,有沒辦法用Arduino開發(fā)出二氧化碳激光管的雕刻機(jī),
作者: a1377361899 時(shí)間: 2018-9-8 23:46
很好的i東西哦 收下了 謝了
作者: rs7cai 時(shí)間: 2018-9-9 09:28
謝謝樓主的分享
作者: szzxl10 時(shí)間: 2018-9-11 13:58
謝謝分享!!
作者: gonglizhiming 時(shí)間: 2018-9-24 09:23
謝謝分享
作者: lbewan 時(shí)間: 2018-10-3 17:06
109行的bu參數(shù)是干什么的?
作者: Drise 時(shí)間: 2018-10-4 20:34
謝謝分享
作者: govox 時(shí)間: 2018-11-11 16:17
是不是還要有電路圖呀
作者: aking991 時(shí)間: 2018-11-14 13:29
謝謝分享,學(xué)習(xí)一下
作者: wan0215 時(shí)間: 2018-11-15 08:36
學(xué)習(xí)下
作者: 名叫兔子的喵 時(shí)間: 2018-11-15 11:14
找資料 慢慢學(xué)
作者: 調(diào)皮貓 時(shí)間: 2018-11-28 14:28
很想自己做個(gè)玩玩,先學(xué)習(xí)一下。
作者: dmmcu 時(shí)間: 2018-12-2 10:53
不錯(cuò),謝謝分享。!
作者: zxcvbnm12345 時(shí)間: 2018-12-21 21:34
感謝分享
作者: boyihu 時(shí)間: 2019-1-22 19:53
請(qǐng)問樓主,我想用易語言編寫個(gè)馬林3d打印機(jī)的上位機(jī),發(fā)什么代碼過去馬林固件都重啟,不知道應(yīng)該用什么格式的數(shù)據(jù)發(fā)送.郁悶中.
作者: supper戰(zhàn) 時(shí)間: 2019-2-9 22:47
厲害厲害,很不錯(cuò)
作者: df812244658 時(shí)間: 2019-2-22 16:36
剛來不知道怎么下載
作者: zwk34 時(shí)間: 2019-4-1 22:21
謝謝分享。
作者: laoying45 時(shí)間: 2019-4-2 22:29
謝謝分享。
作者: zhao9988 時(shí)間: 2019-4-10 08:14
請(qǐng)問樓主,上位機(jī)用的什么軟件呀?謝謝
作者: 梁業(yè)業(yè) 時(shí)間: 2019-4-30 01:16
源碼怎么打不開啊
作者: 15890783142 時(shí)間: 2019-5-10 20:16
為什么我的上位機(jī)連不上單片機(jī)
作者: xfriend360 時(shí)間: 2019-5-15 12:18
剛注冊(cè)來學(xué)習(xí)的.
作者: 為什么11 時(shí)間: 2019-5-17 09:49
這個(gè)好像蠻好的
作者: berlin235 時(shí)間: 2019-5-17 10:22
謝謝分享
作者: qinbaba 時(shí)間: 2019-10-16 12:54
謝謝樓主分享,十分感謝!
作者: impkq 時(shí)間: 2019-10-20 09:00
謝謝樓主分享,十分感謝!
作者: q131300 時(shí)間: 2019-12-4 17:23
好專業(yè)呀
作者: tieq1952 時(shí)間: 2019-12-7 07:16
謝謝分享!!!
作者: xmch 時(shí)間: 2020-2-10 19:17
不管怎樣,先感謝。
作者: 啊哈哈哈啊哈 時(shí)間: 2020-2-12 16:19
一直在學(xué)習(xí),正在實(shí)驗(yàn)中。
作者: zhwcok 時(shí)間: 2020-3-19 23:47
來的比較晚希望東西還在
作者: qxuem 時(shí)間: 2020-4-4 11:55
樓主。還有在這個(gè)論壇嗎
作者: lsptzx01 時(shí)間: 2020-4-15 20:53
謝謝 下載研究研究啊
作者: 我愛逗腐乳 時(shí)間: 2020-5-21 17:35
感謝分享,學(xué)習(xí)一下
作者: chen3220 時(shí)間: 2020-7-25 09:38
感謝分享,正在學(xué)習(xí)上位機(jī)編程,很有幫助
作者: x109698142 時(shí)間: 2020-7-26 10:45
感謝分享,正在學(xué)習(xí)上位機(jī)編程,很有幫助
作者: shftest 時(shí)間: 2020-9-23 19:43
好牛 ,終于找到我想要的東西了,感謝!
作者: wosiboos 時(shí)間: 2020-10-6 23:00
您很聰明.知道有易語言來編程,中國人的軟件易學(xué)易會(huì).祝你在成功的路上越走越遠(yuǎn).
作者: jjww748 時(shí)間: 2020-11-10 23:40
易語言強(qiáng)了!~
作者: qzyhlf 時(shí)間: 2021-12-10 16:36
好資料,51黑有你更精彩!!!
作者: wangmengxu 時(shí)間: 2022-11-21 09:55
已經(jīng)被取消了,咋回事
作者: xucy 時(shí)間: 2023-7-26 11:27
好資料,51黑有你更精彩!!!
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |