欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

請教兩個關于用單片機測放電時間的問題,請指點下,謝謝

查看數: 2332 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-3-12 21:09

正文摘要:

如圖是電容放電波形 在開關打開瞬間,波形不連續,應該是開關抖動問題,改用繼電器控制,能稍好一些,并聯電容也沒什么大變化,請教各位有什么方法解決這個問題?我想用可控硅或MOS管來控制,又擔會對放電 ...

回復

ID:104797 發表于 2021-3-13 18:17
wulin 發表于 2021-3-13 16:40
電容充放電時間是可以用RC時間常數計算出了的,用示波器也可以直觀觀察,你這要求有點怪。難道要開發專用 ...

確實有點類似專用儀器了,一塊板子要測6個參數,用了5、6臺儀器,雖然測試參數簡單,但是用的儀器多,測放電時間和最大電壓是其中一個,所以想做個能把幾個參數都測出來的測量裝置,這是其中的一個模塊,不想弄的復雜了,但一直沒有想出有什么簡便的方法。
ID:213173 發表于 2021-3-13 16:40
lhpm641 發表于 2021-3-13 15:35
謝謝指點。
因為充電壓12~20V不是固定的(因為還有其它的外轉電路),不用AD轉換的話,最大放電電壓(峰 ...

電容充放電時間是可以用RC時間常數計算出了的,用示波器也可以直觀觀察,你這要求有點怪。難道要開發專用測量儀器?
ID:104797 發表于 2021-3-13 15:35
wulin 發表于 2021-3-13 09:41
建議用MOS管作為充放電。按圖用51單片機外部中斷下降沿觸發,運放當作電壓比較用。原理圖和程序不一定能夠 ...

謝謝指點。
因為充電壓12~20V不是固定的(因為還有其它的外轉電路),不用AD轉換的話,最大放電電壓(峰值)應該怎么用單片機測出來?
ID:213173 發表于 2021-3-13 09:41
建議用MOS管作為充放電。按圖用51單片機外部中斷下降沿觸發,運放當作電壓比較用。原理圖和程序不一定能夠正常運行,但邏輯關系已很清楚。

  1. #include "reg51.h"
  2. sbit key=P1^0;                        //充放電開關
  3. sbit recharge =P1^1; //充電管
  4. sbit discharge=P1^2; //放電管
  5. unsigned int num,num1;//定時器計數變量
  6. unsigned int count=0;        //消抖計數變量
  7. long time; //時間變量us
  8. bit flag=0;//放電結束標志
  9. bit sign=0;//開關狀態標志

  10. void main()
  11. {
  12.         TMOD= 0x01;
  13.         TH0 = 0x00;
  14.         TL0 = 0x00;
  15.         TR0 = 0;//關閉定時器
  16.         ET0 = 1;
  17.         EA  = 1;     
  18.         IT0 = 1;
  19.         EX0 = 1;   
  20.         while (1)
  21.         {
  22.                 if(!key)        //放電
  23.                 {
  24.                         if(++count>=500 && sign==0)        //放電
  25.                         {
  26.                                 sign=1;                        //操作記憶
  27.                                 recharge =0;//關充電
  28.                                 discharge=1;//開放電
  29.                                 num=0;                //清0
  30.                                 num1=0;                //清0
  31.                                 time=0;                //清0
  32.                                 TR0 = 1;                //啟動定時器
  33.                                 while(!flag);//等待放電結束
  34.                                 flag=0;                //清0
  35.                                 time=(long)(num1*65536)+num;//單位us
  36.                         }
  37.                 }
  38.                 else
  39.                 {
  40.                         count=0;                //清0
  41.                         sign=0;                //復位
  42.                         recharge =1;//開充電
  43.                         discharge=0;//關放電
  44.                 }
  45.         }
  46. }
  47. void t0int() interrupt 1
  48. {
  49.     num1++;//累加
  50. }

  51. void exint0() interrupt 0
  52. {
  53.         TR0 = 0;                //關閉定時器
  54.         num=TH0<<8|TL0; //讀取寄存器值
  55.         flag=1;                        //放電結束
  56. }



復制代碼




ID:516863 發表于 2021-3-13 00:00
按照你的要求,請參考電池充電保護電路及原理。
ID:516863 發表于 2021-3-12 23:58
請問你的電容容量是1F還是1UF?電壓是12V還是20V?是短路放電嗎?

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表