站内搜索
发作品签到
编码器i2c扩展板(可用ti stm32 etc....
专业版

编码器i2c扩展板(可用ti stm32 etc....

简介

使用wch32v003低成本的i2c获取编码器数据的模块 该项目为了解决TI M0系列编码器不够的问题而诞生 因为使用中断会占用cpu时间对于时间敏感的系统 为了优雅的解决这个问题,这个项目就出现了

简介:使用wch32v003低成本的i2c获取编码器数据的模块 该项目为了解决TI M0系列编码器不够的问题而诞生 因为使用中断会占用cpu时间对于时间敏感的系统 为了优雅的解决这个问题,这个项目就出现了

开源协议

MIT License

创建时间:2024-07-15 18:39:53更新时间:2024-07-26 10:45:36

描述

编码器介绍

  • 因为TI M0系列芯片只有一个正交编码器,
    为了稍微优雅的解决一下这个问题,就出现了这个工程。
    (至少比用gpio外部中断好,而且还可以不占用cpu时间!!!!
  • 使用wch32v003低成本的i2c获取编码器数据的模块
  • 适配轮趣味科技tb6612模块(当然只是适配
    安装时候请注意!电机连线,以及到驱动板的连线!小心把电机烧了,还顺道把驱动板也烧了
  1. 支持两路编码器
  2. 支持8路GPIO输入输出同时通过I2C输出
    3.支持最高400khz的IIC速度
  3. 不建议iic速度到400khz(指主机,否则小心机魂不悦
  4. 请在使用硬件iic的时候设置一下超时时间

6. Driver船新升级!不会在卡死了而且还附带I2C发送数据poll方法的驱动!!1

IMG_20240715_184543.jpg

焊接流程以及注意事项

关于焊接的注意事项

  1. 电源取自编码器接口请只焊接一个0欧姆电阻 5v_1 5v_2丝印请只选择一个
  2. 排针请使用弯插排针
  3. LED使用短接冒与PD2进行连接,用于系统指示灯(如果你不需要的话可以多出来一个i2c输入输出引脚,系统重置之后默认为开启状态
  4. 关于电机A电机B ABchage丝印框起来的部分是用来调整编码器计数方向的,因为车向前走的时候一个编码器是正转一个是翻转(当然程序也可以调整,或者你在通过driver 获取到信息之后前面加个负号也可以。。
  5. 默认是没用24mhz的晶振的,如果你对系统稳定性有额外要求的话可以选择焊接!!!!!注意:这边建议使用15~18pf的电容,请不要用原理图的22pf
  6. 如果你真的想用晶振的话请,焊接select OSC丝印部分,使用0欧姆电阻
  7. 关于debug port,这个接口是提供给下载烧录程序使用的,目前程序没有使用到URX接口,但是依旧保留了,wch是使用单线下载的所以说只需要连接SWD接口即可
  8. VCC 支持3.0v-5v的输入,如果要在使用编码器给板子供电的时候,请只连接GND 不要连接vcc有可能会烧掉你的下载器!
  9. 如果你需要硬件换向请!!!直接把ABchage 丝印中的0欧姆电阻旋转90°焊接也就是说竖起来

图文讲解

IMG_1669(20240715-193821).PNG

完成的图片

(大概。。
IMG_20240715_193956.jpg
711cb6151d5aa77f176ae4ec2022f5d1.jpg

程序注意事项

程序使用MounRiver Studio编写,大部分人用不到这个部分。

  1. 编码器如何换向
    这里TIM1提供给了,电机A,TIM2提供给了电机B。如果你把电机走在后面的话会导致TIM1电机A的话是反向的,所以说需要进行硬件换相或者软件换相
    这里提供软件换相的方法,硬件换相只需要把电阻竖着焊接就好了(第三次说了旋转90°

程序下载

串口(ISP)下载

遗憾的是因为这句话,没什么办法去通过ISP下载
image.png

wchlink下载(推荐

因为使用的wch32的芯片同时是riscv下载需要他们官方的下载器(啊你先别跑!
好消息是,你可以直接去官方旗舰店购买一个扩展版+linkE的下载器同时还有 5颗芯片,仅需26.8。
这样就可以想下就下了。
关于下载方式有两种,你可以选择直接下载MounRiver 编译器直接打开工程下载,因为这个比较简单这边就不讲了
(去wch32 下载一个例程里面就全有了还可以学一下这个芯片怎么用w
image.png

使用官方工具下载(偷懒我直接用截图了

得有下载器!!!,记得下载HEX文件
屏幕截图_15-7-2024_201924_.jpeg

驱动使用讲解

这里使用的是CCS 当然你用keil完全没问题的!只需要添加一下.h已经.c文件到上面去
头文件写的很明白了QAQ
image.png

测试图片

100khz的情况下获取全部编码器值
c7929c387a86fbdefeaa35eecbc487a4.png
400khz的情况下
57a6f1d1966bebbc97996544d0c5fcee.png
设置GPIO状态
26cf788f2d983d01c8d448c6a3de7559.png
我懒不想搞两个编码器 uart输出的Encoder 数据
image.png
image.png

关于硬件怎么下单

大部分可以在嘉立创买到,如果你没有wchlinkE的下载器,还是在官网买个开发板吧www

使用方法

29275de0691f69dd9231cf7e9cee7a9e.png

联系我们

qrcode_1721047910192.jpg

特别感谢

对本项目I2C驱动代码重构的贡献(帮大忙了谢谢
image.png

我的b站号还有另一位贡献者如果可以欢迎关注一下w(上面的也要关注哦

image.png
image.png

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
Encoder_i2c.hex
59
2
Encoder_i2c.zip
94
3
Driver.zip
34
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航