KQ130F电力载波数据收发模块课件.docx

上传人:b****2 文档编号:1762434 上传时间:2023-05-01 格式:DOCX 页数:18 大小:310.31KB
下载 相关 举报
KQ130F电力载波数据收发模块课件.docx_第1页
第1页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第2页
第2页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第3页
第3页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第4页
第4页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第5页
第5页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第6页
第6页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第7页
第7页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第8页
第8页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第9页
第9页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第10页
第10页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第11页
第11页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第12页
第12页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第13页
第13页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第14页
第14页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第15页
第15页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第16页
第16页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第17页
第17页 / 共18页
KQ130F电力载波数据收发模块课件.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

KQ130F电力载波数据收发模块课件.docx

《KQ130F电力载波数据收发模块课件.docx》由会员分享,可在线阅读,更多相关《KQ130F电力载波数据收发模块课件.docx(18页珍藏版)》请在冰点文库上搜索。

KQ130F电力载波数据收发模块课件.docx

KQ130F电力载波数据收发模块课件

KQ-130F电力载波数据收发模块

KQ-130F是单列9针小体积高性能过零载波数据收发模块。

是专门为在220V交流上,强干扰,强衰减,远距离要求的环境下,可靠的传送数据而特别设计和开发的性价比很高的载波模块。

适用于抄表,路灯,智能家居,消防,楼宇控制以及需要电力线传送数据的其它应用领域。

一、KQ-130F系列性能:

1.集成了KQ-330F模块及外围电路的载波板,毋需其他的耦合元件,直接连接220V的交流电使用。

外型尺寸为53×38×17毫米(L×D×H),单列排针引出(见下图)1、2脚接220V交流电源无方向(1脚,2脚间距2X0.1英寸),2脚,3脚间距1.1英寸,其余各脚之间间距0.1英寸。

2.工作频率120~135KHZ,接口波特率9600bps。

实际波特率100bps,250个字节缓存器。

3.温度范围:

-25℃~+70℃湿度≤90%

4.供电电源:

DC+5V接收时:

≤11mA发送时:

≤300mA

二、规格及型号:

KQ-130F:

130后第一个字母定义为:

F:

过零传送型

三、KQ-330引脚说明:

    正面从左至右为1~9脚:

1P—AC:

220V交流电压的火线(或零线)

2P—AC:

220V交流电压的零线(或火线)

3P—+5V:

+5V发送电源(260mA),如果单收数据可以悬空降低功耗

4P—GND:

数字电路地线

5P—+5V:

+5V工作电源11mA

6P—RX:

TTL电平,载波数据入,接单片机的TXD,高阻输入不能悬空

7P—TX:

TTL电平,载波数据出,接单片机的RXD

8P—MODE:

模式选择,悬空或接5V为高电平,接地为低电平

9P—NC/RST:

复位脚(低电平有效)只有在工作时频繁切换模式时使用。

毋需此功能,引脚应悬空

四、KQ130F系列模块编程注意事项

本模块接口波特率9600bps,用户与模块通讯请采用9600BPS异步方式,格式为1个起始位,8个数据位1个停止位格式。

本模块通过MODE脚控制模块使用透明工作方式(高电平),还是自定义工作模式(低电平)。

MODE高电平(悬空)时为透明工作模式,低电平(接地)时为自定义工作模式。

在透明工作模式时:

(MODE=1即MODE悬空或接5V。

建议悬空)在编程时毋需对模块初始化,通讯时和普通RS-485方式类同。

但是,由于电力线上负载比较多,电器所产生的谐波也就无法避免地耦合到电力线上,本模块是高灵敏度的载波模块,在所有载波模块都处于接收状态时,电力线上就会全部被电器所产生的谐波所覆盖,这时,模块将解调出噪声数据从TX端输出。

所以发送和接收数据应该引入同步码以区分真正的传送数据。

注意:

在模块发送缓存器(253字节)满后不再接收新的数据。

也就是一帧发送字节小于253个字节。

用户的一帧数据请连续不间断的发送到模块,如果停顿时间超过模块已发送完所有的数据时间(缓存器空,最后一个字节已完全发送),接收方的模块可能会插入噪声数据。

如向RX端连续发送:

5A5A5A345678124567在其他接收模块就可能输出

FEFDEF5A5A5A34567812456785DEEF.加黑的字节是在所有模块都没发送数据时,接收模块接收到的噪波数据。

接收数据还是采用9600BPS异步方式,格式为1个起始位,8个数据位1个停止位格式,从TX送出,但是大约要每0.09秒左右发送一次。

在自定义工作模式时也等同。

在自定义工作模式时:

(MODE=0即MODE接地)用户按照我公司的定义传送数据,一帧传送数据定义如下:

第一个字节:

要传送一帧的字节数0-250(不含第一个字节)

第二个字节到第n+1个字节:

用户需传送的字节数据

注意:

在模块还没发送完一帧数据时,不会接收下一帧数据。

接收数据和发送数据等同。

如向RX端发送:

02AE87在其他模块TX就输出02AE87

02是字节长度,这表示后面有2个字节的数据。

如向RX端发送:

09010203040506070809

在其他模块TX就输出09010203040506070809

09是字节长度,这表示后面有9个字节的数据。

最大的字节长度可到253.

如向RX端发送:

FD0102030405060708090A0B0C0D0E...FD

在其他模块TX就输出FD0102030405060708090A0B0C0D0E...FD

有效的数据可以到253个。

KQ-130系列模块的区别:

KQ-130F是专门针对交流220V/110V,50HZ/60HZ强干扰设计的基于交流零点传送方案的载波模块,在市电上面具有传送效果好,距离远等特点。

必须在有交流电源的情况下才能传送数据,载波速率是50HZ/100BPS,60HZ/120BPS我们通过软件优化9个BIT可以传送1个字节。

KQ-130E是完全的载波模块,传送数据与零点无关。

在载波解调后做了数字滤波,提高其载波数据的抗干扰能力,速率越低效果越好。

KQ-130E可以在0V-220V交直流电压下进行载波通讯,如:

220V,110V,80V,48V,36V,24V,12V等交直流电压以及停电情况下的载波通讯。

KQ-130E最高速率是400BPS。

可以选择100BPS通讯提高抗干扰能力,但是同样是100BPS的KQ-100E在交流电源上的通讯效果比KQ-130F差不少。

KQ-130K的通讯方式和KQ-130E相同,唯一的区别就是实际的载波速率最高可以做到1200BPS。

尾缀带+号的,KQ-130F+,KQ-130E+,KQ-130K+,可以支持发送功率电压在12V的情况下连续的长时间发送数据。

KQ-130系列模块的共同点:

所有KQ-130系列模块与单片机/微机的接口都是一样的,通讯方式也相同。

与单片机/微机的串行接口速率都是9600BPS,一个起始位,八个数据位和一个停止位。

相同的透明工作模式或自定义工作模式。

KQ-130F电力载波数据收发模块图片:

 

KQ-130F电力载波数据收发模块与单片机连接图:

 

KQ-130F电力载波数据收发模块与微机9针RS232口连接图:

DB9的2脚接微机的RXD,3脚接微机的TXD

KQ-130F电力载波数据收发模块经上图与微机9针RS232连接后用串口调试助手测试图:

MODE=1高电平时:

发送0102030405067889数据,最多可连续发送255个字节。

如果发送一帧超过255字节的数据,请发送250个字节后延迟20秒,再发送后面的数据。

另一台电脑接收到的:

0102030405067889在很多噪波之后。

但是是完全透明的传送,没有增加任何数据。

MODE=0低电平时:

发送080102030405067889

第一个字节是格式要求:

要发送的字节数,这里有8个,最多可达250个(0xf0)

另一台电脑接收到的:

没有噪波,但是必须按我们的格式通讯,并且会增加一些前导码。

附1:

有关我公司模块的文章参考:

 

("载波通信模块在远程抄表系统中的应用",引自2006年6月21日电子查询网有关KQ-100系列产品的用户使用经验)

("基于GPS公交车电子站牌系统的设计",引自2011年8月18日王光学老师有关KQ-100系列产品的用户使用经验)

("KQ-100K模块在220V电力线载波通信系统中的应用"《电子元器件应用》2008年第9期)

("电力载波在农村电网控制系统中的应用" 《农业科学研究》2010年9月)

("基于FSK-KQ100模块的低压电力载波通讯电路设计" 《沈阳工程学院学报(自然科学版))》2006年1月)

("采用电力载波模块对控制与保护开关的远程控制方案" 《低压电器》 2010年23期)

附2:

KQ-130模块作为从设备,MODE接地。

返回微机通过串口调试助手发送数据的89C2051单片机C语言程序:

(中断接收发送方式)

HEX文件下载地址(下载后把尾缀.h修改成.hex)

C语言源文件下载地址:

/*

MODE=0时上位机发送0412345678

89C2051收到上位机后返回同样的数据。

使用11.0592M的晶振

我们已经测试通过。

*/

#include

#include

#include

#include

bitPTT;

unsignedchartrbuf[64];

main()

{

registerunsignedintDcn;

PCON=0X80;

TMOD=0X21;

TR0=1;

IP=0X10;

SCON=0X70;

TH1=0XFA;

TR1=1;

IE=0X90;

TR1=1;

PTT=1;

SCON=0x70;

PCON=0x80;

P1=0X0FF;

P3=0X0FF;

while

(1)

{

}

}

voidestr0()interrupt4using2{

staticunsignedcharlen=0,max=0,i;

unsignedcharj,k;

if(RI)

{

RI=0;

if(PTT)

{

k=SBUF;

trbuf[max]=k;

if(len==0)

{

max=0;

trbuf[0]=k;

len=k;

max++;}

elseif(max==len)

{SBUF=trbuf[0];

TI=0;

PTT=0;

max=1;

}

else

{max++;

}

}

}

if(TI)

{TI=0;

if(!

PTT)

{

SBUF=trbuf[max];

if(max==len)

{

PTT=1;

max=0;

len=0;

}

else

{

max++;

}

}

}

}

AT89C51C语言连续发送程序参考:

//AT89C51系列发送示范程序,11.0592M的晶振,MODE脚接地

charb[]={0x03,0x12,0x34,0x56};//03代表要发送数据的长度

voiddelay_ms(intt);

voidmain()

{

intmax;

PCON=0X80;//第1步,初始化串口,10位方式,一个停止位

SCON=0X70;

TMOD=0x20;//第2步,定时器1工作方式2

TH1=0XFA;//第3步,赋定时器1的初值,设置成9600BPS

TL1=0XFA;

TR1=1;//第4步,开定时器1

while

(1)

{

for(max=0;max<4;max++)

{

SBUF=b[max];//0x03,0x12,0x34,0x56//独立接收发送缓冲器

while(TI==0);//发送中断标志

TI=0;

}

delay_ms(800);//延迟800mS加4个前导码,共8字节,要800mS

}

}

voiddelay_ms(intt)

{

inta;

while(t--)

{

for(a=300;a>0;a--);

}

}

//AT89C51系列接收示范程序,11.0592M的晶振,MODE脚接地

charb[20];//在这假如接收3个有效字节,就是上面的发送的数据

voidmain()

{

intmax;

PCON=0X80;//第1步,初始化串口,10位方式,一个停止位

SCON=0X70;

TMOD=0x20;//第2步,定时器1工作方式2

TH1=0XFA;//第3步,赋定时器1的初值,设置成9600BPS

TL1=0XFA;

TR1=1;//第4步,开定时器1

while

(1)

{

RI=0;

for(max=0;max<4;max++)

{

while(RI==0);//发送中断标志

RI=0;

b[max]=SBUF;//0x03,0x12,0x34,0x56//独立接收缓冲器

}

//接收不需要延迟

}

}

 

/*

*STM32源程序要感谢ibeerbear无私的奉献

*说明:

利用STM32的USART1与KQ-130F通信,已调试通过

*线接法:

STM32/PA9/TX->KQ130F/RX,STM32/PA10/RX->KQ130F/TX,KQ130F/MODE接地,KQ130F/NC悬空,KQ130F双+5V供电,AC脚接家用插座

*另外:

1,KQ130F工作电压可以调整为3.3v;2,发送帧之间一定要有时间间隔

*/

//先配置STM32RCC、GPIO等

//再配置USART1

voidUSART1_Config(void){

//别忘记配置USART1的RCC

GPIO_InitTypeDefGPIO_InitStructure;

USART_InitTypeDefUSART_InitStructure;

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA,&GPIO_InitStructure);

USART_InitStructure.USART_BaudRate=9600;

USART_InitStructure.USART_WordLength=USART_WordLength_9b;

USART_InitStructure.USART_StopBits=USART_StopBits_1;

USART_InitStructure.USART_Parity=USART_Parity_No;

USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

USART_Cmd(USART1,DISABLE);

USART_Init(USART1,&USART_InitStructure);

USART_Cmd(USART1,ENABLE);

}

 

#ifdef_SERVER_

unsignedchardata;

#elifdefined_CLIENT_

unsignedcharBuffer[]={7,0,1,2,3,4,5,6};

unsignedintIndex=0;

#endif

while

(1){

#ifdef_SERVER_

if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)!

=RESET){

data=USART_ReceiveData(USART1);

if(data<=7){

//在这里添加处理数据的代码

LED_Toggle(GPIO_LED_PORT,GPIO_LED_PIN);

}else{

//在这里添加错误数据处理代码

}

}

#elifdefined_CLIENT_

Index=Index%8;

if(Index==0){

//Delay函数利用systick精确延迟2秒

Delay(2*1000*1000);

}

USART_SendData(USART1,Buffer[Index++]);

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);

#endif

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2