基于CAN總線的分布式控制器設(shè)計和實現(xiàn)
機電系統(tǒng)執(zhí)行部件包括電機、舵機、液壓缸、液壓馬達等,傳感部分有接觸和非接觸的接近傳感器(光電傳感器)、圖像傳感器(CCD、辨色傳感器)、聲音傳感器(麥克風)等,如果采用集中式的設(shè)計方式,不僅提高了對設(shè)計者的要求,而且難以適應控制要求不斷變化的情況。軟件設(shè)計方面,集中式的硬件設(shè)計會使得軟件構(gòu)架十分繁瑣,無法多人協(xié)同工作,維護困難??刂葡到y(tǒng)硬件安裝方面,集中式的硬件構(gòu)架很可能增加線束方面的困難。綜上所述,采用分布式的設(shè)計可以減小設(shè)計風險,提高設(shè)計效率,增加系統(tǒng)柔性。
本文引用地址:http://m.butianyuan.cn/article/163511.htm控制系統(tǒng)分為三部分:信號輸入部分、中央處理部分和信號輸出驅(qū)動部分。信號輸入部分包括數(shù)字信號輸入和模擬信號輸入,信號輸出驅(qū)動部分根據(jù)不同的驅(qū)動部件設(shè)計相應的驅(qū)動電路。學生常用的執(zhí)行部件包括直流伺服電機、直流電機、氣動控制閥等,后兩者同屬于一種控制模式,故驅(qū)動部分主要為直流伺服驅(qū)動和閥驅(qū)動。因此分布式控制模塊可以分為:信號輸入模塊、主控模塊、直流伺服電機驅(qū)動模塊、氣動閥驅(qū)動模塊等。
信號輸入模塊主要是傳感器信號的輸入和編碼,分為數(shù)字信號輸入和模擬信號輸入;主控模塊是信息的處理、決策和人機交互的平臺,包括鍵盤輸入和LCD輸出;直流伺服電機控制驅(qū)動模塊,采用LM629作為電機控制芯片,通過H橋驅(qū)動完成直流電機的PID控制;閥驅(qū)動模塊用于氣動閥的開啟、關(guān)閉以及直流電機的驅(qū)動,故同樣通過H橋驅(qū)動模式。各個模塊之間采用CAN總線構(gòu)架(如圖1)。控制芯片采用P89C58X2,用KeilC和CSOS系統(tǒng)進行算法設(shè)計,系統(tǒng)硬件和軟件構(gòu)架清晰,具有良好的擴展性。
1 硬件電路構(gòu)架
1.1 直流伺服電機控制
P89C58X2與LM629之間采用總線方式連接,即單片機的P0口通過上拉電阻之后接LM629的數(shù)據(jù)輸入位,HI連接單片機的外部中斷口,編碼盤輸入A、B和IN口分別連接上拉電阻之后接電機的編碼盤,而LM629的輸出口PWM MAG和PWM SIG分別連接H橋電機驅(qū)動的PWM和DIR、編碼盤和LM629,H橋與LM629之間均采用高速光隔6N137隔離,如圖2。
在單板上集成兩塊LM629,能使結(jié)構(gòu)更緊湊,算法更簡單,通過軟件可以方便地設(shè)定LM629工作在速度模式或者位移模式。
CAN總線是一種具有國際標準的性價比較高的現(xiàn)場總線,其最高傳輸速度可達1Mb/s,最遠傳輸距離可達10km,性能穩(wěn)定,十分適合可靠性要求高的分布式系統(tǒng)。
本系統(tǒng)CAN總線控制芯片采用飛利浦公司的SJA1000,其支持CAN2.0B的標準協(xié)議,并且芯片可以工作在BasicCAN和PeliCAN兩種模式下。總線收發(fā)器采用飛利浦公司的TJA1050,它符合ISO11898標準,實現(xiàn)CAN控制器和通信線路的物理連接,提高CAN總線的驅(qū)動能力和可靠性。
SJA1000和P89C58X2之間同樣采用總線方式連接,連接方法同LM629,而SJA1000和TJA1050之間連接如下:SJA1000的TX0連接TJA1050的TXD,RX0連接RXD,RX1接Vref輸出,SJA1000的TX1下拉電阻接地,TJA1050的CANL和CANH就是CAN總線輸出。當多節(jié)點連接時,CANL和CANH之間需要加1~2個阻值為120Ω的端接電阻,能有效防止通訊總線上產(chǎn)生的信號反射(如圖3)。在軟件設(shè)計中,通過修改SJA1000的寄存器使CAN工作在PeliCAN、單濾波器、正常模式和擴展幀模式下。
伺服電機相關(guān)文章:伺服電機工作原理
pid控制器相關(guān)文章:pid控制器原理
評論