freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于can總線的步進電機控制系統(tǒng)(編輯修改稿)

2025-07-24 17:15 本頁面
 

【文章內容簡介】 C5V兩端接入一個瓷片電容104,提高了系統(tǒng)電源的穩(wěn)定性。第三管腳是電壓電源VCC接直流電源5V。第四管腳RXD是接收數據輸出端,從CAN總線上讀取到的數據從這里輸出與TXD口一樣,一般接在CAN總線控制器上,本系統(tǒng)接在SJA1000上的第19腳RX0上。第五管腳Vref是參考電壓輸出端,因為本系統(tǒng)所參與的上位機沒有參考電壓輸入端,所以我把這個管腳懸空。第六管腳CANL是低電平電壓輸入/輸出管腳,接在CAN總線上的CANL線上。是本系統(tǒng)與CAN總線的主要接口。第七管腳CANH是高電平電壓輸入/輸出管腳,接在CAN總線上的CANH線上。是本系統(tǒng)與CAN總線的主要接口。第八管腳Rs是斜率電阻輸入管腳,在本系統(tǒng)中,接一個47KΩ的電阻連接到電源地上。PCA82C50 是CAN 協(xié)議控制器和物理總線間的接口,它主要是為汽車中高速通訊(高達1Mbps)應用而設計。此器件對總線提供差動發(fā)送能力,對CAN 控制器提供差動接收能力,完全符合“ISO11898”標準。一個限流電路可防止發(fā)送輸出級對電池電壓的正端和負端短路。雖然在這種故障條件出現時,功耗將增加,但這種特性可以阻止發(fā)送器輸出級的破壞。在節(jié)點溫度大約超過160℃時,兩個發(fā)送器輸出端的極限電流將減少。由于發(fā)送器是功耗的主要部分,因此芯片溫度會迅速降低。IC 的其他所有部分將繼續(xù)工作。當總線短路時,熱保護十分重要。CANH、CANL 兩條線也防止在汽車環(huán)境下可能發(fā)生的電氣瞬變現象。 步進電機驅動電路設計 步進電機驅動電路原理圖 步進電機驅動電路的核心芯片是ULN2003,該芯片具有電流放大倍數發(fā),工作電壓范圍廣,負載功率大等特點,適用于各類需要驅動脈沖頻率高,驅動電路大的驅動控制系統(tǒng)。在本系統(tǒng)中,采用的是由美國的兩家公司聯合出品的ULN2003A芯片。 ULN2003功能框圖在實際項目中,常常要用到伺服電機、步進電機、無刷電機等各種大功率、高電壓的電器件。ULN200ULN280系列產品就是為了這類大功率用電器而推出的,由于這類電器件功能強大,市場銷量好。因此,水漲船高,此芯片的銷路很廣,故越來越多的芯片生產廠商都生產此類產品,造成了市場上有各種系列產品,在本系統(tǒng)中,采用的是由美國的兩家公司聯合出品的ULN2003A芯片。 輸入脈沖占空比與輸出路數和輸出電流的關系曲線ULN2003A型芯片的輸入脈沖占空比、,從圖中可以了解到,最大的輸出電流隨著輸入脈沖的占空比以及輸出路數的增加而降低,所以:占用過多的通道會使芯片的驅動電流和驅動電壓減小。 輸出Ic、Vce和輸入Ii的關系曲線、輸出電壓VCE和輸入電流II三者之間的關系曲線,隨著輸入電流的增大,輸出電壓反而降低,而隨著輸出電流的增加,輸出電壓也隨之增加。 步進電機 MITSUMI公司的M35SP7型步進電機本系統(tǒng)的執(zhí)行機構采用執(zhí)行機構的是MITSUMI公司的M35SP7型步進電機,它具有尺寸小扭矩高,穩(wěn)定性好,精度高,相應速度快等優(yōu)點。 M35SP7主要參數額定工作電壓DC6V工作電壓范圍DC5V~最大電流最大807mA線圈組數4組線圈電阻8Ω/相177。7%步進角176。/步絕緣等級E級絕緣保持轉矩m失步轉矩m/200pps失步脈沖770pps,步進電機主要有額定電壓,最大電流,線圈組數,線圈電阻,步進角等參數。:步進電機的相數也就是定子繞組的數量,一般有二相,三相,四相,五相等。一般來說,步進電機的相數越高,步距角越小,精度也就越高。步進角是步進電機的固有參數,即使我們使用好的細分驅動器,也不可以改變步進角這個參數。但使用細分驅動器能提高步進的精度,減小運行時的噪音和顫動,并且可以提高扭矩。細分驅動器是根據對電流大小的細分來達到步數的細分,會受到許多外在和內在因素的影響,實際的效果并不好。平滑控制比不使用平滑控制好,但細分驅動控制目前算是控制方式的首選。2. 步進電機的步距角:它表示控制系統(tǒng)每次發(fā)出一個點脈沖信號,步進電機轉子所轉動的角度。這個參數是步進電機的實際精度一個表現。 3. 步進電機的保持轉矩:步進電機的保持轉矩指的是步進電機通電但沒有驅動脈沖變化運動時,步進電機的轉子和定子間的力矩。保持轉矩是步進電機重要的參數。一般來說,步進電機在低速運行時的轉動力矩接近于保持轉矩。因為步進電機的輸出力矩隨著轉子的轉速的減小而不斷遞增,輸出功率也隨轉子轉度的減小而變大,故而保持轉矩就變成了步進電機的重要參數。例如,當技術人員說7NM的步進電機,一般情況下說的都是保持轉矩是7Nm的步進電機。 4. 步進電機的制動轉矩:步進電機的制動轉矩是指電機沒有通電的情況下,步進電機定子與轉子之間力矩。有些步進電機的轉子是電磁鐵材料,所以它無制動轉矩這個參數。:步進電機溫度過高首先會使步進電機內部的永磁性材料磁性減弱,從而使步進電機的轉動力矩下降甚至停止工作導致失步,因此電機的最高溫度是因為采用的磁性材料的退磁溫度來決定;一般情況下,磁性材料的退磁溫度都在120℃以上,有的材料甚至能達到250℃以上,所以電機的表面溫度達到90℃也是可以正常工作的。 步進電機在調速范圍較大時,步進電機的功率是變化的,實際生產中一般采用力矩來衡量。 ……………………………………………()其中參數P是功率,它的單位是瓦特,Ω為每秒轉動的角度,單位是弧度,n為定子轉動的速度,M為力矩單位為牛頓?米 (半步工作) …………………………………………………() 中,參數f代表的含義是每秒脈沖數,縮寫是PPS。步進電機一般用在打印機,多功能一體機,復印機,傳真機等,具有高精度,快速相應等特點的系統(tǒng)上。為了減小調試難道和方便實物驗收,本系統(tǒng)增加了步進電機轉速標志模塊。因為發(fā)光二極管反向耐壓只有5伏。他的工作電流也比較小,所以在實際生產生活中必須跟限流電阻串聯用以限制支路上的電流。:…………………………………………………………………()式中E為電源正電壓,UF為發(fā)光二級管的工作電壓,IF為發(fā)光二級管的額定電流。發(fā)光二極管有一般只有兩根引腳,其電源正負極的辨別方式和電容一樣,較短的為負極,較長的為正極。長的一端應該連接電源的正極。有個別廠商生產的引腳一樣長,但外殼上絕對會有標記,一般與標記較近的引腳是發(fā)光二級管正極。發(fā)光二級管與小燈泡和氖氣燈相比較,發(fā)光二級管的優(yōu)點是:工作電壓低,工作電流小,功耗小,穩(wěn)定性好,衰老時間長;通過調節(jié)電流的大小就可以方便地改變LED發(fā)光的強弱。所以,發(fā)光二極管用途很廣,例如:大型公共場所或者室內的照明光源,在電子設備中當做信號指示燈等。在本電路中,電流為3mA?!ǎ┤〗浦?KΩ的色環(huán)電阻,串聯在電路中,得到了較好的效果。4 基于CAN總線的步進電機控制系統(tǒng)軟件設計基于CAN總線的步進電機控制系統(tǒng)軟件設計主要分為SJA1000驅動部分和步進電機驅動部分兩大塊,其中步進電機驅動部分是主體,是單片機一直運行的函數,完成了對步進電機的基本運動控制,其中包含了正轉,反轉和停止共九級調速。SJA1000驅動部分包括SJA1000芯片初始化模塊、CAN總線發(fā)送函數模塊和CAN總線接收模塊。步進電機調速指示燈驅動,步進電機速度等級發(fā)送等功能包含在其他子程序中,這些功能模塊的設計會在本章后半段詳細講解。 系統(tǒng)功能模塊詳細設計 ,整個系統(tǒng)的軟件流程,在系統(tǒng)上電后對各個芯片進行初始化,次序如下,首先對STC89C52RC單片機進行初始化,包括打開單片機的內部定時器0,外部中斷1和數據總線、地址總線的初始化。若初始化成功進入CAN總線初始化模塊,此模塊主要包括對SJA1000芯片的初始化,對其與單片機相連接的一些管腳進行初始化設置,保證初始化完成。如果初始化失敗,重新初始化,如果成功,則設置定時器0,定時10us,此后,程序執(zhí)行到步進電機調速部分,根據從CAN總線接收到的數據,驅動步進電機調速和點亮相應的指示燈進行顯示。 單片機初始化系統(tǒng)上電后,單片機首先對自己進行初始化,為后續(xù)程序做鋪墊。主要是對SJA1000進行復位操作,復位的方法是對SJA1000的RST腳先至于低電平,10US后,在拉高該腳,這樣SJA1000就進行了一次復位操作了。復位操作后,為了與SJA1000通訊,所以要選中SJA1000芯片,故而拉低SJA_CS腳。然后是開啟外部中斷1,觸發(fā)方式是邊緣觸發(fā),而后開啟總中斷。 SJA_RST = 0。 //SJA1000復位有效 mDelay(10)。 //延時 SJA_RST = 1。 //CAN總線復位管腳,復位無效 mDelay(10)。 SJA_CS = 0。 //CAN總線片選有效 EX1 = 1。 //外部中斷1使能;CAN總線接收中斷 IT1 = 0。 //CAN總線接收中斷,低電平觸發(fā) EA = 1。 //打開總中斷 CAN初始化模塊在單片機初始化完成后,隨著程序的執(zhí)行,就進入了CAN初始化模塊,由于本系統(tǒng)采用了新型的CAN總線獨立控制器SJA1000,所以對CAN的初始化都是圍繞著SJA1000完成的。SJA1000T的初始化只能在復位后才可以進行,初始化的內容主要包括:芯片的工作方式的設置、接受濾波的工作方式的設置、接收代碼寄存器(ACR)和接收屏蔽寄存器(AMR)的設置、波特率的設置和中斷許可寄存器(IER)的設置等。 CAN總線發(fā)送模塊本系統(tǒng)的發(fā)送過程很簡潔,在確定芯片沒有發(fā)送報文,且發(fā)送緩沖區(qū)為空時,發(fā)送的程序只需要將需要發(fā)送的數據按照特殊的格式組合成一組報文,送人SJA1000的發(fā)送緩沖區(qū)里,然后控制SJA1000芯片發(fā)送即可,發(fā)送的數據分為遠程幀和數據幀,本系統(tǒng)只用到了數據幀。CAN總線發(fā)送函數:void SJA_TX(unint id,unchar txdata){ unchar tx_buffer[6]。 unchar data state。 unint tmp。 //這個臨時變量是用于id處理的 tx_buffer[0] = 0x81。 //設定為pelican幀格式,并且一次傳一個字節(jié) //將節(jié)點號,按照發(fā)送緩沖區(qū)的規(guī)則,填寫到發(fā)送緩沖區(qū)中 tmp = id 3。 tx_buffer[1] = 0x00。 tx_buffer[2] = 0x00。 //高16位沒有用,默認為0 tx_buffer[3] = (unchar)(tmp8)。 tx_buffer[4] = (unchar)tmp。tx_buffer[5] = txdata。 //要發(fā)送的數據 do { state = SJA_SR。 } while(state amp。 RS_BIT)。 do //確保sja1000,不是處于發(fā)送數據的狀態(tài) { state = SJA_SR。 } while(state amp。 TS_BIT)。 do //確保sja1000,發(fā)送緩沖區(qū)為空 { state = SJA_SR。 } while(!(state amp。 TBS_BIT))。 //=0,發(fā)送緩沖器被鎖。等待 SJA_TBSR0 = tx_buffer[0]。 SJA_TBSR1 = tx_buffer[1]。 SJA_TBSR2 = tx_buffer[2]。 SJA_TBSR3 = tx_buffer[3]。 SJA_TBSR4 = tx_buffer[4]。 SJA_TBSR5 = tx_buffer[5]。SJA_CMR = TR_BIT。 //開始芯片發(fā)送數據}4,6 CAN總線接收模塊CAN數據的接收是通過外部中斷1來實現的,首先,當SJA1000芯片接收到了數據,然后通過電路向單片機發(fā)出中斷請求,單片機根據中斷優(yōu)先級,執(zhí)行各個中斷的操作,當單片機執(zhí)行到外部中斷1的附帶操作時,單片機首先關閉總中斷,防止中斷嵌套,破壞操作時序,然后讀出SJA1000芯片的中斷寄存器的內容確定是那種中斷,如果是數據中斷,單片機讀取SJA1000的緩沖區(qū)的內容,送入數組rx_buffer[6]中,接收到數據后,釋放SJA1000的緩沖區(qū)、仲裁實時捕捉寄存器和錯誤代碼捕獲寄存器。并且把接收到的數據復制到全局變量display中,執(zhí)行完畢后,開總中斷。void SJA_RX(void) interrupt 2 //51外部中斷1{ unchar rx_buffer[6]。 unchar state。 EA = 0。 //關中斷 state = SJA_IR。 //讀出中斷寄存器的內容,以確定產生哪種中斷 //確定是因為接收數據產生的中斷,并將數據送往局部數組rx_buffer if(state amp。 RI_BIT) { rx_buffer[0] = SJA_RBSR0。 rx_buffer[1] = SJA_RBSR1。 rx_buffer[2] = SJA_RBSR2。 rx_buffer[3] = SJA_RBSR3。 rx_buffer[4] = SJA_RBSR4。 rx_buffer[5] = SJA_RBSR5。 } SJA_CMR =SJA_CMR | RRB_BIT。//接收到數據后,
點擊復制文檔內容
數學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1