久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 使用51單片機的點焊機控制裝置設計(程序+原理圖) [打印本頁]

作者: hujj    時間: 2018-12-19 12:53
標題: 使用51單片機的點焊機控制裝置設計(程序+原理圖)
    最近做了一個用單片機的點焊機控制裝置,使用的是89C51單片機、LCD5110顯示屏和微型繼電器,通過檢測按鈕信號,精確控制點焊機變壓器的導通時間和兩次焊接的間隔時間。變壓器導通時間從40毫秒到2600毫秒之間,按20毫秒為一檔連續可調,兩次焊接的間隔時間則為5秒和10秒兩檔,這兩個參數均通過7+1位撥碼開關由用戶根據需要動態設置,設置結果即時顯示在屏幕上。參見下圖:

003電子點焊機.jpg(44 KB, 下載次數: 0)
下載附件
前天 13:17 上傳





    屏幕中間顯示的是設置的點焊時間,以毫秒為單位,通過左起的7位撥碼開關設置。下部左邊顯示的的是設置的間隔時間,為5秒和10秒兩檔, 通過最右邊的撥碼開關設置。屏幕右下角顯示的是間隔時間倒計時,只有倒計時為零時,單片機才接收點焊按鈕的信號。下圖是點焊機的正面:

115控制板制作_通電測試.jpg(140.45 KB, 下載次數: 0)
下載附件
前天 13:16 上傳





    機箱面板上有3個LED指示燈,最上面紅色的是電源指示燈,面板上開關打開接通控制電源后常亮。中間橙色的是工作指示燈,點焊機變壓器接通后點亮,關閉后即滅。下面綠色的是準備好信號燈,當倒計時為零時此燈閃爍,只有綠色信號燈閃爍時點焊按鈕才有效,這個信號燈在焊把上也同時存在。
    下面是控制線路的原理圖:




    整個控制線路用了兩塊萬用板搭焊,一塊安裝了3個LED信號燈、LCD5110顯示屏和8位撥碼開關,另一塊則是單片機及外圍電路、微型繼電器以及7805穩壓塊等。

單片機源程序如下:
  1. /*******************************************************************************
  2. *                                                                                                                                            *
  3. *                                        點焊機控制器                                                                           *
  4. --------------------------------------------------------------------------------
  5. * 結構說明:    51單片機計時控制                                                                                                   *
  6. *              在檢測到點焊手柄發出的工作信號時,                                                           *
  7. *              立即接通點焊機的電源,點焊機開始工作,設定的時間結束后切斷電源,*
  8. *              在設定的間隔時間內,不接收點焊手柄發出的工作信號。              *
  9. * 版本說明:    胡家峻@2018年8月                                                                                              *
  10. *******************************************************************************/
  11. /*
  12. * 單片機P0^0~P0^4口分配給LCD5110使用:RET、CE、D/C、DIN、CLK(在LCD_5110.h中定義
  13. *       P0^5     設備等待(可以工作)信號燈
  14. *            P0^6     設備工作間隙(不接收點焊信號)信號燈
  15. *
  16. *            P1^0~P1^6   開關設置點焊時間(20毫秒為1單位,0~127單位)
  17. *            P1^7        工作間隙:0=5秒,1=10秒
  18. *******************************************************************************/

  19. #include<reg51.h>
  20. //#include<intrins.h>
  21. #include"LCD_5110.h"      //包含LCD顯示驅動文件

  22. #define u8 unsigned char  //單字節
  23. #define u16 unsigned int  //雙字節
  24. #define        u64 unsigned long //四字節

  25. #define        SZP1 P1           //P1口為初始設置的數據,低七位為定時數值(0-127)*20ms,                                                                                                  
  26.                           //第八位為間隙時間,0=5秒,1=10秒
  27. sbit LED_work = P0^5;     //設備工作信號(低電平點焊機接通)
  28. sbit LED_read = P0^6;     //設備就緒信號(低電平可以工作)
  29. sbit work     = P0^7;          //點焊按鈕信號(低電平按下)
  30.                                                                                                                         
  31. //--定義全局變量--//
  32. u8  sdsj = 0;             //設定的點焊單位
  33. u64 shsj = 0;             //設定的點焊時間(雙字節,以毫秒為單位)
  34. u8 wait = 5;                          //設置的間隔時間(5秒或10秒,根據P1.7確定)
  35.                                                            
  36. u8 time_work = 0;         //焊接時間計時(20毫秒/單位)
  37. u8 time_wait = 0;                  //等待時間計時(單位秒)
  38. bit time_1s = 0;              //秒信號
  39. bit time_20ms = 0;                  //20毫秒信號
  40. bit flag = 0;             //定時工作標志(0=待機或間隔,1=正在工作


  41. /*******************************************************************************
  42. * 函 數 名         : ReadSet
  43. * 函數功能                   : 讀設置并顯示
  44. * 輸    入         : 無                                                                                                                                                
  45. * 輸    出         : 無
  46. *******************************************************************************/
  47. void ReadSet(void)
  48. {
  49.         sdsj = SZP1;               //從P1口讀入一個字節的數據
  50.         if (sdsj>127) wait = 10;   //最高位1,間隔時間=10秒
  51.         else wait = 5;
  52.         LCD_write_val(27,4,2,wait);//顯示設定的間隔時間
  53.          
  54.         sdsj = (sdsj & 0x7f) + 3;  //取低7位定時值再加3(60毫秒)
  55.         shsj = sdsj * 20;                   //20毫秒基本單位
  56.         LCD_write_val(27,2,4,shsj);//顯示設定的點焊時間
  57. }


  58. /*******************************************************************************
  59. * 函 數 名         : timehand
  60. * 函數功能                   : 20毫秒處理函數,即每隔20毫秒處理一次
  61. * 輸    入         : 無
  62. * 輸    出         : 無
  63. *******************************************************************************/
  64. void TimeHand(void)
  65. {
  66.     if (flag == 0)        //待機狀態
  67.         {
  68.             if (work == 0)    //收到點焊按鈕信號
  69.                 {
  70.                         flag = 1;     //設置工作標志
  71.                         time_work = sdsj;//取設定時間
  72.                         LED_work = 0; //開通工作電源
  73.                         LED_read = 1; //關閉等待信號燈
  74.                 }
  75.                 else                          //無點焊按鈕信號
  76.                 {
  77.                         ReadSet();          //檢查更新設置
  78.                 }                                                                        
  79.         }
  80.         else                          //工作狀態
  81.         {
  82.                 time_work--;
  83.                 if (time_work == 0)//定時時間到
  84.                 {
  85.                         LED_work = 1;  //關閉點焊機電源
  86.                         LED_read = 1;  //取消準備好信號燈
  87.                         flag = 0;            //撤銷工作標志
  88.                         time_wait = wait;//恢復間隔時間
  89.                         LCD_write_val(61,4,2,time_wait);//顯示剩余間隔時間
  90.                 }
  91.         }
  92. }



  93. /*******************************************************************************
  94. * 函 數 名         :
  95. * 函數功能                   : T0中斷服務函數
  96. * 輸    入         : 無
  97. * 輸    出         : 無
  98. *******************************************************************************/
  99. void InterruptTimer0() interrupt 1
  100. {
  101.         static u8 i = 0;           //毫秒
  102.         static u8 j = 0;           //20毫秒

  103.         TH0 = 0xFC;            //重新加載初值,定時1ms
  104.         TL0 = 0x66;

  105.         i++;
  106.         if (i > 19)                   //20毫秒計時到
  107.         {
  108.             i = 0;
  109.                 time_20ms = 1;           //置20毫秒標志
  110.             j++;
  111.             if (j > 49)        //1秒
  112.                 {
  113.                     j = 0;
  114.                         time_1s = 1;   //置1秒標志
  115.             }
  116.         }
  117. }


  118. /*******************************************************************************
  119. * 函 數 名         : main
  120. * 函數功能                   : 主函數
  121. * 輸    入         : 無
  122. * 輸    出         : 無
  123. *******************************************************************************/
  124. void main(void)
  125. {
  126. //設置初始屏幕顯示
  127.     u8 i, x ,y;
  128.         
  129.         LED_work = 1; //測試
  130.         LED_read = 1;
  131.         LCD_init();                   //初始化5110屏幕

  132.         x = 8;                                   //顯示的起始位置
  133.         y = 0;
  134.         for (i = 0; i < 5; i++)//顯示“電子點焊機”
  135.         {
  136.                 LCD_write_char(x,y,i);//
  137.                 x = x +        14;        //下一字的顯示位置
  138.         }
  139.         x = 0;
  140.         y = 2;
  141.         LCD_write_char(x,y,3); //顯示“焊”
  142.         x = 14;
  143.         LCD_write_char(x,y,5); //顯示“接”
  144.         x = 59;
  145.         LCD_write_char(x,y,8); //顯示“毫”
  146.     x = 72;
  147.         LCD_write_char(x,y,9); //顯示“秒”
  148.         x = 0;
  149.         y = 4;
  150.         LCD_write_char(x,y,6); //顯示“間”
  151.         x = 14;
  152.         LCD_write_char(x,y,7); //顯示“隔”
  153.         x = 44;
  154.         LCD_write_char(x,y,9); //顯示“秒”
  155.         x = 76;
  156.         LCD_write_ASCII(x,y,12);//顯示“s”

  157.         ReadSet();              //讀取設定定時時間并顯示
  158.         LCD_write_val(61,4,2,time_wait);//顯示剩余間隔時間
  159.         LED_read = 0;           //顯示準備好信號燈

  160.         TMOD = 0x01;            //設置T0為模式1
  161. //        TH0 = 0xF8;             //為T0賦初值0xF8CD,定時2ms
  162. //        TL0 = 0xCD;
  163.     TH0 = 0xFC;             //為T0賦初值0xFC67,定時1ms
  164.     TL0 = 0x66;
  165. //        TH0 = 0xFC;
  166. //        TL0 = 0xC3;                    //為T0賦初值0xFA02,定時1ms
  167.         ET0 = 1;                //開T0中斷
  168.         TR0 = 1;                //啟動定時器0
  169.         EA = 1;                 //開總中斷
  170.         
  171.         while(1)
  172.         {
  173.                 if (time_1s == 1)   //每秒處理
  174.                 {
  175.                     time_1s = 0;    //重置秒標志
  176.                         
  177.                         if (time_wait > 0)
  178.                         {
  179.                             time_wait--;
  180.                         if (time_wait == 0)
  181.                             {
  182.                                 LED_read = 0;//顯示就緒信號
  183.                             }
  184.                                 LCD_write_val(61,4,2,time_wait);//顯示剩余間隔時間
  185.                    }
  186.                         else
  187.                         {
  188.                             if (LED_work == 1)
  189.                                 {
  190.                                     LED_read = ~LED_read;//等待時每秒閃一次
  191.                                 }
  192.                     }
  193.                 }        
  194.                         
  195.                 if (time_20ms == 1)
  196.                 {
  197.                         time_20ms = 0;          //重置20毫秒標志
  198.                         if (time_wait == 0)
  199.                         {
  200.                             TimeHand();   //調用20毫秒處理程序
  201.                         }
  202.                 }
  203.         }
  204. }
復制代碼

所有資料51hei提供下載:
點焊機.rar (708.39 KB, 下載次數: 252)
Keil項目文件包


作者: readghost    時間: 2018-12-29 12:09
樓主有沒有電路板的焊接圖啊!pcb工程打不開報錯

----------
補充:進History目錄可以打開原理圖文件了,作者沒有畫PCB圖

作者: hs88    時間: 2019-1-2 00:19
字模用什么軟件
作者: xinyu_08    時間: 2019-1-5 17:15
你這個能不能改一下,按鍵調整放電時間,保存數據到內部EEP.
作者: hs88    時間: 2019-1-6 03:13
已改成按鍵調放電時間和間隔時間
作者: 544919169    時間: 2019-1-9 10:44
謝謝你呀.找了好久了
作者: 544919169    時間: 2019-1-9 10:44
readghost 發表于 2018-12-29 12:09
樓主有沒有電路板的焊接圖啊!pcb工程打不開報錯

我下載試試看
作者: 郝小白    時間: 2019-1-13 00:37
這么高端,我看有一個純硬件的
作者: xyf_71    時間: 2019-2-6 22:45
感謝樓主無私奉獻,靜待樓主推出改進版本
作者: hs88    時間: 2019-2-7 04:39
表示已經改進,用旋轉編碼器,從最小20任意到5100ms
作者: xyf_71    時間: 2019-2-7 19:29
hs88 發表于 2019-2-7 04:39
表示已經改進,用旋轉編碼器,從最小20任意到5100ms

我看樓主發布的是撥碼開關的呀
不是旋轉編碼器的
作者: pangjineng    時間: 2019-2-19 09:16
N秒的間隔時間是不是太長了,焊接效率低哦。一般是毫秒級就夠了。
作者: hs88    時間: 2019-2-20 03:39
xyf_71 發表于 2019-2-7 19:29
我看樓主發布的是撥碼開關的呀
不是旋轉編碼器的

樓主發布的沒有改,自己改成旋轉編碼器的
作者: harly2200    時間: 2019-3-23 12:14
hs88 發表于 2019-2-20 03:39
樓主發布的沒有改,自己改成旋轉編碼器的

你改好的能來一份嗎?我也想弄一個玩玩
作者: hucode    時間: 2019-5-11 10:29
功能豐富,但不建議實用繼電器,容易拉弧燒壞繼電器。
作者: zhl4321    時間: 2019-5-12 07:55
謝謝 下載看看
作者: zhl4321    時間: 2019-5-12 07:56
我也下載試試
作者: 王培旭    時間: 2019-8-24 21:51
pcb我做回頭上傳到論壇

作者: 王培旭    時間: 2019-8-25 08:37
已上傳
作者: wbwcf13e    時間: 2019-10-19 15:51
這個點焊機是用微波爐中的變壓器改的嗎?微波爐變壓器初級線圈直流電阻是2歐,接到交流電上電流很大,會引起火災的,點焊時間很短,只能是幾毫秒才行。
作者: Sky丶藍天    時間: 2019-11-7 14:35
郝小白 發表于 2019-1-13 00:37
這么高端,我看有一個純硬件的

能分享不
作者: 68775899    時間: 2019-11-17 22:24
我也下載試試
作者: 646942814    時間: 2020-3-24 16:46

謝謝你呀.DOWN下來學習一下!
作者: zgchen    時間: 2020-5-29 18:19
能驅動MOS板或者晶閘管??
作者: dongge666    時間: 2021-2-17 14:23
pcb工程打不開報錯
作者: 拒絕釹銫    時間: 2023-11-15 11:21
感謝樓主,這是電容?變壓器?




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品视频在线播放 | 精品一区二区三区四区五区 | 九热在线 | 久久毛片 | 久久免费福利 | 久久亚洲欧美日韩精品专区 | 国产精品色 | 亚洲美女网站 | 久久久久久久久久久成人 | 日本一区二区视频 | 国内91在线 | 亚洲天堂久久 | 精品国产乱码久久久久久丨区2区 | 一区二区三区欧美 | 天天插天天操 | 国产精品视频一二三区 | 久草免费在线视频 | 视频一区二区国产 | 亚洲免费人成在线视频观看 | 91成人在线视频 | 成人精品久久 | 蜜桃av人人夜夜澡人人爽 | 欧美日韩在线观看一区 | 国产一区二区电影 | 在线欧美一区二区 | 男人的天堂中文字幕 | 国产精品久久久久永久免费观看 | 国产成人99久久亚洲综合精品 | 国产精品美女久久久久aⅴ国产馆 | 男女搞网站 | 国产精品久久av | a级毛片毛片免费观看久潮喷 | 伦理午夜电影免费观看 | 久久机热| 国产精品久久久久久久三级 | 国产一区不卡 | 免费的日批视频 | 国产一区电影 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 日韩成人一区 | 国产精品一区二区久久 |