环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 運(yùn)動控制 > 步進(jìn)電機(jī)

類型分類:
科普知識
數(shù)據(jù)分類:
步進(jìn)電機(jī)

嵌入式Linux下激光雕刻系統(tǒng)步進(jìn)電機(jī)驅(qū)動程序設(shè)計

發(fā)布日期:2022-10-09 點(diǎn)擊率:114

隨著嵌入式技術(shù)的不斷成熟,基于嵌入式系統(tǒng)編寫特制電路下的設(shè)備驅(qū)動程序也越來越受到人們的青睞。在各種嵌入式操作系統(tǒng)中,嵌入式Linux是免費(fèi)的源代碼開放軟件,可根據(jù)需要任意進(jìn)行剪裁。在嵌入式Linux開發(fā)過程中需要為指定設(shè)備編寫和編譯驅(qū)動程序,這與以往在PC機(jī)上的Linux驅(qū)動開發(fā)明顯不同,本文設(shè)計了基于S3C2440嵌入式Linux下激光雕刻系統(tǒng)的步進(jìn)電機(jī)驅(qū)動程序。

1 硬件系統(tǒng)的設(shè)計

步進(jìn)電機(jī)開環(huán)控制系統(tǒng)主要由中央控制器、步進(jìn)電機(jī)驅(qū)動器、傳感器以及步進(jìn)電機(jī)四大部分組成。本系統(tǒng)采用基于ARM920t內(nèi)核的S3C244 0A微處理器作為控制系統(tǒng)的中央控制器,該芯片主頻400MHz,最高可達(dá)到533MHz,內(nèi)含多種設(shè)備接口,存儲器使用64MB的Nand Flash和64MB的SDRAM。圖1所示為控制系統(tǒng)框圖。

2 系統(tǒng)的工作原理

本系統(tǒng)主要控制兩個兩相混合式步進(jìn)電機(jī),分別代表X軸和Y軸帶動傳能光纖進(jìn)行激光雕刻。系統(tǒng)采用8路I/O口進(jìn)行脈沖輸出,每4路接一個步進(jìn)電機(jī)驅(qū)動器,通過功率放大后,進(jìn)入步進(jìn)電機(jī)的各項(xiàng)繞組。電機(jī)有半步、整步兩種工作模式,整步模式的步距角為1.8°,半步模式的步距角為0.9°,整步一周共200步。如:半步模式的兩步進(jìn)電機(jī)正轉(zhuǎn)脈沖為{0x11,0x33,0x22,0x66,0x44,Oxcc,0x88,0x99};整步模式為{0x11,0x22,0x44,0x88,0x11,0x22,0x44,0x88},一個步進(jìn)電機(jī)運(yùn)作時,只對脈沖時序的高或低4位操作,另外4位為0。而改變脈沖的順序,即可改變轉(zhuǎn)動方向。在整個控制系統(tǒng)中,數(shù)據(jù)處理在Linux應(yīng)用程序中完成,步進(jìn)量傳遞給Linux驅(qū)動程序后,由驅(qū)動程序完成脈沖輸出。通過軟件來完成脈沖分配,可根據(jù)應(yīng)用系統(tǒng)的需要,隨時改變對步進(jìn)電機(jī)的控制。

3 嵌入式Linux步進(jìn)電機(jī)驅(qū)動程序的設(shè)計

Linux操作系統(tǒng)將所有的設(shè)備(而不僅是存儲器里的文件)都看成文件,以操作文件的方式訪問設(shè)備。應(yīng)用程序不能直接操作硬件,而是使用統(tǒng)一的接口函數(shù)調(diào)用硬件驅(qū)動程序。設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和硬件之間的接口。Linux設(shè)備驅(qū)動與內(nèi)核接口可分為三大方面:a.與系統(tǒng)啟動代碼的接口對設(shè)備進(jìn)行初始化;b.與內(nèi)核接口通過數(shù)據(jù)結(jié)構(gòu)file.operrations來完成;c.與設(shè)備的接口對設(shè)備進(jìn)行讀寫操作。

步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。而脈沖信號的頻率和脈沖數(shù)是控制電機(jī)的兩個重要方面。本系統(tǒng)步進(jìn)電機(jī)4路脈沖輸出由硬件地址0x28000006的bit0~bit3控制,bit0對應(yīng)MOTOR A+,bit1對應(yīng)MOTOR B+,bit2對應(yīng)MOTOR_A-,bit3對應(yīng)MOTOR_B-。這里針對整步模式下的步進(jìn)電機(jī)進(jìn)行脈沖分配信號,半步模式的步進(jìn)電機(jī)正轉(zhuǎn)導(dǎo)電狀態(tài)時的控制順序?yàn)锳+_A+B+_B+_B+A-_A-_一A-B-_B-,整步模式的步進(jìn)電機(jī)正轉(zhuǎn)導(dǎo)電狀態(tài)時的控制順序?yàn)锳+_B+_A-_B-。

因此在程序中需要通過編制脈沖分配信號來控制步進(jìn)電機(jī),并通過修改脈沖分配信號來實(shí)現(xiàn)對步進(jìn)電機(jī)方向的控制。圖2是用軟件形成環(huán)形脈沖的流程圖。

系統(tǒng)中的步進(jìn)電機(jī)只響應(yīng)應(yīng)用程序傳送給驅(qū)動的步進(jìn)量和部分參數(shù),只能順序地進(jìn)行控制操作,因此它可作為字符設(shè)備來進(jìn)行驅(qū)動。在驅(qū)動程序中,需要提供幾個操作函數(shù)的入口點(diǎn),分別為open、read、write、ioet1等。而ioct1函數(shù)尤為重要,系統(tǒng)通過調(diào)用這個函數(shù)可以控制步進(jìn)電機(jī)的轉(zhuǎn)動。

在初始化函數(shù)中,會將驅(qū)動程序的file operations結(jié)構(gòu)連同其主設(shè)備號一起向內(nèi)核進(jìn)行注冊。對于字符設(shè)備使用以下函數(shù)進(jìn)行注冊:int register_chrdev(unsigned int major,const char*name,struct file_operations*fops);其中,unsigned int major為定義的主設(shè)備號,const char*name為定義的設(shè)備名稱,這里把設(shè)備名宏定義為stepper。file_operations*fops為定義的指針變量。申請控制步進(jìn)電機(jī)的端口用以下函數(shù)進(jìn)行調(diào)用:request_region(0x28000006, 1, const char*name);因?yàn)椴竭M(jìn)電機(jī)用到了I/O端口,而在S3C2440中操作端口要用虛擬地址而非實(shí)際的物理地址,因此要修改內(nèi)核代碼。修改文件內(nèi)核源代碼中間的smdk.c,該文件在linux/arch/arm/mach-s3c2440中,在結(jié)構(gòu)體static struct map_descsmdk_io_desc[]中添加一行數(shù)組元素{0xd3000000,0x28000000,Ox01000000,DOMAIN_IO,0,1,0,0},則步進(jìn)電機(jī)的物理地址0x28000006對應(yīng)的虛擬地址為0xd3000006,在驅(qū)動程序中應(yīng)對這個地址進(jìn)行操作。

根據(jù)上面提到的步進(jìn)電機(jī)的脈沖分配信號,定義它半步模式正轉(zhuǎn)脈沖為:

unsigned char pulse_table[]=
{0x11,0x33,0x22,0x66,0x44,Oxcc,0x88,0x99};

利用應(yīng)用程序傳遞給stepper ioct1的參數(shù)arg來判斷轉(zhuǎn)動方向。編寫ioctl函數(shù)用來接收應(yīng)用程序?qū)τ诓竭M(jìn)電機(jī)的控制。以下是部分驅(qū)動程序代碼:

設(shè)備卸載與前面提到的設(shè)備注冊是相反的過程。當(dāng)從系統(tǒng)中卸載一個模塊時,主設(shè)備號要得到釋放。這一操作可以調(diào)用以下函數(shù)進(jìn)行模塊清除:

int unregister_chrdev(unsigned int major,const char*name);

首先,編譯步進(jìn)電機(jī)模塊,打開內(nèi)核中drivers/char/Konfig文件,添加如下語句:

Config STEPPER_MODULE、tristate"stepper module"、depends on ARCH_S3C2440、help、stepper driver module。

在終端中運(yùn)行命令make menuconfig,進(jìn)入內(nèi)核配置主菜單,在DeviceDriver→Character device菜單中看到剛才所添加的選項(xiàng)了,之后編譯為模塊方式。

其次,打開內(nèi)核中drivers/char/Makefile文件,添加如下語句:

obj-$(CONFIG_STEPPER_MODELL)+=stepper_module.o

最后,回到內(nèi)核源代碼根目錄位置,執(zhí)行make modules,就可生成系統(tǒng)所需要的內(nèi)核模塊文件stepper module.ko了。至此,完成了步進(jìn)電機(jī)模塊驅(qū)動的編譯。之后,便可使用insmod、rmmod命令分別對模塊進(jìn)行加載、卸載了。

4 結(jié)論

在嵌入式Linux系統(tǒng)下,設(shè)備驅(qū)動程序是內(nèi)核和硬件之間的接口,本文采用字符設(shè)備的思想去實(shí)現(xiàn)步進(jìn)電機(jī)驅(qū)動程序的開發(fā),介紹了嵌入式Linux驅(qū)動程序的原理,歸納了驅(qū)動程序開發(fā)的一般流程,并結(jié)合步進(jìn)電機(jī)的驅(qū)動闡述了驅(qū)動程序的編寫。與原有通過操作PC機(jī)來控制步進(jìn)電機(jī)相比,本文是在Linux操作系統(tǒng)支持MMU的情況下完成了對步進(jìn)電機(jī)的控制。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 板材品牌-中国胶合板行业十大品牌-环保板材-上海声达板材 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 电缆接头_防水接头_电缆防水接头_防水电缆接头_上海闵彬 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 建筑资质代办_工程施工资质办理_资质代办公司_北京众聚企服 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 |