新聞中心

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

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

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

引言

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

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

1 信號(hào)隔離輸入電路

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

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

圖1 信號(hào)隔離輸入電路

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

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

2 控制器輸出電路

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

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

圖2 控制器輸出電路

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

  PWM電壓調(diào)節(jié)實(shí)現(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)閉定時(shí)器

TCCR1B=0;

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

OCR1B=0x0000;

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

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

   TCCR1B=0x0A;

   PWM1_IN()

}

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

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

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


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉