完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
迅为4412开发板-步进电机-驱动和测试例程
和本文档配套的资料有: 1 内核配置和步进电机驱动补丁包: topeet_modules_20190319.tar.gz 2 linux-C 的测试例程: iTOP-4412-linuxc-stepmotor_V1.0.zip 3 QtE 的测试例程: iTOP-4412-QtE4.7-step_moter_V1.0.tar 4 Android 的测试例程: iTOP-4412-Android4.0-stepmotortest-V1.0.zip 请注意,在光盘的内核源码中,没有步进电机的驱动,需要添加步进电机的驱动之后才能使用。步进电机使用的是 camera 接口上的 IO,需要屏蔽掉 camera 驱动。 |
|
|
|
硬件连接
硬件连接分为两个部分,供电和控制线的连接。 如下图所示,是步进电机的原理图部分。 端子 j2 可以看出,需要通过排线和开发板的 camera 接口。上图右半部分,可以看出供电可以采用 5v 电源或者 u*** 供电的方式。 排线链接,如下图所示。火牛座和 USB 线供电二选一,如下图所示是 u*** 线供电。 这里务必需要注意的是,如果大家使用的是默认的光盘内核镜像,请不要给步进电机上电太长时间。因为步进电机驱动芯片,默认状态是上拉,会导致步进电机处于不正常的状态,会让电机发热。 需要将步进电机驱动配置完成之后,步进电机驱动在初始化的时,将步进电机的驱动芯片拉低,这样步进电机就会处于准备工作状态,这种状态不会有电流,不会导致步进电机发热! |
|
|
|
内核配置和补丁包
由硬件部分可知,步进电机使用的是 camera 接口,内核默认状态会编译 camera 驱动,camera 驱动会占用电机用到的四个 GPIO,所以首先需要在内核配置中将 camera 驱动去掉。然后添加驱动补丁包,重新编译内核,烧写到内核中。 2.1 内核配置 进入内核目录,配置所需要的缺省文件,使用命令“make menuconfig”,如下图所示,进入配置界面。 选中“Device Drivers ---》”进入。 如下图所示,选中“Multimedia support ---》”,进到选项中。 如下图所示,进入“Video capture adapters ---》”选项。 如下图所示,取消“OmniVision OV5640 sensor support ”,这个是摄像头 ov5640的配置选项。 如上图所示,取消 ov5640 的选项,然后保存退出,得到新的.config 文件。 2.2 修改 Makefile 文件 然后需要修改 Makefile 文件。 打开“drivers/char/Makefile”文件,如下图所示。 增加以下代码: obj-y += topeet_modules/ 然后保存退出。 2.3 补丁包 驱动补丁包“topeet_modules_20190319.tar.gz”和文档放在一起。 补丁包同时也放在网盘链接“iTOP4412 开发板资料汇总(不含光盘内容)/iTOP-4412开发板系统源码及镜像(其他)/topeet_modules”目录下的“topeet_modules_20190319.tar.gz”下,日期可能会有变化,使用最新日期的压缩包即可。 拷贝到“drivers/char”目录下,使用命令“tar -vxftopeet_modules_20190319.tar.gz”解压,如下图所示。 2.4 内核编译和测试 重新编译内核,烧写到开发板,启动开发板,如下图所示。在“/dev”目录下可以看到有设备节点“step_motor_driver”生成。 至此,内核驱动配置完成。这个时候给步进电机上电,会发现四个并排的小灯已经灭了。 |
|
|
|
Linux-C 的测试例程
然后拷贝和本文档一起打包的“iTOP-4412-linuxc-stepmotor_V1.0.zip”压缩包中“step_motor_app”文件到开发板(U 盘,tf 卡或者 nfs 都可以)。 如下图所示,拷贝到开发板上,作者的系统是最小 Linux 系统。如果是 Android 系统,则需要使用“chmod 777 /dev/step_motor_driver”修改权限。 使用命令“。/step_motor_app”如下图所示,可以看到有如下提示。 步进电机的测试例程需要传递参数。 第一个参数是 R 或者 L,用于设置步进电机的方向; 第二个参数是步角距,步角距是 5.625/64 度,4096 个步角距就是 360 度,所以这个参数的范围是 0-4096,取值 4096 是一圈,最小建议为 10。 第三个参数是转速,建议取值为 3000 到 20000 之间,小于 3000 转速不稳定。提供了一个 demon 为“。/step_motor_app R 4076 3000”。 使用命令“。/step_motor_app R 4076 3000”,可以看到步进电机在右转,转一圈之后就会停下,“。/step_motor_app L 4076 3000”会左转一圈之后停止,用户可以执行测试其它参数。 |
|
|
|
QtE4.7 的测试例程
和本文档一起打包的“iTOP-4412-QtE4.7-step_moter_V1.0”为 QtE4.7 的测试源码资源包,源码中的“step_moter”为步进电机的编译好的 qt4.7 程序。 请注意,需要参考本文档第二小节,先配置内核驱动,确认有设备节点“/dev/step_motor_driver”。 开发板烧写 QtE4.7 系统,将“step_moter”拷贝到开发板,使用命令“。/step_moter& ”运行,如下图所示。 以上界面中,参数如下: Speed:通过改变延时来控制速度,延时越短,转速越快。延时范围:3--20ms。 Num:设置步进数,当值为 4096 时转一圈。 Direction:设置转动方向。RIGHT 为正转,LEFT 为反转。 START:设置好后,点击 START 开始运行。 CLOSE:关闭当前页面。 |
|
|
|
Android4.0.3 的例程测试
“iTOP-4412-Android4.0-stepmotortest-V1.0.zip”为 Android4.0.3 的测试源码资源包,源码包中的“bin”下的“stepmotortest.apk”为步进电机的编译好的 Android4.0.3 程序。 请注意,需要参考本文档第二小节,先配置内核驱动,确认有设备节点“/dev/step_motor_driver”,如下图所示。 在控制台输入命令“chmod 777 /dev/step_motor_driver”修改权限。 在控制台输入命令“chmod 777 /dev/step_motor_driver”修改权限。 速度:通过改变延时来控制速度,速度设置越大,转速越快,但不能设置成 20。 步数:设置步进数,当值为 4096 时转一圈。 方向:设置转动方向。 START:设置好后,点击 START 开始运行。 |
|
|
|
只有小组成员才能发言,加入小组>>
698 浏览 0 评论
1109 浏览 1 评论
2476 浏览 5 评论
2810 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2653 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
656浏览 9评论
651浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
784浏览 6评论
632浏览 5评论
672浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:14 , Processed in 1.166186 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号