Lewati ke konten utama
  1. Portofolio Proyek & Prototipe/

Dual Syringe Pump Control Interface & Linear Regression Calibration

Overview Proyek
#

Keterangan Detail
Domain Riset Instrumentasi Kontrol Fluida & Rekayasa Presisi
Stack Teknologi Mikrokontroler Arduino/ESP32, Stepper Motor Driver, Python (Scikit-Learn, Matplotlib)
Tujuan Khusus Pengendalian Debit Aliran Fluida Presisi Mikroliter/Jam & Kalibrasi Waktu

Arsitektur Sistem & Perangkat Keras
#

Sistem Dual Syringe Pump dirancang khusus untuk menginjeksikan dua jenis cairan reagen secara bersamaan ke dalam perangkat mikrofluida (Lab-on-a-Chip) dengan kecepatan laju aliran (flow rate) yang sangat konstan dan presisi.

Komponen Mekanikal & Elektronik:
#

  • Penggerak Mekanik: Motor stepper berpresisi tinggi dengan lead screw linear beresolusi sub-milimeter.
  • Mikrokontroler: Arduino/ESP32 untuk menghitung jumlah langkah pulsa (step pulses) berdasarkan masukan volume debet fluida.

Kalibrasi Algoritma Regresi Linier (Python)
#

Untuk memastikan bahwa waktu pengiriman fluida oleh pompa spuit (Syringe 6mL dan Syringe 12mL) akurat terhadap volume target, dilakukan kalibrasi matematis menggunakan model Linear Regression dari pustaka Scikit-Learn dalam bahasa Python:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Fungsi konversi format waktu eksperimen (menit.detik -> total detik)
def menitToDetik(menitsecon):
    menit = int(menitsecon)
    Second = round((menitsecon - menit) * 100)
    return (menit * 60) + Second

# Data pengukuran volume spuit (mL) dan waktu pengiriman nyata (detik)
volumeSyr12 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
TimeSyr12 = [1.47, 3.27, 5.10, 6.53, 8.27, 10.07, 11.45, 13.27, 15.10, 16.54, 18.50]
TimeSyr12detik = [menitToDetik(t) for t in TimeSyr12]

# Pelatihan Model Regresi Linier
reg1 = LinearRegression()
reg1.fit(np.array(volumeSyr12).reshape(-1, 1), TimeSyr12detik)

# Prediksi waktu pengaliran fluida
X_new = np.array(volumeSyr12).reshape(-1, 1)
y_predict1 = reg1.predict(X_new)

print(f"Koefisien Regresi (Slope): {reg1.coef_[0]:.4f} detik/mL")
print(f"Intercept: {reg1.intercept_:.4f} detik")

Dengan kalibrasi regresi linier ini, perangkat lunak kontrol antarmuka (GUI) pompa spuit dapat menyesuaikan frekuensi langkah motor stepper secara otomatis berdasarkan jenis spuit yang dipasang, menghasilkan tingkat sesatan debit di bawah 1%.