新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

作者: 時(shí)間:2012-12-22 來(lái)源:網(wǎng)絡(luò) 收藏

  近段時(shí)間我制造了一個(gè)集電流源、電壓源、充電和烙鐵于一身的“四用”電源,同時(shí)還有個(gè)顯示屏顯示。在設(shè)計(jì)過(guò)程中,我用到兩個(gè)單片機(jī),一個(gè)負(fù)責(zé)變量采集,一個(gè)主負(fù)責(zé)顯示。于是我的同事就把這個(gè)“怪獸”叫做“”電源。

  核心是控制一個(gè)由MOS管搭建的一個(gè)電壓調(diào)節(jié)板,可以數(shù)控電壓,因此得到一個(gè)電壓源;通過(guò)電流反饋,調(diào)節(jié)電壓,又得到一個(gè)電流源;通過(guò)電流電壓反饋,得到一個(gè)鋰電池充電器;通過(guò)烙鐵溫度反饋,得到一個(gè)恒溫烙鐵控制器,思路就是這么來(lái)的。單片機(jī)是飛思卡爾QD4,兩個(gè)16bit定時(shí)器/PWM ,四通道10bitAD。它的主要功能有:1、電壓源;2、電流源;3、充電器;4、恒溫烙鐵控制器。

  下面是電路圖:

主控電路

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  調(diào)壓電路

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  調(diào)壓電路中NMOS借鑒白光烙鐵的電路,不過(guò)要做快速開關(guān),圖中的R9不能太大,我用500歐的,PWM 2KHZ可以。上拉電阻R13也很重要,在單片機(jī)異常是,保證關(guān)斷輸出。MOS后端的電路,可以參考DC芯片資料。

  其中具體的焊接過(guò)程我就忽略不寫了,相信大家根據(jù)我給的電路圖就可以做出相對(duì)應(yīng)的產(chǎn)品。

  以下是一些總體圖和測(cè)試圖:

  總體的樣子

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

    電源輸入是用筆記本電源。輸出是一個(gè)USB口,我平時(shí)用不到大電流,3A足夠了,步進(jìn)10ma。最大輸出電壓接近輸入電壓,步進(jìn)0.01V。顯示用的是nokia5110顯示屏(上圖是用5V供電,屏幕有雜點(diǎn),下面改為3.7V,完美屏)。

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

    輸入由一個(gè)電位器,一個(gè)按鍵構(gòu)成。電位器仿照示波器的用法,可以上下選擇,也可以輸入設(shè)定值。按鍵短按用來(lái)“確定”,長(zhǎng)按“返回”這些信息由單片機(jī)1采集,單線發(fā)送給單片機(jī)2,顯示。單線通信花了不少精力。采樣電阻50m歐,用358放大。電流采集后要校正,消除偏差。
做好了這一大堆東西后,我們要對(duì)其進(jìn)行基本的功能測(cè)試。

  一、電壓源

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  下圖中:9.22V是實(shí)時(shí)采集的真實(shí)電壓,S:設(shè)定值,I:電流

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  電壓輸出相應(yīng)很快,示波器截圖

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  快速扭動(dòng)電位器,都可以用示波器作畫了

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  二、電流源

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  下圖中:0.44A是實(shí)時(shí)采集的真實(shí)電流,S:設(shè)定值,V:電壓

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06  三、充電模式

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  為了測(cè)試,把我移動(dòng)電源的電池芯拆出來(lái)了。當(dāng)時(shí)舍得的橫流充階段電流為300ma,這叫一個(gè)等啊

  不過(guò)能看到這么多輸出信息,挺爽的

  0264mA是累計(jì)充電電量,I:當(dāng)前充電電流,V:電池電壓

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  四、烙鐵模式

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  炊煙裊裊啊……公司的熱成像儀送檢了,無(wú)法校準(zhǔn)溫度。我是用公式直接算的,感覺偏低了。不過(guò)筆記本電源供電,剛剛的。愛死這個(gè)烙鐵了

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  介紹一下這個(gè)USB烙鐵

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  烙鐵是用白光936烙鐵柄改的,接了個(gè)USB頭,外側(cè)做電源線,usb的數(shù)據(jù)線接反饋電阻。經(jīng)過(guò)測(cè)試,3A電流,usb口毫無(wú)問(wèn)題,而且升溫也不錯(cuò),所以程序了限定3A。太大電流,筆記本電源會(huì)保護(hù)。

  以下是我將產(chǎn)品組裝進(jìn)盒子里面的圖示:

  殼子是拆了一個(gè)12V/2A的電源的塑料殼,把這么大一坨東西,塞進(jìn)去,可是費(fèi)了功夫。

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  終于塞的差不多

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  進(jìn)去了??!左面一張

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  右面一張

  集合四種功能,我的“雙核獨(dú)顯”電源制作過(guò)程 12-06

  上面的是開機(jī)圖片(怎么跟大哥大似的)……

  到此為止所有的制作就已經(jīng)完成了。
  在制作過(guò)程中,我想給大家說(shuō)一下我的一些編程方面的經(jīng)驗(yàn)。

  一、時(shí)基函數(shù)

  我現(xiàn)在覺得這個(gè)函數(shù)應(yīng)該是每個(gè)工程必須的,但回想我看過(guò)的單片機(jī)書,好像沒有講到這一點(diǎn)的,相見恨晚。
  void TimePro()
  {
  if(!b_8msFG)
  return;
  b_8msFG = 0;
  Tim8ms++;
  PIHtim++;
  if(KeyTim 《 255)
  KeyTim++;
  if(PIHtim 》 4)
  {
  TPM2C0SC = 0x48; //開外部中斷
  }
  LCDTim++;
  LCDFlashTim++;
  if(Tim1ms 》 124)
  {
  Tim1ms = 0;
  Tim1S++;
  ……
  ……
  ……
  }
  }
  上面就是一個(gè)“時(shí)基函數(shù)”,當(dāng)你的程序有幾個(gè)外圍需要同時(shí)控制時(shí),再用NOP延時(shí),直線執(zhí)行已經(jīng)忙不過(guò)來(lái)了,需要用上面的函數(shù)。
  b_8msFG在8ms定時(shí)中斷中置為1。TimePro()在主函數(shù)中調(diào)用。這樣KeyTim、LCDTim這些計(jì)時(shí)變量就在一直計(jì)時(shí)。例如調(diào)用鍵盤程序,判斷一下KeyTim是否到時(shí)間,到了執(zhí)行,KeyTim清零,不到返回,再去調(diào)用別的函數(shù)體。這樣分時(shí)復(fù)用CPU,避免了NOP來(lái)浪費(fèi)系統(tǒng)資源,當(dāng)幾個(gè)外圍執(zhí)行周期不同時(shí),更是這樣 。

  二、AD采樣(數(shù)字濾波)

  這個(gè)程序是公司的標(biāo)準(zhǔn)模塊。大學(xué)時(shí),AD采出來(lái),我就直接用了。工作了才發(fā)現(xiàn)這樣不好,采完后還要做一下數(shù)字濾波。數(shù)字濾波,不知誰(shuí)起的這么好聽的名字,唬住不少人。其實(shí)很簡(jiǎn)單,但很實(shí)用。在這里,實(shí)際操作就是:采六次,去掉最大最小值,剩四個(gè)求平均。以前對(duì)它的作用體會(huì)不深,當(dāng)有一個(gè)單片機(jī)直接測(cè)交流真有效值的項(xiàng)目,一個(gè)不堪入目的波形進(jìn)入單片機(jī),數(shù)字濾波后,一下數(shù)值穩(wěn)定不亂跳了,頓生感慨。
  下面是程序:
  void ADPro()
  {
  uchar n,i;
  if(ADTim 《10) return;
  ADTim = 0;
  for(n=0;n《6;n++)
  {
  ADChannel = Channelin; //通道選擇;
  while(!ADC1SC1_COCO) NOP();//等待轉(zhuǎn)換完成
  ADC1SC1_COCO = 0;
  ADNum = ADC1R; //取得AD值
  // ADNum = 298;
  if(0==n)
  {
  m_ADCSum = 0;
  m_ADCMax = ADNum;
  m_ADCMin = ADNum;
  }
  if(ADNum《m_ADCMin)
  {
  m_ADCMin = ADNum;
  }
  else if(ADNum》m_ADCMax)
  {
  m_ADCMax = ADNum;
  }
  m_ADCSum += ADNum;
  ADNum = 0;
  }
  m_ADCSum=m_ADCSum-m_ADCMax;
  m_ADCSum=m_ADCSum-m_ADCMin; //減去最大最小值
  m_ADCSum = m_ADCSum》》2; //取均值
  switch (Channelin)
  {
  case 0 :
  ADSet = m_ADCSum;
  break;
  case 1 :
  ADI = m_ADCSum;
  break;
  case 2 :
  ADTemp = m_ADCSum;
  break;
  ca


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

關(guān)鍵詞: 雙核獨(dú)顯 電源制作

評(píng)論


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

關(guān)閉