王立鋼 耿金良
摘? 要:文章設(shè)計了一款基于STM32平臺的語音控制系統(tǒng),該系統(tǒng)除具備一些基本的IO控制功能外,還可以方便集成語音交互控制等各類智能化功能,將該系統(tǒng)應(yīng)用于工業(yè)機器人自動化生產(chǎn)系統(tǒng)中,可以提高工業(yè)機器人的智能化,滿足一些特殊的應(yīng)用場景。
關(guān)鍵詞:STM32;語音控制;工業(yè)機器人
中圖分類號:TP242? ? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2019)27-0021-02
Abstract: In this paper, a voice control system based on STM32 platform is designed. In addition to some basic IO control functions, the system can also easily integrate all kinds of intelligent functions such as voice interactive control. When the system is applied to the automatic production system of industrial robot, the intelligence of industrial robot can be improved and some special application scenarios can be satisfied.
Keywords: STM32; speech control; industrial robot
1 概述
隨著德國工業(yè)4.0與中國制造2025 計劃的提出,傳統(tǒng)制造業(yè)的產(chǎn)業(yè)改造升級需求變得日益迫切。工業(yè)機器人作為智能制造的重要部分,目前已經(jīng)深入應(yīng)用于很多傳統(tǒng)的制造業(yè)[1]。工業(yè)機器人作為自動化生產(chǎn)系統(tǒng)中的一部分,經(jīng)常將其控制器與可編程控制器(PLC)配合,構(gòu)成一個完整的自動化生產(chǎn)線的控制系統(tǒng)。
本論文嘗試將電子領(lǐng)域常用的嵌入式系統(tǒng)技術(shù)替代傳統(tǒng)的工業(yè)用PLC,使用STM32平臺開發(fā)控制系統(tǒng)。該平臺采用模塊化的設(shè)計方式,除具備一些基本I/O功能、觸摸屏功能外,還可以方便的增加各種智能化功能,如語音交互等。從而實現(xiàn)通過語音交互控制工業(yè)機器人,提高工業(yè)機器人的智能化,滿足一些特殊的應(yīng)用場景。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)整體硬件設(shè)計
系統(tǒng)硬件設(shè)計的整體框圖如圖1所示,STM32控制系統(tǒng)的核心處理器采用STM32平臺M3系列芯片,通過連接相應(yīng)的外圍模塊,包括各類開關(guān)、傳感器,觸摸屏,繼電器模塊,語音識別和語音合成模塊構(gòu)成整個控制系統(tǒng)。STM32控制系統(tǒng)與工業(yè)機器人之間通過RS485總線進行數(shù)據(jù)傳輸,以此來控制工業(yè)機器人做相應(yīng)的動作。
2.2 系統(tǒng)重要模塊硬件設(shè)計
本系統(tǒng)的核心控制器采用STM32F103xC[2]處理器,該處理器使用高性能的ARM? CortexTM-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達512K字節(jié)的閃存和64K字節(jié)的SRAM),豐富的增強I/O端口。包含3個12位的ADC、4個通用16位定時器和2個PWM定時器,還包含標準和先進的通信接口:多達2個I2C接口、3個SPI接口、2個I2S接口、1個SDIO接口、5個USART接口、一個USB接口和一個CAN接口。
系統(tǒng)中的語音交互模塊使用的芯片為LD3320[3]語音芯片,LD3320基于非特定人語音識別技術(shù),不需要用戶進行錄音訓練,同時芯片集成了高精度的A/D和D/A接口,不再需要外接輔助的Flash和RAM,使用起來非常方便。該語音交互模塊與STM32控制器之間的通信方式可以采用并行口通信或者SPI通信的方式,本系統(tǒng)中采用了并行通信的方式控制該語音交互模塊,該模塊與STM32控制器的接口電路原理圖如圖2所示。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件設(shè)計分為STM32控制系統(tǒng)程序和工業(yè)機器人程序兩部分,STM32控制系統(tǒng)程序采用C語言以及KEIL開發(fā)軟件進行開發(fā),工業(yè)機器人程序使用工業(yè)機器人專用編程語言進行開發(fā),STM32控制系統(tǒng)與工業(yè)機器人之間的通信通過串口通信的方式實現(xiàn)。
3.1 STM32控制系統(tǒng)軟件設(shè)計
STM32控制系統(tǒng)上電首先進行初始化工作,將系統(tǒng)控制的各個模塊進行初始化,包括語音交互模塊、觸摸屏模塊以及串口通信的軟件初始化。初始化結(jié)束后必須按下啟動按鈕系統(tǒng)才可正常進行工作,正常工作情況下,如有語音信號輸入,語音交互模塊進行關(guān)鍵詞識別,系統(tǒng)便會根據(jù)不同的關(guān)鍵詞對應(yīng)控制工業(yè)機器人實現(xiàn)不同的動作,LD3320語音芯片最大支持50種關(guān)鍵詞識別,可以定義50項不同工作,本文只實驗性的測試了兩種不同的動作控制,后期可以根據(jù)實際項目需要繼續(xù)添加。系統(tǒng)主程序流程圖如圖3所示。
3.2 工業(yè)機器人軟件設(shè)計
本文采用的工業(yè)機器人為ABB六軸工業(yè)機器人,型號為IRB120,ABB工業(yè)機器人使用RAPID語言進行編程,系統(tǒng)啟動后首先進行初始化,主要為串口通信的軟件初始化,初始化結(jié)束后,機器人等待STM32發(fā)送的串口數(shù)據(jù),若收到動作1數(shù)據(jù),則機器人相應(yīng)執(zhí)行動作1,不用的數(shù)據(jù)可以控制機器人執(zhí)行相應(yīng)不同的動作。具體程序流程圖如圖4所示。
4 結(jié)束語
本文設(shè)計應(yīng)用于工業(yè)機器人自動化生產(chǎn)線的STM32控制系統(tǒng),從功能上可以替代傳統(tǒng)的自動化系統(tǒng)中的可編程控制器(PLC),同時加入語音交互控制的功能,滿足一些特殊的工業(yè)機器人應(yīng)用場景,由于嵌入式系統(tǒng)的可擴展性非常強,后期還可以增加更多智能化的功能,如自動化流水線數(shù)據(jù)上傳云端、電腦端、手機端遠程控制[4]等,滿足各類智能化制造場景的需要。
參考文獻:
[1]王田苗,陶永.我國工業(yè)機器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機械工程學報,2014,5(9):1-13.
[2]STM32F103Xc數(shù)據(jù)手冊[EB/OL].https://www.st.com/resource/en/datasheet/cd00191185.pdf.
[3]LD3320數(shù)據(jù)手冊[EB/OL]. https://wenku.baidu.com/view/0b800d
5bbe23482fb4da4c5f.html.
[4]李濤,馬殷元.基于STM32的GPRS遠程監(jiān)測終端設(shè)計[J].電子世界,2012,6:126-127.