Professional Documents
Culture Documents
Tm tt
Bn kha lun tt nghip gm c ba phn ring bit trong phn mt l l thuyt
b khuych i lock-in tip theo l tng quan chung cu trc vi iu khin dsPic30F4011
v cui cng l phn thc nghim. Chng 1 v l thuyt b khuych i lock-in trc
tin ta s tm hiu ti sao li phi dng b khuych i lock-in trong o lng tn hiu nh
v khi nim b khuych lock-in, tip theo l s cu to chung ca mt b khuych i
lock-in c in. Cui cng l phn tm hiu cu to v nguyn tc hot ng ca b
khuych i lock-in s v tng t. Trong chng 2 v tng quan cu trc ca vi iu
khin dsPic30F4011 chng ta s tm hiu chung v h vi iu khin DsPic30F tip l
c im chung ca h vi iu khin dsPic30F4011. Cui cng ta s tm hiu su hn v
cu trc ca vi iu khin dsPic30F4011. Phn cn li ca bn kha lun s l phn thc
nghim, y trnh by ton b qu trnh thit k b khuych i lock-in gm c phn
cng, phn mm v kt qu thc nghim. Phn cng c cc khi ring bit, vi mi khi
c trnh by l thuyt v c s thit k. Cn phn mm c trnh by di dng s
khi ca cu trc chng trnh vi cc modul ring bit. Sau khi thit k c b khuych
i lock-in s, ta s th nghim mt h o cho cm bin c nhn l b khuych i lockin va ch to. C th trong bn kha lun s th nghim mt h o p dng cho cm bin
p sut MPX2300D do cng ty Motorola cung cp.
MC LC
M u.............................................................................................................................1
Chng 1. B Khuch i Lock In................................................................................2
1.1. TNG QUAN V B KHUYCH I LOCK IN...................................................................................................................2
1.1.1. Gii thiu....................................................................................................................................................2
1.1.2. Khi nim lock in amplifier....................................................................................................................6
1.1.3. Cu trc chung ca b khuych i lock in................................................................................................6
1.2. B KHUYCH I LOCK IN TNG T (ANALOG LOCK-IN AMPLIFIERS)..........................................................................7
1.3. B KHUYCH I LOCK IN S (DIGITAL LOCK-IN AMPLIFIERS).....................................................................................9
Kt Lun.........................................................................................................................59
Ph Lc...........................................................................................................................60
Vi iu khin
ADC
DAC
KTT
AC
DC
Dng in mt chiu
M u
Vi s pht trin mnh hin nay ca vic ng dng cc cm bin th vic thit k
nhng h o v kho st cm bin l rt cn thit, n l mt thit b khng th thiu cho
bt k mt phng th nghim no. Mt h o nhy v c chnh xc cao cn c ng
dng trong y hc, chnh l nhng my xt nghim y sinh. Ngoi ra n cn c ngha
quan trng ti nhiu ng dng cn chnh xc cao trong khoa hc k thut (v d nh:
o lng chnh xc, robotic, ....)
Nhiu cm bin c thit k c li ra in p rt nh, chnh v vy vic pht
hin s sai lch v o in p ra l rt kh khn. Do tng thit k mt h o lng
c nhy cao cho nhng cm bin ny l rt quan trng, v mt trong nhng tng
l h o c s dng b khuych i lock-in. Vi nhn l mt b khuych i lock-in
chng ta s c c mt h o sensor kh l tng, n c th cung cp nhng php o
phn gii cao nhng tn hiu mt cch tng i sch vi ln v tn s ring bit. Vic
thit k mt h o m c nhn l b khuych i lock-in c in cng kh phc tp v
trong b khuych i cn c cc b trn knh v b lc c chnh xc cao. Ngoi ra
trong b khuych i lock-in tng t th nh hng t vic tri nhit v gi ha ca cc
linh kin s gy ra s sai s ln cho h o. Nhng nu ta thit k mt b khuych i
lock-in s th kh thi hn nhiu. Vi cng ngh s, mt vi iu khin c th m nhim
tt vai tr l b b lc v b trn knh c chnh xc cao. V c s ha nn s khng
c hin tng tri nhit v gi ha linh kin gy sai s nh hng ti h o.Chnh v vy
mt b khuych i lock-in s l la chn thng minh nht ca ngi s dng.
V Trong kha lun ny em s tm hiu thit k mt b khuych i lock-in s da
trn vi iu khin DsPic. V t hnh thnh nn mt h o n gin vi nhn l b
khuych i lock-in s v s th nghim h o vi cm bin p sut MPX2300D ca
Motorola.
100 KHz
x 1000)=1,6mV
Hnh 1.4. Tn hiu, tn hiu tham chiu dch 90o v tch ca hai tn hiu[15]
mt knh tn hiu ng pha I v mt knh tn hiu vung pha Q. Cui cng nhng knh
tn hiu ny c cho qua mt b lc thng thp s (c th y l b lc s FIR) thu
c nhng kt qa cui cng.
Do tn hiu vo c s ha bi b chuyn i ADC nn s khng b mt mt. Hn
na, v tn hiu tham chiu (reference) c tnh bng phng php s nn c lng ha
m rt thp.
iu quan trng na l s lch gy bi tnh phi tuyn ca h s khuych i v pha
ca cc linh kin tng t s b trit tiu trong b khuych i lock-in s v s khng c
cc sai lch gy bi s tri nhit hoc s gi ha ca cc linh kin.
Cui cng b vi x l s tnh ton ln vector ca tn hiu ra v lch pha ca
tn hiu li vo so vi tn hiu reference qua cng thc sau :
Magnitude
I 2 +Q2
Phase = tan 1 (Q / I )
10
B iu khin s cho iu khin motor v bin i ngun (DSC Motor Control &
Power Conversion Family)
11
- Ch nh a ch linh hot
- di lnh 24-bit, di d liu 16-bit
- B nh chng trnh Flash 24 Kbytes
- B nh RAM ln 1Kbytes
- B nh EEPROM
- Mng 16 thanh ghi lm vic 16-bit
- Tc lm vic ln ti 40 MIPS
2.2.2. B chuyn i tng t s ADC
- B chuyn i tng t - s (ADC) 10-bit
+ Tc ly mu ti a 1 Msps (Mega samples per second)
+ Ti a 10 knh li vo ADC
+ Thc hin bin i c trong ch Sleep v Idle
- Ch nhn bit in th thp kh lp trnh
- To Reset bng nhn din in p kh lp trnh
2.2.3. Cc cng vo ra I/O Port v cc ngoi vi
- Dng ra, vo cc chn I/O ln: 25 mA
- 3 Timer 16-bit, c th ghp 2 Timer 16-bit thnh Timer 32-bit
- Chc nng Capture 16-bit
- Cc b so snh/PWM 16-bit
- Module SPI 3 dy (h tr ch Frame)
- Module I2C, h tr ch a ch t, a ch t 7-bit n 10-bit
- UART c kh nng a ch ho, h tr b m FIFO
2.2.4. B x l tn hiu s
- Np d liu song song
- Hai thanh cha 40-bit c h tr bo ho logic
12
13
14
15
16
a ch tuyn tnh.
a ch vng.
a ch o bit.
17
Bng 2.1. Cc ch nh a ch c bn c h tr
Lnh thanh ghi tp
Tt c cc lnh thanh ghi u s dng trng a ch 13-bit trc tip nh a ch
d liu 8192 bytes u ca b nh d liu (gn khng gian d liu). Tt c cc lnh
thanh ghi tp u tn dng thanh ghi lm vic W0, thanh ghi lm vic trong cc lnh ny.
Lnh MCU
Cc lnh MCU 3 ton hng c dng nh sau:
Ton hng 3 = Ton hng 1 <hm> Ton hng 2
Trong Ton hng 1 lun l thanh ghi lm vic (v d: ch a ch ch c th l
thanh ghi trc tip). Ton hng 2 c th l thanh ghi W, ly d liu t b nh d liu,
hoc 5 bit thng thng. Kt qu c t trong c th l thanh ghi W hoc mt a ch
c nh.
Lnh di chuyn v tch lu
Lnh di chuyn v cc lp DSP tch lu ca lnh lm cho s mm do ca a ch
cao hn cc lnh khc. Tt c cc lnh MCU, lnh di chuyn v tch lu u h tr ch
a ch, v cng h tr ch thanh ghi gin tip v thanh ghi a ch offset.
Ch : i vi lnh MOV, ch a ch c ch r trong lnh c th khc nhau
gia ngun v ch. Tuy nhin trng ca 4-bit offset ca thanh ghi Wb c chia s gia
ngun v ch.
Cc lnh MAC
C hai ton hng ngun ca cc lnh DSP (CLR, ED, EDAC, MAC, MPY.N,
MOVSAC v MSC) c xem nh cc lnh MAC, tn dng cc lnh c n gin ho
18
Cc bit BWM (la chn thanh ghi W) trong thanh ghi MODCON gi tr ln hn 15
(khng th truy cp ngn xp khi ang s dng ch o bit a ch)
19
20
21
22
23
24
Tt c cc c ngt c lu
trong 3 thanh ghi ny. Cc c c
t tng
INT
Vector
Interrupt Source
Number Number
Highest Natural Order Priority
0
8
INT0 External Interrupt 0
1
9
IC1 Input Capture 1
2
10
OC1 Output Compare 1
3
11
T1 Timer 1
4
12
IC2 Input Capture 2
5
13
OC2 Output Compare 2
6
14
T2 Timer 2
7
15
T3 Timer 3
8
16
SPI1
9
17
U1RX UART1 Receiver
10
18
U1TX UART1 Transmitter
11
19
ADC ADC Convert Done
12
20
NVM NVM Write Complete
13
21
SI2C - I2C Slave Interrupt
14
22
MI2C I2C Master Interrupt
15
23
Input Change Interrupt
16
24
INT1 External Interrupt 1
17
25
IC7 Input Capture 7
18
26
IC8 Input Capture 8
19
27
OC3 Output Compare 3
20
28
OC4 Output Compare 4
21
29
T4 Timer4
22
30
T5 Timer5
23
31
INT2 External Interrupt 2
24
32
U2RX UART2 Receiver
25
33
U2TX UART2 Transmitter
26
34
Reserved
27
35
C1 Combined IRQ for CAN1
28 - 38 36 - 46 Reserved
39
47
PWM PWM Period Match
40
48
QEI QEI Interrupt
41
49
Reserved
42
50
Reserved
43
51
FLTA PWM Fault A
44
52
Reserved
45 - 53 53 - 61 Reserved
Lowest Natural Order Priority
25
Cc thanh ghi u tin ngt: IPC0<15:0> ... IPC10<7:0>: Ngi s dng c th chuyn
i mc u tin ngt kt hp vi mi ngt c gi trong cc thanh ghi ny
Hai thanh ghi 16-bit INTCON1<15:0>, INTCON2<15:0>: Chc nng iu khin ngt
ton cc c xut pht t hai thanh ghi ny. INTCON1 cha cc c iu khin v
trng thi ca b x l loi tr. INTCON2 iu khin tn hiu yu cu ngt v vic
bng vector ngt thay th.
26
Counter khng ng b 16-bit: khi hot ng trong ch ny, timer s tng dn sau
mi sn ln ca xung nhp bn ngoi tc ng vo. Timer s tng dn n khi gi tr
ca n bng thanh ghi PR1 th b reset v 0 ri li tip tc m ln.
H s chia tn ca b nh thi
Xung nhp u vo (Fosc/4 hoc xung nhp ngoi) a vo Timer 16-bit v c th
c chia tn s theo cc t l sau: 1:1, 1:8, 1:64, 1:256 c xc nh bi cc bit
TCKPS<1:0> ca thanh ghi TxCON. H s chia tn ny (prescaler) c th b xo khi xy
ra mt trong cc iu kin sau:
-
Ghi vo TMR
27
28
29
30
31
32
Ngun 5 V
Sensor
Khi X L
Mn Hnh Hin Th LCD
Lowpass
Filter
S
Trung Tm
Khuych
i
dsPic30F4011
(DSP)
DAC
R/2R
Salenkey
Filter
33
34
35
36
DAC c s
37
38
R1
R
39
40
Rt
( 2 n1 B n1 + 2 n 2 B n 2 + ... + 21 B 1 + 2 0 B 0 )
n
2 .R
41
42
in tr li vo ln v cng.
in tr li ra bng khng
43
Ud in p vo hiu
UP , IP in p vo v dng in vo ca thun.
UN , IN in p vo v dng in vo ca o.
Ur , Ir in p ra v dng in ra.
Ur
Ur
=
Ud U p Un
44
UP = UN = UCM = 0
th Ud = 0. Gi UCM l in p vo ng pha. Theo biu thc (*) ta c Ur=0. Tuy nhin,
thc t khng phi nh vy, gia in p ra v in p vo ng pha c quan h t l l h
s khuch i ng pha KCM :
K CM =
U r
U CM
K0
K CM
l) Dng vo tnh
L tr trung bnh ca dng vo ca thun v dng vo ca o:
It =
IP + IN
vi UP = UN = 0
2
45
1
1
R2
1
1
+
CMRR
K 0 R1 + R2
j) Mch m
y l trng hp c bit ca mch khuch i khng o
46
R2
R1
47
Hz
, bng
G=
49 ,4k
49 ,4k
1 RG =
RG
G 1
48
49
Khi to
LCD
Khi To
Timer
Khi To
ADC
Khi To
Reference
signal
ref_signal x input_signal = I
ref_signal_90 x input_signal=Q
FIR Filter
I,Q Final
MAIN
Magnitude
I 2 +Q 2
Phase = tan 1 (Q / I )
Display LCD
50
51
Tn hiu reference thu c sau khi s dng b chuyn i DA 4bit theo kiu mng
R/2R c biu din cc hnh 3.22 v 3.23.
Tn hiu reference khi cha qua b lc sallen-key
52
Hnh 3.24. Tch hai tn hiu cng pha v lch trung bnh DC ca tn hiu thu
c khi qua b lc thng thp
S m phng trn hnh 3.24(s dng phn mm Micro-Cap Evaluation) cho ta thy
mt php nhn gia hai tn hiu cng pha (tn hiu vo v tn hiu tham chiu(reference)).
Php nhn ny cho kt qa l mt tn hiu c tn s bng hai ln tn s reference v
c mc trung bnh trn mc 0(dng).
Khi tn hiu ny qua b lc thng thp chng ta s thu c 1 mc DC t l vi tn
hiu vo.
53
Hnh 3.25. Tch hai tn hiu lch pha 900 v lch trung bnh DC ca tn hiu thu
c khi qua b lc thng thp
Hnh 3.25. cho thy tch gia hai tn hiu (tn hiu vo v tn hiu tham chiu
(reference)) khi chng khc pha nhau 900.
Vi php nhn ta thu c mt tn hiu c tn s bng hai ln tn s reference
nhng mc trung bnh l bng 0.
Vy khi tn hiu ny qua b lc thng thp chng ta s thu c 1 mc DC bng 0.
54
a)
b)
Hnh 3.26.
a) Tn hiu u vo v tn hiu tham chiu b)Tch ca chng
3.3.2.Th nghim b khuych i lock-in vi cm bin p sut MPX2300D:
nh gi v kh nng o c ca b khuych i lock-in xy dng em thc
hin thit k mt h o cho sensor p sut MPX2300D.
3.3.2.1. Cm bin p sut MPX2300D:
- Cm bin p sut MPX2300D l mt sn phm thng mi ca cng ty Motorola.
- MPX2300D chu ng c p lc t 0mmHg n 300mmHg v vi mi p
lc1mmHg MPX2300D cho ta mt in th ra 1uV (1uV/mmHg).
- S chn cm bin MPX2300D (xem bng 3.1) cng vi hnh dng bn ngoi
S chn ca cm bin MPX2300D
1
Vs
S+
S-
GND
55
a)
b)
Hnh 3.27. a)Hnh dng bn ngoi MPX2300D b)Hnh dng bn trong MPX2300D
3.3.2.2. Kt qu th nghim:
S h o th nghim lock-in s s dng cm bin p sut c trnh by nh
hnh 3.28.
Sensor MPX2300D
Reference signal
B Khuych i Lock-In
Signal Input
Tc dng p sut
Kt qa (hin th
trn LCD)
56
Lock-in Amlifier
p sut vo
Kt qu
10mmHg
9,8uV
15mmHg
14,6uV
20mmHg
21,3uV
25mmHg
24,3uV
30mmHg
32,1uV
57
40mmHg
40,3uV
50mmHg
53,8uV
Bng 3.2. Kt qu o
t(ms)
Hnh 3.31. Mi quan h gia tn hiu ra theo thi gian
58
Kt Lun
Kt qu thu c sau khi kha lun c thc hin:
-
Xy dng c cho bn thn cch lm vic khoa hc, cch t duy c h thng khi
thc hin mt kha lun.
59
Hng pht trin tip ca ti l rt gn mch in, tng chnh xc cho h o qua
c th thng mi ha h o.(C th s dng h o c nhn l b khuych i lockin cho nhng cm bin y sinh hc Bio Sensor).
Ph Lc
M ngun chng trnh:
//---Main--#include <p30f4011.h>
#include <stdio.h>
#include "common.h"
#include "dsp.h"
#include "lcd8bit.h"
#include "delay.h"
#include "string.h"
_FOSC(CSW_FSCM_OFF & XT_PLL16);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF & MCLR_EN);
_FGS(CODE_PROT_OFF);
extern FIRStruct lowpassexample_psvFilter; /*Contains filter structures for FIR-LPF*/
extern FIRStruct fir_oneFilter;
extern FIRStruct fir_baFilter;
extern FIRStruct fir_cuoiFilter;
60
fractional i_Ptr_sig[NUMSAMP];
fractional input_I_signal[NUMSAMP];
fractional input_Q_signal[NUMSAMP];
fractional output_I_signal[NUMSAMP];
fractional output_Q_signal[NUMSAMP];
fractional* i_Ptr;
unsigned int ref_input_s90;
unsigned int ref_input;
unsigned int doFilterFlag;
int main(void)
{
float nhan1,nhan2,kq1,kq2,adc;
float fI,fQ;
float mag,phi;
char sBuff[40];
TRISE = 0xFFF0;
FIRDelayInit(&lowpassexample_psvFilter);
FIRDelayInit(&fir_oneFilter);
FIRDelayInit(&fir_baFilter);
//
Uart_Init();
Init_Timers();
Init_ADC();
TMR1 = 0;
TMR2 = 0;
TMR3 = 0;
T1CONbits.TON = 1;
T2CONbits.TON = 1;
T3CONbits.TON = 1;
while(!doFilterFlag);
while (1)
61
{
if (doFilterFlag)
{
i_Ptr
=& i_Ptr_sig[0];
adc = Fract2Float(i_Ptr_sig[0]);
nhan1=Fract2Float(i_Ptr_sig[0])*ref_input;
nhan2=Fract2Float(i_Ptr_sig[0])*ref_input_s90;
input_I_signal[0] = Float2Fract(nhan1);
input_Q_signal[0] = Float2Fract(nhan2);
FIR(NUMSAMP,&output_I_signal[0],&input_I_signal[0],&fir_oneFilter);
FIRDecimate(NUMSAMP,&output_I_signal[10],&input_I_signal[10],&fir_oneFilter,10);
FIR(NUMSAMP,&output_Q_signal[0],&input_Q_signal[0],&fir_oneFilter);
FIRDecimate(NUMSAMP,&output_Q_signal[10],&input_Q_signal[10],&fir_oneFilter,1
0);
FIR(NUMSAMP,&output_I_signal[0],&input_I_signal[0],&lowpassexample_psvFilter);
FIRDecimate(NUMSAMP,&output_I_signal[8],&input_I_signal[8],&lowpassexample_p
svFilter,8);
FIR(NUMSAMP,&output_Q_signal[0],&input_Q_signal[0],&lowpassexample_psvFilter
);
FIRDecimate(NUMSAMP,&output_Q_signal[8],&input_Q_signal[8],&lowpassexample_
psvFilter,8);
FIRDecimate(NUMSAMP,&output_I_signal[0],&input_I_signal[0],&fir_baFilter,2);
FIRDecimate(NUMSAMP,&output_Q_signal[0],&input_Q_signal[0],&fir_baFilter,2);
FIR(NUMSAMP,&output_I_signal[0],&input_I_signal[0],&fir_cuoiFilter);
FIR(NUMSAMP,&output_Q_signal[0],&input_Q_signal[0],&fir_cuoiFilter);
fI = Fract2Float(output_I_signal[0]);
fQ = Fract2Float(output_Q_signal[0]);
....................................
Init_LCD();
62
//
lcd_cmd(lcd_homeL1);
print_lcd(0x80,"TIN HIEU DO DUOC");
//
//
RS232XMT(sBuff);
doFilterFlag = 0;
}
}
return 0;
}
//---Isr_Timers--#include <p30f4011.h>
#include "common.h"
#include "dsp.h"
volatile unsigned char _sinTableIndex;
extern unsigned int ref_input_s90;
extern unsigned int ref_input;
static unsigned char sinTable[] = {5,6,7,8,9,9,10,10,10,10,10,9,9,8,7,6,5,4,3,2,1,1,0,0
,0,0,0,1,1,2,3,4};
static unsigned char sinTable_s90[] = {10,10,10,9,9,8,7,6,5,4,3,2,1,1,0,0,0,0,0,1,1,2,3
,4,5,6,7,8,9,9,10,10};
void __attribute__((__interrupt__,no_auto_psv)) _T2Interrupt( void )
{
_sinTableIndex++;
_sinTableIndex &= 0b00011111;
LATE = (sinTable[_sinTableIndex]);
ref_input = (sinTable[_sinTableIndex]);
63
ref_input_s90 = (sinTable_s90[_sinTableIndex]);
IFS0bits.T2IF = 0; // Xoa co ngat
}
//--lcd-#include "p30f4011.h"
#include "delay.h"
#include "lcd8bit.h"
void print_LCD(char a,char *s);
void Init_LCD( void );
void lcd_cmd( char cmd );
void lcd_data( char data ) ;
void puts_lcd( unsigned char *data, unsigned char count );
// cai dat lcd
void Init_LCD( void )
{
TRISB &= 0xFF00;
RW_TRIS = 0;
RS_TRIS = 0;
E_TRIS = 0;
// RW = low
RS = 0;
E = 0;
// RS = low
// E = low
lcd_cmd( lcd_8bit );
lcd_cmd( lcd_normal );
lcd_cmd( lcd_on_crsr );
Delay_ms(1);
}
//Chuong trinh con xuat lenh o che do 8 bit
void lcd_cmd( char cmd )
64
{
DATA &= 0xFF00;
DATA |= cmd;
RW = 0;
// RW = low
RS = 0;
E = 1;
// E = hight
Nop();
Nop();
Nop();
E = 0;
RS = 0;
Delay_ms(10);
}
//Chuong trinh con xuat du lieu o che do 8 bit
void lcd_data( char data )
{
RW = 0;
//
RS = 1;
//
E = 1;
Nop();
Nop();
Nop();
E = 0;
RS = 0;
//
//
65
{
lcd_cmd(a);
while(*s != 0)
lcd_data(*s++);
}
void puts_lcd( unsigned char *data, unsigned char count )
{
while ( count )
{
lcd_data( *data++ );
count--;
}
66
Mch Nguyn L
67
[3]
[4]
[5]
[6]
dsPic30F4011/4012 http://alldatasheet.com
[7] FilterPro MFB and Sallen Key Low-Pass Filter Design Program John Bishop,
Bruce Trump, R. Mark Stitt. http://www.focus.ti.com
[8] Implementing Digital
http://microchip.com
[9]
Lock-In
Amplifiers
Using
the
dsPIC
DSC