<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

  下面是電路圖:

主控電路

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

  調壓電路

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

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

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

  以下是一些總體圖和測試圖:

  總體的樣子

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

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

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

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

  一、電壓源

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

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

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

  電壓輸出相應很快,示波器截圖

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

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

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

  二、電流源

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

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

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

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

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

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

  0264mA是累計充電電量,I:當前充電電流,V:電池電壓

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

  四、烙鐵模式

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

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

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

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

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

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

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

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

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

  終于塞的差不多

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

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

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

  右面一張

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

  上面的是開(kāi)機圖片(怎么跟大哥大似的)……

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

  一、時(shí)基函數

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

  二、AD采樣(數字濾波)

  這個(gè)程序是公司的標準模塊。大學(xué)時(shí),AD采出來(lái),我就直接用了。工作了才發(fā)現這樣不好,采完后還要做一下數字濾波。數字濾波,不知誰(shuí)起的這么好聽(tīng)的名字,唬住不少人。其實(shí)很簡(jiǎn)單,但很實(shí)用。在這里,實(shí)際操作就是:采六次,去掉最大最小值,剩四個(gè)求平均。以前對它的作用體會(huì )不深,當有一個(gè)單片機直接測交流真有效值的項目,一個(gè)不堪入目的波形進(jìn)入單片機,數字濾波后,一下數值穩定不亂跳了,頓生感慨。
  下面是程序:
  void ADPro()
  {
  uchar n,i;
  if(ADTim 《10) return;
  ADTim = 0;
  for(n=0;n《6;n++)
  {
  ADChannel = Channelin; //通道選擇;
  while(!ADC1SC1_COCO) NOP();//等待轉換完成
  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)鍵詞: 雙核獨顯 電源制作

評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>