Mục lục:
- Bước 1:
- Bước 2: Kiểm tra đầu ra của dụng cụ
- Bước 3: Hiệu chỉnh
- Bước 4: Lập trình Arduino
- Bước 5: Một số hình ảnh khác
- Bước 6: Lắp vào
- Bước 7: Chỉ ảnh
- Bước 8: Lời cuối cùng
Video: Máy phát điện / kiểm tra 4-20ma sử dụng Arduino: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Máy phát điện 4-20mA có sẵn trên ebay, nhưng tôi vì một người yêu thích phần DIY của mọi thứ và sử dụng các bộ phận mà tôi đã đặt xung quanh.
Tôi muốn kiểm tra đầu vào tương tự của PLC của chúng tôi để xác minh số đọc scada của chúng tôi và kiểm tra đầu ra của thiết bị 4-20mA. Có rất nhiều bộ chuyển đổi dòng điện sang điện áp và bộ chuyển đổi điện áp thành dòng điện cho arduino trên ebay, chúng cần được hiệu chỉnh. Tôi có thể sử dụng điều này để hiệu chỉnh bất kỳ bộ chuyển đổi nào được tìm thấy trên ebay và các bộ chuyển đổi tương tự.
Tôi quyết định rằng tôi sẽ tự làm một máy phát điện và máy thử nghiệm. Tại thời điểm này, nó vẫn còn là một công việc đang được tiến hành và là một nguyên mẫu.
Tôi có một hệ thống âm thanh 2.1 cũ không được sử dụng (loa nhỏ). Vì vậy, tôi đã sử dụng một trong các hộp loa làm vỏ bọc. Tôi cũng có một bộ khuếch đại bị chết vì sét, tôi đã tháo thiết bị đầu cuối loa khỏi bộ khuếch đại đó để kết nối dễ dàng. Tôi có ý định làm một PCB trong tương lai và một vỏ bọc tốt hơn.
Quân nhu:
Danh sách các bộ phận.
LCD // 20x4 (mã điều chỉnh nếu của bạn nhỏ hơn)
LM7808 // Bộ điều chỉnh 8volt
LED // Mọi loại hoặc kích thước
Điện trở cho LED // Thích hợp với loại LED và 8volt
Điện trở 100 ohm + điện trở 47 ohm mắc nối tiếp // Sẽ được sử dụng làm điện trở shunt
Điện trở 10K // Tương tự Arduino trong bảo vệ chống lại điện áp cao
Điện trở 22K // Để ngăn A0 không nổi
Trimpot 100 ohm + 47 ohm điện trở nối tiếp // Trình mô phỏng PT100
Tụ điện 35 vôn // Tôi đã sử dụng 470uF, chỉ để giữ dao động điện áp cung cấp giảm xuống
RTD (đầu dò PT100) // Khoảng cách không quan trọng (phạm vi)
DIODE (để bảo vệ cực tính)
INA219
Arduino
Bước 1:
Sau sơ đồ sẽ giúp bạn bắt đầu từ nơi để thêm các bộ phận và nối dây chúng.
LM7808 cho phép đầu vào tối đa 25volt, điều này tốt cho các hệ thống PLC, chúng thường sử dụng bộ nguồn 24V. Thêm một bộ tản nhiệt vào bộ điều chỉnh và không sử dụng nó trong thời gian dài. Giảm 16volt làm cho bộ điều chỉnh tạo ra nhiều nhiệt.
Nguồn cung cấp đầu vào cấp nguồn cho bộ điều chỉnh và kết nối với INA219 VIN, trong cấu hình này, INA219 cũng sẽ có thể đo điện áp nguồn chính xác trừ đi điện áp rơi từ diode. Bạn nên đo điện áp diode sụt giảm và thêm nó vào mã để bạn có được kết quả đọc điện áp cung cấp chính xác.
Từ VOUT INA219 đến RTD + cấp nguồn cho RTD. RTD- nối đất hoàn thành mạch.
Để kiểm tra một thẻ tương tự PLC, bạn sẽ kết nối RTD- với đầu vào trên thẻ tương tự và nối đất từ thẻ đến mặt đất arduino. (Đảm bảo ngắt kết nối bất kỳ thiết bị nào được gắn vào kênh đang được kiểm tra).
R5 và LED1, cho biết hệ thống đã được cấp nguồn.
Bộ điều chỉnh cấp vào arduino VIN (arduino đã tích hợp bộ điều chỉnh thành 5V).
Chân 5V của Arduino đi đến INA219 để cấp nguồn cho chip trên bo mạch. INA219 GND đến mặt đất arduino.
Cắt miếng gạt nước thành RTD PIN1 và Cắt chân nồi 3 thành chân RTD 2 sẽ mô phỏng kết nối PT100. (Đổi dây nếu xoay nồi cắt theo chiều kim đồng hồ không làm tăng mA).
Bước 2: Kiểm tra đầu ra của dụng cụ
Để kiểm tra đầu ra của thiết bị, cần có các bộ phận phụ, chẳng hạn như điện trở shunt. Điện trở 0,25W bình thường sẽ làm công việc tốt. Bạn có thể để lại điện trở shunt và thêm INA219 thứ hai để kiểm tra đầu ra của thiết bị. Tôi chỉ còn lại một cái nên tôi đã sử dụng một điện trở để thay thế.
Kiểm tra bằng cách sử dụng shunt chỉ có thể được thực hiện ở mặt tiêu cực của thiết bị. Nếu bạn sử dụng mặt tích cực, bạn sẽ cung cấp cho arduino của bạn hơn 4 lần điện áp cho phép và để khói thoát ra ngoài.
Thêm điện trở shunt nối tiếp với dây âm của thiết bị. Mặt của shunt gần nhất với thiết bị sẽ trở thành tín hiệu tương tự tích cực cho arduino. Mặt còn lại của shunt gần với nguồn điện nhất sẽ trở thành mặt đất arduino hoàn thành mạch đầu vào tương tự.
Điện trở shunt 150 ohm là mức tối đa tuyệt đối nên được sử dụng khi sử dụng arduino. Điện trở có điện áp rơi tuyến tính mA chạy qua nó. MA càng lớn thì hiệu điện thế càng lớn.
Tại 20mA dòng điện # 150ohm * 0.02A = 3volt đến arduino.
Tại 4mA dòng điện # 150ohm * 0,004A = 0,6volt tới arduino.
Bây giờ bạn có thể muốn điện áp gần hơn 5 vôn để bạn có thể cho chúng tôi phạm vi ADC đầy đủ của arduino. (Không phải là một ý tưởng tốt).
RTD’s có thể đạt đầu ra 30,2mA (Của tôi thì có). 150ohm * 0,03A = 4,8 vôn. Đó là gần như tôi muốn.
Một trang web khác chỉ định sử dụng điện trở 250ohm.
Tại 20mA dòng điện # 250ohm * 0.02A = 5volt đến arduino.
Tại 30mA dòng điện # 250ohm * 0.03A = 7.5volt đến arduino.
Bạn có nguy cơ đốt ADC và arduino của mình.
Để kiểm tra một thiết bị ngoài hiện trường, hãy mang theo pin 12volt bên mình và kết nối nó với đầu vào của nguồn cung cấp. Sử dụng nguồn điện bên ngoài sẽ không ảnh hưởng đến thiết lập PLC hiện tại.
Để kiểm tra thẻ đầu vào tương tự trong trường, hãy mang theo pin 12volt bên mình. Ngắt kết nối thiết bị + khỏi mạch. Nối đất với đất thiết bị và RTD- với dây thiết bị đã ngắt kết nối.
Bước 3: Hiệu chỉnh
Để hiệu chỉnh việc đọc điện trở shunt của bạn, hãy nối dây RTD- với shunt Analog vào. Đặt nồi cắt của bạn sao cho mA được tạo ra là 4mA. Nếu mA thiết bị của bạn không bằng thì hãy sửa đổi giá trị đầu tiên trong mã tại dòng 84. Việc tăng giá trị này sẽ làm giảm chỉ số mA.
Sau đó, đặt nồi cắt của bạn để tạo ra 20mA. Nếu mA thiết bị của bạn không bằng nhau thì hãy sửa đổi giá trị thứ hai trong mã ở dòng 84.
Vì vậy, 4-20mA của bạn bây giờ sẽ trở thành 0,6-3volt (lý thuyết). Nhiều hơn đủ phạm vi. Sử dụng thư viện từ eRCaGuy, lấy mẫu quá mức sẽ cung cấp cho bạn bản đọc ổn định và tốt hơn.
Hy vọng rằng bạn đọc được điều này. Đây là hướng dẫn đầu tiên của tôi, vì vậy hãy dễ dàng thực hiện nếu tôi đã mắc lỗi ở đâu đó hoặc bỏ sót điều gì đó.
Dự án này có lẽ không phải là cách tốt nhất để thực hiện nó, nhưng nó phù hợp với tôi và rất vui khi thực hiện nó.
Một số ý tưởng tôi có thêm…
Thêm một servo để xoay nồi cắt bên trong hộp.
Thêm các nút nhấn để xoay servo sang trái hoặc phải.
Thêm cảm biến nhiệt độ kỹ thuật số vào bộ tản nhiệt của bộ điều chỉnh để cảnh báo nhiệt độ nguy hiểm.
Bước 4: Lập trình Arduino
#bao gồm
// #include // Bỏ ghi chú nếu bạn sử dụng màn hình LCD có thanh ghi shift.
#bao gồm
#bao gồm
#bao gồm
#bao gồm
// A4 = (SDA)
// A5 = (SCL)
Adafruit_INA219 ina219;
Màn hình LCD LiquidCrystal (12, 11, 5, 4, 3, 2);
// LiquidCrystal_SR lcd (3, 4, 2); // Bỏ ghi chú nếu bạn sử dụng màn hình LCD có thanh ghi shift.
// | | | _ Chốt chốt
// | / _ Pin đồng hồ
// / _ Dữ liệu / Bật ghim
bit byteOfResolution = 12; // độ phân giải được lấy mẫu quá mức lệnh
dài không dấu numSamplesToAvg = 20; // số lượng mẫu TẠI ĐỘ PHÂN GIẢI CỘNG HÒA mà bạn muốn lấy và tính trung bình
ADC_prescaler_t ADCSpeed = ADC_DEFAULT;
unsigned long beforeMillis = 0;
float shuntvoltage = 0.0; // Từ INA219
điện áp phao = 0,0; // Từ INA219
float hiện_mA = 0.0; // Từ INA219
điện áp tải phao = 0,0; // Từ INA219
float arduinovoltage = 0.0; // Tính toán điện áp từ chân A0
Dài không dấu A0analogReading = 0;
byte analogIn = A0;
float ma_mapped = 0.0; // Ánh xạ điện áp từ A0 đến 4-20mA
void setup () {
adc.setADCSpeed (ADCSpeed);
adc.setBitsOfResolution (bitsOfResolution);
adc.setNumSamplesToAvg (numSamplesToAvg);
uint32_t currentFrequency;
ina219.begin ();
ina219.setCalibration_32V_30mA (); // Thư viện đã sửa đổi để có độ chính xác hơn trên mA
lcd.begin (20, 4); // khởi tạo màn hình LCD
lcd.clear ();
lcd.home (); // về nhà
lcd.print ("********************");
chậm trễ (2000);
lcd.clear ();
}
void loop ()
{
unsigned long currentMillis = millis ();
khoảng dài const = 100;
//&&&&&&&&&&&&&&&&&
Đọc thiết bị I2C theo từng khoảng thời gian và thực hiện một số phép tính
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
if (currentMillis - beforeMillis> = khoảng thời gian) {
beforeMillis = currentMillis;
Khoảng thời gian ();
}
Print_To_LCD (); // Tôi có thể không cần cập nhật màn hình LCD nhanh như vậy và có thể được chuyển xuống bên dưới Khoảng thời gian ()
}
vô hiệu
Khoảng thời gian () {
shuntvoltage = ina219.getShuntVoltage_mV ();
busvoltage = ina219.getBusVoltage_V ();
current_mA = ina219.getCurrent_mA ();
điện áp tải = (busvoltage + (shuntvoltage / 1000)) + 0,71; // +0.71 là điện áp diode của tôi bị giảm
A0analogReading = adc.newAnalogRead (analogIn);
arduinovoltage = (5.0 * A0analogReading); // Được tính thành mV
ma_mapped = map (arduinovoltage, 752, 8459, 30, 220) / 10.0; // Bản đồ không thể sử dụng float. Thêm một số 0 phía sau giá trị được ánh xạ và chia cho 10 để nhận được lượt đọc float.
// Ánh xạ từ tính toán điện áp cho phép đọc ổn định hơn sau đó sử dụng đọc adc thô.
if (shuntvoltage> = -0.10 && shuntvoltage <= -0.01) // Khi không tải, INA219 có xu hướng đọc dưới -0.01, tôi cũng biết.
{
hiện_mA = 0;
điện áp bus = 0;
điện áp tải = 0;
shuntvoltage = 0;
}
}
vô hiệu
Print_To_LCD () {
lcd.setCursor (0, 0);
if (ma_mapped <1.25) {// Không có dòng điện nào, đây là bài đọc mA của tôi, vì vậy tôi chỉ bỏ nó đi.
lcd.print ("* Máy phát điện 4-20mA *");
}
khác {
lcd.print ("** Bộ kiểm tra tương tự **");
}
lcd.setCursor (0, 1);
lcd.print ("Thiết bị:");
lcd.setCursor (10, 1);
if (ma_mapped <1.25) {
lcd.print ("không có thiết bị");
}
khác {
lcd.print (ma_mapped);
}
lcd.print ("mA");
lcd.setCursor (0, 2);
lcd.print ("Tạo:");
lcd.setCursor (10, 2);
lcd.print (current_mA);
lcd.print ("mA");
lcd.setCursor (0, 3);
lcd.print ("Cung cap:");
lcd.setCursor (10, 3);
lcd.print (điện áp tải);
lcd.print ("V");
}
Bước 5: Một số hình ảnh khác
Thiết bị đầu cuối loa của bộ khuếch đại. Đèn LED được điều khiển bởi bộ tạo dòng điện (RTD). Hệ thống dây thẻ tương tự sẽ thay thế đèn LED.
Thiết bị đầu cuối ở ngoài cùng bên trái dành cho đầu vào của nguồn cung cấp. Các thiết bị đầu cuối bên phải dành cho đầu vào thiết bị.
Bước 6: Lắp vào
Mọi thứ dường như vừa vặn. Tôi đã sử dụng silicone để tạm thời giữ một số thứ lại với nhau. Chậu trang trí được làm bằng silicon ở phía trên bên phải. Một lỗ nhỏ đã được đục sẵn. Tôi có thể điều chỉnh dòng điện từ trên cùng của hộp.
Bước 7: Chỉ ảnh
Bước 8: Lời cuối cùng
Tôi đã kiểm tra đầu ra của thiết bị này với PLC Allan Bradley. Kết quả rất tốt. Tôi đã có đầy đủ phạm vi. Tôi cũng đã thử nghiệm thiết bị này với cảm biến áp suất 4-20mA có màn hình LCD tích hợp. Một lần nữa kết quả rất tốt. Các bài đọc của tôi đã bị sai lệch bởi một vài số thập phân.
Tôi viết mã arduino của mình trong các tab. Trong PLC, chúng được gọi là các quy trình con. Làm cho việc gỡ lỗi của tôi dễ dàng hơn.
Đính kèm là các tệp văn bản của các tab đó.
Đề xuất:
BGA X-Ray Kiểm tra- Tìm hiểu Cách Kiểm tra ?: 7 Bước
Kiểm tra BGA X-Ray- Tìm hiểu Cách Kiểm tra ?: Tài liệu hướng dẫn này sẽ dạy bạn cách chuẩn bị sử dụng và hệ thống X-quang 2D để kiểm tra BGA, cũng như một số gợi ý về những gì cần tìm khi thực hiện kiểm tra BGA X-Ray cho bạn sẽ cần: Hệ thống tia X có khả năng giữ dây đeo tay PCBPCBESD áo khoác
Máy phát điện - Máy phát điện DC sử dụng công tắc sậy: 3 bước
Máy phát điện - Máy phát điện một chiều sử dụng công tắc sậy: Máy phát điện Dc đơn giản Máy phát điện một chiều (DC) là một máy điện biến năng lượng cơ học thành điện năng một chiều. thay đổi
Tự kích thích một máy phát điện mà không cần bất kỳ máy phát điện một chiều, tụ điện hoặc pin nào: 5 bước (có hình ảnh)
Tự kích thích một máy phát điện mà không cần bất kỳ máy phát điện một chiều, tụ điện hoặc pin nào: Xin chào! Hướng dẫn này dùng để chuyển đổi máy phát điện kích thích trường thành máy phát điện tự kích thích. Ưu điểm của thủ thuật này là bạn sẽ không phải cấp nguồn cho trường này máy phát điện có pin 12 volt nhưng thay vào đó nó sẽ tự bật nguồn để bạn
Công cụ kiểm tra: Máy kiểm tra 555 Khá đơn giản. Đã sửa và cập nhật.: 3 bước
Công cụ kiểm tra: Máy kiểm tra 555 Khá đơn giản. Đã sửa và cập nhật: Ở đây tôi sẽ đưa ra một mạch nhỏ để kiểm tra xem bộ đếm thời gian 555 bạn vừa thử trong một mạch khác (và nó nóng lên hoặc không hoạt động gì cả) hoạt động hay không. Bạn đã bao giờ tự hỏi liệu đó có phải là mạch của bạn hay không, hay liệu có thể đã khiến bạn
Máy kiểm tra dung lượng pin Li-Ion (Máy kiểm tra nguồn điện Lithium): 5 bước
Máy kiểm tra dung lượng pin Li-Ion (Máy kiểm tra nguồn Lithium): =========== CẢNH BÁO & KHUYẾN CÁO ========== Pin Li-Ion rất nguy hiểm nếu không được xử lý đúng cách. =====================================