Với mục đích trên, trong bài báo này chúng tôi đưa ra một số giải pháp tự chế tạo bộ kết nối thí nghiệm “Tổng hợp dao động của con lắc kép” với máy vi tính.. Tự thiết kế các bộ kết nối i
Trang 1Đại học Vinh Tạp chí khoa học, tập XXXVII, số 1A-2008
Một số giải pháp Nâng cao chất lượng Bài
thí nghiệm “Tổng hợp dao động của con lắc kép”
Võ Thanh Cương (a)
Tóm tắt Nâng cao chất lượng đào tạo thí nghiệm vật lý là một việc làm cần thiết Với mục đích trên, trong bài báo này chúng tôi đưa ra một số giải pháp tự chế tạo bộ kết nối thí nghiệm “Tổng hợp dao động của con lắc kép” với máy vi tính.
1 Lí luận dạy học quan niệm quá trình dạy học phải đảm bảo một số nguyên tắc nhất định, trước hết là nguyên tắc trực quan Tính trực quan trong dạy học thường được thực hiện qua các phương tiện dạy học Vật lý là môn học thực nghiệm, bởi vậy thí nghiệm vật lý có vai trò quan trọng trong việc tăng tính trực quan, nâng cao chất lượng dạy vật lý Tự thiết kế các bộ kết nối (interface) giữa một số thí nghiệm vật lý với máy vi tính là một việc làm cần thiết cho việc dạy thực hành ở các trường đại học cũng như ở các bậc học phổ thông Trong các thí nghiệm vật lý, phép
đo thời gian là một trong các phép đo cơ bản ví dụ như: các thí nghiệm (TN) về định luật 2 Newton, TN về định luật bảo toàn động lượng, TN về tổng hợp dao động của hai con lắc kép, TN về con lắc thuận nghịch vv Để nâng cao chất lượng thí nghiệm
đã có rất nhiều giải pháp về các bộ kết nối máy vi tính với các thí nghiệm trên, ví dụ như: các bộ Cassy hoặc các bộ VideoCom của hãng Leybol hoặc của hãng Phywe Các
bộ kết nối nhập ngoại này giá thành cao và có nhiều yêu cầu về kỹ thuật nên chưa
được phổ biến và sử dụng rộng rải Bài viết này sẽ giới thiệu một số giải pháp kết nối giữa thí nghiệm vật lý với máy vi tính, trong đó máy vi tính ghi nhận và xử lí các kết quả các phép đo thời gian trong các thí nghiệm nói trên Để thực hiện công việc đó ta cần điểm lại một số nét cơ bản của các bộ cảm biến, bộ kết nối thiết bị ngoại vi với máy vi tính và kỹ thuật truyền thông RS232 (kỹ thuật giao tiếp máy vi tính với thiết
bị ngoại vi)
2 Do yêu cầu kỹ thuật, trong các thí nghiệm khác nhau sử dụng các bộ cảm biến khác nhau ví dụ như: trong thí nghiệm về đo hệ số nhớt bằng phương pháp Stock ta sử dụng bộ cảm biến từ [2], trong các thí nghiệm về chuyển động trên đệm không khí ta dùng các bộ cảm biến quang (Fock Light Barie) [1], với các phép đo chu
kỳ con lắc dao động ta lại dùng các bộ cảm biến hồng ngoại vv Tuy cấu tạo vật lý khác nhau, nhưng các bộ cảm biến đều có điểm giống nhau: khi vật đi qua vị trí đặt cảm biến, đầu ra các bộ cảm biến xuất hiện tín hiệu điện Các tín hiệu này được các
bộ khuyếch đại thích hợp tạo thành các xung điều khiển cho các bộ kết nối với máy
vi tính
Bộ kết nối giữa thí nghiệm vật lý và máy tính ta có thể sử dụng IC vi xử lí AT89C52 IC AT89C52 hoạt động như một máy tính mini độc lập: có bộ xử lí trung tâm (CPU), có 255 thanh ghi với bộ nhớ 64 KB, bộ nhớ số liệu động RAM 128 KB, 32 cổng giao tiếp vào ra (I/O ports), 2 ngắt (interrupts) ngoài và 3 ngắt trong, 2 bộ đếm thời gian (time & counter) với chế độ đếm tràn (overflow), 4KB ROM cho các lệnh
Nhận bài ngày 16/10/2008 Sửa chữa xong 07/01/2008.
Trang 2Võ Thanh Cương … “Tổng hợp dao động của con lắc kép”, tr 11-15
ngầm định, bộ tạo dao động OSC có thể hoạt động với dao
động thạch anh (xtal), các đường truyền số liệu 8 bit
(parallel bus), đường truyền số liệu nối tiếp (serial port) tốc
độ cao vv phù hợp cho việc chế tạo các bộ kết nối thí
nghiệm vật lý với máy vi tính Xung điều khiển (từ các bộ
cảm biến) được truyền tới các ngắt ngoài (chân P3.2 hoặc
chân P3.3) của IC AT89C52 Với phần mềm cài sẵn IC
AT89C52 sẽ xử lí các thông tin, sau đó gửi kết quả về máy
tính để tính toán và hiển thị kết quả Các thông tin được
truyền từ chân TxD (Serial output port) của IC AT89C52
sang chân RxD (Receive Data) trên cổng RS232 của máy vi
tính Các chân cổng RS 232 của máy vi tính có sơ đồ như
hình 1, trong đó chân RxD là chân thứ 2 Mức điện áp logic của cổng RS 232 là hai mức +15V và -15V (ví dụ với đường dữ liệu sử dụng logic âm, logic 1 có điện thế giữa -5V và -15V, logic 0 có điện thế giữa +5V và 15 V) Để truyền tín hiệu từ chân TxD của IC AT8952 (có điện áp từ 0V đến 5V) sang cổng RS 232 của máy tính ta phải truyền tín hiệu qua một IC có chức năng khuếch đại và chuyển đổi tín hiệu ví dụ như: IC H1N232CP hoặc Max232 [6]
1 TC AT89C52
2 Thạch anh 24 MHz
3 IC H1N 232 H.2 Mạch điện tử của bộ kết nối
Có nhiều giải pháp khác nhau để chế tạo bộ kết nối tín hiệu từ các bộ cảm biến đến máy vi tính Nhưng phần mềm truyền số liệu từ IC vi xử lí và nhận số liệu
từ cổng COM vào dữ liệu máy vi tính đều như nhau
Để truyền số liệu từ IC AT89C52 ta làm như sau: số liệu thực nghiệm (tín hiệu báo ngắt hoặc khoảng thời gian đo được giữa hai tín hiệu ngắt) được ghi nhận vào thanh ghi A (Accumulator register) của IC vi xử lí AT 89C52 Đoạn phần mềm sau (được viết trên ngôn ngữ C chuyên dùng cho lập trình IC vi xử lí IC AT89C52 [3]) sẽ truyền số liệu đã lưu trên thanh ghi A sang cổng RS232 trong suốt thời gian giá trị TI = 1
out_pc:
mov sbuf, A ‘gửi giá trị trong thanh ghi A đến chân TxD jnb TI, $ ‘chờ cho đến khi TI=1
clr TI ‘Xoá TI (TI=0) ret
Trang 3Đại học Vinh Tạp chí khoa học, tập XXXVII, số 1A-2008
Để nhận số liệu vào máy vi tính, ta sử dụng phần mềm Visual Basic 6.0 Khi nhận tín hiệu từ AT89C52, máy tính tự động gọi hàm Private Sub Form Load () và chạy tất cả các hàm trong Private Sub Form Load () cho tới khi gặp lệnh End Sub:
1 Private Sub Load ()
2 MSComm1.CommPort = 1 ‘(đặt số hiệu cổng COM.)
3 MSComm1.Seting= “9600, n, 8, 1” ‘(đặt tốc độ baud và số liệu truyền nhận)
4 MSComm1 PortOpen = True ‘mã lệnh mở cổng COM
5 End Sub
Dòng 2 là lệnh khai báo cổng COM Một máy vi tính có nhiều cổng COM Sử dụng cổng COM nào ta khai báo cổng COM đó Dòng 3 là khai báo tốc độ truyền tin Baud là tốc độ truyền từng bit trên 1 giây, tốc độ baud bằng 9600 điều đó có nghĩa là
9600 bit dữ liệu truyền trong 1s (Thông thường một khung truyền (Frame) gồm 1 bit start và 1 bit stop và 8 bit dữ liệu, tổng cộng là 10 bit được gửi đi, do đó trong một giây với tốc độ baud 9600 cho phép truyền nhiều nhất 960 khung dữ liệu) Dòng thứ
4 là mã lệnh mở cổng COM
Hàm sau sẽ được chạy khi có bất cứ dữ liệu nào được gửi đến chân RxD của cổng COM
1 Private Sub MSComm1_OnComm()
2 Dim s As String
3 s = MSComm1.Input
4 lblrec.Caption = CStr(Asc(MiD(s, Len(s),1)))
5 End Sub Dòng 1 và dòng 6 là mã lệnh bắt đầu và kết thúc hàm, dòng 2 ta khai báo chuỗi tên là s, dòng 3 đọc dữ liệu từ chân RxD vào chuỗi s, dòng 4 hiển thị kết quả cuối cùng từ chân RxD của cổng COM
Khi tắt chương trình hàm sau sẽ được gọi:
1 Private Sub Form Unload ( Cancel As Integer)
2 MSComm1.PortOpen=False
3 End Sub
Mã lệnh duy nhất trong hàm này là lệnh đóng cổng COM
Như vậy bất cứ giá trị nào từ chân TxD của IC AT89C52 đều được truyền và hiển thị vào Form của Visual Basic
3 Trên cơ sở các vấn đề đã trình bày trên, chúng tôi đã đưa ra hai giải pháp như sau để chế tạo bộ kết nối thí nghiệm “Tổng hợp hai dao động của con lắc kép” với máy vi tính Trong thí nghiệm này cần đến hai thì kế (stopclock) để đo chu kỳ dao động của hai con lắc
Giải pháp 1: Các xung từ hai bộ cảm biến hồng ngoại được đưa về hai ngắt ngoài của IC vi xử lí IC vi xử lí AT89C52 đã được lập trình như một thì kế Nếu sử dụng thạch anh 24 MHz, với bộ đếm thời gian 1 (time & counter 1), thì kế đếm được khoảng thời gian nhỏ nhất là 1às Bộ đếm thời gian 2 (time & counter 2) với sự hỗ trợ tín hiệu từ các ngắt ghi lại khoảng thời gian con lắc hai lần đi liên tiếp qua bộ cảm biến, các giá trị này ghi lại dưới dạng mã thập phân (decode) Kết quả về việc
Trang 4Võ Thanh Cương … “Tổng hợp dao động của con lắc kép”, tr 11-15
lập trình IC AT89C 52 để hoạt động như thì kế đã được trình bày trong [4] Các giá trị thời gian thu được dưới dạng mã thập phân được chuyển qua cổng RS232 của máy vi tính Phần mềm Visual Basic ghi lại các kết quả này để tính toán và vẽ đồ thị dao động của hai con lắc
Giải pháp 2: Cũng như giải pháp 1 xung điều
khiển từ các bộ cảm biến được đưa về hai ngắt của IC vi xử
lí Khi một trong hai ngắt của IC vi xử lí AT AT89C52
nhận tín hiệu, IC vi xử lí chuyển ngay một con số (dạng mã
thập phân) sang chân RxD Với sự hỗ trợ của hai bộ định
thời gian (biến timer của Windows) ta có thể thiết kế trong
Visual Basic hai đồng hồ đếm chu kì dao động của hai con
lắc Mã dạng thập phân vừa được chuyển từ IC vi xử lí AT
89C52 sang máy vi tính được sử dụng như mã lệnh điều
khiển bộ đếm thời gian trong Visual Basic Phần mềm thiết
kế máy vi tính như một thì kế điều khiển bằng chuột
(mouse) đã được trình bày trong [5] Ngoài ra cũng như giải pháp 1, phần mềm Visual Basic được sử dụng để xử lí số liệu, tính toán kết quả và vẽ đồ thị
4 Hai con lắc được liên kết với nhau bằng một lò xo được gọi là con lắc kép Trong thí nghiệm “Tổng hợp dao động của con lắc kép” ta cần đo chu kỳ của các con lắc trong các trường hợp chúng dao động cùng pha, ngược pha và phách [1] Trong bộ thí nghiệm của hãng Leybold Didatic phép đo thời gian được sử dụng bằng thì kế hiện số có bộ nhớ Để thực hiện bài này ít nhất phải có hai sinh viên cùng thực hiện
Để nâng cao chất lượng đào tạo, trong thí nghiệm này chúng tôi đã sử dụng máy vi tính như thì kế có bộ nhớ trong với dung lượng lớn, các kết quả đã được trình bày trong [5] Phương pháp đã tiết kiệm được thiết bị đo thời gian Giáo viên ở trường THPT không có thì kế hiện số có bộ nhớ, nếu có máy vi tính vẫn có thể làm được thí nghiệm trên Với bộ kết nối tự chế bằng IC AT89C52, thí nghiệm “Tổng hợp dao
động của con lắc kép” đã được tự động hoá hoàn toàn và độ chính xác cao Ngoài ra, với ưu điểm của Visual Basic, các kết quả thí nghiệm có thể xử lí bằng máy vi tính với các phần mềm tự viết
Chúng tôi đã hướng dẫn thực hiện các giải pháp trên cho sinh viên khoa Vật
lý, giải pháp 2 được sinh viên tiếp nhận nhanh hơn Tuy nhiên, giải pháp 1 có độ chính xác hơn vì tất các giá trị thời gian đo được từ thực nghiệm đã xử lí trong IC vi
xử lí, máy vi tính chỉ đóng vai trò tính toán, hiển thị kết quả, nhưng giải pháp này
đòi hỏi sinh viên phải thành thạo ngôn ngữ lập trình IC vi xử lí AT89C52
Bộ kết nối TN với máy tính bằng IC AT89C52 ngoài giá trị về kinh tế, dễ chế tạo và sử dụng còn có thể phổ biến rộng rãi cho giáo viên dạy thực hành môn vật lý
và sinh viên Các phần mềm cho IC AT89C52 và phần mềm Visual nói trên sau khi hoàn thành được lưu lại dưới dạng các bộ cài đặt (software), thuận tiện cho người sử dụng Bộ kết nối với máy tính bằng IC AT89C52 có thể sử dụng trong nhiều thí nghiệm vật lý khác nhau
Trang 5Đại học Vinh Tạp chí khoa học, tập XXXVII, số 1A-2008
Tài liệu tham khảo
[1] Becker, University Physics experiments for scientists and engineers, Leybold Didatic Germany, 1992, pp 47
[2] Đỗ Trần Cát, Phạm Khắc Hùng , Thư viện phần mềm ứng dụng trong vật lý, Hà Nội, 1998, tr 14
[3] Intel Corporation, MCS51 Microcontroller Family user’s manual, USA, 1997, pp 17- 231
[4] Võ Thanh Cương, Sử dụng IC vi xử lí MCS51 để chế tạo các bộ điều khiển từ xa cho các dụng cụ đo trong vật lý, Tạp chí Khoa học, Trường Đại học Vinh, Tập 34,
số 3A, 2005, tr 11 - 16
[5] Võ Thanh Cương và Nguyễn Viết Lan, Sử dụng phần mềm Visual Basic 6.0 hỗ trợ thí nghiệm nghiên cứu dao động của con lắc kép, Tạp chí giáo dục, số 10/2006, tr 78 – 79
[6] Web site: http://Rocbydigkey.com/maxim, 5 V RS 232 transceiver with 0, 1 àF external capacitor, pp 1-18
Summary
Some solutions improving the Quality of the experiment
“Coupling oscillation of the double pendulums”
To improve the training quality of the Physics experiments in necessary This paper with the mentioned purpose gave solutions to make interface of the experiment "Coupling oscillation of the double pendulums" and the computer
(a) Khoa vật lý, Trường đại học Vinh.