amobbs.com 阿莫电子技术论坛

标题: [nRF51822 AK II ] MPU6050 驱动 读出原始数据 [打印本页]

作者: Name_006    时间: 2013-12-18 16:05
标题: [nRF51822 AK II ] MPU6050 驱动 读出原始数据
拿到板子后 简单使用了一下  实现了 一些基本功能  
6050的驱动是 用的官方的 TWI 也就是iic 驱动  软件模拟的iic协议   6050里边的代码 也就是个读取ID的代码
主要更改 一下几个地方

1.ADDRESS_SIGNAL_PATH_RESET (0x68U)  6050 ad0 下拉  地址为 0x68
2.加入 以下代码  
#define TWI_MASTER_CONFIG_CLOCK_PIN_NUMBER (01U)
#define TWI_MASTER_CONFIG_DATA_PIN_NUMBER (00U)  

宏定义的意思 就是定义 CLK  = P0.01  DATA  = P0.00 直接改后边的数字就OK

3.6050 初始化 基本什么也没做  我直接复制了之前的一段初始化代码过来 具体看附件吧

然后就是在 6050里边加入了 读取原始数据的代码  

其他的 就是根据习惯 我吧官方的库  .c  .h文件都拿出来  单独放文件夹  不用任何关联 直接编译下载就OK   

最后 串口输出 波特率 为38400

[attach]159917[/attach]
作者: ijlc1314    时间: 2013-12-18 16:24
楼主厉害,最近比较懒,还没开始玩呢
作者: Name_006    时间: 2013-12-18 17:04
再上传一个例程   刚搞顶上边那个 6050的  想弄弄 adc的  找了半天官方的没有例程
然后 首先当然是 百度 google  adc代码  

然后就找到了这个    https://devzone.nordicsemi.com/index.php/nrf51822-adc-samplerate

然后下载下来 划拉划拉  就OK了
1.ADC_RES_8bit  直接改这个 可以改 adc精度
2.ADC_INPUT_AIN4_P03  直接改这个 可以改 adc通道
3.附件里边的例程  我是用的 P03   在下图的那个位置  检测adc起作用的方法
a.  在P03上 接一根杜邦线 甩一甩 数据就会变
b.接一根杜邦线 到电流计那边  输出值为 105左右  (ADC_RES_8bit 模式)  电压V /3.3V  = 105/225  V = 1.35  实测电压为 1.2V左右 好像差不多 参考电压 猜测是3.3V
4.根据 上手指南中说 消耗电流  = 电流计电压 1.2V左右 (运行adc检测的例程)/200 = 0.006 =6ma  ??
[attach]159940[/attach]
[attach]159938[/attach]
作者: kevin_me    时间: 2013-12-18 18:58
留名 用纽扣电池点了个跑马灯,三天就把电池跑完了。
作者: overheat    时间: 2013-12-18 20:48
Name_006 发表于 2013-12-18 17:04
再上传一个例程   刚搞顶上边那个 6050的  想弄弄 adc的  找了半天官方的没有例程
然后 首先当然是 百度 g ...

楼主的确厉害!看签名档还是 MPU6050+HMC5883 的高手,期待写一个nRF51822 AK上跑那个很酷的电脑模拟程序的例子来!

板子上的电压是USB 5V-》LDO 3.3V-》防反二极管-》3.0V的基准电压。

功耗的确是楼主的算法,不过这里测量的是整个系统的功耗(包括MPU6050)。另外,官方也提到了,这么大的功耗是因为debug模块没有关闭。关闭的方法是:

https://devzone.nordicsemi.com/i ... nsume-1-ma-in-sleep

上面有提到是没有关闭debug mode的原因,要用nrfjprog.exe -p来关闭。
作者: qiqirachel    时间: 2013-12-19 02:41
本帖最后由 qiqirachel 于 2013-12-19 03:14 编辑

留名,也买了这个,正准备捉摸一下,写个红外进去给自己相机当遥控器用

楼主好厉害

//忍不住问一个问题
楼主的printf函数为何引用起来那么正常,为何我新建一个工程,包含stdio,用printf依然打印不了呢,我在您的工程里面,没有看到关于与printf有关的其他文件啊
作者: Name_006    时间: 2013-12-19 09:36
qiqirachel 发表于 2013-12-19 02:41
留名,也买了这个,正准备捉摸一下,写个红外进去给自己相机当遥控器用

楼主好厉害

你新建的程序 可能没勾选  USE MicroLib  这个选项   

直接复制官方的例程出来就OK了  没必要自己建                 
作者: alongzhang    时间: 2013-12-22 22:43
qiqirachel 发表于 2013-12-19 02:41
留名,也买了这个,正准备捉摸一下,写个红外进去给自己相机当遥控器用

楼主好厉害

需要加个重定向fputc你看他main最下面,这样选Use Microlib才有用。
作者: mmy168    时间: 2013-12-25 13:50
呵呵,自己也有一个开发板在玩。。。
作者: 610570143    时间: 2014-1-2 15:48
Thanks,怎么下不了啊  
作者: LZ19992005    时间: 2014-1-3 15:20
顶一个 学习了
作者: jinchenaquarius    时间: 2014-2-23 19:17
终于找到了
作者: jinchenaquarius    时间: 2014-2-23 21:16
我也用的是这块板子,但所有不包含BLE协议栈的工程文件都不能烧录  请问楼主是怎么回事?
作者: Name_006    时间: 2014-2-24 16:39
jinchenaquarius 发表于 2014-2-23 21:16
我也用的是这块板子,但所有不包含BLE协议栈的工程文件都不能烧录  请问楼主是怎么回事? ...

用 nRF studio 试试  不行的话 看Jlink能不能连接上 确定Jlink没问题  要是Jlink的问题的话 需要在XP下更新Jlink固件   win7 更新固件不行哦  
作者: jinchenaquarius    时间: 2014-2-24 16:59
Name_006 发表于 2014-2-24 16:39
用 nRF studio 试试  不行的话 看Jlink能不能连接上 确定Jlink没问题  要是Jlink的问题的话 需要在XP下更 ...

我在nordic的论坛上找到了  是编译工程类型的问题  把工程类型改为  nrf51822_xxaa_s110  就行了  但还有一个问题是printf 函数始终用不了  你给的那个程序编译时warning  说是printf函数非法声明  后来我加了#include<stdio.h>  又显示fputc函数has been defined
作者: 无线音频    时间: 2014-2-26 19:56
BTLE 4.O与ANT+技术交流群238165859,里面都是工程师
作者: flyheart33    时间: 2014-3-3 14:30
Name_006 发表于 2013-12-18 17:04
再上传一个例程   刚搞顶上边那个 6050的  想弄弄 adc的  找了半天官方的没有例程
然后 首先当然是 百度 g ...

很好,正需要,感谢
作者: ouyj_0210    时间: 2014-3-25 16:32
标记一个,也正需要,感谢
作者: SZHjy    时间: 2014-5-31 16:11
请问楼主
#define MPU6050_GYRO_OUT        0x43
#define MPU6050_ACC_OUT         0x3B
地址怎么找到的啊,还有uint8_t addr= MPU6050_ADDRESS << 1;有什么用啊,希望楼主不吝赐教


作者: ycwjl728    时间: 2014-5-31 17:50
mark,学习一下
作者: SZHjy    时间: 2014-6-3 16:32
请问楼主,有研究NRF51822spi的程序吗
作者: Name_006    时间: 2014-6-3 16:39
SZHjy 发表于 2014-5-31 16:11
请问楼主
#define MPU6050_GYRO_OUT        0x43
#define MPU6050_ACC_OUT         0x3B

IIC通信地址需要左移一位
作者: Name_006    时间: 2014-6-3 16:39
SZHjy 发表于 2014-6-3 16:32
请问楼主,有研究NRF51822spi的程序吗

官方的 sdk有 你可以看一下                                               
作者: SZHjy    时间: 2014-6-3 22:06
Name_006 发表于 2014-6-3 16:39
官方的 sdk有 你可以看一下

嗯,谢谢咯
作者: CandD    时间: 2014-6-25 14:49
楼主,请问一下,我的6050读出来的数据不变是怎么回事啊?
作者: Name_006    时间: 2014-6-29 18:08
CandD 发表于 2014-6-25 14:49
楼主,请问一下,我的6050读出来的数据不变是怎么回事啊?

ID  不对?   IIC定义不对  还是 芯片焊接问题  不确定                        
作者: CandD    时间: 2014-6-29 22:09
Name_006 发表于 2014-6-29 18:08
ID  不对?   IIC定义不对  还是 芯片焊接问题  不确定

好了,可以读出来了,供电的问题
作者: auxjiang    时间: 2014-9-10 17:40
正在搞nrf51822,学习下
作者: opiviqo    时间: 2014-9-13 16:22
这个真的挺不错的,mark
谢谢楼主!~~~
作者: Charliexie    时间: 2014-10-15 14:09
谢谢楼主分享,我最近在用51822写BMP085的驱动,希望这份程序对我有所帮助
作者: opiviqo    时间: 2014-11-4 15:02
Name_006 发表于 2013-12-18 17:04
再上传一个例程   刚搞顶上边那个 6050的  想弄弄 adc的  找了半天官方的没有例程
然后 首先当然是 百度 g ...

hi  楼主 有没有nRF1822 按键中断的例子啊?
作者: Name_006    时间: 2014-11-4 16:37
opiviqo 发表于 2014-11-4 15:02
hi  楼主 有没有nRF1822 按键中断的例子啊?

应该很简单 你看下 官方的例子                                
作者: opiviqo    时间: 2014-11-5 15:03
Name_006 发表于 2014-11-4 16:37
应该很简单 你看下 官方的例子

hi  哥们 我有个问题想请教一下,按键中断:

GPIOE的事件触发源可以不仅仅只是某个引脚,还可以是某个port(nRF51把32个引脚分为4个port),同属一个port的任意一个引脚只要被检测到上升沿发生都会触发Port Event。

这个地儿如果设置为port 那么这个初始化这里应该怎么写呢?

下面是单个按键初始化的:
void EXIT_Init(void)
{
    NRF_GPIOTE->CONFIG[0] = (GPIOTE_CONFIG_POLARITY_HiToLo<<GPIOTE_CONFIG_POLARITY_Pos) | (17<<GPIOTE_CONFIG_PSEL_Pos) | (GPIOTE_CONFIG_MODE_Event<<GPIOTE_CONFIG_MODE_Pos);   //下降沿触发,17引脚
        NVIC_EnableIRQ(GPIOTE_IRQn);
        NRF_GPIOTE->INTENSET = GPIOTE_INTENSET_IN0_Set << GPIOTE_INTENCLR_IN0_Pos;
}
作者: Name_006    时间: 2014-11-6 12:05
opiviqo 发表于 2014-11-5 15:03
hi  哥们 我有个问题想请教一下,按键中断:

GPIOE的事件触发源可以不仅仅只是某个引脚,还可以是某个po ...

我好久没看过 51822 的了  最近 准备吧我的板子 在做一批  我也只是跑了几遍官方历程 没仔细研究过  
作者: richie550    时间: 2014-11-6 12:54
不错!多谢楼主分享!
作者: opiviqo    时间: 2014-11-6 13:22
Name_006 发表于 2014-11-6 12:05
我好久没看过 51822 的了  最近 准备吧我的板子 在做一批  我也只是跑了几遍官方历程 没仔细研究过   ...

画51822那个PCB天线的时候应该注意一些什么?
对于PCB天线从来没有涉及过,能否指教一下?
作者: Name_006    时间: 2014-11-6 14:19
opiviqo 发表于 2014-11-6 13:22
画51822那个PCB天线的时候应该注意一些什么?
对于PCB天线从来没有涉及过,能否指教一下? ...

官方就有PCB 直接按照官方来就行                        
作者: opiviqo    时间: 2014-11-6 14:49
Name_006 发表于 2014-11-6 14:19
官方就有PCB 直接按照官方来就行

哪里?我咋找了好久也没找到
能否给个链接  谢谢!
作者: xly2014    时间: 2014-11-6 14:59
[nRF51822 AK II ] MPU6050 驱动 读出原始数据
作者: 彪悍的飞翔    时间: 2014-11-7 13:48
一直在学
作者: eleboss    时间: 2015-2-22 10:16
很棒





欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4