基于STM32F103VCT6的微位移控制系統設計
圖4是一個計數器操作的實例,顯示了計數信號的產生和方向控制,還顯示了當選擇雙邊沿時,輸入抖動是如何被抑制的;抖動可能會在傳感器的位置靠近一個轉換點時產生。在這個例子中,假定配置如下:
CC1S=01 (TIMx_CCMR1寄存器,IC1FP1映射到TI1)
CC2S=01 (TIMx_CCMR2寄存器,IC2FP2映射到TI2)
CC1P=0 (TIMx_CCER寄存器,IC1FP1不反相,IC1FP1=TI1)
CC2P=0 (TIMx_CCER寄存器,IC2FP2不反相,IC2FP2=TI2)
SMS=011 (TIMx_SMCR寄存器,所有的輸入均在上升沿和下降沿有效),
CEN=1 (TIMx_CR1寄存器,計數器使能)
2 系統軟件設計
2.1 上位機軟件設計
上位機界面基于VB進行設計,包括初始狀態設定,步進電機命令輸入,運行模式選擇,調頻的實現,限位開關,反饋顯示,如圖5所示。本文引用地址:http://www.104case.com/article/154786.htm
2.2 下位機軟件設計
下位機程序基于RealView MDK開發環境進行開發。RealView MDK集成了業內最領先的技術,包括μVision3集成開發環境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成FLASH燒寫模塊,強大的Simulation設備模擬,性能分析等功能。程序采用模塊化設計,在主函數中實現系統的時鐘配置、中斷配置、通用輸入/輸出配置、硬件初始化和用戶函數的調用。用戶函數包括步進電機運動程序、反饋信號處理程序、限位信號處理程序、頻率調節程序等。驅動步進電機所需的脈沖由定時器中斷產生。定時器工作模式的向上計數模式,當計數器溢出時產生更新事件。所有的寄存器都被更新,計數器重新開始計數。在程序中設置脈沖啟動頻率為50 Hz,加減速頻率為50 Hz/脈沖,可以改善步進電機運動的平穩性,流程圖如圖6所示。
評論