一款基于STM32的多功能旋钮,有一路Type-C接口,可作为虚拟串口或HID人体学输入设备与PC端直连,用于调试或者作为HID设备使用。自带升压模块,可驱动12V小功率无刷电机,用于学习FOC矢量控制;或用于PC端的多媒体控制。
1.产品简介
一款基于STM32的多功能旋钮,有一路Type-C接口,可作为虚拟串口或HID人体学输入设备与PC端直连,用于调试或者作为HID设备使用。自带升压模块,可驱动12V小功率无刷电机,用于学习FOC矢量控制;或用于PC端的多媒体控制。
2.应用场景
1. 用于学习直流无刷电机的FOC驱动算法。
2. 用于学习STM32的虚拟USB技术
3. 虚拟成HID设备用于控制PC端的多媒体控制,可调节音量、切歌、暂停/播放音乐等功能。
4. 作为物品360°旋转展示平台
3.产品概述
1. 1路运行指示灯用于指示状态。
2. 1路微动按钮用于切换功能。
3. 使用了流行的Type-C接口,接口使用了磁珠与ESD管做了热插拔保护,耐用性好。
4. 使用了升压模块,将USB的5V电压升压至12V,直驱无刷电机,无需多余的12V电源,对手头电源条件匮乏的小伙伴十分友好。
5. 移植了SimpleFOC算法,对原有算法进行了裁剪,对代码进行了部分删减与重构,并加入了大量注释,便于学习。
6. 使用了FreeRTOS操作系统,代码使用了模块化任务式编程,简洁清晰,方便初学者入门。
4.产品参数
1. 供电输入:Type-C接口5V 500mA(USB 2.0) / 5V 1A (USB 3.0)输入。
2. 主控芯片:STM32F103C8T6。
3. 通讯接口:USB转虚拟串口/HID接口
4. 电机驱动:12V 200mA / 12V 400mA。
5. 磁编码器:IIC接口,360°-4096细分。
6. 烧录接口:BootLoad升级/SWD下载。
7. PCB尺寸:46mmX46mm(半径23mm的圆形PCB),双层PCB,双面布局。
正面:
背面
5.使用说明
1. 需要搭配4008或4010无刷电机使用。
2. 电路上设计了1A过流保护,可用单片机读取过流信号,及时刹车,防止过流。
3. 无需多余电源,只需要Type-C供电,外部连线简单,内置升压电路进行5V升压至12V,预留了12V电压输出焊接点,可引出做其他用途。
4. Type-C接口可用作通讯接口,可作为HID人体输入设备,也可以作为虚拟串口与电脑通信,用于调试电机。
5. HID模式下,PC端无需多余驱动,即插即用。
6. 虚拟串口模式下,PC端需要装STM32的虚拟串口驱动。
7. 上电后默认为HID媒体设备。按微动按钮即可切换模式,为:
(1)音量调节按钮,逆时针减少音量,顺时针增加音量;
(2)切换音乐按钮,顺时针下一首,逆时针上一首,带有模拟档位手感;
(3)鼠标滚轮功能,可用于播放PPT或者阅读PDF;
(4)默认为电机驱动器,可顺时针定速旋转,可用于商品展示。
(5)长按微动按钮3秒可停止/启动播放,长按10秒可重启设备。
8. 第一次上点后电机会自旋转进行传感器以及电机参数矫正,校正后数据会存储到内存中,下次启动自动调用,无需每次都校准。
9. CN1为SWD烧录接口,也将烧录接口做了测试点引出,T9、T10、T11分别为:DIO、CLK、GND;也可二次开发BootLoader USB烧录功能。
10. CN2为4008/4010电机接口。
6. 备注
1、匹配的BOM不包含无刷电机,附件有购买链接;
2、附件包含:模拟USB串口的程序代码;HID设备的程序代码。
3、除去电机以及常见电阻电容,器件总成本在50元左右,成品成本在100元左右。
7. 测试视频
1、 音量调节按钮
2、 切换音乐按钮
3、 鼠标滚轮功能
4、 定速旋转功能
8. 源码以及更新记录
V1.1
根据小伙伴的反馈,在编译的时候会出现TRUE和FALSE没有定义的问题,检查了一下,是stdbool.h库的差异导致的。
这个头文件是内置在各位的MDK安装包里的,所以版本可能不同,最终导致本次的报错。已经在代码中做了修改,防
止头文件差异导致报错。同时附件新增了烧录文件的HEX文件还有BIN文件,可直接用烧录软件下载验证。
V1.2
调整了原理图与gerber文件的下载权限,上传了HID相关的文件资料。
点赞