
接上篇:实验三、完成首个基于小车... [自设制作STM32F103RB实验板测试]实验四、3轴加速度传感器+I2C实验 手头正好有2片Freescale的MMA7260加速度传感器,尽管没有什么具体用途,但可以拿来做实验,此外I2C也是常规实验的一个模块,手头也有2块I2C 的OLED,就已此为契机做实验了。 这个加速度计模块是直接输出ADC信号,默认为6G,200mV/G,因此直接将XYZ3个输出口分别连到ADC对应的3个输入口检测即可,由于他的电压比较小 ,因此分别先按照XYZ的最小值记录下来,而后将实测的数据-最小值,这样显示出来的数值基本上就是对应XYZ的输出值了,本例没有做数据矫正,因 此显示的数值是相对量。见照片41--X轴信号较大,42--Y轴信号较大,43--Z轴信号较大。 接着测试I2C——因为现在基于I2C的模块也很多,本例不改变原来的结果和程序,仅仅直接将一个OLED显示屏连接到板子I2C的默认OLED接口PB_7 [DAT],PB_6[CLK],OLED显示ASCI码刷屏,原来的12864屏还是显示测试数据,结果如愿以偿,见照片44。需要说明的是I2C的速率增加到1Mbps是短时间正常,当挺显后,直到拔下电源减低到800Kpbs一下后才恢复正常,不清楚是OLED跟不上还是I2C达不到,因为没有用示波器检测,所以不知。 自制实验板实验先到此,以后有时间继续做,总结一下经验和改进的地方: STM32F103RBT板子的优点: 1. 本例没有做超频实验,但默认频率下总体感觉IO速度还算可以,与NXP[Freescale]对应级别的有一拼,还是稍稍逊色一点。 2. 芯片的功能很多,可以适应不同需求适选所需。 3. mbed开发过程非常简单有效,几乎是想那打哪,没有更多的磕绊。 4. 扳子算是设计成功,抗干扰和抗静电性还算不错——实验过程手触板子有电击感,但没有宕机;板子每种实验都进行过超过10小时以上的连续运行无任何问题。 5. 功能模块的设计在实验上也算够用实用了,尤其是SPI、I2C是芯片默认的功能输出,源代码直接能用[USART]。 需要改进的地方: 1. ADC检测连接的103K微调设计一个插针,需要做ADC测试时短接即可;ADC2,3与用户按键和触摸按键共用,是需要改进的地方,触摸最好单独连接其他ADC,而用户按键连接其他IO口。当然这次偷懒,功能引出多为就近——器件在那,就近找连接IO。 2. 板子足够大了,有些引脚多设计复用到外围排针上会给实验带来更大的方便,就像串口显示屏即使一组SPI的标准口,也可以作为SPI显示屏的显示插座。 3. 为了降低成本,两个按键可以采用6X6的大点的按钮,而不是现在设计的3.5X8的小按钮。 4. 两组电源[USB、插针]采用肖特基二极管隔离,这是此次设计忽略的最大败笔,不能同时连接外接电源——这是首次,也是最后一次的败笔设计。 5. USB的电源跳过开关直接连接到1117稳压管的输入,这是另一大败笔——对USB电源输入,开关无用! 最后说一下:板子的裸照和测试性能已发到网上,优缺点也以自己做了总结。需要的话,可以说明,但要自己出快递费的。 顺便按照网友的提示,LCD直插在板子上较好看,于是改个LCD为排座,直插在班上的LCD插针上,见图照片45。显得简洁多了,但如果查较大的LCD,可是头重脚轻了。 |
41
42
43
44
45
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html