技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 臺(tái)達(dá)變頻器和C51單片機(jī)通訊

臺(tái)達(dá)變頻器和C51單片機(jī)通訊

時(shí)間:2009-05-14 11:38:02來(lái)源:lihan

導(dǎo)語(yǔ):?本文給出了單片機(jī)和變頻器通訊的硬件電路圖和通訊源程序C51,有助于讀者掌握臺(tái)達(dá)變頻器在嵌入式系統(tǒng)的通訊應(yīng)用技術(shù)
摘 要:臺(tái)達(dá)VFD全系列變頻器均能夠通過(guò)通訊進(jìn)行參數(shù)的讀寫(xiě)和控制,隨著單片機(jī)功能的越來(lái)越強(qiáng)大,在嵌入控制中的應(yīng)用更加的廣泛。如何實(shí)現(xiàn)單片機(jī)和變頻器之間的通訊是本文的介紹重點(diǎn)。同時(shí)本文給出了單片機(jī)和變頻器通訊的硬件電路圖和通訊源程序C51,有助于讀者掌握臺(tái)達(dá)變頻器在嵌入式系統(tǒng)的通訊應(yīng)用技術(shù)。 關(guān)鍵詞:變頻器 C51 單片機(jī) 1 引言 臺(tái)達(dá)VFD全系列變頻器和C51單片機(jī)通訊采用串行異步原理。通訊速度用波特率表示。波特率即數(shù)據(jù)傳送的速率,其定義是每秒鐘傳送的二進(jìn)制數(shù)的位數(shù)。例如,數(shù)據(jù)傳送的速率是120字符/s,而每個(gè)字符如上述規(guī)定包含10數(shù)位,則傳送波特率為1200波特。通訊方向:在串行通訊中,把通訊接口只能發(fā)送或接收的單向傳送方法叫單工傳送;而把數(shù)據(jù)在甲乙兩機(jī)之間的雙向傳遞,稱(chēng)之為雙工傳送。在雙工傳送方式中又分為半雙工傳送和全雙工傳送。半雙工傳送是兩機(jī)之間不能同時(shí)進(jìn)行發(fā)送和接收,任一時(shí)該,只能發(fā)或者只能收信息。 8051單片機(jī)串行異步通訊的方式用一個(gè)起始位表示字符的開(kāi)始,用停止位表示字符的結(jié)束。其每幀的格式如下:在一幀格式中,先是一個(gè)起始位0,然后是8個(gè)數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來(lái)是奇偶校驗(yàn)位(可以省略),最后是停止位1。用這種格式表示字符,則字符可以一個(gè)接一個(gè)地傳送。在異步通訊中,CPU與外設(shè)之間必須有兩項(xiàng)規(guī)定,即字符格式和波特率。字符格式的規(guī)定是雙方能夠在對(duì)同一種0和1的串理解成同一種意義。原則上字符格式可以由通訊的雙方自由制定,但從通用、方便的角度出發(fā),一般還是使用一些標(biāo)準(zhǔn)為好,如采用ASCII標(biāo)準(zhǔn)。 2 通訊約規(guī) 2.1 臺(tái)達(dá)VFD變頻器通訊約規(guī) (1)臺(tái)達(dá)變頻器通訊字符格式。臺(tái)達(dá)變頻器通訊字符格式有ASCII和RTU格式,如圖1所示。
圖1 臺(tái)達(dá)變頻器通訊字符格式 (2)臺(tái)達(dá)變頻器通訊格式的表格描述。臺(tái)達(dá)變頻器通訊格式的表格描述參見(jiàn)表1。
表1臺(tái)達(dá)變頻器通訊格式的表格描述
3 單片機(jī)通訊設(shè)計(jì) 3.1 C52單片機(jī)的串行接口結(jié)構(gòu) 8051串行接口是一個(gè)可編程的全雙工串行通訊接口。它可用作異步通訊方式(UART),與串行傳送信息的外部設(shè)備相連接,或用于通過(guò)標(biāo)準(zhǔn)異步通訊協(xié)議進(jìn)行全雙工的8051多機(jī)系統(tǒng)也可以通過(guò)同步方式,使用TTL或CMOS移位寄存器來(lái)擴(kuò)充I/O口。8051單片機(jī)通過(guò)引腳RXD(P3.0,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊。SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會(huì)出現(xiàn)沖突,因?yàn)樗鼈儍蓚€(gè)一個(gè)只能被CPU讀出數(shù)據(jù),一個(gè)只能被CPU寫(xiě)入數(shù)據(jù)。 臺(tái)達(dá)變頻器接受的RS485信號(hào),單片機(jī)輸出的是TTL電平。因此要變頻器和單片機(jī)通訊要有通訊轉(zhuǎn)換芯片,目前常用的RS485芯片有MAX485、MAX483,S75176等。在本例子中采用了MAX485和S75176芯片,同時(shí)電路圖中預(yù)留了RS232電路的接口,方便單片機(jī)以RS232通訊方式和其他外設(shè)進(jìn)行通訊。主單片機(jī)采用ATMEL公司的AT89C52單片機(jī)。 3.2 軟件調(diào)試界面 單片機(jī)程序通過(guò)在KEIL環(huán)境下開(kāi)發(fā)編譯的,調(diào)試界面如下:
3.3通訊源程序 /********************************************************* * 本程序是AT89C52單片機(jī)和臺(tái)達(dá)B系列、M系列、L系列、F系列通訊例子. * 通訊協(xié)議ASCII格式,幀格式為“1位起始位、7位數(shù)據(jù)、奇偶位(或無(wú))、結(jié)束位”共10位. * 臺(tái)達(dá)VFD系列變頻器一幀的通訊格式:第0位:“:”起始位;第1,2位:站號(hào)地址. * 第3,4位:功能號(hào)碼;第5,6,7,8位:寫(xiě)入的地址;第9,10,11,12位:傳輸數(shù)據(jù). * 第13,14位:校驗(yàn)碼;第15,116位:停止0X0D,0X0A. * 該程序通過(guò)向2000H地址寫(xiě)入0012H數(shù)據(jù)來(lái)啟動(dòng)變頻器;向2000H地址寫(xiě)入0012H數(shù)據(jù)來(lái)停止變頻器. * 由P1.0來(lái)控制MCU發(fā)送數(shù)據(jù),P2來(lái)控制通訊指示燈.* * 編譯環(huán)境:KEIL V3.30 * 作者:劉元?jiǎng)? * 部門(mén):中達(dá)電通股份有限公司AMD產(chǎn)品處 * 編寫(xiě)時(shí)間:2008.1.8 * 修改時(shí)間: * 修改內(nèi)容: **********************************************************/ #include char send[17]={0}; char send1[8]={0x01,0x06,0x01,0x00,0x17,0x70,0x86,0x22}; char count; int temp; bit motor_flag=0; /*********ASCII格式變量定義**********/ char number ; //設(shè)備站號(hào) char function ; //功能 char address_h; //地址高 char address_l; //地址低 char data_h ; //數(shù)據(jù) char data_l ; //數(shù)據(jù) char CRC_H; //校驗(yàn) char CRC_L; //校驗(yàn) char send_temp; int sum_temp; /* 函數(shù)ASCII()實(shí)現(xiàn)了臺(tái)達(dá)變頻器通訊協(xié)議轉(zhuǎn)換為ASCII協(xié)議格式的功能。 */ void ASCII(void); /* init_serial()函數(shù)串行通訊初始化函數(shù) 實(shí)現(xiàn)了:波特率的設(shè)定,定時(shí)器的選擇,發(fā)送模式的選擇 */ void init_serial(void); //函數(shù)ASCII7N2()以數(shù)據(jù)格式 7,N 2方式發(fā)送數(shù)據(jù) void ASCII7N2(void); //函數(shù)ASCII7O1()以數(shù)據(jù)格式 7,O 1方式發(fā)送數(shù)據(jù) void ASCII7O1(void); //函數(shù)ASCII7E1()以數(shù)據(jù)格式 7,E 1方式發(fā)送數(shù)據(jù) void ASCII7E1(void); main() { init_serial(); /***********VFD系列變頻器通訊資料初始化*****/ number=0x01; function=0x06; address_h=0x20; address_l=0x00; data_h=0X00; data_l=0x12; /******************************************/ while(1) { if(P1!=0XFF) { for(temp=0;temp<3000;temp++)//延時(shí)一段時(shí)間 {;} if(P1!=0XFF) { P2=0; TI=0; ASCII();//發(fā)送數(shù)據(jù)的處理 ASCII7N2();//以通訊協(xié)議為ASCII 9600,7,N,2發(fā)送數(shù)據(jù) ASCII7O1();//以通訊協(xié)議為ASCII 9600,7,O,1發(fā)送數(shù)據(jù) ASCII7E1();//以通訊協(xié)議為ASCII 9600,7,E,1發(fā)送數(shù)據(jù) for(temp=0;temp<10000;temp++) //發(fā)送完數(shù)據(jù)之后延時(shí)一段時(shí)間 {;} for(temp=0;temp<10000;temp++) {;} motor_flag=~motor_flag; //完成了變頻器啟動(dòng)和停止之間的切換 if(motor_flag==1){data_l=0x11;} else{data_l=0x12;} P1=0XFF; P2=0XFF; } } } } /******************************************************************************* ****** 函數(shù)nop名稱(chēng):void init_serial(void) 函數(shù)功能: 參數(shù)列表: 返回值 : 影響資源: 實(shí)現(xiàn)過(guò)程: ******************************************************************************** *****/ void init_serial(void) { SCON=0x40;//工作在方式1, TMOD=0x20; TH1=0xFD; //波特率為9600,晶振11.0592MHZ TL1=0xFD; TR1=1; //啟動(dòng)定時(shí)器1 P1=0XFF; } void ASCII7N2(void) { for(count=0;count<17;count++) { SBUF=send[count]|0X80; while(TI==0); TI=0; } } void ASCII7O1(void) { for(count=0;count<17;count++) { temp=0; ACC=send[count]&0X7F; send_temp=ACC; temp=P; send_temp=(temp<<7)|send_temp; SBUF=send_temp; while(TI==0); TI=0; } } void ASCII7E1(void) { for(count=0;count<17;count++) { temp=0; ACC=send[count]&0X7F; send_temp=ACC; temp=~P; send_temp=(temp<<7)|send_temp; SBUF=send_temp; while(TI==0); TI=0; } } /******************************************************************************* 函數(shù)nop名稱(chēng):void ASCII(void) 該函數(shù)應(yīng)該作精簡(jiǎn),可以考慮用結(jié)構(gòu)來(lái)實(shí)現(xiàn)目前僅僅是測(cè)試版本 函數(shù)功能: 參數(shù)列表: 返回值 : 影響資源: 實(shí)現(xiàn)過(guò)程: *******************************************************************************/ void ASCII() { send[0]=0x3A; send[1]=((number&0xF0)>>4)+0x30; if(send[1]>0x39)(send[1]=(send[1]-0x39)+0x40); send[2]=((number&0x0F)+0x30); if(send[2]>0x39)(send[2]=(send[2]-0x39)+0x40); send[3]=((function&0xF0)>>4)+0x30; if(send[3]>0x39)(send[3]=(send[3]-0x39)+0x40); send[4]=((function&0x0F)+0x30); if(send[4]>0x39)(send[4]=(send[4]-0x39)+0x40); send[5]=((address_h&0xF0)>>4)+0x30; if(send[5]>0x39)(send[5]=(send[5]-0x39)+0x40); send[6]=((address_h&0x0F)+0x30); if(send[6]>0x39)(send[6]=(send[6]-0x39)+0x40); send[7]=((address_l&0xF0)>>4)+0x30; if(send[7]>0x39)(send[7]=(send[7]-0x39)+0x40); send[8]=((address_l&0x0F)+0x30); if(send[8]>0x39)(send[8]=(send[8]-0x39)+0x40); send[9]=((data_h&0xF0)>>4)+0x30; if(send[9]>0x39)(send[9]=(send[9]-0x39)+0x40); send[10]=((data_h&0x0F)+0x30); if(send[10]>0x39)(send[10]=(send[10]-0x39)+0x40); send[11]=((data_l&0xF0)>>4)+0x30; if(send[11]>0x39)(send[11]=(send[11]-0x39)+0x40); send[12]=((data_l&0x0F)+0x30); if(send[12]>0x39)(send[12]=(send[12]-0x39)+0x40); sum_temp=number+function+address_h+address_l+data_h+data_l; sum_temp=(~sum_temp)+1 ; send[13]=((sum_temp&0xF0)>>4)+0x30; if(send[13]>0x39)(send[13]=(send[13]-0x39)+0x40); send[14]=((sum_temp&0x0F)+0x30); if(send[14]>0x39)(send[14]=(send[14]-0x39)+0x40); send[15]=0x0D; send[16]=0X0A; } 4 結(jié)束語(yǔ) 隨著嵌入式技術(shù)的飛速發(fā)展,單片機(jī)與變頻器的通訊設(shè)計(jì)技術(shù)變得越來(lái)越有強(qiáng)烈的工程實(shí)用意義。在定制化或者客制化應(yīng)用系統(tǒng)里的單片機(jī)與變頻器通訊集成系統(tǒng)不但可以有更加緊湊經(jīng)濟(jì)靈活的體系結(jié)構(gòu),特別是還有利于形成具有獨(dú)立技術(shù)特點(diǎn)和獨(dú)立知識(shí)產(chǎn)權(quán)的主權(quán)增值產(chǎn)品。 作者簡(jiǎn)介:中達(dá)電通股份有限公司AMD產(chǎn)品處工程師劉元?jiǎng)?

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:創(chuàng)杰ACT-V6變頻器在中央空調(diào)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)