新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機的全功能工業(yè)控制器設(shè)計

AVR單片機的全功能工業(yè)控制器設(shè)計

作者: 時間:2013-11-12 來源:網(wǎng)絡(luò) 收藏

引言

  在自動控制產(chǎn)品的設(shè)計過程中,實現(xiàn)方案的選擇常常是很矛盾的。使用可編程邏輯控制器(PLC)和人機界面(HMI)來實現(xiàn),開發(fā)速度較快,但成本太高,所開發(fā)的產(chǎn)品沒有市場競爭力;使用單片機開發(fā),成本低但開發(fā)周期長、開發(fā)量大且通用性不好。用戶需要的是一種成本低、開發(fā)周期較短、通用性較好的控制器,因此全功能工業(yè)控制器有很大的應(yīng)用市場。

  全功能工業(yè)控制器的整個電路分為信號隔離輸入部分、控制器輸出部分、實時時鐘與歷史數(shù)據(jù)存儲部分、彩色液晶顯示和觸摸屏控制部分、通信接口等。

1 信號隔離輸入電路

  信號隔離輸入電路分為開關(guān)量隔離輸入、模擬量隔離輸入、高速電脈沖隔離輸入,電路如圖1所示,開關(guān)量的隔離輸入較為簡單,輸入信號采用光耦進行隔離后送入單片的普通I/O,單片機用查詢方式進行采集。

AVR單片機的全功能工業(yè)控制器設(shè)計

圖1 信號隔離輸入電路

  高速電脈沖的采集需要注意的是,所設(shè)計的電路必須適應(yīng)高速信號采集的要求,因此隔離光耦應(yīng)采用高速光耦(如6N137等)。采用查詢方式采集高速脈沖容易造成采集數(shù)據(jù)的丟失,高速脈沖應(yīng)采用中斷方式進行采集。

  模擬量是本控制器的一個重點和難點,筆者之前采用了線性光耦等多種方式進行模擬量的實驗,均未獲滿意的效果。這里采用一種先將模擬量數(shù)字化(使用AD7705),然后通過有光耦隔離的數(shù)據(jù)口送到CPU進行模擬量的方式,效果理想。

2 控制器輸出電路

  控制器的輸出方式有繼電器輸出、晶體管輸出、模擬電壓輸出,如圖2所示。繼電器輸出和晶體管輸出電路較為簡單,這里不作詳細的介紹。下面著重介紹模擬電壓的產(chǎn)生原理。

AVR單片機的全功能工業(yè)控制器設(shè)計

圖2 控制器輸出電路

  模擬電壓的輸出主要利用的PWM端口來實現(xiàn),PWM輸出脈沖經(jīng)光耦隔離后再進行濾波產(chǎn)生所需的直流信號。為了提高驅(qū)動能力,加了一級射極跟隨器,如圖2上半部所示。

  PWM電壓調(diào)節(jié)實現(xiàn)的程序如下:

#define PWM1_IN(){DDRB.5=1;PORTB.5=0;}//PWM端口控制

#define PWM1_OUT() DDRB.5=1;

/**********************

PWM初始化程序:

使用TIMER1,預(yù)分頻為8,設(shè)置10位快速PWM模式,關(guān)閉中斷

**********************/

void pwm_init(void){

   TIMSK=0xC3; //關(guān)閉TIMER1中斷

ETIMSK=0xFE;

   TCCR1A=0; //關(guān)閉定時器

TCCR1B=0;

OCR1A=0x0000; //關(guān)閉輸出

OCR1B=0x0000;

TCCR1A=0xA3; //設(shè)置10位快速PWM

//模式,預(yù)分頻為8

   TCCR1B=0x0A;

   PWM1_IN()

}

/***************************

PWM通道控制程序: 功能——可以進行單通道的開關(guān)和調(diào)整輸出

入口參數(shù)—— b為通道控制(1—改值,2—開端口,3—關(guān)端口);


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉