新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 怎么用C8051FF330D單片機(jī)設(shè)計(jì)恒流源控制器

怎么用C8051FF330D單片機(jī)設(shè)計(jì)恒流源控制器

作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏
在飛速發(fā)展的電子和電信技術(shù)系統(tǒng)中, 電源的優(yōu)劣在一定程度上決定著電信設(shè)備的性能和壽命。雖然目前市場(chǎng)上的數(shù)控恒壓技術(shù)已經(jīng)比較成熟, 數(shù)控電壓源產(chǎn)品也已朝著智能化和小型化的趨勢(shì)發(fā)展, 且價(jià)格也越來(lái)越便宜。
C8051FF330D單片機(jī)為控制核心, 并利用C8051FF330D的I2C串行總線(xiàn)擴(kuò)展外圍器件, 同時(shí)以模塊化設(shè)計(jì)方法,設(shè)計(jì)了一種程控恒流源。而且整個(gè)電源還具有功耗低、體積小, 電流紋波小、控制精度高和運(yùn)行穩(wěn)定等特點(diǎn)。

工具/原料

  • C8051FF330D單片機(jī)、JTAG接口、LED數(shù)碼管、電路圖、鍵盤(pán)

步驟/方法

  1. 系統(tǒng)總體結(jié)構(gòu):采用C8051FF330D單片機(jī)內(nèi)部的10位電流型數(shù)模轉(zhuǎn)換器和電流/電壓轉(zhuǎn)換電路來(lái)輸出0~4 V的模擬量, 然后用這個(gè)電壓信號(hào)來(lái)控制恒流源的輸出電流, 以使其按照給定值變化。
  2. 輸出接口電路:C8051F330D內(nèi)部電路中的數(shù)模轉(zhuǎn)換器輸出的0~1 mA電流信號(hào)通過(guò)基準(zhǔn)電阻轉(zhuǎn)換為0~2 V的電壓信號(hào)后, 再經(jīng)過(guò)放大電路轉(zhuǎn)換為0~4 V的標(biāo)準(zhǔn)信號(hào)輸出。其模擬量輸出信號(hào)轉(zhuǎn)換電路如圖所示。

  3. 掉電保護(hù)電路:為了避免系統(tǒng)掉電情況的發(fā)生, 本設(shè)計(jì)采用FM24CL04作為非易失存儲(chǔ)器來(lái)保護(hù)系統(tǒng)參數(shù)及其它中間數(shù)據(jù)。與EEPROM不同, FM24CL04可以以總線(xiàn)速度進(jìn)行寫(xiě)操作, 它使用的是工業(yè)標(biāo)準(zhǔn)兩線(xiàn)I2C接口, 圖3所示是本電源系統(tǒng)附帶的掉電數(shù)據(jù)保護(hù)電路。
  4. 鍵盤(pán)及顯示電路;采用ZLG7290B專(zhuān)用芯片還可以簡(jiǎn)化電路和程序, 減輕電路的調(diào)試負(fù)擔(dān)。而且, 作為工業(yè)級(jí)顯示驅(qū)動(dòng)芯片, ZLG7290B也具有較強(qiáng)的抗干擾能力。圖4 所示是由C8051F330D 單片機(jī)和ZLG7290B專(zhuān)用顯示驅(qū)動(dòng)芯片組成的鍵盤(pán)及顯示驅(qū)動(dòng)電路原理圖。
  5. 主程序設(shè)計(jì):采用C語(yǔ)言來(lái)進(jìn)行軟件設(shè)計(jì), 以實(shí)現(xiàn)系統(tǒng)的各項(xiàng)功能。系統(tǒng)應(yīng)用程序采用模塊化結(jié)構(gòu)設(shè)計(jì), 主要包括主程序、參數(shù)調(diào)用修改子程序、DAC0初始化程序等。圖5所示是其主程序流程圖。
  6. 模塊函數(shù)程序設(shè)計(jì):
    Void DAC_Init (void)
      {
      REF0CN =0X30; /*內(nèi)部偏壓發(fā)生器和電壓基準(zhǔn)緩沖器工作, 基準(zhǔn)從VREF腳輸出*、
      ID0CB =0XF2;
      }
      存儲(chǔ)器寫(xiě)入函數(shù)如下:
      Viod EEPROM_ByteWrite ( uchar i2caddr,uchar addr, uchar dat )
      {
      While (smb_busy)
      Smb_busy = 1;
      Target = i2caddr;
      Smb_w =write;
      Smb_sendwordaddr = 1;
      Smb_randomread = 0;
      Smb_ackpoll =1;
      Word_addr = addr;
      Smb_singlebyte_out = dat;
      Psmb_data_out =&smb_singlebyte_out;
      Smb_data_len =1;
      Sta = 1;
      }
      ……

注意事項(xiàng)

  • 在制作和配置過(guò)程中一定要按照以上步驟來(lái)進(jìn)行
  • 最后成功后,還要進(jìn)行一定的調(diào)試


評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉