基于Neutron 的倒立摆(结项)
时间:10-02
整理:3721RD
点击:
基于Intorobot Neutron 的倒立摆项目概述
为了通过实践与应用测试Intorobot Neutron,熟悉其操作及其库函数,验证其性能,我选择了倒立摆这个经典的控制系统。
项目中用到的资源:
- 定时器——Neutron提供最多十个由FreeRTOS接管的定时器。
- ADC模数转换——Neutron精度为12位,0-3.3V
- PWM ——Neutron提供20-100Khz的PWM,占空比精度可调
- 外部中断——Neutron支持上升沿和下降沿
- 串口——Neutron有一个虚拟串口,一个普通串口
- 网络控制及联网
由上,在硬件需求上,Neutron是满足需求的。
电机采用永磁直流电机
驱动采用MOS电机驱动
角度传感器采用精密电位器
位置速度传感器采用编码器
最后重要的一个就是Neutron
软件设计目标:实现倒立摆杆保持直立,旋转臂速度基本为零
实现方式:双环PID
基本内容:
- 开启两个定时器,用于位置环和速度环的计算
- 开启两个外部中断,用于采集编码器数据
- 生成两路PWM,用于电机控制
代码:帐号验证有点问题,发不了URL,github搜索Neutron-Code
拍视频前,板子的稳压芯片不知道原因烧了,如果可以更换的话会根据情况补上。
试用总结
这次Neutron 的试用,不仅体验了支持联网的开发板的各种优越特性,及高性能,同时也增长了许多经验。在试用中也发现了板子的一些优点和缺点。
优点:
- 小巧,集成度高,板子在极小的尺寸中集成了ESP8266和STM32F4,兼具性能和联网功能
- 程序语言完全兼容arduino,支持图形编程,上手较容易,同时板载选配的传感器多,稳定性较好。
- 支持自定义APP界面设计
- 支持云控,联控
缺点:主要是我使用中的较差体验
- 没有官方支持离线编程,在线编程体验其实并不够好,如跳转定义等都不支持,而且必须实时联网才能编程,有极大的局限性
- 官方资料没有系统性,大多需要在其网站查询,不便于开发。
- 下载方式只有在线和串口下载,在线下载必须联网,串口下载速度则非常的慢,在不支持调试的情况下,开发过程中体验比较差
从这些来说,Neutron更像是面对爱好者的一个玩具,适合作为DIY飞控及家庭环境监测等,但是其在线编程的方式又让在有较大代码量的飞控等在编写的时候比较困难。Neutron的体积很小,但是做为一个物联网设备的核心来说,还是有点大,有点贵,但是其云控,联控吗,APP控制的加入还是为板子的物联网功能添色不少。
使用过程中,还有不少功能没有完全涉及到,后面如果有机会需要涉及到设备联网及相关控制的话,肯定还能够接触到,继续发掘其潜力。
点个赞 感谢分享