<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于89C55和GAL16V8,MC1413的步進電機驅動器的設計(06-100)

          基于89C55和GAL16V8,MC1413的步進電機驅動器的設計(06-100)

          —— 基于89C55和GAL16V8,MC1413的步進電機驅動器的設計
          作者:哈爾濱圣邦微電子有限公司 任明巖 孫金英 錢海波 時間:2008-04-07 來源:電子產(chǎn)品世界 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/81278.htm

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

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

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

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


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();