激光雕刻機系統(tǒng)設計
激光雕刻機系統(tǒng)設計,激光雕刻,系統(tǒng),設計
激光雕刻機系統(tǒng)設計
摘要:隨著我國的技術的不斷的發(fā)展,我國的技術已經在很多的方面都得到了一定的成就,例如在激光雕刻方面的技術,已經得到很多大的成就,激光雕刻技術隨著時代的發(fā)展,日新月異,其應用的范圍也是十分的廣泛。激光雕刻是以數控為基本,激光加工為媒介的一種加工方法,它的特點是和所雕刻材料的表面沒有直接接觸,不會受到機械運動的影響,表面也不會變形。
本文采用Arduino單片機和Delphi語言設計和實現了一個可直接進行雕刻的激光雕刻機系統(tǒng)。本系統(tǒng)的設計中主要包括的模塊為串口通信模塊、中央處理模塊、電機驅動模塊、激光器驅動模塊、機械傳動結構模塊、外型框架模塊等部分,具有弱光定位、在非金屬物體表面燒刻出由計算機傳輸的圖案、重復雕刻、印章陰陽雕刻等功能。
系統(tǒng)主要采用Arduino UNO型單片機構成中央處理系統(tǒng)模塊,通過串口通信模塊與上位機軟件進行通信,利用上位機軟件對雕刻機系統(tǒng)完成包括手動進行前后左右移動、開關激光器、自動雕刻圖案等功能。機械傳動結構部分采用3D打印技術制作而成的滑塊,通過與步進電機的結合,實現高精度的傳動。
關鍵詞:單品機;系統(tǒng)設計;激光雕刻
Abstract: along with our country the development of technology, the technology of our country has been in a lot of aspects have been some achievements, such as in the aspects of laser engraving technology, has been a lot of great achievements, laser engraving technology with the development of the times, it should be with the change rapidly, the scope is very wide. Laser engraving is a CNC basic, a processing method of laser processing for the media, it is not in direct contact with the surface of the carving material, will not be affected by the mechanical movement, the surface will not be deformed.
In this paper, using Arduino microcontroller and Delphi language design and implementation of a laser engraving machine can be carved directly. The design of this system mainly includes the module of serial communication module, central processing module, motor drive module, laser driver module, mechanical structure module, machine frame modules, with weak light localization in non metallic surface burn carved by computer transmission patterns, carving, engraving and other repeated seal function of yin and yang.
The system mainly uses the Arduino UNO Type MCU central processing system via serial communication module, communication module and PC software, including complete manually move around, switch and automatic laser carving patterns and other functions of the engraving machine system using PC software. Mechanical transmission part of the use of 3D printing technology produced by the slider, and through the combination of stepper motor to achieve high-precision transmission.
Key words: single product machine; system design; laser engraving
目錄
引言 1
1 設計要求 2
1.1 畢業(yè)設計題目 2
1.2 設計的主要功能 2
2 工作原理和系統(tǒng)結構 2
3 硬件設計 3
3.1 系統(tǒng)總電路圖 3
3.2 控制和數據處理模塊 4
3.3 串口通信電路 10
3.4 電機驅動模塊 15
3.5 激光管驅動模塊 18
3.6 機械傳動結構模塊 19
3.6.1 3D打印件 19
3.6.2 二相四線步進電機 21
3.6.3 亞克力面板 24
3.6.4 滑臺 24
4 系統(tǒng)軟件設計 26
4.1 Arduino IDE介紹 26
4.2 Delphi7軟件簡介 26
4.3 系統(tǒng)主程序設計 27
4.4 各個模塊的軟件設計 28
4.3.1 系統(tǒng)初始化模塊 28
4.3.2 控制協(xié)議分析模塊 29
4.3.3 指令任務執(zhí)行模塊 31
4.4 上位機控制軟件設計與實現 34
5 系統(tǒng)測試 36
5.1 測試工具和環(huán)境 36
5.2 激光雕刻機整機調試 36
5.3 測試流程 37
6 總結 40
致 謝 41
參考文獻 42
引言
激光在20世紀60年代問世之后,在生產中很快得到了應用,而后,對其相關的基本理論研究不斷的加深。各種各樣的激光器逐步的發(fā)展起來,使得激光的應用領域也不斷的被拓寬,規(guī)模也逐漸的被擴大,產生的社會與經濟效益也更加的顯著。激光技術得到了各個科技發(fā)達國家的高度重視,并且也得到了許多發(fā)展中國家的高度重視,同時也給與了大量的投入。在二十世紀的科學技術發(fā)展中,新興科技之一的激光技術成為了那個時代重要的發(fā)展標志。而自二十世紀八十年代至今,激光技術被全球的很多國家及政府作為國家級別的建設發(fā)展計劃。例如, 英國的阿維爾計劃, 美國的激光核聚變計劃,日本的激光研究五年計劃等。因為這些計劃的實施使得激光技術迅速的發(fā)展起來,并且形成了一個生氣盎然的新興產業(yè)。大量的學科技術,多樣的生產水平因為激光技術的發(fā)展而得到了提高。
激光技術作為高新的加工工藝,廣泛的被用來進行雕刻切割的處理,同時其得到了非??焖俚陌l(fā)展。由于激光雕刻切割技術的機械傳動結構搭建起來方便靈巧,并且低噪,低損耗,高精度,擁有廣泛的適用性,對于控制軟件的開發(fā)設計十分方便易于控制。因為在高能量激光聚焦后,能夠將被加工件瞬間氣化,以此獲得雕刻切割的效果,這樣被加工的材料表面受到的影響較小,不會造成加工材料的刮痕或變形等,加工的縫隙也較小,尤其是對亞克力材料,切口較為整齊,無接觸的加工所以不會產生加工接觸力,無刀具的損耗,無模具,工件也無需特別裝夾。而對激光雕刻技術的原理學習了解,及如何實現高精度雕刻等等,可以促進激光雕刻產業(yè)的發(fā)展。因此,激光雕刻機系統(tǒng)的設計是讓更多人接觸到激光雕刻技術的一項重要課題。
市面上動輒幾千上萬的激光雕刻切割機器是普通人無法輕易嘗試的,這對于那些想要接觸激光技術的人們來說,無疑是一道很高的門檻,而本設計的激光雕刻機系統(tǒng),將激光雕刻技術從工業(yè)大型設備轉變?yōu)榧矣眯⌒驮O備,降低了激光雕刻技術的學習成本,使得更多有興趣的人參與到激光雕刻技術的學習研究中。通過開發(fā)傻瓜型的控制軟件,將機械傳動部分小型化,采用功率較小的激光器,使得激光雕刻機變得簡便易攜帶,操作也極為簡單,同時也支持使用CNC機床的Gcode控制代碼,因而能夠對本機器進行二次開發(fā)學習。
1 設計要求
1.1 畢業(yè)設計題目
激光雕刻機的系統(tǒng)設計與實現
1.2 設計的主要功能
本設計以Arduino UNO型單片機為核心,制作一個激光雕刻機的設計和實現的主要功能如下:
(1) 實現弱光定位,通過PWM的調節(jié),將激光的強度降至一個較低的數值,以便于雕刻前的定位設置。
(2) 在非金屬的物體表面燒刻出由計算機傳輸的圖案,由上位機的控制軟件發(fā)送指令至單片機進行動作。
(3) 支持重復雕刻,在一次雕刻完成之后,雕刻機會自動返回雕刻初始位置,此時不移動電機位置,直接生成指令,可以再次在同樣的位置進行雕刻,以達到修補首次雕刻時未出雕刻效果的部分區(qū)域。
(4) 支持印章的陰陽雕刻,在光敏墊或部分膠皮材質上進行印章的雕刻,雕刻成型后即可上油墨進行蓋印。
(5) 可通過電腦端軟件控制進行手動的上下左右移動,開光激光器等行為。
(6) 使用由Arduino UNO型單片機構成的中央處理模塊,完成對指令的發(fā)送接收,數據的處理以及進行控制。
2 工作原理和系統(tǒng)結構
根據設計的要求,本課題的激光雕刻機的系統(tǒng)設計與實現主要系統(tǒng)分為六個模塊:串口通信模塊、中央處理模塊、電機驅動模塊、激光器驅動模塊、機械傳動結構模塊、外型框架模塊,系統(tǒng)結構如圖2-1所示。
圖2-1 系統(tǒng)結構框圖
1) 中央處理模塊
主要采用Arduino UNO型單片機設計,為本設計的核心模塊,主要負責對其他部分進行數據處理和控制。
2) 串口通信模塊
采用PL2303HXD芯片,對RS232電平與USB電平進行轉換,負責電腦與單片機的實時通信傳輸。
3) 電機驅動模塊
該模塊使用了L9110S電機驅動芯片,該芯片主要是為了控制和驅動電機而設計。該芯片有兩個TTL/CMOS兼容電平的輸入,故每驅動一個步進電機,則需要兩枚L9110S芯片來提供二相四線步進電機所需要的線序脈沖。
4) 激光器驅動模塊
使用SS8050 NPN型三極管構建控制激光器的開關電路,單片機通過發(fā)送高低電平信號,來控制三極管的通斷。
5) 機械傳動結構模塊
由3D打印件、二相四線步進電機、亞克力面板組成,亞克力面板作為底板承載支架與電機,3D打印件與步進電機接合之后,步進電機能夠帶動3D打印件進行移動,以此達到機械傳動的目的。
6) 外型框架模塊
外型框架模塊主要使用亞克力面板,通過螺絲的接合,制成搭載機械傳動結構模塊和電路板等物件的支架。
3 硬件設計
3.1 系統(tǒng)總電路圖
由Arduino UNO型單片機構成的中央處理模塊;由PL2303HXD構成的串口通信模塊,四枚L9110S電機驅動芯片構成電機驅動模塊;SS8050 NPN三極管構成激光器驅動電路,系統(tǒng)總電路圖如圖3-1所示。
圖3-1 系統(tǒng)總電路圖
3.2 控制和數據處理模塊
控制和數據處理模塊采用Arduino UNO型單片機構成,由于Arduino單片機擁有運算能力較強,并且軟件編程控制方便,功耗低,體積小、I/O口資源豐富、內置A\D模數轉換、通用性強和成本較低等優(yōu)點。通過外界變壓器提供的+5V電壓供電,有源晶振輸入時鐘,控制模塊能夠正常工作;通過與串口通信模塊連接上位機,可實現程序的下載,支持在線調試程序,并能使用上位機軟件給單片機發(fā)送指令,從而控制各個模塊正常工作??刂坪蛿祿K電路如圖3-2所示。
圖3-2 控制與數據處理模塊
Arduino,是一個開源的軟硬件平臺,通過對AVR單片機的二次封裝開發(fā),簡化了單片機引腳的使用,并且有專用的開發(fā)編程語言。
這個著名的開源硬件項目,誕生于意大利的一所設計學校。馬西莫的學生經常抱怨找不到一個物美價廉好用的單片機來對機器人進行控制。之后,馬西莫和朋友大衛(wèi)討論了這個問題,他們決定設計自己的電路板,并邀請學生大衛(wèi)梅利斯設計編程語言。一個星期后,設計完成。電路板被命名為Arduino,來自學生經常去附近的一個酒吧。聰明的馬西莫認為開源能夠產生更廣泛的傳播效應,給Arduino帶來更多的關注。于是,他將設計數據發(fā)布到網上。正如馬西莫所設想的那樣,在短短幾個月的時間,Arduino的發(fā)展快速增長,而且充滿激情的愛好者也提出了很多改進電路和程序語言的建議。
表3-1 主要性能參數
工作電壓
1.8V-5.5V
外部供電電壓
7V-12V
最大外部供電電壓(不推薦)
20V
數字輸入/輸出口
14
PWM
6
10位ADC
8 / 6(DIP)
單個輸入/輸出管腳的直流電流值
40mA
3.3V管腳直流電流值
50mA
Flash Memory
32KB
SRAM
2KB
EEPROM
1KB
時鐘頻率
16MHz
16位定時器 / 計數器
1
8位定時器 / 計數器
2
RTC
YES
SPI
2
UART
1
TWI
1
WDT
1(帶獨立片內振蕩器)
外部中斷
24
睡眠模式
6種
硬件乘法器
YES
片內振蕩器
YES
引腳電平中斷/喚醒功能
YES
掉電檢測
YES
上電復位
YES
模擬比較器
YES
工作溫度范圍:
-40℃至85℃
Arduino UNO單片機兩種封裝引腳如圖3-3和圖3-4及其功能:
圖3-3 TQFP32型封裝
圖3-4 PDIP28型封裝
(1) VCC:數字電路的電源
(2) GND:地
(3) 數字端口(D1..D13)
D1至D13是arduino經過重新封裝之后進行編號的管腳,具有正常的數字輸入輸出功能,它的工作電壓為5V,每一個I/O口能夠接入與輸出的最大電流為40毫安,同時也內置了20至50K的上拉電阻(默認為不連接狀態(tài))。除此之外,有部分管腳具有其他特定的功能。
1 D0、D1引腳:D0為串口信號RX,D1為串口信號TX,它們與串口通信芯片相連接,為串口信號的接收提供TTL電壓。
2 D2、D3引腳:外部中斷觸發(fā)引腳。
3 D3、D5、D6、D9、D10、D11引腳:能夠輸出PWM脈沖。
4 D10(SS)、D11(MOSI)、D12(MISO)、D13(SCK):SPI通信接口。
(4) 模擬端口(A0..A5)
A0至A5是ADC輸入管腳,在單片機內部配置有一個10位的ADC寄存器,用于將讀入的模擬數據進行處理,將其轉變?yōu)閿底郑阌谟脩魧祿M行處理。
(5) RESET
復位輸入引腳。低于最低時間低閾值長會導致系統(tǒng)復位。脈沖持續(xù)時間小于復位之間的閾值。
(6) XTAL1是晶振的輸入端。
(7) XTAL2是晶振的輸出端。
(8) AVCC
AVCC為模擬A口與模數轉換器提供了電壓,若是ADC尚未進行工作,則AVCC與電源VCC進行連接。
(9) AREF:進行A/D模數轉換時需要的基準電壓輸入引腳。
(10) 晶體振蕩器
如圖3-5所示,石英的晶體與陶瓷諧振器一般常常被用來制作該振蕩器。
圖3-5 ?晶體振蕩器連接圖
若是要震得到的幅度完滿,則需要對熔絲位CKOPT進行一定的程序編譯工作。對于噪聲環(huán)境與需要驅動第二時鐘緩沖器的情況來說該模式非常適用,并且該模式的頻率范圍很寬[1]。
若CKOPT沒有被進行編程,則振蕩器輸出幅度會變得比較小。這樣就會降低器件的功耗,但是也因為這樣,就導致了頻率范圍縮小,也不能夠再運行別的時鐘緩沖器。就諧振器而言,沒有得到程序編譯的CKOPT,其最大的頻率是8兆赫茲,而經過程序編譯之后則可以達到16兆赫茲。無論采用的是諧振器或晶體,兩個電容的值要求相等,它們的值也可能取決于環(huán)境中的各項雜質參數[1]。
表3-2 晶體振蕩器工作模式
CKOP
TCKSEL3..1?
頻率范圍?(MHz)
電容C1和C2的推薦使用范圍(pF)
1
101(1)
0.4?-?0.9
–
1
110
0.9?-?3.0
12?-?22
1
111
3.0?-?8.0
12?-?22
0
101,?110,?111
1.0?≤
12?-?22
晶體振蕩器器擁有三種不同的工作模式,這三種不同的工作模式每一個都有一個最優(yōu)的頻率范圍。通過對CKSEL3..1的進行一定的設定也會影響到振蕩器的工作模式,如表3-2所示[1]。
如圖3-6所示,由于芯片采用了哈弗結構,并且具有單獨分立的數據與程序總線,因此得到了最高的性能與并行性。程序存儲器中的指令流水線通過各級運行。每當CPU執(zhí)行一條命令時也會讀取下一條的命令,單時鐘周期運行指令由此得到實現[11]。
在芯片的內部,通用工作寄存器被設計在快速訪問寄存器中,而當你需要對其進行訪問的時候只需要一個時鐘周期,因此ALU操作能夠在一個時鐘周期內進行的想法得以變?yōu)楝F實。當有兩個相等的操作數在進行ALU操作的時候,它們的寄存器被訪問,然后就會執(zhí)行操作,將得到的結果發(fā)送回來,在這樣的一次操作,也只需要一個時鐘周期的時間。間接尋址寄存器指針能夠對數據空間進行尋址,提高地址運算的效率,并且使用存儲器的地址指針時,也可以利用其中一個指針來為其進行查找表的工作[11]。
寄存器之間、寄存器與常數之間的運算可以使用ALU操作進行,單寄存器也能夠進行ALU操作。在進行ALU之后,狀態(tài)寄存器就能獲取并顯示新的結果。有無條件的跳轉與指令的調用產生了程序的流通,以此能夠對整個地址空間進行直接尋址的操作[1]。
引導程序區(qū)、應用程序區(qū)存在于程序存儲器空間中,他們都具有特定的鎖定位以及讀寫的保護。引導程序區(qū)中可以進行應用程序區(qū)的SPM指令編寫。在堆棧中保存了中斷以及子程序被調用時的程序計數器。而通用數據SRAM的大小也影響了置身其中的堆棧的大小。
一個便于使用的中斷模塊被設計在芯片之中??刂萍拇嫫鲿辉O計在輸入輸出的空間里,而全局中斷使能位被設計在狀態(tài)器中。任何一個中斷都會在中斷的向量表里面獲得一個單獨分立的中斷向量,如果優(yōu)先級越來越低,那么就說明了它的地址越來越高。
圖3-6 芯片結構方框圖
3.3 串口通信電路
本設計中采用PL2303HXD作為單片機與上位機之間的通信連接。PL2303HXD自身的TXD和RXD引腳與單片機的PD0(RXD)和PD1(TXD)進行連接,以實現數據的傳輸。串口通信電路如圖3-7所示。
圖3-7 串口通信電路
在市面上有許多集成了RS232-USB接口的轉換器,而我選擇了PL2303HXD來設計串口通信模塊。這塊芯片能夠使用了USB的接口,并且是一個全雙工異步的串口通信設備,它的內部配置有振蕩器,USB的控制與收發(fā)器,兼容UART協(xié)議,而為了能夠讓USB與RS232之間信號的轉變也只是需要對外圍電路加裝若干顆電容器便能夠完成需求。由于它的外圍電路體積小,因此可以方便的內嵌進各種各樣的電路及設備中,同時它也可以自動完成數據接收與發(fā)送的工作,令技術員不需要再考慮其他的設計[2]。
大多數的操作系統(tǒng)都能夠安裝上PL2303HXD的驅動程序,在電腦上可以顯示為傳統(tǒng)的COM口,也能夠讓基于COM口的應用輕松的轉變成USB口的應用程序,而且通訊波特率能夠達到6mb/s。它具有低功耗的睡眠與工作模式,對于手持設備是一個非常好的選擇。PL2303HXD具有的特點包括:完全兼容USB協(xié)議;能夠對波特率進行編程設置;可以設置不同的輸出電壓,以此來滿足各種電壓的應用需求;雙向數據緩沖可以調節(jié)并且有512字節(jié)大??;內部有默認的ROM,也能夠使用外置的E2PROM對設備的相關信息進行存儲[2]。
PL2303HXD主要性能參數:
1.?兼容USB規(guī)范2.0??
2.?芯片內設計有USB?1.1收發(fā)器?
3.?對RS232串行接口有良好支持?
1)?全雙工發(fā)送器TxD和接收器RxD
2)?RTS,CTS,DTR,DSR,DCD和RI的作用為調制解調控制?
3) 5至8個數據位
4)?具有各種握手模式?
6)?奇偶判錯,幀錯誤和串行中斷檢測?
7)?可編程波特率從75bps到6?Mbps?
8)?外部的RS232驅動下降控制?
9)?獨立的串行接口電源?
4.?寬廣的流量控制機制?
1)?自動與CTS?/?RTS流控制?
2)?自動使用的XON?/?XOFF流量控制?
3)?入站數據緩沖區(qū)溢出檢測??
5.?可配置的512個字節(jié)雙向數據緩沖器?
1)?256字節(jié)的輸出緩沖區(qū)和256字節(jié)的輸入緩沖區(qū)?
2)?128字節(jié)的輸出緩沖區(qū)和384字節(jié)的輸入緩沖區(qū)?
6.?具有喚醒的功能,通過遠程控制相關調制信號的輸入
7.?四個通用的I/O口
8.?外部的EEPROM可以用于機器運行時對配置的存儲??
9.?驅動程序支持各大主流操作系統(tǒng)??
10. 獲得了微軟驅動程序認證
11. 小尺寸的28引腳SSOP封裝
圖3-8 PL2303HXD引腳圖
各個引腳的功能解釋如表3-3中所述。
表3-3 各個引腳功能
引腳?
名字?
類型?
引?腳?描?述?
1
TXD
輸出?
數據輸出到串口;?
2?
DTR_N?
輸出?
準備數據終端,低電平有效;?
3?
RST_N?
輸出?
發(fā)送請求,低電平有效;?
4?
VDD_325?
電源?
IC電源,串口電壓是多少V,那么串行端口就是多少V;
5?
RXD?
輸入?
串口數據輸入;?
6?
RI_N?
輸入/輸出
串行端口(環(huán)指示器);?
7
GND?
電源?
接地;?
8?
NC??
?
無連接
9?
DSR_N?
輸入/輸出
串行端口(數據集就緒)?
10?
DCD_N?
輸入/輸出
串行端口(數據載波檢測)?
11?
CTS_N?
輸入/輸出
串行端口(清除發(fā)送)?
12?
SHTD_N?
輸出?
控制RS232收發(fā)器關機?
13?
EE_CLK?
輸入/輸出串行
EEPROM時鐘?
14?
EE_DATA?
輸入/輸出
串行EEPROM數據?
15?
DP?
輸入/輸出
USB端口D+信號?
16?
DM?
輸入/輸出
USB端口D-信號?
17?
VO_33??
常規(guī)
3.3V電源輸出?
18?
GND??
接地?
19?
NC??
無連接?
20?
VDD_5?
電源?
USB端口的5V電壓電源?
21?
GND??
接地?
22?
GP0?
輸入/輸出
通用I/O引腳0?
23?
GP1?
輸入/輸出
通用I/O引腳1?
24
NC??
無連接
25?
GND_A??
模擬地鎖相環(huán)?
26?
PLL_TEST?
輸入?
鎖相環(huán)測試
27?
OSC1?
輸入?
晶體振蕩器輸入?
28?
OSC2?
輸入/輸出
晶體振蕩器輸出
3.4 電機驅動模塊
本電機驅動模塊采用L9110S電機驅動芯片,驅動電路如圖3-9所示。
圖3-9 電機驅動電路
其主要工作原理為:L9110S與單片機IO口進行連接,單片機收到上位機發(fā)送的指令后,依據單片機的內部程序給L9110S芯片輸送相應的電平,一枚L9110S芯片包含兩路輸入、兩路輸出引腳,而一個二相四線步進電機則需要兩個L9110S組成四路端口來完成對步進電機線序的輸出。
在本設計中采用的L9110S芯片是一枚能夠對電機進行控制與驅動的芯片,它的內部包含了相應的分立電路器件,具有兩組輸入輸出端口,減少了外圍電路的設計,以此降低了成本,同時也讓系統(tǒng)安全性能有了顯著的上升。兩個輸入端配置了TTL/CMOS,以此兼容電平,它們被設計在了芯片的內部,具有不錯的抗干擾特性;而在輸出端部分,每一個輸出端能夠輸出大約800毫安的電流,以供對電機正反向轉動的直接驅動,瞬間峰值電流能夠達到2安;這枚芯片在各種電機或電磁器件上能夠進行穩(wěn)定無風險的驅動,這是由于它的內部安裝了鉗位二極管,使得芯片的輸出飽和壓降的值變得更小,令驅動時可能會造成的不良影響得以降低[3]。
L9110主要性能參數:
1. 寬電壓的范圍:2.5V至12V;?
2. 每一個輸出端能夠持續(xù)輸出800毫安的電流;????
3. 飽和壓降的值比較低;?
4. CPU可以直接進行連接,電平輸出兼容TTL/CMOS
5. 輸出內置鉗位二極管,適用于感性負載;????
6. 在芯片內部集成了控制與驅動功能;????
7. 管腳具有高壓保護;????
8. 能夠正常進行工作的溫度為:從零下20攝氏度至80攝氏度。?
L9110相關的電氣性能介紹如表3-5中所示。
表3-5 電氣性能
符?號?
參?數??
最?小
典?型?
最?大?
單?位
最大Vcc
電源電壓
2.2?
5
12
伏特
最大Iout??
輸出的電流
-
800?
1000
毫安?
VHin
輸入的高電平
2.2
5
12
伏特
VLin
輸入的低電平
0
0.45
0.6?
伏特
最大Pd?
允許電源消耗
-
-
800
毫瓦
Topr?
能操作溫度?
-35
25?
80
攝氏度
L9110的封裝如圖3-10所示,本設計中采用的是SOP8型號封裝。
圖3-10 L9110封裝圖
圖3-11 L9110引腳圖
L9110的引腳如圖3-11所示,表3-4為引腳功能的介紹。
表3-4 引腳功能介紹
序號?
符號?
功能?
1?
OA?
A路輸出管腳
2?
VCC?
電源電壓?
3?
VCC?
電源電壓?
4?
OB?
B路輸出管腳
5?
GND??
地線
6?
IA?
A路輸入管腳?
7?
IB?
B路輸入管腳?
8?
GND?
地線
引腳在接收信號時的波形如圖3-12所示。
圖3-12 引腳波形圖
L9110引腳之間的電平邏輯關系如表3-5所述。
表3-5 電平邏輯關系
IA
IB
OA
OB
H
L
H
L
L
H
L
H
L
L
L
L
H
H
L
L
3.5 激光管驅動模塊
在本設計中,使用的是100mW的藍紫光激光器,采用SS8050 NPN型三極管作為控制通斷的開關電路,驅動電路如圖3-13所示。
圖3-13 激光器驅動電路
在驅動電路中提供了兩路輸出,分別并聯了四個8050三極管,因而支持升級大功率的激光管。單片機的I/O口連接8050三極管基極進行通斷控制,D10引腳控制通斷的一路為激光的負極,在設計的過程中,由于單片機在利用ICSP燒寫B(tài)oootlader的時候需要使用到D11引腳,而電路中產生的漏電流影響到了該I/O口的電平,進而影響燒寫,故D11引腳控制通斷的一路改為激光的正極,以避免上述情況的發(fā)生。
之所以選用SS8050三極管,是因為其是大眾普遍使用的一種NPN型晶體三極管,我們可以在各種各樣的電路設計中看到它,它的使用范圍非常的廣泛,而在本設計中主要作用為開關電路。
圖3-14 8050三極管TO-92封裝圖
在本設計中,處于對電路板的體積上的考慮,所以采用了的8050 三極管,它的封裝為SOT23,如圖3-15所示。
圖3-15 8050三極管SOT-23封裝圖
8050的主要性能參數:
1. 類型:開關型;
2. 極性:NPN;
3. 材料:硅;
4. 集電極電流max:0.45 A;
5. 直流電增益:10 to 60;
6. 功耗:625 mW;
7. 集電極-發(fā)射極電壓max:24;
8. 特征頻率:150 MHz
9. PE8050 類型為NPN型三極管 耐壓值30V 最大電流1.4A
10. 3DG8050 類型為NPN型三極管 耐壓值25V 最大電流1.4A
11. 2SC8050 類型為NPN型三極管 耐壓值25V 最大電流1.4A
12. MC8050 類型為NPN型三極管 耐壓值25V 最大電流650mA
13. CS8050 類型NPN型三極管 耐壓值25V 最大電流1.4A
3.6 機械傳動結構模塊
本模塊主要由3D打印件、二相四線步進電機、亞克力面板組成,通過3D打印的滑塊與步進電機的結合,從而達到步進電機帶動滑塊移動的目的。機械傳動結構分為X軸滑臺與Y軸滑臺,X軸裝載激光管進行橫向的左右移動,Y軸上有置物面板,被雕刻物放置于面板上,進行縱向的前后移動,以此完成雕刻的功能。
3.6.1 3D打印件
在設計中,3D打印件包括有滑塊、支撐與別子,分別為圖3-16、圖3-17、圖3-18所示。3D打印普遍使用的是ABS或PLA材料進行打印,即將數字模型逐層切片,一層一層進行打印,也有部分廠商已經開發(fā)出了可以使用其他材質進行打印的3D打印機。由于它能夠快速的得到模型實物,因此對產品原型機的各個零件設計起到了十分重要的作用。
本設計中,通過使用soildworks 3D建模軟件,對機械傳動結構模塊中的部分零件進行了3D建模,再由3D打印機熱堆疊打印出來。
同時,本設計中3D打印部件所使用的材料為PLA材質,即通常所說的聚乳酸,這種材料是一種最近新興的生物可降解材料,它充分使用了可以再生的植物資源,例如玉米等所提煉得到的淀粉原料制作而成,其機械性能良好。PLA這種材料除了上述的可降解特性,同時也有屬于自己的特性。一般來說,傳統(tǒng)舊時所使用的生物可降解材質,它們的透光度,物理強度,對氣候變化的抗力都不如普通使用的塑料材質。然而,PLA材料卻具有比傳統(tǒng)生物可降解材料更好的透光性,物理強度與良好的延展與抗拉強度,這就讓它成為了各種產品廣泛使用的材料。
圖3-16 3D打印滑塊結構
圖3-17 3D打印支撐結構
圖3-18 3D打印別子結構
3.6.2 二相四線步進電機
本設計中使用的是二相四線步進電機,如圖3-19所示。
圖3-19 二相四線步進電機
本設計中使用的是二相四線步進電機。從總體而言,所謂步進電機,就是以每一次的轉動角度作為一步,通過單片機發(fā)送相應的脈沖,得到相應的角度位移,就是“步距角”,以此來對步進電機進行控制。在步進電機非過載狀態(tài)停止時,它的位置、頻率以及速度通常受到脈沖的數量控制,而不會因為負載產生變化。所以,精確定位可以利用脈沖數對角度的位移進行控制,并且脈沖的頻率也可以對步進電機的速度進行調整。
普遍的,大部分的步進電機接線都可以通過線的顏色進行區(qū)分,又因為步進電機的生產廠家的不同,導致了線色的不完全相同,因此,需要利用萬用表對步進電機的引腳進行檢測,確定線序。步進電機的內部結構就如圖3-20所顯示的那樣,A與A-是相通的,B與B-是相通的。所以,A與A-是一個組,B與B-則是另外一個組。
圖3-20 步進電機內部構造圖
步進電機的靜態(tài)相關參數如下[4]:
1. 相數:通常用m來表示這個參數,它指的是線圈在不一樣的磁場里相應產生的對數。
2. 靜轉矩:當電機在額定靜電效果時,電機沒有旋轉運動,電機軸鎖緊扭矩。
3. 拍數:一般使用n進行表示,它指的是由于周期性的變化,其相應磁場中則應該有的脈沖數量,或者也可以表示為它轉過一個齒距角應該要有的脈沖數量。
4. 定位轉矩:它指的是在我們沒有給電機進行加電的時候,轉子本身的鎖定力矩。
5. 步距角:它指的是,我們通過控制系統(tǒng)每次發(fā)送一個脈沖信號之后,電機進行轉動的角度。用θ表示,θ的結果通常等于360度乘以(轉子齒數量?*運行拍數),若以二相50齒的步進電機進行舉例,那么運行步距角四個節(jié)拍是1.8度(一般叫作整步),八拍為0.9度(一般叫作半步)。
步進電機動態(tài)指標術語[4]:
1. 步距角精度:這是一個誤差值,它的存在是由于電機每次轉動一圈產生的實際的和理論中計算出來的值之間的一個差值而得到??梢酝ㄟ^一個比例的計算來進行表示,即是誤差除以步距角再乘以百分比。不同的運行拍數這個數值不同,當以四拍運行的時候應該小于4%左右,當八拍運行的時候應該小于16%左右。
2. 失步:當理論上應該產生的步數與步進電機實際運轉時產生的步數不同時,則認為失步。
3. 失調角:這是一個角度,是由于轉子與定子之間齒軸線產生了差值,所以只要步進電機在工作,就一定會出現失調角,即使是細分也沒有辦法消除。
4. 最大空載起動頻率:可以認為是在沒有負載的情況下,步進電機以特定的驅動方式、電壓及電流中所能夠產生的最高的轉動頻率。
5. 運行矩頻特性:通過一定的要求測試出來的情況中,可以獲得一個在轉動時輸出力矩與頻率之間關系的曲線,這條曲線就是通常我們所說的運行矩頻特性,這條曲線在步進電機大部分的動態(tài)曲線中顯得尤為重要,通常也以此作為依據對步進電機的使用進行選擇。
6. 電機正反轉控制:電機的時序為12-23-34-41時為正向轉動,而時序變?yōu)?1-34-23-12則是反向轉動。
步進電機的主要特點[4]:
1. 步進電機的精度誤差不會產生累積,通常就是說在每一步表現出來的結果與理論計算出來應該到達的位置和之前的每一步產生的誤差都是沒有任何關系的,例如步進電機步距角1.8°,精度5%的話,就是每一步的實際到達的位置和理論上應該到達的位置之間的角度誤差范圍在步距角的5%之內,也就是每一步所在位置和理論位置的角度偏差在0.09°之內。
2. 電機表面可以承受的最高溫度。
首先,不可控的過度高溫就會使得電機產生退磁的現象,因此而影響到力矩,使其下降或是失步,所以,對于步進電機來說,它所能夠承受的上限溫度受制于不同的磁性材料的退磁點,對于大部分的材料來說,它們的退磁點通常在120攝氏度以上,也有超過這一數值的材料,可以達到190攝氏度,六七十攝氏度的表面溫度對于電機的運行是很正常的,不需要擔心電機因為高溫運行而損壞。
3. 電機的力矩隨著轉速的降低而上升。
在電機工作時,電機內部產生一個反向電動勢,它的頻率越低,產生的反向電動勢則越小,由于它的存在,電機的速度減少下降,則力矩就會上升。
4. 電機的速度高過一定數值之后就會產生嘯聲,同時也沒有辦法正常運轉,而將速度降低之后,就可以正常啟動工作。
因為具有明顯的特點,步進電機在這個科技不斷發(fā)展,各種技術不斷興起的時代起到了不可替代的作用。在未來,經過一定的研發(fā)努力,步進電機的使用領域會得到不斷的拓寬,變得更為廣泛。
步進電機的主要特性[4]:
1. 驅動步進電機能夠操作的驅動信號必須是一個脈沖信號,當沒有脈沖時,步進電機處于靜止,若添加一個合適的脈沖信號將是在一個角度(稱為步角)轉動。頻率正比于旋轉速度和脈沖。
2. 通常3X16個脈沖才能使三相的電機完成一圈的正常轉動,這是因為它的步進角為7.5度,所以在使用的過程中需要充分考慮編程。
3. 在很多場合中需要即時的對步進電機進行控制,而它的即時啟動與急停能力就能滿足需求。
4. 為了對步進電機的轉向進行變化,則需要調整相應的時序。
3.6.3 亞克力面板
在設計中,用亞克力面板分別切割制成了滑臺底板與載物面板,如圖3-21和圖3-22所示。
圖3-21 滑臺底板
圖3-22 載物面板
3.6.4 滑臺
滑臺由以上介紹過的3D打印件、二相四線步進電機、亞克力面板組成。分別分為X軸滑臺和Y軸滑臺,兩個滑臺的結構基本相同,不同處在于,X軸上滑塊搭載的是由別子固定的激光管,而Y軸的滑塊上搭載的則是載物面板。由于設計的局限性,滑臺的移動并不是同步的,而是先做橫向運動,再做縱向運動。
圖3-23 X軸滑臺
圖3-24 Y軸滑臺
3.7 外型框架模塊
外型的框架結構同樣采用亞克力面板切割制作,并用不銹鋼螺絲螺母結合。
圖2-25 外框框架
4 系統(tǒng)軟件設計
4.1 Arduino IDE介紹
Arduino IDE是Arduino的軟件編程平臺,由于其開源的特性,使得開發(fā)者可以方便的通過這樣的開發(fā)環(huán)境對自己作品進行開發(fā)設計,同時IDE也具有良好的UI設計,所使用的編程語言也是類C風格,任何對C語言有一定基礎的開發(fā)者都可以對其輕松上手使用,而對于新手來說,入門的門檻也降低許多。由于Arduino的開源收獲了大量的開發(fā)者分享的庫文件,在制作作品或是學習使用的過程中就能省去了需要自己編寫庫文件的麻煩,從而加快了產品的開發(fā)時間。
Arduino的IDE界面僅有六個按鈕,分別為編譯、上載、建立新程序、打開程序、保存程序、及串口監(jiān)視器,簡便的界面使得初學者能夠更容易的對軟件進行操作,而不會產生誤解及疑惑,而面對那些功能繁復,有著許多眼花繚亂按鈕的強大軟件來說,更適合新手的使用,有利于培養(yǎng)并延續(xù)初學者的興趣與信心。
4.2 Delphi7軟件簡介
Delphi7.0是美國一家叫做寶藍的公司設計開發(fā)的一個功能十分強大的編程軟件,因為具有了可視化的編程環(huán)境,在使用過程中,就可以方便快捷的應用各種內嵌的組件,因為了有了大量的組件,讓開發(fā)人員能夠快速對應用程序進行設計與搭建,同時也能夠依據自己的需求,重新修改編寫相應的組件[5]。
業(yè)界普遍稱呼Delphi為第四代編程語言,因為它非常的易用,開發(fā)效率高,擁有大量的內嵌組件,功能強大。相對其他的語言,比如VC語言,它更為易學,更容易掌握,但是功能上絕不差于VC[5]。
同時,Delphi中還提供了各種開發(fā)工具,包括了圖像的編輯,數據庫的處理,組件的編寫,有各種各樣的應用對于數據庫的開發(fā)。另外,Delphi也可以自己的用戶安裝別的工具,這使得它的使用變得更為廣泛,這就是Delphi這個工具在行業(yè)內所具有的極大的優(yōu)勢[5]。
Delphi在數據庫方面也有著突出優(yōu)勢,能夠讓用戶得到了更強大的數據庫功能,例如:各種數據庫結構的適應,從服務器/客戶端模式到多層次的數據結構模式,更為高效率的數據庫管理系統(tǒng)及引擎;更為強大的數據分析工具,以及海量的企業(yè)組件[5]。
4.3 系統(tǒng)主程序設計
該系統(tǒng)采用了模塊化的軟件編程,即所謂的模塊化設計意味著程序編寫開始時是先通過所需要的主函數、子函數、子過程之類的框架將整個控制軟件的主要流程和結構進行表達,并安排定義調試好每一個框架間的輸入、輸出鏈接關系,而不是通過一個項將上位機的控制命令及相應的語句寫入。為了獲得一系列算法來描述功能塊作為一個單元是逐步細化的結果,并充當一個單元塊的編程的方法中,實現其算法稱為模塊化。
通過模塊化進行編譯的程序有著許多十分容易看到的好處,在一個軟件開發(fā)的期間,完整的模塊化的設計能夠十分方便與順暢的對編程的實現,使得其在實現過程中能夠一直保持清晰的思路,減少潛伏的BUG,而在維護的期間,也有利于其他人的理解。
本系統(tǒng)的下位機軟件設計使用的編程語言是Arduino的類C語言,該語言是在原有C語言的基礎上,重新封裝定義,其優(yōu)點在于僅需掌握少數幾個指令,稍微了解C語言就可以輕松上手,快速應用,指令的可讀性強。同時,由于其開源的特性,不需要像傳統(tǒng)的C51單片機那樣,需要自己編譯大量的類庫,而是可以直接使用他人分享的庫文件,因此,在作品的設計的過程中能夠更快的開發(fā)出原型機。
軟件設計包含的環(huán)境名稱:電腦端的操作系統(tǒng)環(huán)境為64位Windows 7,單片機的編程開發(fā)平臺、以及程序下載使用的都是Arduino IDE,電腦端控制軟件開發(fā)的平臺是使用了Delphi7。
主程序模塊通常所應該做到的事情就是在機器啟動之后對整個控制系統(tǒng)進行初始化以及對整體的軟件系統(tǒng)的框架進行一定的構建,首先是機器與電腦端進行通信連接,并在電腦端的界面顯示OK,確認連接成功,然后對各個I/O口進行初始化設置,再等待上位機的指令,進行下一步的操作。本設計的流程圖如圖4-1所示。
圖4-1 主程序流程圖
4.4 各個模塊的軟件設計
4.3.1 系統(tǒng)初始化模塊
1) 在Arduino軟件體系中,需要先對單片機的I/O口等各項功能進行初始化設置,因此系統(tǒng)初始化模塊的主要工作為對整機的引腳等進行初始化,系統(tǒng)在進行初始化設置時的模塊程序流程圖如圖4-2所示。
圖4-2 系統(tǒng)初始化模塊流程圖
2) 系統(tǒng)初始化模塊的核心代碼如下所示:
void setup() {
Serial.begin(9600); //設置串口波特率
pinMode(laser_pin, OUTPUT); //設置激光器控制I/O口狀態(tài)
digitalWrite(laser_pin,LOW);//設置激光器控制I/O口為低電平
myStepper1.setSpeed(32); //步進電機的轉速設置
myStepper2.setSpeed(32);
Serial.println("start!"); //串口打印start
}
4.3.2 控制協(xié)議分析模塊
1) 由于需要上位機軟件的協(xié)作,因此對上位機軟件部分與單片機硬件部分進行了協(xié)議約定,該模塊的主要工作為將串口掃描獲取到的數據進行分析,判斷是否符合協(xié)議指令,符合則執(zhí)行相應指令,不符合則再次進行串口掃描。本設計中的控制協(xié)議分析模塊的程序流程圖如圖4-3所示。
圖4-3 控制協(xié)議分析模塊流程圖
2) 控制協(xié)議分析模塊的核心代碼如下所示:
switch(utra_char)
{
case ';': //機器匹配連接指令
cmd_code = NONE; //若匹配,則返回OK
utra_buffer = "";
Serial.println("ok");
break;
case 'X': //移動X軸滑臺指令
cmd_code = MOVE_X;
utra_buffer = "";
Serial.println("cmd_x");
break;
case 'Y': //移動Y軸滑臺指令
cmd_code = MOVE_Y;
utra_buffer = "";
Serial.println("cmd_y");
break;
case 'S': //設定移動速度指令
cmd_code = SET_SPEED;
utra_buffer = "";
Serial.println("cmd_s");
break;
case 'L': //設定激光器指令
cmd_code = SET_LASER;
utra_buffer = "";
Serial.println("cmd_l");
break;
}
4.3.3 指令任務執(zhí)行模塊
1) 本模塊的主要工作為執(zhí)行獲取解析后的協(xié)議指令,通過完成各項指令,使雕刻機正常工作,指令任務執(zhí)行模塊的流程圖如圖4-4所示。
圖4-4 指令任務執(zhí)行模塊流程圖
2) 指令任務執(zhí)行模塊的核心代碼如下所示:
switch(cmd_code)
{
case MOVE_X: //X、Y軸滑臺移動執(zhí)行指令
case MOVE_Y:
if(utra_buffer.length() == 5)
{
int l_dir;
move_step = hextoint(utra_buffer[0]) << 12 | hextoint(utra_buffer[1]) << 8 | hextoint(utra_buffer[2]) << 4 | hextoint(utra_buffer[3]);
l_dir = 1;
if(0 == hextoint(utra_buffer[4]))
l_dir = -1;
{
if(cmd_code == MOVE_X)
myStepper1.step(l_dir * move_step);
else
myStepper2.step(l_dir * move_step);
}
utra_buffer = "";
Serial.print("move:");
Serial.println(move_step);
}
break;
case SET_SPEED: //速度設置執(zhí)行指令
if(utra_buffer.length() == 2)
{
move_speed = hextoint(utra_buffer[0]) << 4 | hextoint(utra_buffer[1]);
if(move_speed > 0)
{
myStepper1.setSpeed(move_speed);
myStepper2.setSpeed(move_speed);
}
utra_buffer = "";
Serial.print("speed:");
Serial.println(move_speed);
}
break;
case SET_LASER: //激光器設置執(zhí)行指令
if(utra_buffer.length() == 2)
{
open_laser = hextoint(utra_buffer[0]) << 4 | hextoint(utra_buffer[1]);
if(0 == open_laser)
digitalWrite(laser_pin,LOW);
else
if(255 == open_laser)
{
digitalWrite(laser_pin,HIGH);
}
else
{
analogWrite(laser_pin,open_laser);
}
utra_buffer = "";
Serial.print("laser:");
Serial.println(open_laser);
}
break;
}
4.4 上位機控制軟件設計與實現
本設計中所
收藏
編號:2690211
類型:共享資源
大?。?span id="pteeev0" class="font-tahoma">20MB
格式:ZIP
上傳時間:2019-11-28
5
積分
- 關 鍵 詞:
-
激光雕刻
系統(tǒng)
設計
- 資源描述:
-
激光雕刻機系統(tǒng)設計,激光雕刻,系統(tǒng),設計
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。