標(biāo)題: 電容點(diǎn)焊機(jī)制作 附單片機(jī)程序與PCB文件 [打印本頁(yè)]

作者: yunhai4321    時(shí)間: 2021-3-22 19:45
標(biāo)題: 電容點(diǎn)焊機(jī)制作 附單片機(jī)程序與PCB文件
咸魚(yú)買(mǎi)了個(gè)48V165F電容,拆開(kāi)了里面18個(gè)電容,3個(gè)電容串聯(lián)做了個(gè)點(diǎn)焊機(jī),帶均壓,STC89C52控制,一個(gè)數(shù)碼管靜態(tài)顯示時(shí)間ms,可以保存上一次設(shè)置的時(shí)間,6個(gè)串聯(lián)做了兩個(gè)應(yīng)急電源,實(shí)驗(yàn)了可以不用電瓶啟動(dòng)轎車,新手發(fā)貼

制作出來(lái)的實(shí)物圖如下:


Altium Designer畫(huà)的PCB圖如下:(51hei附件中可下載工程文件)

51hei圖片_20210322191745.jpg (125.91 KB, 下載次數(shù): 232)

51hei圖片_20210322191745.jpg

51hei圖片_20210322192712.jpg (104.24 KB, 下載次數(shù): 246)

網(wǎng)購(gòu)電容

網(wǎng)購(gòu)電容

51hei圖片_20210322193025.jpg (79 KB, 下載次數(shù): 247)

兩個(gè)應(yīng)急電源

兩個(gè)應(yīng)急電源

51hei圖片_20210322193030.jpg (1.06 MB, 下載次數(shù): 227)

應(yīng)急電源均壓板

應(yīng)急電源均壓板

51hei圖片_20210322193320.jpg (1.05 MB, 下載次數(shù): 233)

均壓板PCB

均壓板PCB

電路圖.jpg (41.9 KB, 下載次數(shù): 252)

均壓板電路圖

均壓板電路圖

電容點(diǎn)焊機(jī).rar

21.19 KB, 下載次數(shù): 165, 下載積分: 黑幣 -5

點(diǎn)焊機(jī)PCB和程序,注意PCB只能用Protel99打開(kāi)

超級(jí)電容均壓板.rar

6.16 KB, 下載次數(shù): 131, 下載積分: 黑幣 -5

均壓板PCB文件


作者: 51hei團(tuán)團(tuán)    時(shí)間: 2021-3-22 20:16
好東東,大家注意PCB只能用Protel99才能打開(kāi),其他版本均不行.樓主的單片機(jī)程序:
  1. #include <reg52.h>                                        //定義頭文件
  2. #include <intrins.h>
  3. #define uchar unsigned char                        //宏定義
  4. #define uint unsigned int                 //宏定義
  5. #define D P2   //段選用D代替
  6. sbit s1=P3^0;//定義加按鍵
  7. sbit s2=P3^1;//定義減按鍵
  8. sbit q1=P0^2;//定義蜂鳴器
  9. sbit s3=P1^0;//定義點(diǎn)焊開(kāi)始
  10. sbit m=P0^0;//定義點(diǎn)焊脈沖輸出
  11. uchar a;         //設(shè)置全局變量

  12. #define RdCommand 0x01        //定義ISP的操作命令
  13. #define PrgCommand 0x02
  14. #define EraseCommand 0x03        
  15. #define Error 1
  16. #define Ok 0
  17. #define WaitTime 0x01 //定義CPU的等待時(shí)間
  18. sfr ISP_DATA=0xe2;  //寄存器申明
  19. sfr ISP_ADDRH=0xe3;
  20. sfr ISP_ADDRL=0xe4;
  21. sfr ISP_CMD=0xe5;
  22. sfr ISP_TRIG=0xe6;
  23. sfr ISP_CONTR=0xe7;

  24. uchar code d[]={0x88,0xEE,0x94,0xC4,0xE2,0xC1,0x81,0xEC,0x80,0xC0};  //不帶小數(shù)點(diǎn)

  25. void DelayMs(unsigned int t);    //ms級(jí)延時(shí)
  26. void anjian( );            //按鍵函數(shù)
  27. void mchshch( );            //脈沖輸出函數(shù)


  28. /* ================ 打開(kāi) ISP,IAP 功能 ================= */
  29. void ISP_IAP_enable(void)
  30. {
  31.         EA        =        0;                                                        /* 關(guān)中斷                 */
  32.         ISP_CONTR =        ISP_CONTR & 0x18;       /* 0001,1000        */
  33.         ISP_CONTR =        ISP_CONTR | WaitTime;        /* 寫(xiě)入硬件延時(shí)        */
  34.         ISP_CONTR =        ISP_CONTR | 0x80;       /* ISPEN=1                */
  35. }
  36. /* =============== 關(guān)閉 ISP,IAP 功能 ================== */
  37. void ISP_IAP_disable(void)
  38. {
  39.         ISP_CONTR        =        ISP_CONTR & 0x7f;        /* ISPEN = 0 */
  40.         ISP_TRIG        =        0x00;
  41.         EA                        =   1;                        /* 開(kāi)中斷 */
  42. }
  43. /* ================ 公用的觸發(fā)代碼 ==================== */
  44. void ISPgoon(void)
  45. {
  46.         ISP_IAP_enable();                        /* 打開(kāi) ISP,IAP 功能        */
  47.         ISP_TRIG        =        0x46;                /* 觸發(fā)ISP_IAP命令字節(jié)1        */
  48.         ISP_TRIG        =        0xb9;                /* 觸發(fā)ISP_IAP命令字節(jié)2        */
  49.         _nop_();
  50. }
  51. /* ==================== 字節(jié)讀 ======================== */
  52. unsigned char byte_read(unsigned int byte_addr)
  53. {
  54.         ISP_ADDRH = (unsigned char)(byte_addr >> 8);/* 地址賦值        */
  55.         ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
  56.         ISP_CMD   = ISP_CMD        & 0xf8;                        /* 清除低3位         */
  57.         ISP_CMD   = ISP_CMD        | RdCommand;        /* 寫(xiě)入讀命令        */
  58.         ISPgoon();                                                        /* 觸發(fā)執(zhí)行                */
  59.         ISP_IAP_disable();                                /* 關(guān)閉ISP,IAP功能        */
  60.         return (ISP_DATA);                                /* 返回讀到的數(shù)據(jù)        */
  61. }
  62. /* ================== 扇區(qū)擦除 ======================== */
  63. void SectorErase(unsigned int sector_addr)
  64. {
  65.         unsigned int iSectorAddr;
  66.         iSectorAddr = (sector_addr & 0xfe00); /* 取扇區(qū)地址 */
  67.         ISP_ADDRH = (unsigned char)(iSectorAddr >> 8);
  68.         ISP_ADDRL = 0x00;
  69.         ISP_CMD        = ISP_CMD & 0xf8;                        /* 清空低3位         */
  70.         ISP_CMD        = ISP_CMD | EraseCommand;        /* 擦除命令3         */
  71.         ISPgoon();                                                        /* 觸發(fā)執(zhí)行                */
  72.         ISP_IAP_disable();                                /* 關(guān)閉ISP,IAP功能        */
  73. }
  74. /* ==================== 字節(jié)寫(xiě) ======================== */
  75. void byte_write(unsigned int byte_addr, unsigned char original_data)
  76. {
  77.         ISP_ADDRH =        (unsigned char)(byte_addr >> 8);         /* 取地址         */
  78.         ISP_ADDRL =        (unsigned char)(byte_addr & 0x00ff);
  79.         ISP_CMD         = ISP_CMD & 0xf8;                                /* 清低3位        */
  80.         ISP_CMD  = ISP_CMD | PrgCommand;                /* 寫(xiě)命令2        */
  81.         ISP_DATA = original_data;                        /* 寫(xiě)入數(shù)據(jù)準(zhǔn)備        */
  82.         ISPgoon();                                                        /* 觸發(fā)執(zhí)行                */
  83.         ISP_IAP_disable();                                        /* 關(guān)閉IAP功能        */
  84. }
  85. /*------------------------------------------------
  86.                     主函數(shù)
  87. ------------------------------------------------*/
  88. void main (void)
  89. {          DelayMs(5);
  90.           a=byte_read(0x2000);//程序開(kāi)始時(shí)讀取EEPROM中數(shù)據(jù)
  91.      //SectorErase(0x2000);//擦除扇區(qū)
  92.     // byte_write(0x2000,5);//重新寫(xiě)入數(shù)據(jù)
  93.          while (1)        //主循環(huán)
  94.    { D=d[a];
  95.          anjian( );
  96.          mchshch( );
  97.          
  98.          }

  99.                                 }




  100. void anjian( )           //按鍵函數(shù)
  101. {  if(s1==0)
  102.     {DelayMs(5);
  103.          if(s1==0)
  104.         {while(!s1)                                                          //按鍵不松開(kāi)調(diào)用顯示函數(shù)
  105.          DelayMs(5);
  106.         a++;         
  107.         if(a==10)
  108.         a=1;
  109.         SectorErase(0x2000);//擦除扇區(qū)
  110.     byte_write(0x2000,a);//重新寫(xiě)入數(shù)據(jù)
  111.         
  112.         
  113.         
  114.         }                 }

  115.         
  116.         
  117.         if(s2==0)
  118.     {DelayMs(5);
  119.          if(s2==0)
  120.         {while(!s2)                                                          //按鍵不松開(kāi)調(diào)用顯示函數(shù)
  121.          DelayMs(5);
  122.         a--;         
  123.         if(a==0)
  124.         a=9;
  125.         SectorErase(0x2000);//擦除扇區(qū)
  126.     byte_write(0x2000,a);//重新寫(xiě)入數(shù)據(jù)
  127.         
  128.         
  129.         }                 }

  130. }


  131. void mchshch( )            //脈沖輸出函數(shù)
  132. {        if(s3==0)
  133.         {DelayMs(1000);
  134.          if(s3==0)
  135.          {DelayMs(500);
  136.          m=0;
  137.          q1=0;
  138.          DelayMs(a);
  139.          m=1;
  140.          q1=1;
  141.          DelayMs(100);
  142.          m=0;
  143.          q1=0;
  144.          DelayMs(a);
  145.          m=1;
  146.          q1=1;
  147.          DelayMs(100);
  148.          while(!s3)
  149.          DelayMs(50); }
  150.         
  151.         }   }





  152. /*------------------------------------------------
  153. uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
  154. unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
  155. 0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編,大致延時(shí)
  156. 長(zhǎng)度如下 T=tx2+5 uS
  157. ------------------------------------------------*/
  158. void DelayUs2x(unsigned char t)
  159. {   
  160. while(--t);
  161. }






  162. /*------------------------------------------------
  163. mS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
  164. unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
  165. 0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編
  166. ------------------------------------------------*/
  167. void DelayMs(unsigned int t) //大致延時(shí)1mS
  168. {
  169.      
  170. while(t--)
  171. {
  172.      
  173.      DelayUs2x(245);
  174.          DelayUs2x(245);
  175. }
  176. }
復(fù)制代碼

作者: 00云夢(mèng)澤00    時(shí)間: 2021-3-22 22:28
應(yīng)急電源均壓板那塊  用修電機(jī)的絕緣漆抹一層 摳出焊盤(pán)再焊接元件  也比你像啃得似的強(qiáng)
作者: wqx513    時(shí)間: 2021-6-13 16:30
這個(gè)是個(gè)好東西,準(zhǔn)備做一個(gè)。

作者: lyong88    時(shí)間: 2021-8-18 02:56
謝謝樓主分享這么好的教程,有時(shí)間試試做一個(gè)。
作者: 1195    時(shí)間: 2021-8-19 14:32
值得收藏一下,學(xué)習(xí)學(xué)習(xí)。想做一個(gè)試試
作者: bjrwjw    時(shí)間: 2021-9-12 21:46
學(xué)習(xí)學(xué)習(xí)。想做一個(gè)
作者: qiyezao    時(shí)間: 2021-9-23 14:41
很感興趣,也想仿制一個(gè)。
作者: qiyezao    時(shí)間: 2021-9-27 16:04
下載了,電路圖都沒(méi)有一個(gè),是誠(chéng)心分享嗎
作者: davidxuwg    時(shí)間: 2021-11-29 21:23
電路圖都沒(méi)有,是誠(chéng)心分享嗎
作者: 無(wú)人深空    時(shí)間: 2021-12-19 22:10
樓主,能貼個(gè)電路原理圖嗎?
作者: tieq1952    時(shí)間: 2021-12-20 07:37
好東西,謝謝分享。!
作者: dxwcr    時(shí)間: 2021-12-20 22:22

樓主,貼個(gè)電路圖啊,
作者: long2018    時(shí)間: 2021-12-23 15:54
值得收藏一下,學(xué)習(xí)學(xué)習(xí)。想做一個(gè)試試
作者: 杰52903032    時(shí)間: 2022-9-5 08:18
樓主厲害了,也想制作個(gè)玩玩,賺分下載
作者: 張國(guó)民    時(shí)間: 2022-9-18 21:52
頭大看不懂程序
作者: 張國(guó)民    時(shí)間: 2022-9-18 22:22
pcb文件怎么導(dǎo)入到立創(chuàng)eda
作者: 張國(guó)民    時(shí)間: 2022-9-19 12:00
沒(méi)有原理圖,這個(gè)pcb軟件看不懂
作者: 920804    時(shí)間: 2022-11-7 13:04
能貼個(gè)電路原理圖嗎?
作者: 小白艾世雄    時(shí)間: 2022-11-10 10:33
感謝樓主的分享!均壓板地方夠,還用貼片原件,實(shí)力強(qiáng)呀。
作者: 無(wú)人深空    時(shí)間: 2023-2-1 14:10
貼pcb還不如直接發(fā)電路圖,,太丑了。。。
作者: 無(wú)人深空    時(shí)間: 2023-2-4 20:21
不發(fā)電路圖也就罷了,最起碼畫(huà)圖,該標(biāo)的名稱應(yīng)該有吧?還有,protel也可以畫(huà)雙層吧。你焊盤(pán)直接放上,啥都不標(biāo),而且,做出來(lái)的實(shí)物圖,你拍個(gè)照也可作為參考,結(jié)果,啥都沒(méi),,是誠(chéng)心分享么。。。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1