xin chào mọi người, hiện tại mình đang làm 1 đề tài về mạch RFID tần số 125khz, mình đã tính toán kỹ và quấn ăng ten đc rồi, 90 vòng, bán kính 2.75cm. đến bây giờ m cảm thấy bắt đầu mất phương hướng, mình đo điện áp đầu ra ở chân Demod_Out thì không thay đổi mức điện áp, chỉ khoảng 0.1v và con EM4095 của mình cứ nóng dần lên sau 1 vài phút cắm nguồn. mọi người đã ai làm đề tài này chưa nhờ tư vấn cho m với ạ,xem m cái code này đúng chưa............... xin cảm ơn.
mình dùng thư viện em4095.c và em4102.c có sẵn của trình dịch CCS 4.104
sau đây là code của mình: (code này nói ban đầu có led1 nhấp nháy 10 để test bắt đầu phtas rf và sau khi có thẻ tag đưa lại gần ăng ten thì led2 ở chân D4 nhấp nháy.)
các thông số của con EM4095 của m như sau:
CDC2 = 6.8nF
CFCAP = 10nF
CAGND = 100nF
CDEC = 100nF
CRES = 2.2nF
CDV1 = 47uF
CDV2 = 1nF
LA = 720uH
sau đây là code:
#include <18f452.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT //
#include <em4095.c> // Controls the reader IC
#include <em4102.c> // Allows reading 4102 transponders
#use delay(clock=20000000) // init clock 20000000
#define led PIN_D1
int8 msg[32]; //note
void main()
{
set_tris_B(0);
set_tris_D(0);
//int8 customerCode;
//int32 tagNum;
int n;
for (n=0; n<10; n++)
{
output_high(led); delay_ms(500);
output_low(led); delay_ms(500);
}
output_low(led);
int8 customerCode;
int32 tagNum;
rf_init(); // note ( khoi tao song rf )
rf_powerUp(); // note ( phat 1 xung song rf )
while(1)
{
if(read_4102(msg)) //note
{
output_low(PIN_B4);
delay_ms(500);
output_high(PIN_B4);
delay_ms(500);
}
}
}
mình dùng thư viện em4095.c và em4102.c có sẵn của trình dịch CCS 4.104
sau đây là code của mình: (code này nói ban đầu có led1 nhấp nháy 10 để test bắt đầu phtas rf và sau khi có thẻ tag đưa lại gần ăng ten thì led2 ở chân D4 nhấp nháy.)
các thông số của con EM4095 của m như sau:
CDC2 = 6.8nF
CFCAP = 10nF
CAGND = 100nF
CDEC = 100nF
CRES = 2.2nF
CDV1 = 47uF
CDV2 = 1nF
LA = 720uH
sau đây là code:
#include <18f452.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT //
#include <em4095.c> // Controls the reader IC
#include <em4102.c> // Allows reading 4102 transponders
#use delay(clock=20000000) // init clock 20000000
#define led PIN_D1
int8 msg[32]; //note
void main()
{
set_tris_B(0);
set_tris_D(0);
//int8 customerCode;
//int32 tagNum;
int n;
for (n=0; n<10; n++)
{
output_high(led); delay_ms(500);
output_low(led); delay_ms(500);
}
output_low(led);
int8 customerCode;
int32 tagNum;
rf_init(); // note ( khoi tao song rf )
rf_powerUp(); // note ( phat 1 xung song rf )
while(1)
{
if(read_4102(msg)) //note
{
output_low(PIN_B4);
delay_ms(500);
output_high(PIN_B4);
delay_ms(500);
}
}
}
Comment