最近正在做一个用3G网络控制的航模,主控芯片用Beaglebone black。往下是日记,原本是给自己的,临时决定传上来,所以写得比较简略:
sky at2013/5/9 17:37
今天到货了beagelboneblack,电机,电调,舵机,桨,电子调速器。超级兴奋,正在玩。
仍需要购买开发板用的HDMI接口线,5V1A的直流电源。开发板出乎意料的小,看来不用考虑
飞行器过重的问题。
Thekernel shipped with Beaglebone Black is 3.8 and some its functions are notfully implemented. I'm
Going toupdate the kernel.
sky at2013/5/10 14:29
刚才到Beaglebone live chat跟问关于attachInterrupt函数的问题,跟一个叫treemonkie的聊了一会,
原来callback在attach和 detach事件发生的时候都会被调用,官方的例子里其实没有中断发生,
两次callback被调用分别是因为attach,detach事件。
callback: calledwhen handler returns true or other events
Other events里面就包括了attach和 detach
sky at2013/5/14 22:06
跟商家换的电机到货了。找PWM的例子,由于“官方”没有入门例子,而且PWM部分需要
一些配置(跟Angstrom内核有关),一顿好找。最后找到了它--->http://www.gigamegablog.com/2012/03/16/beaglebone-coding-101-buttons-and-pwm/----->这个然后带我去权威资料--TEXA Instrument (板的芯片提供商,似乎也是发行商)出的AM335x PWMDriver's Guide。(这里有个:一直用类似的关键词“Beaglebone PWM”搜索,苦搜不得绝对好的资料。后来想到用搜到的一篇文章中的关键部分“enable the EHRPWMclocks”作为关键词,一下就出来很多想要的结果。先到这里吧,不展开了)。 发觉不少概念都不懂,回去BBB的Startup page翻出CircuitCo.com'sBeagleBoneBlack page 看了,补充了关于内核版本、软件版本的知识。 估计离使用PWM不久了。
2013-09-10
根据wiki上的指示在板上使用opkg update , opkg upgrade升级板子.结果重启开发板后windows不识别USB了,任何提示都没有,硬件树里也没有任何东西.Working on it.
让板直接接显示器,鼠标,键盘,发现是可以正常进系统的. 进去之后发现,板里面是一个linux,而beagle bone是里面的一个服务器,有点像是虚拟机.正在搞清楚这个结构.
在live chat里问USB的不加载的问题,有人问我是不是最新的image.我查了下发现六天前新放出一个image,于是决定重刷image.当然,上面的问题还是应该抽空搞清楚的.
2013-09-10
升级版到2013-9-4的image后, 发现用版给舵机供电会导致BBB死机. 还在几次之后在网上找到资料说这样是很危险的, 容易损坏处理器. 正确的连接参考adafruit的一个tutorial.
关于舵机的一些参数可以参考动力老男孩的这篇文章.
有一点提一下, 2013-9-4号的image后, digitalwrite/read和analogwrite/read已经可以兼容了. 在cloudIDE下用使用node.js 输出PWM信号变得很容易. 只需要调用analogwrite()函数即可. 下面是舵机控制实验的记录:
舵机控制实验记录
1. 供电
舵机由外接3.3V直流电源供电.
2. PWM 信号
参考理论值: 5%--10%;
参考最宽值: 2.5%--12.5%;
测试区间: 3%--12%;
3. 实验过程
BBB用cloud IDE通过bonescript调用P9_14引脚输出变化的PWM信号.
4. 实验结果
舵机正常运转.
5. 附加实验
原因:观察到停止PWM输出程序后, P9_14引脚仍然持续输出最后的PWM信号. 于是想测试重启BBB后, 是否继续输出.
结果:reboot, P9_14不会继续输出重启前的PWM信号, 引脚状态被重置.
接下来是直流无刷电机的控制
用BBB控制直流无刷电机
1. 实验设备
无刷电机, 电调, 3S锂电, BBB
2.