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午夜福利在线观看精品| 很黄的网站在线观看| 国产制服丝袜91在线| 欧美三級片黃色三級片黃色1| 亚洲美女一区二区三区| 日本一区二区不卡视频| 亚洲精品视频免费观看| 欧美不卡在线视频| 亚洲欧美成人网| 日韩无码真实干出血视频| 成人综合在线观看| 日本午夜网站| 国内黄色精品| 91啪在线| 国产综合精品日本亚洲777| 在线精品亚洲国产| 日韩欧美视频第一区在线观看| 91精品视频播放| 国产精品福利尤物youwu | 亚洲中文字幕23页在线| 免费观看亚洲人成网站| 亚洲精品国产首次亮相| 国产自产视频一区二区三区| 99久久国产综合精品女同| 激情成人综合网| 国产特一级毛片| 蜜臀AV在线播放| 成·人免费午夜无码视频在线观看| 国产成人精品免费视频大全五级| 亚洲Va中文字幕久久一区 | 日本欧美视频在线观看| 免费中文字幕一级毛片| 成人伊人色一区二区三区| 精品国产91爱| 亚洲成a人片在线观看88| 青青热久免费精品视频6| 国产成人亚洲毛片| 亚洲青涩在线| 欧美成人免费午夜全| 亚洲人成色77777在线观看| 18黑白丝水手服自慰喷水网站| 免费国产不卡午夜福在线观看| 亚洲精品无码专区在线观看| 一区二区在线视频免费观看| 天堂av综合网| 91欧美亚洲国产五月天| 国产成人亚洲欧美激情| 国产乱子伦精品视频| 日韩av无码DVD| 欧美激情成人网| 99视频在线免费| 2022国产91精品久久久久久| 亚洲国产在一区二区三区| 精品久久久久久久久久久| 强奷白丝美女在线观看| 欧美一级色视频| 成年午夜精品久久精品| 亚洲欧美日韩综合二区三区| 99热国产这里只有精品无卡顿" | 日本爱爱精品一区二区| 成色7777精品在线| 国产永久在线观看| 国产成人夜色91| 欧美一区福利| 无码'专区第一页| 九色最新网址| 在线看片免费人成视久网下载| www.狠狠| 亚洲成aⅴ人片在线影院八| 2021最新国产精品网站| 亚洲成人精品久久| 亚洲AⅤ综合在线欧美一区| 国产精品久久国产精麻豆99网站|