王昆 李昊天 時一順 張碩 宋艷芳
摘要:本文基于嵌入式系統(tǒng)技術設計開發(fā)了一款智能寫字機器人??梢杂糜谔娲祟愅瓿蓵鴮懭蝿眨约皯糜诨A教育領域。
關鍵詞:Arduino、輔助教育、寫字機器人
1.總體技術框架
整體系統(tǒng)由電腦端、手機移動端、Arduino UNO控制器、電機驅動設備、舵機和電機6部分組成。電腦端和手機移動端是上位機控制器、下位機控制器由Arduino UNO系統(tǒng)構成、電機和舵機是下位機的執(zhí)行器。上位機電腦端將想讓機器人寫的內容經過奎享軟件轉換成文件后綴為.nc或.gcode的文件。然后電腦端通過串口將文件發(fā)給下位機使智能書寫機器人執(zhí)行文件中的坐標信息。由下位機控制器控制電機和舵機的程序控制機器人完成寫字的動作。
電機和同步帶組合是機器人的執(zhí)行器。當電機收到控制器發(fā)來的脈沖時,就能讓寫字臂前進或后退。步進電機通過施加足夠功率和頻率的電脈沖依次控制繞組進行操作??刂泼}沖信號和電平方向是由脈沖分配器來負責接收,各相狀態(tài)控制繞組會依次給電機信號,電機根據(jù)信號做出反應。電機轉動的速度和舵機升降都是由控制脈沖控制。
2.寫字機器人算法
2.1像素掃描算法
上位機PC端將想要寫的圖片內容經過可以轉換的圖片處理軟件轉換成坐標文件。之后的操作就轉到上位機寫字軟件或者上位機手機APP使用最后生成的文件發(fā)送給下位機控制器,控制器經過內部程序的轉換后輸出脈沖控制電機和舵機。
2.2直線插補算法
字體的基礎是由直線構成,寫字機械臂末端無法像真正人類的手臂一樣地沿著一條直線運動,所以當折線足夠多的時候就能夠將其近似的認為是直線。插補就是在起點到終點兩點路徑間算出多個坐標點,這些坐標點的精度會對控制速度直接產生影響。這一種方法會把當前的坐標點的形狀跟指定的圖形軌跡進行對比,然后對兩者的輪廓進行偏差判斷,才會對下一步進行選擇。
2.3圓弧形插補算法
文字中撇和捺的曲線也是寫字的一個難點,這邊使用了圓弧插補算法來解決這個問題。寫一個圓弧,把寫字點到圓心的距離相對于圓的半徑的差值計算出來。假設圓弧的位置是在X軸和Y軸正半軸的區(qū)域,那么E點作為圓弧的起點,A點作為終點。利用偏差判別式,即獲得近似圓弧。
3.寫字機器人硬件
3.1寫字機器人結構
整體的框架用的是一種經典結構 CoreXY 結構。采用光軸作為寫字機器人的運動軸與框架。用solidworks繪制3D模型作為外殼與連接框架。
CoreXY 它的原理是通過兩個電機同時控制 XY 的移動,A 順時針 B 逆時針,向+Y 軸運動;A 逆時針 B 順時針,向- Y 軸運動;A 順時針 B 順時針,向+X 軸運動;A 逆時針 B 逆時針,向- X 軸運動。
Arduino UNO 系統(tǒng)作為下位機的核心控制器,借助串口或者藍牙接收轉換成坐標形式的 G 代碼文件,再通過內部寫字算法程序轉換,輸出控制脈沖和方向電平控制步進電機運作和舵機的抬筆和落筆。
Arduino UNO 開發(fā)板基于 ATmega328P 控制器, 晶體振蕩器頻率達到 16MHz,內部含有 14 個數(shù)字 I/O 引腳(其中含 6 路 PWM 輸出)、6 個模擬輸入引腳、一個 USB 接口、一個 DC 接口、一個 ICSP 接口和一個復位按鈕。
3.2A4988 電機驅動模塊
該設計的電機驅動模塊通過與 Arduino UNO進行連接,接受Arduino UNO 發(fā)出來的控制脈沖和方向電平來驅動電機和舵機的轉動以實現(xiàn)字的書寫。
電機驅動模塊需要單獨提供電源來進行供電,與 Arduino UNO 所需要的電源區(qū)分開, 這樣做的目的是為了保障 Arduino UNO 能夠穩(wěn)定工作,電機和舵機也能夠有足夠的動力輸出。
A4988內部存在一個編譯器。這個編譯器的功能就是充當單片機與驅動之間的橋梁,進行信號傳輸。同時編譯器還可以生成DA信號。
3.3步進電機
將電脈沖信號傳輸給步進電機,步進電機通過其內部的繞子,將其轉化角位移或者線位移,步進電機有不同的型號,比如三線、四線、五線式。根據(jù)對本次設計所需要帶動負載的重量結合不同步進電機的參數(shù),選擇了型號為 42HB34A 的步進電機。
3.4舵機模塊
舵機的作用是抬筆和落筆,不然字跡連在一起就無法達到寫字的效果。舵機是一種特殊的電機。當存在角度命令時,會根據(jù)命令轉到命令給的角度。當下的大多數(shù)機器人關節(jié)都由舵機構成。例如,一些大型機器人可用于手臂、膝蓋等。這種類型的電動機可以通過簡單的操作旋轉,并且機器人的控制相對容易。
通過PWM脈寬調制信號就可以控制電機打角。不同的PWM,對應不同的角度。同時可以看出,通過控制具體給舵機通電了多長時間,然后根據(jù)反饋回來的信號結合上角度傳感器,來對舵機進行精確角度轉動的控制。
3.5藍牙模塊
系統(tǒng)采用的藍牙模塊為 HC-06,HC-06 藍牙模塊是專門為智能無線數(shù)據(jù)傳輸而打造, 采用英國 CSR 公司芯片,遵循 V2.0 藍牙規(guī)范,通信范圍為 10 米,共四個引腳,VCC、GND、TXD 和 RXD,可以方便地連接到 Arduino UNO 的串口,被廣泛地用在了具備藍牙通訊功能的設備上。
4.結論
本文通過對寫字機器人的機械結構、算法設計、硬件結構。寫字機器人能完整且穩(wěn)定地寫出想寫的內容,在電腦上通過串口將文件發(fā)給下位機或者手機APP,再通過藍牙將文件發(fā)給下位機,下位機的 Arduino UNO通過內部的程序將發(fā)送過來的文件完成翻譯并發(fā)送到A4988 電機驅動模塊來驅動電機和舵機完成內容的書寫。具有良好的應用價值與市場前景。
參考文獻:
1.黃傳翔 基于 Arduino 單片機的智能機器人小車的研究[D] 江蘇安全技術職業(yè)學院.2021
2.林建勇 基于Arduino的智能爬臂機器人系統(tǒng)設計探析[A] 山東理工大學.2021.
注:2021年山東協(xié)和學院實驗室開放項目,項目名稱:智能書寫機器人,項目編號:2021SYKF04。
山東協(xié)和學院