开发日志 170329

遥控粗粗的可以跑通了,今天就开始做自动导航相关的东西了。想了一下,不如先处理GPS。我的GPS是串口的GPS,因此我需要一个函数,大概getline的效果差不多。

如果是STM32的话,比较简单,直接调HAL的函数来读读写写就好了;另外听说树莓派上用Python也挺方便的。可惜这次是打算用Raspberry Pi,还不能用Python,只能用C/C++。

先放出来我的参考文章,基本就按照这个配就行,另外那个cfmakeraw函数最好别用……

其实本来也没什么,不过以前C语言学的不牢,对stdio的缓冲区理解不到位,printf的时候没有\n,导致缓冲区没刷新。以前知道iostream的这个问题,但printf就没往这茬想,吃了个大亏,真是脚都要抠烂了……

既然是C++,那就封装成一个类吧(然而并没有什么卵用。

继续阅读“开发日志 170329”

一加3T使用体验

嗯,因为没有跑分,没有对比,且无图无真相。所以不是评测,只能叫使用感受。

一句话来讲,如果你反感国内的各种xxUI,反感那些奇怪的定制APP,只想要个基本的Android系统。且不那么在意相机,不那么在意屏幕,不那么在意外观,不打LL,那这个手机应该挺适合的。

继续阅读“一加3T使用体验”

开发日志 170223

虽然还是有点问题,不过这个CAN总线总算是通了,我猜我八成是买到了假芯片。

CAN总线驱动器用的VP230,模块上写的供电3V3,看了下芯片的DataSheet也是这么写的。测电平总觉得根CAN总线标准不太一样,接示波器看对地电位,CAN_H = CAN_L = 1.6V,显性位CAN_H = 2.6V,CAN_L = 0.8V,显然与CAN标准电平不符。

而CAN总线调试器是用的TJA1050,看电平的话显性位3.5V/1.5V,隐性位2.5V/2.5V,倒是很正常。

网上搜了一下,发现好像VP230是有仿冒的啥的,就把芯片丢了准备重新买TJA1050的片子。后来想想……

等下!这电平怎么看怎么像供电电压不够,难道芯片是打磨的TJA1050然后充数不成?

好吧,把片子从垃圾箱捡回来,电压提升到5V,电平正常,通信正常。

我真是日了狗了……

另:昨天接了示波器行,撤了示波器不行,大概是示波器把差分电平给拉高了吧……

开发日志 170322

昨天简单给报文分了下组,设计了一下协议,今天让电机转起来。

说难嘛,好像也不难,不过遇到了几个问题:

  • CAN总线问题:夹上示波器,波形没问题,通信OK;撤掉示波器,通信挂了。
  • 供电问题:实验室没有合适的电池,用实验室的直流电源也不行,最后拿两个直流电源并联才算供上电。
  • 电机嘎嘎响,贼响,师兄说以为隔壁打电钻。

总线目前怀疑是终端匹配电阻、CAN调试器电平和电容(示波器两表笔间阻抗\geq 10M\Omega ,电容约17\pm pF)的问题。至于接地,我觉得不太可能,CAN总线本来就是差分信号,接地应该没关系。而且本身板子由JLink经过USB取电,CAN调试器也是插在USB上面,所以不太可能。明天一一检查。

供电打算用航模电池,杨桐推荐用格式的,11.1V 5300mAh的大概¥280,放电能到55A,应该足够了。

电机……额,也就那样吧,不行就换电机,最不济换船,实在不行上泵推。

另外,螺旋桨不是转速越高推力越大!因为可能会产生空泡啊啥的。参考数据:翔鹤4轴4.2m直径,300RPM,功率119MW。所以大概电机速度不能控太快?

开发日志170320

今天起来了CAN总线,实现了STM32和某CAN-TTL-USB模块的通信,然后接上了船上的直流电机。舵的话发现原来用的不是个舵机,是个直流电机,辣鸡,淘宝买一个防水的装上。

主要参考了微雪课堂的教程。有一点要注意的是,必须开启滤波器,这时消息才能经过滤波器进来,否则消息根本过不来。只是初始化CAN设备并接收是不行的,最开始因为这个问题坑了好久……

明天看CANopen和DeviceNet的内容,并决定要不要用这两个东西。如果不用,就定CAN总线协议。

开发日志 170228

这其实都是昨天的内容。主要折腾了MCP2515CAN总线模块,已经可以和杨老师给的CAN总线调试器互发数据帧了。STM32的板子也到了,下午开始做一些动力系统的内容吧xD。

这篇文章主要讲了如何把MCP2515 CAN总线模块开起来,不涉及具体的分析。

继续阅读“开发日志 170228”