① 如何控制步進電機我要做一個智能窗簾,想讓電機到頭就停止,這用51單片機怎麼控制
步進電機怎麼會慢呢 快慢是由步進驅動器的細分數和 單片機所發的脈沖頻率來決定的 你可以降低細分和增加脈沖頻率來提速
至於到頭停止你可以在卷軸內加對射感測器或者反射也可以 意思就是說用來測窗簾目前在卷軸上的厚度 當放完簾布的時候感測有信號輸出 當然上升也是要控制的 也可以用此方法 一個測厚度上限一個測厚度下限,收到信號驅動埠應該不難吧
另外的方法就稍微有點難看 要在窗戶邊上加感測器一個是底部的位置 一個是收起的位置
還有就是固定脈沖數,比如一圈100個脈沖,5圈窗簾放完 那麼寫程序的時候就可以寫500個脈沖,發完後停止 ,個人覺得還是用感測的方法好些 ,用脈沖數的方法的話最好也加上下限感測,起到保護作用,以免窗簾到位後硬拉導致損壞 ,因為步進馬達會丟步的,長時間不用零位校正的話偏差會存在的
希望能夠幫到你
② 單片機步進電機控制實驗 單片機步進電機控制實驗報告
1、實驗目的和要求。了解步進電機的工作原理,學慣用單片機的步進電機控猛睜制系統的硬體設計方法,掌握定時器和中斷系統的應用,熟悉單片機應用系統的設計與調試方法。
2、實驗設備。單片機測控實驗、系統步進電機控制實驗模塊、Keil開發環境、STC-ISP程序下載工具。
3、實驗內容。編制MCS-51程序使步進電機按照規定的轉速和方向進行旋轉,並將已轉動的步數顯示在數碼管上。步襪御進電機的轉速分為兩檔,當按下S1開關時,加速旋轉,速度從10轉/分加速到60轉/分。當松開開關時,減速旋轉,速度恢復為10轉/分。當按下S2開關時,按照逆時針旋轉;當松開時,按照順時針旋轉。本程序要求使用定時器中斷來實現,不準使用程序延時的方式。
4、實驗步驟。預習:參考輔助材料,學習C51編程語言使用和步進電機原理。簡單程序錄入和調試:關於C51的中斷,本程序需要使用定時器定時,並使用中斷來同步。枝好歲中斷程序的典型例子如下:格式:void函數名()interrupt中斷號using工作組{中斷服務程序內容}注意:中斷不能返回任何值,所以前面是void後面是函數名,名字可以自己起,但不要與c語言的關鍵字相同;中斷函數不帶任何參數,所以函數名後面的()內是空的,中斷號是指單片機的幾個中斷源的序號。這個序號是單片機識別不同中斷的唯一標志。所以一定要寫正確。後面的using工作組是指這個這個中斷使用單片機內存中4個工作寄存器的哪一組,c51編譯後會自動分配工作組,因此最後這句話我們通常省略不寫。c51中斷寫法實例:void T1-time()interrupt3{TH1=(65536-50000)/256;TL1=(65536-50000)%6;}上面的意思是定時器1的中斷服務程序,定時器1的中斷服務序號是,因此我們要寫成 interrupt3,服務程序的內容是給兩個初值寄存器裝入新值。
5、實驗原理。使用的單片機系統的頻率是12M;步進電機轉動一周需要24步。本步進電機實驗板,使用FAN8200作為驅動晶元。CPU通過引腳與FAN8200相連。
③ 我有一51單片機控制步進電機調速程序,轉速太慢,22轉/分鍾,提到100轉/分鍾怎麼編程
脈沖間隔只靠delay(Y)來控制,把Y的值變為原來的1/5即可。
④ 如何用單片機控制步進電機步數
如何用單片機控制步進電機
步進電機是機電控制中一種常用的執行機構,它的用途是將電脈沖轉化為角位移,通俗地說:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。通過控制脈沖個數即可以控制角位移量,從而達到准確定位的目的;同時通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
一、步進電機常識
常見的步進電機分三種:永磁式(PM),反應式(VR)和混合式(HB),永磁式步進一般為兩相,轉矩和體積較小,步進角一般為7.5度或15度;反應式步進一般為三相,可實現大轉矩輸出,步進角一般為1.5度,但雜訊和振動都很大。在歐美等發達國家80年代已被淘汰;混合式步進是指混合了永磁式和反應式的優點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為0.72度。這種步進電機的應用最為廣泛。
二、永磁式步進電機的控制
下面以電子愛好者業余製作中常用的永磁式步進電機為例,來介紹如何用單片機控制步進電機。圖1是35BY型永磁步進電機的外形圖,圖2是該電機的接線圖,從圖中可以看出,電機共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5根引出線。要使用步進電機轉動,只要輪流給各引出端通電即可。將COM端標識為C,只要AC、C、BC、C,輪流加電就能驅動步進電機運轉,加電的方式可以有多種,如果將COM端接正電源,那麼只要用開關元件(如三極體),將A、B、輪流接地。列出了該電機的一些典型參數:表135BY48S03型步機電機參數型號步距角相數電壓電流電阻最大靜轉距定位轉距轉動慣量35BY48S03 7.5 4 12 0.26 47 180 65 2.5 有了這些參數,不難設計出控制電路,因其工作電壓為12V,最大電流為0.26A,因此用一塊開路輸出達林頓驅動器(ULN2003)來作為驅動,通過P1.4~P1.7來控制各線圈的接通與切斷。開機時,P1.4~P1.7均為高電平,依次將P1.4~P1.7切換為低電平即可驅動步進電機運行,注意在切換之前將前一個輸出引腳變為高電平。如果要改變電機的轉動速度只要改變兩次接通之間的時間,而要改變電機的轉動方向,只要改變各線圈接通的順序。