一加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”

开发日志 170227

昨天装工具链又浪费了一天,今天也没什么进度,GG。

今天重新温习了一下STM32的基本开发。使用Win+STM32CubeMX+Keil v5,做了LED Blink,按键控制LED,PWM变占空比输出。都是以前做过的东西,今天再回顾一下。

统计了一下动力板的IO,感觉STM32F103RBT6就差不多了,ZET6简直大的丧心病狂,似乎没这个必要。上周末买的SPI-CAN总线模块(MCP2515+TJA1080)也到了,明天可以开始搞树莓派驱动了。

不过想到要从GitHub上Clone工具链和内核源码,头瞬间又大了一圈

再想想反正还要再看一遍CAN总线协议,边拖边看吧

继续阅读“开发日志 170227”

开发日志 170224

因为折腾电脑,进度停滞了好几天。今天初步定下了主控板和外设。

主控板就用树梅派3B,不要屏幕。

UART分给GPS-GPRS复合模块,模块使用安信可A7,定位速度1次/s,我觉得这个速度有点扣脚……实在不行就换个专用GPS模块,然后USB-3G吧(反正驱动是内核里现成的)。
ISP分给CAN模块,独占(实时性要求),控制芯片MCP2515,驱动芯片TJA1050,先用成品模块。
IIC目前只有MPU9250姿态传感器在用。RTC芯片感觉没啥用,后期有必要再挂吧。
WiFi板载,Blink-LED板载。摄像头就用USB的好了,反正现在大多都符合UVC规范,我手上也有。
超声波测距和测深目前应该要占用掉四个GPIO。
485总线先搁置,如有必要,直接上一个USB-TTL-485好了。
需要注意的是,USB-TTL只能用一个,否则ttyUSB0和ttyUSB1可能会混淆。

另外,把小船的电机拆下来看了看,没写型号参数,估计是杂牌的。杨老师简单测量了一下,12V空转0.7A左右,堵转1.3-1.5A左右,说12V应该问题不大。

等下周CAN模块来了,先把CAN总线开起来吧。

开发日志 170216

今天还在做那个遥控器,UI基本上弄完了。昨天做到按住按键后连续触发事件,今天编写了具体的事件处理逻辑,比如引擎功率+1,顺手更新一下UI。目前有个问题在于,表示方向的SeekBar能拖动,但拖动了并没有用,再次点击转向会被打回去。已知的解决方案是继承SeekBar然后重写掉onStartTrackingTouch、onStopTrackingTouch和onProgressChanged这三个方法,不过今天就先不折腾了。

UDP包也能发送,就差填好具体发送的内容了。明天做这个。

今天踩到了一个坑,是关于Integer, int, Double, double的,虽然Double是double的内建引用类型,但不能把它简单理解成一个“指针”,因为它没有提供修改内容的方法。

继续阅读“开发日志 170216”

开发日志 170215

第二天写开发日志,嗯……

今天还是在做那个智能小船的控制器。昨天做完了消息队列,今天处理了长按按钮连续触发事件的问题。目前长按已经可以连续触发事件了,具体消息处理还没有写。

连续触发主要是用OnTouchListener来监听MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP事件。当监听到按钮按下时启动一个新线程,持续作出响应,然后当监听到抬起事件后把这个线程结束掉。

线程的创建和结束可以使用Thread类来处理,不过使用ScheduledExecutorService也是个不错的方案。

这是我的主要参考链接:http://blog.csdn.net/u010983881/article/details/49927411

继续阅读“开发日志 170215”