以为明天是3.1,把行李都装好,返城务工
仔细看看,原来还有多一天
拿出Microduino继续撸
还有OLED没玩
试试从以太网通过ser2net给OLED发送数据吧
数据流向:PC--MicroWRT--MicroDuino--OLED
OLED依然是SSD1306,这个驱动IC很多见了
看看Microduino一侧
很简单的代码,直接从例程改的随便看看吧
上setup和loop吧
void setup() { Serial.begin(9600); //串口初始化 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.setTextSize(1);//字体大小设置 display.setTextColor(WHITE);//颜色 display.setCursor(0,0);//起始坐标 } void loop() { char temp; while(Serial.available()){ temp = Serial.read(); if((temp == '\r')||(temp == '\n')||(temp == '\r\n')) //不知道电脑回车会发送什么,直接枚举, \n估计判断不出来 { display.println(); } else{ display.print(temp); display.display(); } } }
显示后发现一个问题,双戳可看高清无码果图
OLED左侧第一列的像素,发光不均匀啊
严重怀疑是拆机货
揭开保护膜也同样
字符串很快可以走以太网发送给OLED显示
在MicroWRT上装些获取天气、时间、地域的应用
应该可以直接在OLED上打印了吧
上个雾里看花的gif
OK,准备返城务工。
开始测试P1110
做了块PCB
简单测试了一下
第一次做这种天线的PCB
犯了好多错误
上图,猛戳可看高清无码果图
右边是测试PCB,左边是需要的跳线和面包板
采用的陶瓷天线,据说是3W
本来是想使用SMA接口的小辣椒
后来想想,小点好看,就换这货了
DC shrot需要在天线输入端串接一个高Q值的电容
没条件,只能用普通的·100pF电容代替了
RF接入管脚应该与Ground隔离
唉,不说了,都是泪
负载接入了一个0.5V220mF的法拉电容
发现无法充电
后来测试了一下这个电容,充满电后,一断开,电压就降到1.3v
貌似leakage电流太大了,被淘宝坑了。。。。差评去
其实是可以采集的很小的能量的
有动画有真相
在电话接通的一瞬间,存在很大的能量
最大输出电压可以到5.55v
妹的,P1110数据手册上不是说最大可以输出4.2v吗?
模块被我玩坏了?
专门把GSM模块拿出来
设备在注册的时候,能量奇大
可以点亮一只黄色的LED,注意天线的方向,呵呵
把Microduino接上,发现有那么点意思
电话接通后,麦克丢诺的电源可以起来哟
正常电磁环境下,输出的电压大约在200mv的样子
后面会逐渐降低至20mv左右
再来测测法拉电容冲电
GSM模块注册的时候
其实法拉电容可以充电,一次可以充到130mv左右
不过很快就泄露掉了,过几天换个法拉电容试试
简单的测试就到这里了
发现几个问题:
1、915MHz属于2G上行频带,现在,基本上2G信号很微弱了
只有用2G手机打电话的时候才会有能量,3G、4G对输出都没有影响
2、板子设计之初考虑的不周全,如果使用柱状天线的话,可能采集到的能量会更多
3、基于上述,是不是该换个思路,配个916MHz的发射器,做个无线充电之类的咚咚
斑竹们怎么看?
前面采集了一点点微能量
只能勉强够microduino闪闪灯,并且灯还不亮
所以又扒了一下microduino的低功耗
发现还真不赖
先上低功耗库吧
整个库包含AVR的5种低功耗模式
Idle、ADC Noise Reduction、Power-save、Standby和PowerDown
有个香港的网友对这个库在UNO R3平台做过相关的测试
这里直接贴出来
睡眠模式 | Energy指令 | 中文直译 | 消耗电流 |
Idle | Idle() | 閒置 | 15mA |
ADC Noise Reduction | SleepADC() | 类比数位转换器降低杂讯 | 6.5mA |
Power-save | PowerSave() | 省电 | 1.62mA |
Standby | Standby() | 待机 | 1.62mA |
Extended Standby | 延长待机 | 0.84mA | |
Power-down | PowerDown() | 断电 | 0.36mA |
看看和328P有什么区别
测试硬件
3.7v@140mAh锂电池 1块
Victor 89B 万用表 1块
microduino core+ 1块
测试代码
#include <Enerlib.h>
Energy energy;
const byte swPin = 2;
const byte ledPin = 13;
byte times = 0;
volatile byte state = 0;
void wakeISR() {
if (energy.WasSleeping()) {
state = 1;
} else {
state = 2;
}
}
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(swPin, INPUT);
digitalWrite(swPin, HIGH);
attachInterrupt(0, wakeISR, CHANGE);
Serial.println("Running...");
energy.SleepADC();
}
void loop()
{
}
energy.PowerDown()、energy.Idle()、energy.SleepADC()、energy.PowerSave()、energy.Standby()
上图一个个 看结果
这次测试的电池,从一个无线耳机上拆下来的
直接上powerdown,尼玛2.4个mA
比μA数量级差远了
这个时候其实core+板上的LED还没干掉
估计是这货消耗了大量电流吧
果断给core+做手术
撸掉LED,换成3.3v供电
后来想起,供电和晶振得匹配
只能再把电阻整回5v电源跳线
发现Core+死活都不工作,难道挂了?
后来发现,那个0欧的电阻已经烧坏了
没辙,只能用0805的0欧电阻代替了
结果焊成这样,来嘲笑我吧
多次抽叉FT232板,管脚已经疲劳鸟
结果又......
算了,上正经的图吧
撸掉LED后,整机的低功耗特性一览无遗
powerdown模式,只有110μA
撸主的这个 垃圾锂电池都能待机个50多天
powersave模式,待机电流1.2mA
空闲模式(IDLE模式),待机电流10.66mA
SleepADC模式,3.3mA
standby模式,0.46mA
汇总一下吧
低功耗模式
Energy指令
中文直译
消耗电流
Idle
Idle()
空闲
10.66mA
ADC Noise Reduction
SleepADC()
转换器降低噪声
3.3mA
Power-save
PowerSave()
省电
1.2mA
Standby
Standby()
待机
0.46mA
Extended Standby
??
延长待机
??
Power-down
PowerDown()
断电
0.11mA
可以和上面UNO的功耗比较,还是有明显差距的
虽然比不上底层驱动的省电效果
但是也算很不错的了
后面围绕这个再玩玩
915MHz发射模块,已经在路上了......
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |