zoukankan      html  css  js  c++  java
  • Slamtec思岚breakout板子的丝印错误

    这两天终于开始玩机器人了, 电机驱动, 导航, 定位, 激光测距, 想想都兴奋呢.

    手上有一个斯岚的开发套件, 就是这么个东西:

    整个东西由几个部分组成, 激光雷达, 底盘, 两个带霍尔编码的减速电机, 电池轮子就不说了, 驱动轮子的是一个STM32F103VET6, 加一个电机驱动板, 整个东西, 算一个套件吧, 在斯岚的官方网站上:

    我第一反应就是, 这个东西叫套装吧...Mini是个什么鬼? 不管了.

    ok, 我找到了breakout板子的原理图的跟电机驱动板连接的引脚定义部分:

    ok, 凭直觉, 左右轮子, 分别由MOTO_RF/LF_EN跟MOTO_RB/LB_EN来定义正转反转, 然后由两个PWM来分别控制电机转速, 对吧, 很多电机驱动板, 也就是这么做的, 包括我手上两个其他的淘宝驱动板, 基本都这样.

    ok, 古怪的部分开始了, 今天我试着把官网上下载的固件(包括源码编译后的hex)按manual里面写的, boot0上拉后, 从串口灌进去了, 结果, 电机不转, 其他都正常, 试着重新刷了debug跟release的版本, 包括官网的hex直接灌进去, 一样, 而且有个多色指示灯不亮, 感觉固件不对, 有没有跑起来呢到底? 试着把代码改了改, 加进去debug输出, 包括修改开机beep声, 发现stm32是在正常运行的, slamcore也是正常的, 都可以通过windows上位机去连接, 问题只是, 1. 指示灯不亮, 2 通过上位机没法让机器人跑起来了.

    接着开始尝试打斯岚公司网站公布的电话, 一直忙线, 我只好发了个邮件给support, 没想到, 对方的工程师很快就回复了邮件, 告诉我, 你用的固件/源码对应的不是所谓套件, 而应该是mini, 而mini的固件暂时没有在官网公开......

    Mini是个什么鬼???

    吃完午饭, 试着刷supporter邮件里的固件, great! 一切正常了....

    接着我试着研究STM32的Moto驱动部分的代码, 先是挂着逻辑分析仪, 想看看各个引脚怎么工作, 按照breakout板子的丝印:

    就不拍照了, 实际丝印如上图, 基本上, 可以得出结论, 最下面两个PWM是左右电机的速度控制口, 接着我用了大约一个小时的时间, 挂逻辑分析仪, 发现这几个引脚真的....定义有问题....

    问了一下小波, 他的想法是, 如果你用电压表量出来是低电平, 但是挂逻辑分析仪是高电平, 这个口可能是input, 不是output?

    Are you kdding me???

    B_EN或者F_EN是输入?

    把电机驱动板拿起来对着光线仔细看了看, 我靠, 不对劲啊, 两个F_EN接的是跟两个ENCD分明接到了电机的两个霍尔编码器输出上了啊...

    结合了一下mini的源码有关moto的引脚定义部分代码, 才知道, 原来, 代码没问题, 驱动板没问题...唯一有问题的就是丝印啊, 而且查阅Mini的手册发现, 原来可能这个版本的电机驱动, 是拿两个反向的PWM信号给一颗L9110的电机控制IC来直接控制电机的正转反转...

    我滴天哪...

    看了一下代码, 下面是实际的马达驱动用引脚定义:

    驱动PWM左右: PB8, PB9, PE13, PE14

    编码器输入: PD2, PD3, PD4, PD6

    接下来, 我要尝试将马达部分的代码移植到开发板上去.

  • 相关阅读:
    CefSharp High DPI问题的解决
    Navicat连接Oracle数据库报错ORA-28547解决方法
    postman模拟HttpPost请求的方法
    百度地图、高德地图、Google地图等坐标提取与转换
    ArcGIS API for JavaScript开发环境搭建与发布以及基本功能实现
    简单实现ASP.Net MVC网页播放音乐
    百度地图api 区级以下行政区划
    解决asp.net MVC中 当前上下文中不存在名称“model” 的问题
    【转】如何解决plsql查询oracle数据库语句where条件带有中文无法匹配结果
    Oracle的order by的中文排序问题
  • 原文地址:https://www.cnblogs.com/Montauk/p/6705322.html
Copyright © 2011-2022 走看看