Bài 59 · Vật lí · Toán
Đo gia tốc rơi tự do
hai mươi lượt trong năm phút
Bài thực hành kinh điển nhất của Vật lí 10, nhưng làm theo cách mới: máy tự nhả bi, tự bấm giờ, tự tính. Học sinh không còn bận bấm đồng hồ nên có thời gian làm việc quan trọng hơn — nhìn hai mươi con số và hỏi vì sao chúng không giống nhau.
01 Mục tiêu và yêu cầu cần đạt
Đây là bài mà tôi kể ở đầu cuốn sách: nhóm học sinh báo cáo
g = 11,2 và không ai biết con số ấy sai ở đâu. Bài này là câu trả
lời cho chuyện đó.
Sau bài này học sinh làm được
- Đo được gia tốc rơi tự do với sai số dưới 1%.
- Giải thích được vì sao đo bằng đồng hồ bấm tay luôn cho kết quả lệch về một phía.
- Tính trung bình, độ lệch chuẩn và sai số của trung bình từ 20 phép đo.
- Viết kết quả đúng quy cách:
g = (9,80 ± 0,01) m/s². - Chỉ ra được ít nhất hai nguồn sai số hệ thống còn lại trong thí nghiệm của chính mình.
- Vật lí 10 — mạch nội dung Động học: sự rơi tự do; thực hành đo gia tốc rơi tự do.
- Toán 10–11 — số liệu thống kê: số trung bình, phương sai, độ lệch chuẩn.
Trích nguyên văn yêu cầu cần đạt từ chương trình môn học trước khi đưa vào kế hoạch bài dạy.
02 Lí thuyết
Công thức thì ai cũng biết
s = ½ g t² → g = 2s / t²
Đo s bằng thước, đo t bằng đồng hồ. Vấn đề nằm trọn
ở chỗ đo t.
Vì sao đồng hồ bấm tay luôn cho g quá lớn
Thời gian phản xạ của người khoảng 0,2 giây, và ta bấm muộn
ở cả hai đầu. Hai độ trễ bằng nhau thì triệt tiêu — nhưng chúng không bằng
nhau, vì lần bấm thứ hai ta đã đoán trước được thời điểm nên bấm sớm
hơn. Kết quả: t đo được nhỏ hơn thời gian thật,
mà t nằm dưới mẫu và lại bình phương, nên g bị đẩy lên.
Rơi 0,5 m mất 0,319 s. Bấm hụt 0,02 s, tức đo được 0,299 s:
g = 2 × 0,5 / 0,299² = 11,2 m/s²
Hụt hai phần trăm giây là sai 14%. Đây là lúc nói: không phải các em làm sai, mà dụng cụ không đủ tốt cho phép đo này.
Máy đo hai mốc do chính nó tạo ra
- Mốc thả — ESP32 ngắt điện nam châm và ghi ngay thời điểm
bằng
time.ticks_us(). - Mốc chạm — bi cắt tia laser, quang trở đổi mức, một ngắt phần cứng ghi mốc thứ hai.
Khoảng giữa hai mốc là thời gian rơi, chính xác tới vài micro giây.
Bi cắt tia chỉ trong 5–10 ms. Chương trình đang bận in một dòng ra màn hình đúng lúc đó là bỏ lỡ hoàn toàn.
Ngắt phần cứng thì chip dừng ngay việc đang làm, ghi mốc, rồi quay lại — độ trễ vài micro giây. Mọi bài đo thời gian trong sách đều dùng ngắt vì lí do này.
Một độ trễ máy cũng không tránh được
Nam châm điện không nhả tức thì: từ trường trong lõi sắt cần vài mili giây mới
tắt hẳn, trong khoảng đó bi vẫn dính. Đây là sai số hệ thống —
làm thời gian đo lớn hơn thật, g nhỏ đi một chút, và đo
bao nhiêu lần cũng không hết. Không giấu học sinh chuyện này; xem mục Kinh nghiệm.
03 Linh kiện
| Linh kiện | Mô tả, lưu ý khi mua | Số lượng · giá |
|---|---|---|
| ESP32 DevKit V1 | Bo 30 chân | 1 · 90–150k |
| Nam châm điện 12 V nhỏ | Loại hút được viên bi thép 15–20 mm | 1 · 60–120k |
| Module MOSFET | Để ESP32 đóng ngắt nam châm điện an toàn | 1 · 20–35k |
| Module laser 650 nm | 1 · 8–15k | |
| Module quang trở có ngõ ra số | Loại 4 chân, có biến trở chỉnh ngưỡng | 1 · 12–20k |
| Viên bi thép | Đường kính 15–20 mm, càng nặng càng ít bị gió | 2–3 · 10k |
| Giá đỡ, kẹp, thước mét | Tận dụng giá thí nghiệm sẵn có của trường | 1 bộ |
| Nguồn 12 V | Adapter 12 V 1 A cho nam châm điện | 1 · 60k |
04 Lắp mạch và sơ đồ nối dây
| Khối | Nối dây | Nguồn |
|---|---|---|
| Module MOSFET | IN → GPIO5 · VCC → 5 V · GND → GND chung | Tải 12 V riêng |
| Nam châm điện | Nối vào ngõ ra của module MOSFET | 12 V từ adapter |
| Module laser | VCC → 5 V · GND → GND · tín hiệu → 3V3 (bật liên tục) | 5 V |
| Quang trở số | VCC → 3V3 · GND → GND · DO → GPIO18 | 3,3 V |
Toàn cảnh giá thí nghiệm dựng đứng: nam châm điện gắn trên cao, viên bi treo bên dưới, cặp laser–quang trở ở dưới cùng, thước mét dựng bên cạnh. Chụp ngang tầm mắt, thấy được cả chiều cao rơi.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóCận cảnh nam châm điện đang hút viên bi thép, thấy rõ bi treo lơ lửng đúng tâm và ngay phía trên tia laser.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóCận cảnh cặp laser và quang trở đặt đối diện, tia laser đỏ đi ngang qua đúng mắt cảm biến. Chụp trong phòng hơi tối để thấy tia.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóMạch điều khiển: ESP32, module MOSFET, adapter 12 V, có dán nhãn rõ đâu là đường 12 V và đâu là đường tín hiệu.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóBiểu đồ phân bố 20 giá trị g đo được, có vạch trung bình và khoảng ±độ lệch chuẩn. Đây là hình quan trọng nhất của bài.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóDựng giá
- Kẹp nam châm điện lên đỉnh giá, mặt hút quay xuống dưới.
- Đặt cặp laser–quang trở ở phía dưới, sao cho tia sáng đi ngang đúng dưới viên bi.
- Đo khoảng cách từ đáy viên bi tới tia laser. Đây là
s. Đo bằng thước mét, đọc tới milimét. - Đặt một hộp giấy hoặc khay cát ở dưới để hứng bi — bi thép rơi xuống nền gạch nảy đi rất xa.
Đây là nguồn sai số lớn nhất mà học sinh hay mắc, và nó khá tinh vi.
Cảm biến báo có vật khi mép dưới viên bi bắt đầu cắt tia sáng. Vậy quãng đường rơi phải tính từ mép dưới viên bi lúc còn treo, tới tia laser.
Nếu đo từ tâm bi thì với bi 20 mm bạn đã sai 10 mm. Trên quãng đường 500 mm
thì đó là 2% — và vì s nằm ở tử số nên g cũng sai
2%. Lớn hơn toàn bộ sai số ngẫu nhiên cộng lại.
- Nam châm điện dùng nguồn 12 V riêng. Nó hút dòng lớn; lấy điện từ ESP32 là bo mạch reset liên tục.
- Nối chung GND giữa ESP32, module MOSFET và nguồn 12 V. Thiếu bước này thì MOSFET đóng ngắt lung tung.
- Không nhìn thẳng vào tia laser. Nói rõ với học sinh ngay từ đầu, và đặt tia ở tầm thấp hơn tầm mắt khi ngồi.
Nếu trường không có nam châm điện, có thể thay bằng cách thả tay — nhưng khi đó phải bấm nút ``bắt đầu'' cùng lúc thả, và sai số quay lại như cũ. Nam châm điện là thứ đáng đầu tư nhất trong bài này.
Chỉnh cảm biến
Bật laser, vặn biến trở trên module quang trở cho tới khi đèn báo chuyển trạng thái dứt khoát lúc bạn lấy ngón tay che tia. Nếu đèn nhấp nháy chập chờn thì phòng quá sáng — che bớt hoặc làm một ống giấy đen quanh mắt cảm biến.
05 Mã nguồn
Mã đầy đủ tại kho GitHub, thư mục cap-3/bai-37-roi-tu-do/. Bài này cũng đã có sẵn giao diện web tại lab.vatli365.vn/free-fall-gate2 nếu thầy cô dùng bộ cổng quang USB.
Chương trình chính — thả 20 lượt và thống kê luôn# ------------------------------------------------------------
# Bai 59 - Do gia toc roi tu do bang nam cham dien va cong quang
# Phan cung: nam cham dien -> GPIO5 (qua MOSFET)
# cong quang -> GPIO18
# ------------------------------------------------------------
from machine import Pin
import time
# ===== CAU HINH =====
CHAN_NAM_CHAM = 5
CHAN_CONG = 18
QUANG_DUONG_M = 0.500 # tu day vien bi den tia laser, don vi met
SO_LUOT = 20
# ===== het phan cau hinh =====
nam_cham = Pin(CHAN_NAM_CHAM, Pin.OUT)
cong = Pin(CHAN_CONG, Pin.IN, Pin.PULL_UP)
moc_tha = 0
moc_cham = 0
da_cham = False
def khi_chan_tia(pin):
global moc_cham, da_cham
if not da_cham:
moc_cham = time.ticks_us()
da_cham = True
cong.irq(trigger=Pin.IRQ_FALLING, handler=khi_chan_tia)
print("luot,t_s,g_m_per_s2")
ket_qua = []
for luot in range(1, SO_LUOT + 1):
nam_cham.value(1) # hut vien bi
time.sleep(2) # cho nguoi dat bi va cho bi dung yen
da_cham = False
nam_cham.value(0) # nha bi
moc_tha = time.ticks_us()
het_han = time.ticks_add(time.ticks_ms(), 3000)
while not da_cham:
if time.ticks_diff(het_han, time.ticks_ms()) <= 0:
break
time.sleep_ms(1)
if not da_cham:
print("#", luot, "hong: bi khong qua cong")
continue
t = time.ticks_diff(moc_cham, moc_tha) / 1_000_000
g = 2 * QUANG_DUONG_M / (t * t)
ket_qua.append(g)
print("{},{:.5f},{:.3f}".format(luot, t, g))
# --- thong ke
n = len(ket_qua)
tb = sum(ket_qua) / n
s = (sum((x - tb) ** 2 for x in ket_qua) / (n - 1)) ** 0.5
u = s / (n ** 0.5)
print("---")
print("So luot dung :", n)
print("Trung binh : {:.3f} m/s2".format(tb))
print("Do lech chuan : {:.3f}".format(s))
print("Sai so cua TB : {:.3f}".format(u))
print("Ket qua: g = ({:.2f} +/- {:.2f}) m/s2".format(tb, u)) Kết quả:
luot,t_s,g_m_per_s2 1,0.31940,9.803 2,0.31912,9.820 3,0.31968,9.786 4,0.31925,9.812 5,0.31955,9.794 ... --- So luot dung : 19 Trung binh : 9.801 m/s2 Do lech chuan : 0.014 Sai so cua TB : 0.003 Ket qua: g = (9.80 +/- 0.01) m/s2
Chương trình cố ý in ra từng lượt một chứ không chỉ in kết quả cuối. Học sinh cần nhìn thấy hai mươi con số khác nhau — đó mới là bài học, còn con số trung bình chỉ là hệ quả.
time.sleep(2) sau khi bật nam châm không phải để cho vui. Nó
cho học sinh thời gian đặt bi vào, và quan trọng hơn — cho viên bi
đứng hẳn yên. Nếu bi còn đung đưa thì lượt đo hỏng.
Biến het_han tạo một giới hạn chờ 3 giây. Nếu bi rơi lệch không
qua cổng, chương trình bỏ lượt đó và chạy tiếp thay vì treo mãi. Trong lớp
học, chuyện bi rơi lệch xảy ra khoảng một trên mười lượt.
06 Hiệu chuẩn và kiểm thử
Kiểm tra trước khi tin vào số liệu
- Thử cắt tia bằng tay. Chương trình phải ghi nhận. Nếu không, chỉnh lại biến trở.
- Thả thử ba lượt. Ba giá trị
tphải chênh nhau dưới 1 mili giây. Chênh nhiều hơn nghĩa là bi rơi không cùng một đường. - Đổi chiều cao. Nâng cổng quang lên để
schỉ còn một nửa. Giá trịgtính ra phải không đổi. Đây là phép thử tốt nhất — nếugđổi theo chiều cao thì chắc chắn có sai số hệ thống trong cách đos.
Đo g ở ba chiều cao khác nhau: 30 cm, 50 cm, 80 cm. Rồi vẽ đồ
thị s theo t².
Ba điểm phải nằm trên một đường thẳng đi qua gốc tọa độ, và
độ dốc bằng g/2. Nếu đường thẳng không qua gốc mà cắt trục ở
một giá trị dương, đó chính là độ trễ nhả của nam châm hiện hình
thành một con số.
Cách này vừa cho kết quả tốt hơn, vừa dạy được kỹ thuật tuyến tính hóa của môn Toán. Với lớp khá, tôi luôn làm theo cách này.
Danh sách kiểm
- Nam châm hút và nhả được viên bi khi chương trình chạy.
- Ba lượt liên tiếp cho thời gian chênh nhau dưới 1 ms.
- Kết quả g nằm trong khoảng 9,7 đến 9,9 m/s².
- Đổi chiều cao thì g không đổi quá 1%.
- Học sinh viết được kết quả kèm sai số đúng quy cách.
07 Kinh nghiệm và cạm bẫy
Lần đầu chạy bài này, tôi luôn ra g khoảng 9,72 — thấp hơn giá
trị chuẩn một cách đều đặn. Tôi kiểm tra thước, kiểm tra code, không thấy
sai đâu.
Rồi tôi hiểu: nam châm điện nhả chậm. Từ trường dư trong lõi sắt giữ viên bi
thêm khoảng 3–5 mili giây sau khi cắt điện. Thời gian rơi đo được dài hơn
thật, nên g nhỏ hơn thật.
Tôi có thể giấu chuyện này bằng cách nhân một hệ số hiệu chỉnh. Nhưng tôi làm ngược lại: đưa nó vào bài dạy. Hỏi học sinh "kết quả của chúng ta lệch về một phía, chứ không lệch lung tung. Điều đó nói lên cái gì?"
Từ câu hỏi đó, học sinh tự đi tới khái niệm sai số hệ thống, tự nghĩ ra phép thử ba chiều cao để đo chính độ trễ ấy. Bài học hay nhất của tiết học lại đến từ khuyết điểm của thiết bị.
Tôi luôn cho một nhóm đo song song bằng đồng hồ bấm tay trong khi máy đo. Cùng một lượt thả.
Máy: 0,319 s. Học sinh bấm tay: 0,28 s, 0,35 s, 0,31 s — ba bạn ba số.
Không cần giảng gì thêm về độ tin cậy của dụng cụ đo. Các em tự thấy.
- Bi rơi lệch không qua cổng. Nam châm hút bi không đúng tâm. Chỉnh lại giá, và dùng bi to hơn.
- Kết quả tản mát lớn. Bi còn đung đưa lúc nhả. Tăng thời gian chờ lên 3 giây, và dặn học sinh không chạm vào giá.
- Ghi nhận hai lần cho một lượt. Bi nảy lên cắt tia lần
nữa. Biến
da_chamtrong mã đã chặn chuyện này. - g ra khoảng 4,9. Quên nhân 2 trong công thức, hoặc nhập
sbằng centimét thay vì mét. Bảo học sinh tự tìm — đây là bài tập ước lượng độ lớn rất tốt. - Nam châm nóng. Bình thường nếu bật liên tục. Nhưng đừng để bật quá lâu giữa các lượt; mã trên đã tắt ngay sau khi thả.
Dùng hai cổng quang thay vì nam châm. Thả bi bằng tay, đo
thời gian bi đi giữa hai cổng. Khi đó công thức là
g = 2(d − v₁t)/t², phức tạp hơn một chút nhưng
hoàn toàn không phụ thuộc vào thời điểm thả — nên độ trễ nhả tay
không còn ảnh hưởng.
Bộ hai cổng quang này cũng chính là bộ dùng cho mười ba bài khác của Vật lí lớp 10, nên nếu phải chọn đầu tư một thứ, hãy chọn nó.
08 Ứng dụng trong dạy học
Vật lí — bài thực hành theo chương trình, nhưng sâu hơn
Bài này nằm sẵn trong phân phối chương trình, nên không phải xin thêm tiết. Điều thay đổi là trọng tâm của tiết học:
| Cách cũ | Cách có cảm biến | |
|---|---|---|
| Thời gian đo | 18 phút cho 3 lượt | 5 phút cho 20 lượt |
| Thời gian phân tích | 2 phút | 15 phút |
| Câu hỏi trung tâm | "g bằng bao nhiêu?" | "vì sao 20 số này khác nhau, và khác nhau kiểu gì?" |
Toán — thống kê trên số liệu của chính mình
Hai mươi giá trị g là bộ dữ liệu lí tưởng để dạy thống kê mô tả.
Học sinh tính trung bình, độ lệch chuẩn, vẽ biểu đồ phân bố. Và lần này bộ số
liệu không phải trong sách bài tập — nó là kết quả tay các em vừa làm ra.
Câu hỏi nối tiếp rất hay: "muốn giảm sai số của trung bình xuống một nửa thì phải đo bao nhiêu lượt?" Đáp án là gấp bốn lần, vì sai số giảm theo căn bậc hai. Con số này làm học sinh bất ngờ và nhớ lâu.
Tin học — lập trình có mục đích
Đoạn mã trong bài dùng ngắt, vòng lặp, danh sách, và công thức thống kê. Với lớp có học Tin, hãy để chính học sinh viết phần thống kê ở cuối chương trình thay vì cho sẵn.
Hoạt động 1 — Xác định vấn đề. Cho cả lớp xem kết quả
g = 11,2 của một nhóm năm trước. Sai ở đâu? Làm sao để không sai
như thế?
Tiêu chí sản phẩm: đo được g với sai số của trung bình dưới 0,05 m/s²; kết quả kèm sai số; chỉ ra được ít nhất hai nguồn sai số hệ thống và ước lượng độ lớn của chúng; và một nhóm khác dùng thiết bị của mình cũng cho kết quả tương đương.
Hoạt động 2 — Kiến thức nền. Rơi tự do; thời gian phản xạ; ngắt phần cứng; sai số hệ thống và ngẫu nhiên.
Hoạt động 3 — Đề xuất phương án. Mỗi nhóm chọn: thả bằng nam châm hay bằng hai cổng quang, đo ở một chiều cao hay ba chiều cao, đo bao nhiêu lượt. Bảo vệ lựa chọn trước lớp.
Hoạt động 4 — Đo và phân tích. Chạy thí nghiệm, xuất số liệu, tính thống kê, vẽ biểu đồ phân bố.
Hoạt động 5 — Báo cáo và điều chỉnh. Các nhóm so kết quả. Nhóm nào lệch nhiều thì cùng cả lớp truy nguyên nhân — đây thường là phần hay nhất của tiết.
- Thả một tờ giấy phẳng và một tờ giấy vo tròn qua cùng hệ thống. Vì sao kết quả khác nhau, và điều đó nói gì về giả thiết "bỏ qua sức cản"?
- Bài 60 (đo tốc độ bằng cổng quang) và Bài 66 (va chạm và động lượng) dùng chung bộ phần cứng này.
- Đo
gở tầng trệt và tầng bốn của trường. Chênh lệch lí thuyết là bao nhiêu, và thiết bị của ta có đủ nhạy để thấy không? (Câu trả lời trung thực là không — và đó cũng là một bài học về giới hạn của dụng cụ.) - Hướng thi Khoa học kĩ thuật: bộ thí nghiệm rơi tự do giá rẻ dùng chung cho nhiều bài, kèm phần mềm phân tích thống kê tự động cho học sinh.