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高清无码一区二区三区| 超清无码一区二区三区| 精品超清无码视频在线观看| 免费久久一级欧美特大黄| 欧美亚洲网| 亚洲第一网站男人都懂| 91青青草视频| 国产精品久久久精品三级| 在线视频亚洲欧美| 免费观看亚洲人成网站| 成人午夜亚洲影视在线观看| 国产小视频在线高清播放 | 草逼视频国产| 欧美怡红院视频一区二区三区| 亚洲无码视频一区二区三区| 日韩精品无码免费专网站| 国产激爽爽爽大片在线观看| 日韩大乳视频中文字幕| 国产亚洲一区二区三区在线| 97国内精品久久久久不卡| 亚洲天堂高清| 天堂中文在线资源| 六月婷婷精品视频在线观看| 亚洲娇小与黑人巨大交| 国产在线啪| 久久亚洲国产视频| 91高清在线视频| 亚洲成A人V欧美综合| 亚洲av无码成人专区| 精品無碼一區在線觀看 | 久久国产精品麻豆系列| 色婷婷在线播放| 亚洲国产成人精品一二区| 88av在线| 成人日韩欧美| 日韩性网站| 大陆精大陆国产国语精品1024 | 午夜精品影院| 成人久久精品一区二区三区| 亚洲另类第一页| 在线看片国产| 在线观看av永久| 福利国产微拍广场一区视频在线| 亚洲欧美不卡| 91啦中文字幕| 欧美日韩综合网| 青青青亚洲精品国产| 亚洲天堂久久新| 婷婷99视频精品全部在线观看| 欧美一区二区人人喊爽| 在线五月婷婷| 国产精品香蕉在线观看不卡| 人妻精品全国免费视频| 色精品视频| 亚洲国产亚洲综合在线尤物| 亚洲精品在线观看91| 亚洲无码电影| 五月婷婷丁香综合| 中文字幕日韩久久综合影院| 国产成人调教在线视频| 亚洲二三区| 成人综合在线观看| 国产白浆视频| 免费人成在线观看成人片| 久久青青草原亚洲av无码| 日韩区欧美国产区在线观看| 手机精品福利在线观看| 国产一在线| 国产区在线看| 久久女人网| 美女国内精品自产拍在线播放| 久久综合九色综合97婷婷| 亚洲精品男人天堂| 国产九九精品视频| 伊人查蕉在线观看国产精品| 97视频免费在线观看| 午夜三级在线| AV在线天堂进入| 国产主播在线一区| 欧美日韩动态图| 91在线免费公开视频| 91无码人妻精品一区|