999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

離心機變頻驅動系統軟件設計

2018-10-09 07:41:40張旺王東黃玲玲沈霄
科技視界 2018年19期

張旺 王東 黃玲玲 沈霄

【摘 要】隨著我國工業化進程和電子技術的快速發展,離心機的應用越來越廣泛。與此同時,企業對離心機各方面的性能有著越來越高的要求。本文詳細介紹了基于DSPIC30F3011單片機的驅動系統的設計方案、轉速檢測和通信系統各個部分,并附上了部分軟件程序。

【關鍵詞】離心機;軟件;PWM波形;測速系統;通信系統

中圖分類號: TQ051 文獻標識碼: A 文章編號: 2095-2457(2018)19-0052-003

DOI:10.19694/j.cnki.issn2095-2457.2018.19.022

Software Design of Centrifugal Variable Frequency Drive System

ZHANG Wang WANG Dong HUANG Ling-ling SHEN Xiao

(Hunan Normal University, School of Engineering and Design, Changsha Hunan 410000, China)

【Abstract】With the rapid development of industrialization and electronic technology in China, the application of centrifuges is more and more extensive. At the same time, companies have increasingly higher requirements for all aspects of centrifuge performance. This paper introduces the design scheme, speed detection and communication system parts of the drive system based on DSPIC30F3011 microcontroller, and attaches some software programs.

【Key words】Centrifuge; Software; PWM waveform; Speed measurement system; Communication system

1 芯片簡介

本系統選擇DSPIC30F3011作為主芯片,該芯片是microchip公司生產的高性能數字信號控制器,其包含5個16位定時器,4路輸入捕捉、4路輸出比較,6路PWM通道,9路10位的A/D轉換,2個異步收發器UART以及大內存,完全滿足產生SPWM調速、建立用戶通信系統、測量轉速以及電機其他功能的需求。

2 PWM模塊

產生SPWM的方案:將PWM時基設置工作在連續向上/向下計數模式,產生一個對稱三角波形,通過公式計算出PTPER的值,通過配置特殊事件觸發寄存器的值,得到一路中心對稱的PWM波形,將PWM配對I/O引腳模式位設置為1,互補輸出模式,得到一組互補的輸出。由此得到三組PWM波。將SIN函數值放到各個占空比寄存器當中,得到三組隨正弦規律變化的SPWM波形。

通過配置DSPICL30F3011芯片的PWM模塊的相關寄存器,實現一個基本的三組PWM波的輸出。在本設計中,采用的是一個頻率為6MHz的晶振,產生一個頻率為6.5KHz的PWM波,需要配置PTCON(PWM時基控制寄存器)、PTPER(PWM時基周期寄存器)、SEVTCMP(特殊事件比較寄存器)、PWMCON1(PWM控制寄存器1)、PWMCON2(PWM控制寄存器2)。

2.1 產生單通道PWM波形輸出

為了產生三角載波,需要將PWM模塊時基控制寄存器PTCON設置為0X8002(開啟PWM時基,PWM時基輸出后預分頻比設為1:1,輸入時鐘預分頻比為1:1,工作在連續向上/向下計數模式),可以根據需要設計不同的分頻系數,此值僅作參考。通過式(1)

PTPER=■-1式(1)

計算出PWM時基周期寄存器的值,并將十五位寄存器的值寫入時基寄存器(PTMR),因為工作在連續向上/向下計數模式,此值是三角載波的峰值,載波周期需乘以二,完成此步驟之后還需將相應的中斷允許寄存器開啟,并且根據需要設計相應的中斷優先級,即可完成載波輸出。

假設采用6M晶振,輸出PWM波的頻率為6.5k,PWM時基工作在連續向上/向下計數模式,無分頻,則:

PTPER=■-1=460

部分初始化例程如下:

IFS2bits.PWMIF=0;清除PWM中斷標志狀態位

IEC2bits.PWMIE=1;允許PWM中斷

IPC9=0X5000;將PWM中斷優先級設為3

PTCON=0X8002;

PTMR=0X0000;清除計數寄存器值

PTPER=460;輸出頻率為6.5k的PWM波

2.2 產生三組PWM波形輸出

為了驅動三相電動機,在硬件電路設計了三組逆變橋,每組逆變橋的兩個開關管不能同時導通,并且三組的電壓相位相差120°,因此在軟件部分,控制開關管的脈沖序列必須達到這兩個要求。DSPIC30F3011內部的PWM控制寄存器可以控制PWM波的輸出模式,當處于互補模式時,就可以得到一組互補的序列(在編寫程序時,需要用到PWMCON1(PWM控制寄存器1)。考慮到開關器件的開關時間的存在,除此之外必須要設置序列間足夠長的死區時間,保證同一逆變橋的兩個開關管不會同時閉合。

假設采用6M晶振,死區時間由單元A提供,單元A的預分頻比為1:2,死區時間設為5us 則:

十六進制時間值=3MHz×5μs=15=0X000F

部分程序如下:

DTCON1=0X000F;

DTCON2=0X0000;所有PWM信號的死區時間都由單元A提供

PWMCON1=0X0077;模塊為互補模式,允許PWMPIN引腳輸出

3 測速系統的軟件實現

本系統中采用霍爾元件測速法,將霍爾元件的輸入端安裝在電機底部的轉軸上,輸出端接CPU的CN端口,根據其測速原理,在程序設計部分,需要檢測其輸出端的電平變化,并且進行計數,可以用單片機DSPIC30F3011內部的計數器和輸入捕捉中斷模塊來實現。

初始化程序如下:

void initial_CN(void)

{

CNPU1=0X00fe; //CN12345,6,7,上拉開啟CN0不上拉,作AD口.

CNPU2=0X0006; //CN17.18上拉.

CNEN1=0X0000; //CN5,CN6,CN7電平變化中斷關閉。

CNEN2=0X0000; //不要CN中斷.

IPC3=0X0000;

IEC0bits.CNIE=0; //關閉電平變化中斷

}

void initial_icp7(void)

{

IC7CON=0X0002; //每個下降沿捕捉一次,每次一個中斷,捕捉TMR3的內容。

IC7BUF=0;

}

計數器初始化程序如下

void initial_timer(void)

{ PR1=24000; // t1計數周期設為24000

TMR1=0;

TMR2=0;

TMR3=0;

T2CON=0X0008; //t2和T3形成32位定時器

PR2=0XFFFF;

PR3=0X06FF; //最大的周期設為19秒,如果19秒后沒有進入CN中斷,報錯。

}

輸入捕捉模塊中斷程序如下

void __attribute__((interrupt, no_auto_psv)) _IC7Interrupt(void)

{

hall_timer_low=TMR2;

hall_timer = TMR3HLD;

hall_timer <<= 16;

hall_timer += hall_timer_low;

TMR3HLD=0;

TMR2=0;

IFS1bits.IC7IF=0; //清除 輸入捕捉中斷.

if(hall_timer>30000)

{

count_speed = 720000000/hall_timer;

current_speed = count_speed;

}

if(syn_speed_set<(current_speed))

SpeedCheckCount++;

else

SpeedCheckCount=0;

}

4 通信系統的軟件實現

因為異步串行通信接口具有傳輸線少、成本低、可靠性高、實現簡單等優點,在本設計中,對傳輸距離沒有太高的要求,因此選擇RS-232端口進行傳輸,而所選用的CPU內部集成有UART(通用異步收發器),只要在程序部分進行配置即可。

DSPIC30F3011芯片的UART是可以直接連接外設的串行I/O端口之一,在本設計中,利用這一端口實現軟件通信部分。在通信模塊有一個波特率發生器UXBRG,通過此寄存器,可設置波特率,計算方法如式(5-2a)、(5-2b):

波特率=■式(5-2 a)

UXBRG=■-1式(5-2 b)

例如:系統晶振頻率為6MHz,設置波特率為1200,求波特率發生器的值。

UXBRG=■-1■-1=311

將此值寫入到波特率發生器,通信系統的波特率為1200

UART初始化程序如下:

void initial_uart(void)

{

U1BRG=311; //波特率是1200的值。

U1STA=0X0130; //使能地址檢測//接收到一個緩沖器滿時,中斷標志置位

U1MODE=0X0406; //一個停止位,9位數據無奇偶效驗,使用ALIO(輔助IO端口)

U1MODEbits.UARTEN=1; //啟用UART

U1STAbits.UTXEN=1; //啟用發送功能。

}

發送數據程序:

void send_uart_data(void)

{

if(U1STAbits.UTXBF==0)//發送緩沖器未滿

{

if(tx_count==0) //重新發送一個字數據

U1TXREG=tx_data[tx_count];//發送緩沖器加載數據

else

U1TXREG=tx_data[tx_count]&0x00ff; //如果9位數據沒加載完,緩沖寄存器繼續加載 tx_count++;

if(tx_count>10)//加載完9位數據,寫入數據

{ tx_count=0;

write_send_data();

}

}

}

數據接收子程序如下:

//*****************VOID receive_data數據接收子程序**************************************

void receive_uart_data(void)

{

if(U1STAbits.OERR)

{

U1STAbits.OERR=0; //如果有數據溢出錯誤,清除數據溢出錯誤

IFS0bits.U1RXIF=0;//清除接收中斷標志

if(sys_error==0) //無系統標志錯誤數據

sys_error=6; //串口通訊錯誤置位。

}

else if(U1STAbits.FERR)//檢測到當前字符的幀錯誤

{

U1STAbits.FERR=0;//清除幀錯誤標志位

if(sys_error==0)

sys_error=7; //返回接收錯誤信息

}

else if(rx_count==0)//接收寄存器中無數據

{

if(IFS0bits.U1RXIF)//UART1接收器中斷請求

{

IFS0bits.U1RXIF=0;//清除UART1接收器狀態標志位

while(U1STAbits.URXDA)//接收緩沖器中有數據

rx_data[0]= U1RXREG;//接收數據

if(rx_data[0]==0x0169)

{ rx_count++;

U1STAbits.ADDEN=0;//地址檢測模式禁止(接收數據的第八位=1)

}

}

}

else

{

if(IFS0bits.U1RXIF) //如果接受中斷標志位置位

{

IFS0bits.U1RXIF=0; //清除接收中斷標志

while(U1STAbits.URXDA) //接收緩沖器中有數據

rx_data[rx_count]= U1RXREG;//接收數據

rx_count++;

if(rx_count>10) //接收到一個9位數據后

{

rx_count=0; //地址清零,等待接收下一個

rx_data[0]=0;

U1STAbits.ADDEN=1;//地址檢測模式使能

receive_data_check();//接收數據校驗

read_rx_data();//讀數據

}

}

}

}

//********************void data check接收數據和效驗*********************************************

void receive_data_check(void)

{

unsigned int rx_data_add;rx_data_add=rx_data[1]+rx_data[2]+rx_data[3]+rx_data[4]+rx_data[5]+rx_data[6]+rx_data[7]+rx_data[8]+rx_data[9];

rx_data_add&=0x00ff;

if(rx_data_add==rx_data[10])

rx_ERROR=0;

else

rx_ERROR=1;

}

5 結束語

在離心機系統中,軟件系統非常重要,軟件系統的優劣直接決定了整個系統的安全性和可靠性。在本系統中設計了一個電機測速系統,檢測當前的轉速,對速度進行實時監控,讓操作員能夠清楚的知道當前電機的轉速。為了增強系統的可操作性,還增加了微機間的通信系統,讓操作員可以根據需要對離心機速度,時間進行調節與設定。

【參考文獻】

[1]張燕賓.SPWM變頻調速應用技術第3版[M].北京:機械工業出版社,2005:59-84.

[2]馬小亮.高性能變頻調速及其典型控制系統[M].北京:機械工業出版社,2010:44-47.

[3]石秋潔,張燕賓.變頻器應用基礎[M].北京:機械工業出版社,2002.

[4]周志敏,周紀海,紀愛華.變頻調速系統設計與維護[M].北京:中國電力出版社,2007.

主站蜘蛛池模板: 欧美中文字幕无线码视频| 欧美无遮挡国产欧美另类| 精品一區二區久久久久久久網站| 四虎在线观看视频高清无码| 在线看免费无码av天堂的| 婷婷激情亚洲| AV天堂资源福利在线观看| 国产91视频免费观看| 久久精品电影| 亚洲精品男人天堂| 伊人网址在线| 国产精品久久久精品三级| 国产综合另类小说色区色噜噜 | 精品亚洲麻豆1区2区3区| 欧美精品综合视频一区二区| 色综合久久久久8天国| 亚洲无码精品在线播放| 久久国产成人精品国产成人亚洲 | 国产无码性爱一区二区三区| 午夜精品福利影院| 色欲国产一区二区日韩欧美| 57pao国产成视频免费播放| 国产黄色视频综合| 亚洲一区二区约美女探花| 亚洲国产欧洲精品路线久久| 在线播放国产99re| 国产网友愉拍精品| 国产91色在线| 香蕉eeww99国产在线观看| 大香网伊人久久综合网2020| 日韩午夜片| 色欲色欲久久综合网| 国产福利微拍精品一区二区| 91青青草视频| 天天综合天天综合| 色综合激情网| 亚洲欧美自拍一区| 日韩小视频网站hq| 午夜天堂视频| 欧洲高清无码在线| 美女国内精品自产拍在线播放| 日本精品视频| 国产精品视频导航| 国产精品第| 精品国产福利在线| 欧美人与动牲交a欧美精品| 99精品免费欧美成人小视频| 国产69精品久久久久孕妇大杂乱 | 欧美精品亚洲二区| 玩两个丰满老熟女久久网| 亚洲V日韩V无码一区二区| 国产精品免费露脸视频| 欧美特黄一级大黄录像| 青青操视频在线| 国产亚洲欧美在线专区| 日韩A∨精品日韩精品无码| 国产va免费精品观看| 亚洲第一黄色网址| 成人国产免费| 999精品在线视频| 亚洲精品不卡午夜精品| 久久九九热视频| 亚洲天堂视频在线免费观看| 特级做a爰片毛片免费69| 国产一区二区三区在线精品专区 | 麻豆a级片| 性视频一区| 国产精品福利尤物youwu| 91精品国产91久久久久久三级| 久久不卡国产精品无码| 国产精欧美一区二区三区| 国产91小视频在线观看 | 国产精品亚洲专区一区| 国产资源免费观看| 99人妻碰碰碰久久久久禁片| 色综合中文综合网| 欧美色伊人| 欧美精品伊人久久| 麻豆国产精品一二三在线观看| 国产91丝袜| 一级爱做片免费观看久久| 久久人体视频|