中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于89C55和GAL16V8,MC1413的步進(jìn)電機(jī)驅(qū)動(dòng)器的設(shè)計(jì)

        基于89C55和GAL16V8,MC1413的步進(jìn)電機(jī)驅(qū)動(dòng)器的設(shè)計(jì)

        作者: 時(shí)間:2012-01-09 來源:網(wǎng)絡(luò) 收藏

          引言

          步進(jìn)電機(jī)廣泛應(yīng)用于對(duì)精度要求比較高的運(yùn)動(dòng)控制系統(tǒng)中,如機(jī)器人、打印機(jī)、軟盤驅(qū)動(dòng)器、繪圖儀、機(jī)械閥門控制器等。目前,對(duì)步進(jìn)電機(jī)的控制主要有由分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。分散器件組成的環(huán)形脈沖分配器體積比較大,同時(shí)由于分散器件的延時(shí),其可靠性大大降低;軟件環(huán)形分配器要占用主機(jī)的運(yùn)行時(shí)間,降低了速度;專用集成芯片環(huán)形脈沖分配器集成度高、可靠性好,但其適應(yīng)性受到限制,同時(shí)開發(fā)周期長、需求費(fèi)用較高。
          
          和GAL16V8

          是Atmel公司的低電壓,高性能CMOS 8 位單片機(jī),片內(nèi)含20k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),引腳兼容工業(yè)標(biāo)準(zhǔn) 89C51和89C52芯片,采用通用編程方式,片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微處理器的AT可提供許多高性價(jià)比的解決方案,適用于多數(shù)嵌入式應(yīng)用系統(tǒng)。

          通用陣列邏輯GAL是美國Lattice公司研制的一種電可擦除的可編程的新型PLD器件。近幾年來,GAL以其高性能、高可靠性、可擦除及輸出邏輯結(jié)構(gòu)可組態(tài)等特性和100%的成品率,博得廣大用戶的信賴。它可以用來構(gòu)成譯碼器、優(yōu)先級(jí)編碼器、多路開關(guān)、比較器、移位寄存器、計(jì)數(shù)器、總線仲裁器等。采用GAL16V8器件對(duì)兩相和四相混和式步進(jìn)電機(jī)進(jìn)行控制,不僅簡(jiǎn)化了系統(tǒng)的結(jié)構(gòu),降低了成本,而且編程靈活方便,提高了系統(tǒng)的可靠性,使系統(tǒng)具有更強(qiáng)的適應(yīng)性。
          
          硬件設(shè)計(jì)

          本設(shè)計(jì)選用GALl6V8為環(huán)形脈沖分配器和MC1413(國產(chǎn)型號(hào)為5G1413)七路達(dá)林頓驅(qū)動(dòng)器陣列。最大驅(qū)動(dòng)電流可以達(dá)到500mA.通常應(yīng)用時(shí)是把負(fù)載步進(jìn)電機(jī)的一端接到VDD(12V)上,另一端接到輸出引腳上,如16腳。了防止程序進(jìn)入死循環(huán),增加了外部的硬件看門狗定時(shí)器MAX813L,其內(nèi)部的看門狗定時(shí)器監(jiān)控UP/UC的工作。如果在1.6s內(nèi)未檢測(cè)到其工作,內(nèi)部的定時(shí)器將使看門狗輸出WDO處于低電平狀態(tài),WDO將保持低電平直到在WDI檢測(cè)到UP/UC的工作。將WR和WDO連接可使看門狗超時(shí)產(chǎn)生復(fù)位。具體硬件電路如圖1所示。

        基于89C55和GAL16V8,MC1413的步進(jìn)電機(jī)驅(qū)動(dòng)器的設(shè)計(jì)

          軟件設(shè)計(jì)

          通常,步進(jìn)電機(jī)的脈沖控制是由邏輯電路實(shí)現(xiàn)的。在計(jì)算機(jī)控制的系統(tǒng)中,也可以通過編制程序,由擴(kuò)展I/O口輸出脈沖來決定電機(jī)的運(yùn)行方式、方向及轉(zhuǎn)速。這種方式電路簡(jiǎn)單、控制靈活,但占用CPU的時(shí)間過多,每次驅(qū)動(dòng)電機(jī)時(shí),PC機(jī)都得被占用。GAL器件有多種型號(hào),根據(jù)設(shè)計(jì)的需要,同時(shí)從經(jīng)濟(jì)的角度考慮,選用GALl6V8來實(shí)現(xiàn)四相混和式步進(jìn)電機(jī)進(jìn)行控制。使用ABEL語言編程,原碼如下:

        module motor
        title
        Operation of the simulator on devices with
        motor
           DATA I/O Corp. 21 10 2002
           FB1 device 'P16V8R';
           D1,D2,D3,D4 pin 2,3,4,5;
           F1,F2,F3,F4,F5,F6,F7,F8 pin
        19,18,17,16,15,14,13,12;
          equations
           F8 = D1D2D3D4;
           F7 = D1D2D3!D4;
           F6 = D1D2!D3D4;
           F5 = D1D2!D3!D4;
           F4 = D1!D2D3D4;
           F3 = D1!D2D3!D4;
           F2 = D1!D2!D3D4;
           F1 = D1!D2!D3!D4;
        end motor。

          設(shè)置軟件陷阱

          當(dāng)程序進(jìn)入到非程序區(qū),只要在非程序區(qū)設(shè)置攔截措施,使程序進(jìn)入陷阱,然后強(qiáng)迫程序回到初始狀態(tài)。如對(duì)CPU的RST指令對(duì)應(yīng)的字節(jié)碼為 0FFH,如果不用的程序存儲(chǔ)區(qū)預(yù)先寫入0FFH,則當(dāng)程序因干擾而“飛”到該區(qū)域執(zhí)行代碼時(shí),就相當(dāng)于執(zhí)行1條RST指令,從而達(dá)到系統(tǒng)復(fù)位的目的。

          程序流程圖如圖2。

        基于89C55和GAL16V8,MC1413的步進(jìn)電機(jī)驅(qū)動(dòng)器的設(shè)計(jì)

          匯編原碼如下:

          MOV120: MOV R3,#51H
          MOV121: LCALL MOV124 ;12
        行前進(jìn)程序1
           DJNZ R3,MOV121
           MOV P1,#0H ;電機(jī)矢電
          MOV R0,#100
          RD08: LCALLDELY
          DJNZ R0,RD08
          MOV80: MOV R3,#13H
           MOV 2CH,#7 ;8列前進(jìn)程
        序1
          MOV81: LCALL MOV84
           DJNZ R3,MOV81
           MOV P1,#0H ;電機(jī)矢電
           MOVR0,#10H
          RD09: LCALLDELY ;測(cè)量單
        孔程序
           DJNZR0,RD09
           SETBET0; 開定時(shí)器0
          LCALLCOTP ; 單孔測(cè)量程序
          CLRET0;關(guān)定時(shí)器0
          LCALLQUIT
          INC2DH
          LCALLD10MS ;延時(shí)1毫秒
          LCALLD10MS ; 延時(shí)1毫秒
          MOV85: MOV R4,#0CH ;8列前
        進(jìn)程序2
          MOV83: LCALL MOV86
           DJNZ R4, MOV83
           MOV P1,#0H
           MOV R0,#10H
          RD03: LCALLDELY
          DJNZR0,RD03
           SETBET0;開定時(shí)器0
          LCALLCOTP;單孔測(cè)量程序
          CLR ET0 ;關(guān)定時(shí)器0
          LCALLQUIT
          INC2DH
          LCALLD10MS;延時(shí)1毫秒
          LCALLD10MS
           DJNZ 2CH,MOV85 ;測(cè)量,循
        環(huán)7次,
           CJNE R7,#1,RD02 ;判斷測(cè)量
        是否完畢
           POP07H
          SETB P3.3 ;P3.3=1
        high voltage = 450V
          LCALL BK080 ;測(cè)量行列
        完畢,返回初始位置程序
          LCALL BK120
          LCALL LOCKOFF
          RD02: LCALLBK080 ;8列后
        退程序
           MOVR0,#250
          RD0A: LCALLDELY
           LCALL DELY
             DJNZR0,RD0A
          RD01: MOV R5,#0BH
          MOV123: LCALL MOV125 ;12行
        前進(jìn)程序2
           DJNZ R5,MOV123
           MOV P1,#0H ;電機(jī)矢電
           MOVA,R7
          MOV2DH,#0
          INC2EH
          DJNZR7,MOV80 ;循環(huán)行數(shù)次
          
          結(jié)語

          采用此設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng),運(yùn)動(dòng)平穩(wěn),速度快,控制精度高,該產(chǎn)品已應(yīng)用于哈爾濱思創(chuàng)生物的單光子分析計(jì)數(shù)儀的驅(qū)動(dòng)系統(tǒng)。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉