2

Comments

L6561,L5652 是 ST 公司的 APFC (Active Power Factor Corrector, 主动功率因数校正器) 芯片.
在环保节能绿色时代, 功率因数也成为电器的一个重要指标. 由于家用电器往往不是纯电阻性的, 负载带一定的电容或者是电感, 如开关变压器的线圈等.
这些非纯电阻的电抗元件会造成电压和电流的相位差.
功率因数指的是电流和电压的相位差的余弦值 cosφ.
功率因数越高, 相位差越小, 效率也有相应的提升.
APFC 电路就是一种能主动匹配负载的功率因数并且进行校正的电路.
当然, APFC 电路本身也要耗能, 有些电路本身效率就很高, 就没有必要使用 APFC 了. 被动式 PFC 相对成本就小, 当然成本计算不在我的讨论范围之内.

电路图请参考官方 L6561 的 图4, Typical Application Circuit (120W, 220VAC).

C1 的作用是交流输入滤波, 由于 APFC 电路的性质, 去掉也能很好的工作, 就是会降低一点点效率.
R9, R10 构成分压网络, 检测输入电压波形. C7 用于去耦滤波.
R3 是启动分压电阻, 和芯片内部的 20V 稳压二极管构成稳压电路给芯片启动时的供电.
T 的初级是储能电感, 按照图给出的参数绕到 0.8mH 就可以正常工作.
T 的次级有两个作用, 一个是感应出当前电流并通过 R1 降压输入到芯片的 5 脚进行过零检测. 另外作用是辅助供电.
辅助供电输出的电压通过 R2, C6 的滤波, D2 的稳压二极管进行降压滤波. D2 的稳压电压一般取 18V.
等芯片正常工作后, 供电主要由 T 来供, 芯片 8 脚的电压由 12V变成18V, 同时 MOS 管的栅极驱动电压也上升了, 能让MOS管快速饱和降低能耗.
D3 的作用是防止启动电压倒流到 T 的次级. 由于芯片上电时候 BOOST MOS 没有工作, T 的次级没有感应电压, 所以倒流是很危险的. D3 用 4148 就可以工作.
C2 是输入电源的滤波电容, 值可以取大一点. 同时要并联小电容.
R5,MOS,T,D1 构成了典型的 BOOST 电路, D1 用几个 FR107 并联就可以了.MOS 用 6N60 就可以工作, 太大没有必要.
R6 的作用和 UC3842 中的源级电阻差不多, 反正都是检测电流用的.
R7, R8 构成分压网络, 决定输出电压. 输出在 400V 的时候效率最高, 1 脚的电压是 2.5V, 所以还是老老实实算吧.
C3 是补偿电容.最好旁路接一个 10nF 电容串联 2K 的电阻.
C5 是输出滤波电容.

检查电路后就上电测试.负载用 2 个 25W 灯泡串联即可.
注意高压危险, 调试前请默念 "春哥纯爷们" .
工作正常的特征是上电灯泡比较暗, 过 1 秒不到灯泡正常工作. 输出电压 400V直流.
如果灯泡比单独接入 220V 暗, 就是没有工作. 确认元件正常的情况下, 减少 R3 的值, 使 8 脚能测到 12V 左右的电压. 电阻不要调得太小, 降低效率. 我自己用了 300K.
如果还是不行, 变压器次级多绕一圈, 再试. 不能绕太多, 变压器次级用示波器测试的电压正峰值在 20V 左右就可以了. 否则在 D2, R2 上的耗能会上升.
一般来说不工作就是供电的问题. 可以外接稳压电源试试.
线圈多绕 R1 也要增加, 5脚电压峰值取5V就可以了, 太小检测不到过零, 太大能耗上升.

电路的效率一般都能做到 90 以上, 功率因数一般能做到 98 以上. 输出功率最大 100W 左右, 适合用在笔记本电脑电源, 大型 LED 路灯, 电动车充电器上.

< >
5

Comments

用开源硬件平台 Arduino 制作了一辆寻迹小车.

硬件非常简单, 几个5000型红外对管, 利用红外线在白板上反射, 光敏二极管呈低阻; 在黑线上被吸收, 光敏二极管呈高阻的原理探测轨迹, 再通过一个斯密特触发器修正波形, 输入信号到 Arduino 平台, 处理信息, 最后 Arduino 输出占空比可调的 PWM 波加上驱动电路改变两个轮子的速度来控制小车的方向.

程序: 只有参考意义. 最后还是要仔细调整占空比的. 否则会冲出跑道.

int left=10;//定义左电机PWM输出端口
int right=9;//右电机PWM输出端口
int l2=5;
int l1=4;
int r1=3;
int r2=2;//定义传感器输入端口
int l;
int r;//测试数据
 
void setup() {
	//Serial.begin(9600);//启动串口,用于调试
	pinMode(l2,INPUT);
	pinMode(l1,INPUT);
	pinMode(r1,INPUT);
	pinMode(r2,INPUT);//定义输出端口作用,PWM输出不需要定义
}
void loop() {
	int left2=digitalRead(l2);
	if(left2==HIGH)
		left2=1;
	else
		left2=0;
	int left1=digitalRead(l1);
	if(left1==HIGH)
		left1=1;
	else
		left1=0;
	int right1=digitalRead(r1);
	if(right1==HIGH)t
		right1=1;
	else
		right1=0;
	int right2=digitalRead(r2);
	if(right2==HIGH)
		right2=1;
	else
		right2=0;//将输入的高低电平转换成0或者1
 
	int data=left2*1000+left1*100+right1*10+right2;//转换全部数据到一个变量,方便计算
	switch(data)
	{
		case 111://0111,由于触发器反转,0表示检测到黑线,111表示白线,就是黑线在左边
			analogWrite(left,63);l=63;//左轮减速,模拟量用PWM输出,输出量为63/255就是1/4的占空比
			analogWrite(right,255);r=255;//右轮全速
			break;
		case 11://0011
			analogWrite(left,127);l=127;
			analogWrite(right,255);r=255;	
			break;
		case 1011:
			analogWrite(left,191);l=191;
			analogWrite(right,255);r=255;
			break;
		case 1001://在中间
			analogWrite(left,255);l=255;
			analogWrite(right,255);r=255;
			break;
		case 1101:
			analogWrite(left,255);l=255;
			analogWrite(right,191);r=191;
			break;
		case 1100:
			analogWrite(left,255);l=255;
			analogWrite(right,127);r=127;
			break;
		case 1110:
			analogWrite(left,255);l=255;
			analogWrite(right,63);r=63;
			break;
		default:
			analogWrite(left,0);l=0;
			analogWrite(right,0);r=0;
			break;
	} //end case
	delay(500);
/*用于串口调试数据,可以不用,这里将其注释
	Serial.print(left2);
	Serial.print(left1);
	Serial.print(right1);
        Serial.print(right2);
        Serial.print(" -> ");
	Serial.print(l);
	Serial.print(" ");
	Serial.println(r);*/
}

标准的 C 语言用法. 非常简单吧.
为了节省开发成本, 我自己买了 ATMEGA328P ,参考了 Arduino UNO 的电路图画了自己的电路板. 电机驱动电路用了 ULN2003 达林顿堆 ( 其实可以用 MOS 管的 ), 这样比较便宜. 供电用了航模电池, 单片机和传感器分开用 7805 供电, 节省干扰.

最后跑了下效果还不错.

< >
7

Comments

这是我的电子设计校赛作品, 由于现在学校才把作品发还给我们, 所以我现在才撰文描述下我们的作品.
我们的题目要求是制作一个发热设备, 能够达到设定温度, 这个温度可手动设定. 超过一定温度时, 风扇散热, 电路报警保护.
本设计以三星低功耗低成本单片机 S3F9454 为控制核心, 使用这片非主流的芯片的原因是实在买不起 STC 的芯片, 更加不用说 Cortex-M3 内核的 STM32, Ti 的群星系列芯片了.

电路设计十分简单. 单片机的 I/O 口控制继电器网络, 用继电器网络控制电阻网络, 继电器的开合能改变接入电阻的数量, 也就改变了发热速度.
在反馈环路上, 采用温度二极管加上仪表发大器放大信号, 输入到单片机 ADC 接口上, 达到闭环控制. 算法上加入回滞量, 防止继电器疯狂改变状态.

其他辅助电路如下:
4位数码管显示电路, 用显示设定温度以及当前温度, 风扇转速等.
风扇转速测量电路, 直接拿了CPU风扇, 抄袭了某电脑主板的滤波电路, 效果很好.
报警电路, 实在是做得很无聊.

在制作过程中就考虑了成本以及大规模生产的问题. 同是 8 位单片机, 9454 就要比 51 体积小, 价格便宜. 附加主要元件有电源, 运放, 比较器, 串转并的 74HC164, 节省单片机的 I/0 口.
电子设计的产品最终要有实际意义, 解放生产力, 否则纯粹为了参加比赛就没有意思了.本模型的实际应用产品: 恒温箱.

上个图.

< ,, >
10

Comments

玩了一把 Arduino, 写了一个最简单的程序, 闪烁的灯, 只要14行, 还是算上空行和大括号的,这让学51连个流水灯也写不出来的同学情何以堪...

PCB

1
2
3
4
5
6
7
8
9
10
11
12
int flash = 2;	//设置端口名字
void setup()
{
	pinMode(flash , OUTPUT); 	// 定义端口用来输出
} 
void loop()
{
	digitalWrite(flash , HIGH);
	delay(500);
	digitalWrite(flash , LOW);
	delay(500);
}

开源的东西就是好, 简单好用, Linux 下也有 IDE, 安装居然 yum 下就解决问题了, 这让每天用着盗版的付费的 IDE 的同学情何以堪...

IDE

< >
20

Comments

我承认这篇文章标题不怎么样, 不过放心, 这篇文章不会很水. 昨天我陪人 (mua~) 去买 iTouch 的时候和店家讨论到这个充电器的问题了. 于是写下此文作讨论.

现在带电池的设备都少不了充电器, 手机更是如此. 目前国家的标准是, 从2007年6月14日开始, 所有的手机设备都要使用USB规范的充电器, 同时把数据线 D+ 和 D- 短路.[引用] [PDF] 而 USB 的电源规范是一个USB的HUB最多只能提供500 mA的电流. [引用]
所以,现在的充电器额定电压就是 5V, 最大电流 500 mA.

下面给出一张图. 这个图只是个理论图. 理论上, 无论负载有多少电流, 电压源都输出恒定的5V.

最大电流受到元器件限制, 如线圈, 整流二极管. 电流大了线圈和二极管可能要烧掉.

而实际上, 整流二极管会吸收一部分电压, 当负载电流越大时, 二极管吸收的电压越多, 于是输出到设备的电压就会下降. U-i曲线中红点是个特殊的点,我会稍后讲到.

于是, 为了制造稳压电源, 砖家叫兽加入了光耦-反馈元件. 光耦会检测输出电压, 当负载电压下降时, 反馈给电压源, 让电压源输出更高的电压. 这就是闭环开关电源.

而实际上, 一个手机充电器有很多猫腻. 我特意拆了两个充电器, 上图对比.

这两个都是山寨手机充电器. 右边的用料, 明显质量要好于左边的.
蓝圈: 整流部分, 把220V的交流转换成脉动直流. 左边的那个电源就用了一个二极管做半波整流, 右边的电源用了4个二极管作全桥整流. 全桥整流在效率, 输出质量上明显高于半波整流.
绿圈: 高压滤波电容. 左边的容量是2.2uF, 右边是2个2.2uF. 这个电容的大小也关系到输出质量. 一般来讲, 电容值越大越好, 但是值大了体积和成本就上去了.
紫圈: 输出滤波电容, 这里的电容最好是低ESR的电容, 能消除开关纹波, 但是成本...
红圈: 最重要的部分, 光耦反馈. 左边的电源没有光耦, 所以就没有反馈, 它的电路图是上面的第二张电路图. 重点来了: 那个U-i曲线中红点. 由于没有反馈, 厂家会设定开关电路中的元器件的值, 当负载电流为标称电流 (500mA) 时, 电压正好为标称电压 (5V). 当负载电流小了, 输出电压就上去了, 而当负载电流大时输出电压会被线圈啊, 二级管吸收衰竭, 使得实际输出低于5V.
手机的负载随时会发生变化, 如屏幕点亮, 和基站通讯, 提示音等. 若是手机使用这种垃圾充电器充电, 而没有关机, 输入电压就会随着负载电流作大幅度波动, 这对手机电路, 特别是电池是极为不利的!!! 而且那些无良厂家往往会虚写值, 也就是说, 说不定输出在300mA时就低于5V了, 在500mA时都低于4V了.
右边的电源存在反馈电路, 虽然这种波动也是存在的, 但是对手机的影响小了很多. 它的电路图就是第三张电路图.

有一些说法是说, 充电器电流越大, 充电速度越快, 我认为, 这些人是没有用过优秀的充电器. 假设电池恒流充电, 最大充电电流250mA, 电池充电电压 3.7V (电量低) -- 4.2V (电量高), 手机本身用电100mA, 那么充电器在负载为350mA的时候, 垃圾充电器输出电压为多少呢? 如果输入电压高于电池电压 (大于 4.2V), 手机还能通过内部电路转换一下. 如果输出电压低于电池的电压, 那怎么能给电池充电呢? 如果输入电压略微高于电池电压, 那怎么还能充得快呢?

所以, 别看那个10元一个的充电器, 好坏还是差很多的. 大家尽量用手机厂商发的充电器 (山寨手机除外), 用电脑充电尽量用机箱背面 I/O 口的 USB 接口. 我自己用的充电器是高中老师缴获并送给我研究的 PSP 充电器. 我给它做了个电路板, 有两个标准USB接口, 可以充手机, MP3等, 感觉还不错, 点餐机电池寿命还不是挺长的嘛.

< >
5

Comments

这是我的蛋疼论文,发上来做保留的

摘要:本文就当前 GPS 定位速度慢进行了研究,并对提高 GPS 定位速度的 AGPS 和 LAAS 两种辅助定位方式进行了讨论,这两种方式各有优缺点.
关键词:GPS 码分多址 AGPS LAAS 伪卫星

0.引言
GPS是用来授时和测距的导航系统.该系统由轨道卫星,运行控制系统和用户接收机3个子系统组成.随着 GPS 在军用,民用中的广泛应用, GPS 接收机得到迅猛的发展,其装备及更新速度快,用户数目急剧增长.但是,目前无辅助的GPS冷启动后初始定位较慢,一般需要 45 秒钟,在移动时这个值更加慢.本文就是讲述其他信号辅助状态下的高速定位.在其他信号辅助下,定位的精确度也能升高.

1.当前卫星信号系统
当前,所有的卫星都以相同的两个频道向下广播卫星上的原子钟时钟信号, 1575.425 MHz 和 1227.625MHz .这两个频率段波长在 15cm 左右,相对无线电干扰比较少,国际无线电组织专门划分用于导航.其中 1227.625MHz 是军用精码频率,不在本文讨论分为之内.目前天上一共有32颗卫星,每颗卫星用CDMA扩频技术在低速时钟数据上和一个高速伪随机序列编码.接收机在出厂时已经设置了每颗卫星的编码信号.民用粗编码信号为 1.023MHz ,军用为 10.230MHz .
接收机通过计算粗码信号得到信号生成时间,算出接收机和该卫星距离,但并不能马上计算出自己的位置,因为它不知道卫星在发射电波时的位置.因此在 1575.425 MHz 载波上面,还加载了一个 50Hz 的导航电文,包括了:卫星的编号,轨道参数,误差修正值等. GPS 接收机就是通过这些参数计算出某一时刻某颗卫星在空间中的位置,然后再确定自己与卫星的距离,计算出自己的实际位置.

2.当前系统定位较慢
接收机关机后会在 RAM 中保存关机时的最后星历信息,用于提高下次定位速度.当 RAM 断电,或者长时间没有接受信号造成星历变化,必须完全重新定位(重新预热).一般重新定位理论上需要 45 秒,其中 30 秒是用来接收导航电文,确定卫星位置,剩下 15 秒钟是计算时间和位置. 45 秒是理论距离.但是,这只是理论速度.实际信号传输会因为云层,电离层,多路径干扰而造成衰竭,因此实际定位常常大于 1 分钟半,甚至大于 3 分钟,尤其是在移动中的初始定位.当前 GPS 这种预热性无法满足部分场景的需要,而 GPS 的工作原理决定了无法解决这种预热问题.因此,需要采用其他技术辅助提速 GPS 定位速度.

3.AGPS
AGPS 是基于 Internet 的辅助 GPS 定位技术.当前只要有 GPS 模块的手机基本都支持 AGPS .由于手机都通过基站联通互联网,当 GPS 初始工作时,会从互联网上下载最新卫星星历,汇报当前基站位置给辅助定位服务器.辅助定位服务器会把当前基站位置反馈到接收机,提升定位速度.由于每个基站通信范围有限,所以通过基站能获得大约 1000M 的精度.在城市等人口密集地域,由于每个基站容量有限,往往会采用微小区技术,使用更多基站并降级基站发射功率,进一步提高基站定位的准确性.目前我国的移动营运商都没有对公众开放相应 API ,但是目前 Google 已经在 Google Maps 中开放了基站定位.由于 AGPS 接收器与辅助服务器间的任务是互为分工的,所以 AGPS 往往比普通的 GPS 系统有速度更快的定位能力,有更高的效率.

优点:在互联网的帮助下定位,简单而方便.
缺点:并不是所有的设备都有 GSM 或者 Wifi 模块,能链接到互联网.如专业导航设备.

4.LAAS
局域增强 GPS 系统的本意是利用基站充当伪卫星,提供更加准确的信号.现在该系统也被用来提高定位速度.固定基站接收卫星的广播信号,转码后同频率广播时钟信号和导航电文.由于基站天线体积可以适当提高,基站精确度可以比较大.而对接收机来说,基站发射功率较卫星大, GPS 接收机将轻松接收到卫星信号,并视作一颗伪卫星.目前已经在美国的部分机场应用,使飞机能高速定位,并且提高精确度.

优点:设备无须拥有互联网通信功能
缺点:基站成本较大,一般用于专业领域,接收机无法向下兼容.

5.结束语
本文就当前 GPS 定位速度慢进行了研究,并对提高 GPS 定位速度进行了讨论. GPS 目前已经广泛应用在各行各业,在辅助 GPS 设施的帮助下, GPS 定位将更快速,更准确,更给力.实在是以后人肉搜索,跨省追捕的利器.

参考文献:
[1]Understanding The GPS - An Introduction to the Global Positioning System by Gregory T. French

< >