用麵包板做一個步進電機驅動電路

今天在我的那個單片機試驗箱裡翻到啦一個35mm的步進電機, 然後在配套資料裡面找到了驅動電路

的電路圖 如圖

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

下面我給大家講講原理 (僅供參考) :首先j18接口是加到單片機io口上的 j19接到步進電機 j19的1234分別為步進電機的a,a1,b,b1

首先 8550是低電平導通,如果j18的1的電平為0,那麼三極管v8導通,v8導通之後j19的1腳的電平為1

,同時電流又通過R49讓三極管v15導通 由電路圖可知 ,j19的2腳接到了v15的集電極,且j19的2腳和1腳是

一組線圈,3和4腳是一組線圈,現在1腳電平為1,電流流經一組線圈 從2腳出來通過三極管v15 流向負極。

也就是 三極管v8和v15是一組,v7和v16是一組,v10和v17是一組,v9和v18是一組, 這樣兩個三極管共

同承擔電流 可以使電路更穩定;這就是工作原理 ,其他的幾組三極管同理,至於r47和r51是幹啥用的,我也不知道

,誰知道的話就說出來,我會感謝你們滴, 我講的可能不怎麼好,你們可以噴 至於步進電機的原理 百度一大堆,我就不介紹了

下面就是製作過程;

需要的東西就是這些 三極管8550和8050 ,電阻(沒找到1k電阻除了r47和r51用1.3k,其別的用820歐,排針,還有洞洞板,一把烙鐵

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

然後按照電路圖在洞洞板上安裝零件

用麵包板做一個步進電機驅動電路

反面

用麵包板做一個步進電機驅動電路

佈線~~~~~

用麵包板做一個步進電機驅動電路

地方不夠的把焊盤削成兩半 然後焊金屬絲

用麵包板做一個步進電機驅動電路

有的地方沒法佈線 就用跳線像這樣:

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

製作成品

用麵包板做一個步進電機驅動電路

反面

用麵包板做一個步進電機驅動電路

用到的電機是兩相四線步進電機

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

如圖

用麵包板做一個步進電機驅動電路

用麵包板做一個步進電機驅動電路

程序如下 (程序裡的Abc接到一個燈上,判斷程序是否運行用的)

  1. //此程序是 兩線四相步進電機 驅動程序
  2. #include
  3. //***定義*******************************
  4. sbit A0=P1^7;
  5. sbit A1=P1^6;
  6. sbit B0=P1^5;
  7. sbit B1=P1^4;
  8. sbit Abc=P1^0;
  9. //***脈衝寬度***************************
  10. mckd() //3ms@12MHz
  11. {
  12. unsigned int i=375;
  13. while(--i);
  14. }
  15. void delay(int x)
  16. { int i,j;
  17. for(i=0;i
  18. for(j=1;j<=600;j++);
  19. }
  20. //***轉速控制***************************
  21. zhuansu()
  22. {
  23. unsigned char s=2; //改變s的值可改變速度,值越大速度越慢
  24. while(--s) mckd();
  25. }
  26. //**********************************
  27. main()
  28. {
  29. while(1)
  30. { Abc=0;
  31. delay(10);
  32. A0=0; zhuansu(); A0=1; //A0
  33. B0=0; zhuansu(); B0=1; //B0
  34. A1=0; zhuansu(); A1=1; //A1
  35. B1=0; zhuansu(); B1=1; //B1
  36. Abc=1;
  37. delay(10);
  38. }
  39. }


分享到:


相關文章: