Cảm biến chuyển vị: biến trở, LVDT, điện dung, dòng xoáy, laser – cấu tạo, nguyên lý và chế tạo
Cảm biến chuyển vị hoạt động thế nào: biến trở thẳng, LVDT, điện dung, dòng điện xoáy, laser tam giác lượng, từ giảo, cách chế tạo và đo vị trí, vận tốc bằng thước điện trở với ESP32.
Cảm biến chuyển vị đo một vật đã dịch đi bao xa: hành trình của xi lanh thủy lực, độ võng của dầm cầu, độ rung của trục tua bin, độ dày tấm thép, vị trí bàn máy. Dải đo trải từ vài nanomet tới vài mét, nên có rất nhiều nguyên lý khác nhau. Bài viết so sánh các loại theo dải đo và độ phân giải, giải thích cấu tạo của biến trở thẳng, LVDT, cảm biến điện dung, dòng điện xoáy, laser tam giác lượng và từ giảo, quy trình chế tạo LVDT và thước điện trở, rồi hướng dẫn đọc thước điện trở bằng ESP32 để đo vị trí và vận tốc.
1. Các loại cảm biến chuyển vị

| Loại | Tiếp xúc | Điểm mạnh | Hạn chế |
|---|---|---|---|
| Biến trở thẳng (thước điện trở) | Có, con trượt | Rẻ, mạch đọc đơn giản, hành trình tới vài mét | Con trượt mòn, sợ rung và bụi |
| LVDT | Lõi không chạm cuộn dây | Bền, độ phân giải rất cao, chịu môi trường khắc nghiệt | Cần mạch kích xoay chiều và giải điều chế |
| Điện dung | Không | Phân giải tới nanomet | Dải đo rất ngắn, bề mặt phải sạch, khô |
| Dòng điện xoáy | Không | Đo được qua dầu, bụi; tần số cao; đo rung trục | Chỉ với vật dẫn điện, phải hiệu chuẩn theo vật liệu |
| Laser tam giác lượng | Không | Đo xa hơn, đo được nhiều vật liệu | Phụ thuộc màu, độ bóng bề mặt; đắt |
| Từ giảo | Không (nam châm vòng trượt ngoài) | Hành trình dài, tuyệt đối, đặt được trong xi lanh thủy lực | Đắt, chỉ đo thẳng |
2. Biến trở thẳng: đơn giản và phổ biến
Một rãnh điện trở thẳng (thường là nhựa dẫn điện hoặc dây quấn) có hai đầu nối với nguồn; con trượt gắn vào vật cần đo và tì lên rãnh. Điện áp tại con trượt tỉ lệ với vị trí: ở giữa hành trình là một nửa điện áp nguồn. Vì chia áp theo tỉ lệ nên kết quả không phụ thuộc điện trở tổng hay điện áp nguồn chính xác bao nhiêu. Thước điện trở công nghiệp có vỏ nhôm kín, ty đẩy có ổ trượt, đo hành trình khuôn ép, bàn máy, bàn đạp; loại kéo dây (string pot) dùng một cuộn dây có lò xo để đo hành trình dài vài mét.

3. LVDT: biến áp vi sai có lõi di động


- Cuộn sơ cấp ở giữa được kích bằng điện áp xoay chiều vài kHz. Hai cuộn thứ cấp đặt đối xứng hai bên, nối ngược chiều để điện áp ra là hiệu của hai cuộn.
- Lõi sắt từ dẫn từ thông từ sơ cấp sang thứ cấp. Lõi ở chính giữa: hai cuộn nhận như nhau, điện áp ra bằng 0. Lõi lệch về bên nào, cuộn bên đó nhận nhiều hơn.
- Độ lớn điện áp ra tỉ lệ với khoảng lệch; pha của nó (cùng pha hay ngược pha với điện áp kích) cho biết chiều lệch. Mạch giải điều chế đồng bộ đổi thành điện áp một chiều có dấu, ví dụ ±10 V hoặc 4–20 mA.
- Lõi không chạm cuộn dây nên không mòn; độ phân giải chỉ bị giới hạn bởi nhiễu của mạch đo. LVDT có mặt trong máy đo độ dày, máy thử vật liệu, van servo, máy bay. Loại quay gọi là RVDT.
4. Điện dung, dòng điện xoáy, laser và từ giảo

- Điện dung: đầu dò và bề mặt vật tạo thành tụ điện; khe hở nhỏ lại thì điện dung tăng (C = ε·A/d). Mạch đo phát hiện thay đổi cỡ phần nghìn pF, cho độ phân giải nanomet. Dùng trong máy quang khắc bán dẫn, bàn định vị chính xác, đo độ đảo trục.
- Dòng điện xoáy: cuộn dây ở đầu dò tạo từ trường cao tần (vài trăm kHz đến vài MHz). Từ trường cảm ứng dòng xoáy trong vật kim loại; vật càng gần, dòng xoáy càng lấy nhiều năng lượng, biên độ dao động càng giảm. Đầu dò dòng xoáy là cách tiêu chuẩn để đo rung và độ dịch dọc trục của tua bin, máy nén, bơm lớn.
- Laser tam giác lượng: tia laser chiếu một điểm sáng lên vật; một thấu kính đặt lệch góc nhìn điểm sáng trên cảm biến ảnh. Khoảng cách đổi thì điểm sáng dịch trên cảm biến; hình học tam giác cho ra khoảng cách.
- Từ giảo: một sợi dây dẫn sóng bằng hợp kim từ giảo chạy dọc thân cảm biến, một nam châm vòng gắn vào vật trượt bên ngoài. Xung dòng điện gửi dọc dây; tại chỗ có nam châm, từ trường làm dây bị xoắn và sinh ra sóng cơ chạy ngược về đầu đọc với vận tốc biết trước. Đo thời gian là ra vị trí tuyệt đối. Loại này đặt được trong lòng xi lanh thủy lực.
5. Chế tạo LVDT và thước điện trở

- Quấn cuộn dây LVDT: ống nhựa kỹ thuật hoặc gốm có ba rãnh. Cuộn sơ cấp quấn ở giữa, hai cuộn thứ cấp quấn đối xứng với số vòng bằng nhau. Một số thiết kế quấn thứ cấp theo dạng nghiêng để đường đặc tính thẳng hơn trên hành trình dài.
- Lõi và vỏ: lõi bằng hợp kim sắt từ được ủ để có độ từ thẩm ổn định; vỏ ngoài bằng thép từ tính vừa bảo vệ vừa chắn từ trường ngoài. Cuộn dây được đổ keo để không xê dịch khi rung.
- Cân chỉnh: đo điện áp hai thứ cấp khi lõi ở giữa, chỉnh để điểm không cân đối và điện áp dư nhỏ nhất.
- Rãnh thước điện trở: in lớp mực nhựa dẫn điện (gốc carbon) lên đế, sấy cứng, rồi dùng laser cắt chỉnh để điện trở và độ tuyến tính đạt yêu cầu (loại tốt sai số tuyến tính khoảng ±0,05 %).
- Con trượt: chổi gồm nhiều sợi kim loại quý tì nhẹ lên rãnh để tiếp xúc tốt và ít mòn; con trượt chạy trên thanh dẫn trong vỏ nhôm kín bụi.
- Kiểm tra: so với thước chuẩn hoặc giao thoa kế laser ở nhiều vị trí; đo độ lặp lại và ảnh hưởng của nhiệt độ.
6. Thực hành: đo vị trí và vận tốc bằng thước điện trở và ESP32
Linh kiện
- ESP32 DevKit V1 30 chân.
- Một biến trở thẳng hoặc thước điện trở 5 kΩ (ví dụ hành trình 100 mm).
- Hai điện trở 470 Ω; breadboard và dây cắm.
Sơ đồ nối

| Thước điện trở | Nối |
|---|---|
| Đầu 1 | Qua điện trở 470 Ω lên 3V3 |
| Đầu 2 | Qua điện trở 470 Ω xuống GND |
| Con trượt | D34 |
ADC của ESP32 đo kém chính xác ở sát 0 V và sát 3,3 V. Hai điện trở 470 Ω giữ điện áp con trượt trong khoảng 0,26 đến 3,04 V, nằm trong vùng ADC đo tốt; đổi lại, chương trình cần hiệu chuẩn hai điểm.
Chương trình
/*
PYWORLD.VN - Cảm biến chuyển vị kiểu biến trở (thước điện trở) với ESP32: đo vị trí (mm) và vận tốc (mm/s)
Biến trở thẳng 5 kΩ hành trình 100 mm; hai đầu qua điện trở 470 Ω lên 3V3 và xuống GND, con trượt vào D34
Gõ "z" khi thước ở đầu hành trình, "f" khi ở cuối hành trình để hiệu chuẩn hai điểm
*/
#define CHAN_THUOC 34
const float HANH_TRINH_MM = 100.0; // Chiều dài hành trình điện của thước
const int SO_MAU = 32;
const uint32_t CHU_KY_MS = 50;
const float HE_SO_LOC = 0.3; // Lọc vận tốc: 0..1, nhỏ thì mượt hơn nhưng chậm hơn
float mvDau = 260.0; // Điện áp ở đầu hành trình (mV), cập nhật bằng lệnh "z"
float mvCuoi = 3040.0; // Điện áp ở cuối hành trình (mV), cập nhật bằng lệnh "f"
float docMv() {
uint32_t tong = 0;
for (int i = 0; i < SO_MAU; i++) {
tong += analogReadMilliVolts(CHAN_THUOC);
}
return (float)tong / SO_MAU;
}
void xuLyLenh(float mv) {
if (!Serial.available()) {
return;
}
char c = Serial.read();
if (c == 'z') {
mvDau = mv;
Serial.printf("Da ghi dau hanh trinh: %.0f mV\n", mvDau);
} else if (c == 'f') {
mvCuoi = mv;
Serial.printf("Da ghi cuoi hanh trinh: %.0f mV\n", mvCuoi);
}
}
void setup() {
Serial.begin(115200);
analogSetPinAttenuation(CHAN_THUOC, ADC_11db);
Serial.printf("\nThuoc dien tro %.0f mm: dau %.0f mV, cuoi %.0f mV\n", HANH_TRINH_MM, mvDau, mvCuoi);
}
void loop() {
static uint32_t mocTruoc = millis();
static float viTriTruoc = 0, vanToc = 0;
static int demIn = 0;
if (millis() - mocTruoc < CHU_KY_MS) {
return;
}
uint32_t bayGio = millis();
float giay = (bayGio - mocTruoc) / 1000.0f;
mocTruoc = bayGio;
float mv = docMv();
xuLyLenh(mv);
// Nội suy tuyến tính giữa hai điểm hiệu chuẩn
float viTri = (mv - mvDau) / (mvCuoi - mvDau) * HANH_TRINH_MM;
float vanTocTucThoi = (viTri - viTriTruoc) / giay;
vanToc = HE_SO_LOC * vanTocTucThoi + (1 - HE_SO_LOC) * vanToc;
viTriTruoc = viTri;
if (++demIn >= 5) { // In 4 lần mỗi giây
demIn = 0;
Serial.printf("%.0f mV | Vi tri %.2f mm | Van toc %.1f mm/s\n", mv, viTri, vanToc);
}
}
Hiệu chuẩn và giải thích
- Đẩy con trượt về đầu hành trình, gõ
z; kéo về cuối hành trình, gõf. Ghi hai giá trị mV in ra vàomvDau,mvCuoiđể không phải làm lại. - Vị trí = (mV − mV đầu) / (mV cuối − mV đầu) × 100 mm.
- Vận tốc tính từ hiệu vị trí giữa hai lần đọc cách nhau 50 ms, rồi lọc thông thấp (hệ số 0,3) vì phép lấy hiệu làm nhiễu lớn lên nhiều lần.
- Độ phân giải thực tế bị giới hạn bởi nhiễu ADC: khoảng 2780 mV cho 100 mm, tức gần 28 mV mỗi milimét; sau khi lấy trung bình 32 mẫu, ESP32 phân biệt được khoảng một phần mười milimét.
Kết quả mong đợi

7. Xử lý lỗi thường gặp
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Vị trí âm hoặc lớn hơn 100 mm | Chưa hiệu chuẩn, hoặc hiệu chuẩn ngược đầu | Gõ lại z ở đầu, f ở cuối hành trình |
| Số đọc nhảy khi con trượt đứng yên | Tiếp xúc con trượt kém, rãnh bẩn; dây dài | Vệ sinh thước, thêm tụ 100 nF ở D34, tăng số mẫu |
| Số đọc mất ở một đoạn | Rãnh điện trở bị mòn hoặc nứt ở đoạn đó | Thay thước; trong máy rung mạnh nên dùng loại không tiếp xúc |
| Kết quả lệch khi đo vật thật | Ty đẩy không song song với hướng chuyển động | Lắp thước song song, dùng khớp cầu ở đầu ty để tránh kẹt |
| Vận tốc dao động mạnh | Nhiễu ADC bị phép lấy hiệu khuếch đại | Giảm HE_SO_LOC, tăng chu kỳ tính vận tốc |
8. Xem thêm
- Đọc ADC trên ESP32 và cách dùng cầu phân áp.
- Đo điện áp 16 bit bằng ADS1115, khi cần phân giải cao hơn cho thước dài.
- Vòng dòng 4-20 mA: ngõ ra thường gặp của LVDT, thước từ giảo công nghiệp.
- Các bài khác trong loạt: encoder tương đối, cảm biến tiệm cận cảm ứng từ, cảm biến mức.
Xem thêm