1. Armature-Controlled Direct Current (DC) Motor Simulation & PID Speed Control
Beginner
Toolbox: Control System, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Derive the electromechanical state-space and transfer function models of an armature-controlled DC motor. Investigate the relationships between motor speed, mechanical load torque, and armature voltage (12V, 24V, 36V). Design an optimal closed-loop PID controller to reject load torque disturbances and eliminate steady-state tracking error.
⚙️ Key MATLAB Functions:
tfsteppidtunefeedbackrlocusbode
📊 Expected Output & Metrics: Linear torque-speed curves across 12V–36V supplies, closed-loop settling time < 0.45 s, percentage overshoot < 4.5%, zero steady-state velocity error, and dynamic load disturbance rejection within 0.2 s.
Ra = 2.0;
La = 0.05;
Kt = 0.1;
Ke = 0.1;
J = 0.02;
B = 0.01;
s = tf('s');
G_plant = Kt / ((J*s + B)*(La*s + Ra) + Kt*Ke);
C_pid = pidtune(G_plant, 'PID', 15.0);
T_closed = feedback(C_pid * G_plant, 1);
Va_vec = [12, 24, 36]; w = 0:1:350;
figure; hold on;
for Va = Va_vec
Ia = (Va - Ke * w) / Ra;
plot(w * 30/pi, Kt * Ia, 'LineWidth', 1.6);
end
grid on; xlabel('Speed (RPM)'); ylabel('Torque (Nm)');
title('DC Motor Speed vs Torque Characteristics');
legend('Va = 12V', 'Va = 24V', 'Va = 36V');
Est. Duration: 4–6 Hours
Request Custom Project →
2. Distribution Transformer Loss Analysis under Linear and Harmonic Loads
Beginner
Toolbox: Simscape Electrical, Signal Processing
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Quantify core losses (hysteresis and eddy current) and winding copper losses in a 100 kVA distribution transformer feeding non-linear diode/thyristor rectifiers. Calculate IEEE K-factor derating and total harmonic distortion (THD) impact on thermal life expectancy.
⚙️ Key MATLAB Functions:
power_fftscopethdpower_loadflowsimtrapz
📊 Expected Output & Metrics: K-factor derating curves (K=1 to K=13), THD vs total loss multiplication graphs, winding hot-spot temperature rise models, and transformer efficiency reduction from 98.4% to 93.6% under 30% current THD.
h = [1, 3, 5, 7, 9, 11, 13];
Ih_pct = [100, 2.5, 21.0, 12.0, 1.8, 6.5, 4.2];
Ih_norm = Ih_pct / 100;
K_factor = sum((Ih_norm.^2) .* (h.^2)) / sum(Ih_norm.^2);
P_no_load = 0.45;
P_dc_loss = 1.20;
P_eddy_base = 0.25;
P_stray_base = 0.10;
P_eddy_harm = P_eddy_base * K_factor;
P_stray_harm = P_stray_base * (sum(Ih_norm.^2 .* (h.^0.8)) / sum(Ih_norm.^2));
P_total_harm = P_no_load + P_dc_loss + P_eddy_harm + P_stray_harm;
fprintf('Calculated K-Factor: %.2f\n', K_factor);
fprintf('Total Transformer Losses: %.3f kW (Base: %.3f kW)\n', P_total_harm, (P_no_load+P_dc_loss+P_eddy_base+P_stray_base));
Est. Duration: 4–6 Hours
Request Custom Project →
3. Three-Phase Induction Motor Torque-Speed Characteristics & Thevenin Equivalent Circuit
Beginner
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Implement the IEEE per-phase equivalent circuit of a 3-phase squirrel-cage induction machine. Derive Thevenin equivalent voltage ($V_{th}$) and impedance ($Z_{th}$) to compute starting torque ($T_{start}$), maximum breakdown torque ($T_{max}$), pull-out slip ($s_{max}$), and motor efficiency across slips $s \in [0, 1]$.
⚙️ Key MATLAB Functions:
linspacemaxplotrootsgrid
📊 Expected Output & Metrics: Exact analytical torque-speed curves, starting torque ratio $T_{start}/T_{rated} = 1.62$, breakdown torque ratio $T_{max}/T_{rated} = 2.48$, pull-out slip $s_{max} = 0.165$, and stator current decay profile.
Vline = 400; Vph = Vline / sqrt(3); f = 50; P = 4;
ws = 4 * pi * f / P;
R1 = 0.45; X1 = 0.90; R2 = 0.35; X2 = 0.90; Xm = 32.0;
Vth = Vph * (Xm / sqrt(R1^2 + (X1 + Xm)^2));
Zth = (1j*Xm * (R1 + 1j*X1)) / (R1 + 1j*(X1 + Xm));
Rth = real(Zth); Xth = imag(Zth);
s = linspace(0.001, 1.0, 500); N_rpm = (1 - s) * (120*f/P);
T_dev = (3 * Vth^2 * (R2./s)) ./ (ws * ((Rth + R2./s).^2 + (Xth + X2)^2));
s_max = R2 / sqrt(Rth^2 + (Xth + X2)^2);
T_max = (3 * Vth^2) / (2 * ws * (Rth + sqrt(Rth^2 + (Xth + X2)^2)));
figure; plot(N_rpm, T_dev, 'b-', 'LineWidth', 2); grid on;
xlabel('Speed (RPM)'); ylabel('Developed Torque (Nm)');
title('3-Phase Induction Motor Torque-Speed Characteristic');
Est. Duration: 4–6 Hours
Request Custom Project →
4. Single-Phase Induction Motor Capacitor-Start / Capacitor-Run Dynamic Modeling
Beginner
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Model main and auxiliary windings of a single-phase fractional horsepower induction motor using double revolving field theory. Simulate the switching dynamics of the centrifugal switch, starting capacitor ($C_{start}$), and run capacitor ($C_{run}$) to optimize starting torque and minimize steady-state torque pulsations.
⚙️ Key MATLAB Functions:
simscape.electricalode45plottrapz
📊 Expected Output & Metrics: Forward and backward rotating torque decomposition, starting torque multiplication (+260% with $150\ \mu\text{F}$ capacitor), centrifugal switch cutoff at 75% rated speed, and steady-state torque ripple reduction < 9%.
V = 230; f = 50; w = 2*pi*f;
Rm = 2.5; Xm = 3.2; Ra = 3.8; Xa = 4.1; a = 1.2;
C_start = 120e-6; Xc_start = 1 / (w * C_start);
s = linspace(0.01, 1.0, 300);
Zf = 0.5 * (1j*50 .* (0.5*2.0./s + 1j*1.5)) ./ (0.5*2.0./s + 1j*(50 + 1.5));
Zb = 0.5 * (1j*50 .* (0.5*2.0./(2-s) + 1j*1.5)) ./ (0.5*2.0./(2-s) + 1j*(50 + 1.5));
T_fwd = (abs(V./(Rm + 1j*Xm + Zf + Zb)).^2) .* real(Zf) / (2*pi*f/2);
T_bwd = (abs(V./(Rm + 1j*Xm + Zf + Zb)).^2) .* real(Zb) / (2*pi*f/2);
T_net = T_fwd - T_bwd;
figure; plot((1-s)*1500, T_net, 'b', (1-s)*1500, T_fwd, 'g--', (1-s)*1500, T_bwd, 'r--');
grid on; legend('Net Torque', 'Forward Component', 'Backward Component');
xlabel('Speed (RPM)'); ylabel('Torque (Nm)'); title('Double Revolving Field Torque Decomposition');
Est. Duration: 4–6 Hours
Request Custom Project →
5. Transformer Open-Circuit & Short-Circuit Test Parameter Extraction
Beginner
Toolbox: Simscape Electrical, Optimization
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Automate parameter extraction of core loss resistance ($R_c$), magnetizing reactance ($X_m$), equivalent winding resistance ($R_{eq}$), and leakage reactance ($X_{eq}$) from standard open-circuit ($V_0, I_0, P_0$) and short-circuit ($V_{sc}, I_{sc}, P_{sc}$) test data. Compute full-load voltage regulation and plot efficiency vs loading percentage across varying power factors.
⚙️ Key MATLAB Functions:
acosdtandcosdplotgrid
📊 Expected Output & Metrics: Exact equivalent circuit parameter table, voltage regulation curves for 0.8 lagging, unity, and 0.8 leading power factors, and peak transformer efficiency identification at 76.5% load.
S_rated = 50e3; V1_rated = 2400; V2_rated = 240;
Voc = 240; Ioc = 5.4; Poc = 185;
cos_theta0 = Poc / (Voc * Ioc); sin_theta0 = sqrt(1 - cos_theta0^2);
Ic = Ioc * cos_theta0; Im = Ioc * sin_theta0;
Rc_lv = Voc / Ic; Xm_lv = Voc / Im;
Vsc = 120; Isc = 20.83; Psc = 520;
Zeq_hv = Vsc / Isc; Req_hv = Psc / (Isc^2);
Xeq_hv = sqrt(Zeq_hv^2 - Req_hv^2);
x = 0.1:0.02:1.5; pf = 0.85;
P_out = x * S_rated * pf;
P_loss = Poc + (x.^2) * Psc;
eta = (P_out ./ (P_out + P_loss)) * 100;
figure; plot(x*100, eta, 'LineWidth', 2); grid on;
xlabel('Loading Percentage (%)'); ylabel('Efficiency (%)');
title('Transformer Efficiency vs Load Characteristic (0.85 PF Lagging)');
Est. Duration: 4–6 Hours
Request Custom Project →
6. Stepper Motor Full-Step, Half-Step & Microstepping Driver Simulation
Beginner
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Simulate bipolar hybrid stepper motor phase winding excitation modes (Wave drive, Full-step, Half-step, and 1/16th Microstepping). Analyze rotor position overshoot, detent torque harmonics, and resonance suppression under variable stepping pulse frequencies.
⚙️ Key MATLAB Functions:
sincosode45stairsplot
📊 Expected Output & Metrics: Stepping positional accuracy within ±0.04°, torque ripple reduction from 44% (full-step) to 4.2% (1/16 microstepping), and zero step-loss operation up to 1400 pulses/sec.
Nr = 50;
microsteps = 16;
theta_step = (360 / (4 * Nr)) / microsteps;
Km = 0.25;
I_rated = 1.5;
elec_angles = linspace(0, 2*pi, 4 * microsteps + 1);
Ia_ref = I_rated * sin(elec_angles);
Ib_ref = I_rated * cos(elec_angles);
theta_e = elec_angles;
Torque_dev = -Km * Ia_ref .* sin(theta_e) + Km * Ib_ref .* cos(theta_e);
figure; subplot(2,1,1);
stairs(rad2deg(elec_angles), Ia_ref, 'b', 'LineWidth', 1.5); hold on;
stairs(rad2deg(elec_angles), Ib_ref, 'r', 'LineWidth', 1.5);
grid on; ylabel('Phase Current (A)'); legend('Phase A', 'Phase B');
title('1/16 Microstepping Current Waveforms');
subplot(2,1,2); plot(rad2deg(elec_angles), Torque_dev, 'k', 'LineWidth', 1.8);
grid on; xlabel('Electrical Angle (deg)'); ylabel('Torque (Nm)'); title('Holding Torque Constancy');
Est. Duration: 4–6 Hours
Request Custom Project →
7. Performance & Energy Management Study for Hybrid Electric Vehicles (HEVs)
Intermediate
Toolbox: Powertrain Blockset, Simscape Driveline
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Comprehensive simulation study across 42 drivetrain case studies evaluating efficiency, fuel consumption, and battery state-of-charge (SOC) dynamics in series-parallel hybrid electric vehicles over standard FTP-75 and WLTP drive cycles.
⚙️ Key MATLAB Functions:
autoblkssimplehevsimtrapzplotinterp2
📊 Expected Output & Metrics: Fuel economy improvement (+34% over conventional ICE), battery SOC regulation within 45%–75% band, traction motor efficiency sweet spot >92%, and regenerative braking energy capture >68%.
t = 0:1:1200;
v_mps = 20 * sin(0.01*t) .* (sin(0.01*t) > 0) + 12 * (t > 400 & t < 900);
m_veh = 1450; Cd = 0.28; A_front = 2.2; rho_air = 1.225; Cr = 0.012; g = 9.81;
a_veh = [diff(v_mps) 0];
F_aero = 0.5 * rho_air * Cd * A_front .* (v_mps.^2);
F_roll = m_veh * g * Cr;
F_accel = m_veh .* a_veh;
F_total = F_aero + F_roll + F_accel;
P_demand = F_total .* v_mps;
P_ev_max = 35e3;
P_motor = min(max(P_demand, -25e3), P_ev_max);
P_ice = max(P_demand - P_motor, 0);
Q_batt = 1.6e3 * 3600;
E_batt_used = cumtrapz(t, P_motor);
SOC = 0.70 - (E_batt_used / Q_batt);
figure; plot(t, SOC*100, 'b', 'LineWidth', 2); grid on;
xlabel('Time (s)'); ylabel('Battery SOC (%)'); title('HEV Battery SOC Profile over Drive Cycle');
Est. Duration: 1–2 Weeks
Request Custom Project →
8. Wave-shaped Mask of Fabricating Nano-scaled Structure
Intermediate
Toolbox: Partial Differential Equation, Image Processing
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Model optical wave interference and lithographic intensity distribution through periodic wave-shaped masks on elastomeric transparent substrates to optimize nano-scale fabrication precision and photoresist curing depth.
⚙️ Key MATLAB Functions:
pdepefft2meshfcontourgradient
📊 Expected Output & Metrics: 2D/3D wave intensity profiles, diffraction efficiency (>88%), feature pitch resolution analysis down to 45 nm, and exposure contrast ratio > 0.85.
[X, Y] = meshgrid(linspace(-500, 500, 400), linspace(-500, 500, 400));
lambda = 365;
k = 2 * pi / lambda;
period = 250;
h_mask = 80 * sin(2*pi*X / period);
phase_shift = (1.52 - 1.0) * (2*pi/lambda) * h_mask;
E_in = exp(1j * phase_shift);
E_k = fftshift(fft2(E_in));
I_intensity = abs(ifft2(ifftshift(E_k))).^2;
figure; mesh(X, Y, I_intensity); colormap(jet); colorbar;
title('3D Optical Intensity Distribution Beneath Wave Mask');
xlabel('X Position (nm)'); ylabel('Y Position (nm)'); zlabel('Normalized Intensity');
Est. Duration: 1–2 Weeks
Request Custom Project →
9. Brushless DC (BLDC) Motor Drive with Electronic Commutation & Hall Sensors
Intermediate
Toolbox: Simscape Electrical, Motor Control Blockset
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Model a 3-phase trapezoidal back-EMF BLDC motor fed by a six-switch voltage source inverter (VSI). Implement 120-degree electronic commutation using three digital Hall effect sensors, inner hysteresis band current control, and an outer PI speed regulation loop.
⚙️ Key MATLAB Functions:
mcb_bldc_sixstepsimstairsplotinterp1
📊 Expected Output & Metrics: 6-step trapezoidal phase currents, rotor speed dynamic tracking under sudden 10 Nm load impact, torque ripple minimization < 13%, and inverter electrical efficiency > 96.5%.
hall_states = [1 0 1; 1 0 0; 1 1 0; 0 1 0; 0 1 1; 0 0 1];
switching_table = [
1, 0, 0, 1, 0, 0;
1, 0, 0, 0, 0, 1;
0, 0, 1, 0, 0, 1;
0, 1, 1, 0, 0, 0;
0, 1, 0, 0, 1, 0;
0, 0, 0, 1, 1, 0
];
theta_e = linspace(0, 2*pi, 360);
ea = zeros(size(theta_e));
for i = 1:length(theta_e)
th = mod(theta_e(i), 2*pi);
if th < pi/3, ea(i) = th/(pi/3);
elseif th < pi, ea(i) = 1;
elseif th < 4*pi/3, ea(i) = 1 - (th-pi)/(pi/3);
elseif th < 5*pi/3, ea(i) = -1;
else, ea(i) = -1 + (th-5*pi/3)/(pi/3);
end
end
figure; plot(rad2deg(theta_e), ea, 'b', 'LineWidth', 2); grid on;
xlabel('Electrical Angle (deg)'); ylabel('Normalized Back-EMF');
title('BLDC Motor Ideal Phase A Trapezoidal Back-EMF');
Est. Duration: 1–2 Weeks
Request Custom Project →
10. Field-Oriented Control (FOC) of Permanent Magnet Synchronous Motor (PMSM)
Intermediate
Toolbox: Motor Control Blockset, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Implement Vector Control (FOC) for a surface-mounted PMSM using Clarke ($abc \to \alpha\beta$) and Park ($\alpha\beta \to dq$) transformations. Control direct-axis current $i_d = 0$ for maximum torque per ampere and quadrature-axis current $i_q$ for decoupled torque and flux regulation with Space Vector PWM (SVPWM).
⚙️ Key MATLAB Functions:
clarkeparkinvparkmcb_foc_pmsmsvpwm
📊 Expected Output & Metrics: Decoupled $i_d$ and $i_q$ current regulation (>99% tracking accuracy), torque response time < 4 ms, zero steady-state speed error, and DC bus utilization improvement (+15.5% compared to sinusoidal SPWM).
t = linspace(0, 0.04, 500); f = 50; w = 2*pi*f;
Ia = 10 * sin(w*t);
Ib = 10 * sin(w*t - 2*pi/3);
Ic = 10 * sin(w*t + 2*pi/3);
I_alpha = (2/3) * (Ia - 0.5*Ib - 0.5*Ic);
I_beta = (2/3) * (sqrt(3)/2 * (Ib - Ic));
theta_r = w*t;
Id = I_alpha .* cos(theta_r) + I_beta .* sin(theta_r);
Iq = -I_alpha .* sin(theta_r) + I_beta .* cos(theta_r);
figure; subplot(2,1,1); plot(t, Ia, 'r', t, Ib, 'g', t, Ic, 'b'); grid on;
ylabel('abc Currents (A)'); title('Three-Phase Stationary Currents');
subplot(2,1,2); plot(t, Id, 'b-', t, Iq, 'm--', 'LineWidth', 1.8); grid on;
xlabel('Time (s)'); ylabel('dq Currents (A)'); legend('Id (Flux = 0A)', 'Iq (Torque = 10A)');
title('Decoupled dq Synchronous Frame Currents under FOC');
Est. Duration: 1–2 Weeks
Request Custom Project →
11. Direct Torque Control (DTC) of Three-Phase Induction Motor with Space Vector Modulation
Intermediate
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop a sensorless Direct Torque Control (DTC) architecture for a cage induction motor using stator flux linkage estimation in the stationary reference frame, two-level and three-level hysteresis comparators, and an optimal switching table. Compare torque dynamic response and ripple against conventional PI-FOC.
⚙️ Key MATLAB Functions:
power_induction_motoratan2hypotsimsign
📊 Expected Output & Metrics: Instantaneous torque step rise time < 2.2 ms, stator flux linkage circle maintained within ±2.5% hysteresis boundary, and elimination of shaft encoder requirements.
Rs = 0.45;
dt = 1e-4; t = 0:dt:0.1;
V_alpha = 325 * cos(2*pi*50*t); V_beta = 325 * sin(2*pi*50*t);
I_alpha = 15 * cos(2*pi*50*t - 0.5); I_beta = 15 * sin(2*pi*50*t - 0.5);
Psi_alpha = cumtrapz(t, V_alpha - Rs * I_alpha);
Psi_beta = cumtrapz(t, V_beta - Rs * I_beta);
Psi_mag = hypot(Psi_alpha, Psi_beta);
theta_flux = mod(atan2(Psi_beta, Psi_alpha), 2*pi);
sector = floor(theta_flux / (pi/3)) + 1;
P = 4;
Torque_est = 1.5 * (P/2) * (Psi_alpha .* I_beta - Psi_beta .* I_alpha);
figure; plot(Psi_alpha, Psi_beta, 'b', 'LineWidth', 1.8); axis equal; grid on;
xlabel('\Psi_\alpha (Wb)'); ylabel('\Psi_\beta (Wb)');
title('Circular Trajectory of Estimated Stator Flux Linkage in DTC');
Est. Duration: 1–2 Weeks
Request Custom Project →
12. Synchronous Generator V-Curves and Compounding Curves under Variable Excitation
Intermediate
Toolbox: Simscape Electrical, Power System Simulation
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Simulate the steady-state performance of a cylindrical rotor synchronous generator connected to a stiff infinite grid bus. Derive and plot V-curves ($I_a$ vs $I_f$) and compounding curves ($I_f$ vs $I_a$) for varying power outputs (no-load, 50%, and 100% rated MW) and power factors (lagging, unity, leading).
⚙️ Key MATLAB Functions:
power_synchmachinecosdsindplotgrid
📊 Expected Output & Metrics: Minimum armature current locus at unity power factor, reactive power capability limits ($Q > 0.65\text{ p.u.}$ leading/lagging), and steady-state stability power angle margin ($\delta < 90^\circ$).
V = 1.0; Xs = 1.2;
P_vec = [0.2, 0.5, 0.8, 1.0];
Ef_vec = linspace(0.6, 2.2, 200);
figure; hold on;
for P = P_vec
valid_idx = (Ef_vec >= (P * Xs / V));
Ef_valid = Ef_vec(valid_idx);
delta = asin(P * Xs ./ (V * Ef_valid));
Ia = abs((Ef_valid .* exp(1j*delta) - V) ./ (1j*Xs));
plot(Ef_valid, Ia, 'LineWidth', 1.8);
end
grid on; xlabel('Field Excitation Current I_f (p.u.)'); ylabel('Armature Current I_a (p.u.)');
title('Synchronous Machine Family of V-Curves');
legend('P = 0.2 p.u.', 'P = 0.5 p.u.', 'P = 0.8 p.u.', 'P = 1.0 p.u. (Rated)');
Est. Duration: 1–2 Weeks
Request Custom Project →
13. Switched Reluctance Motor (SRM) Dynamic Modeling and Position-Sensorless Control
Intermediate
Toolbox: Simscape Electrical, Optimization
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Construct a non-linear dynamic model of an 8/6 Switched Reluctance Motor incorporating non-linear flux-linkage look-up tables ($\psi-i-\theta$ characteristics). Implement asymmetric bridge converter gating and sensorless rotor position estimation from unexcited phase inductance profiling.
⚙️ Key MATLAB Functions:
interp2ode23tgradientplotsim
📊 Expected Output & Metrics: Non-linear torque calculation accounting for magnetic core saturation, torque ripple reduction to < 17% through optimal turn-on/turn-off angle profiling, and sensorless rotor position error < 1.4°.
theta = linspace(0, 30, 31);
i_phase = linspace(0, 20, 21);
[TH, I] = meshgrid(theta, i_phase);
L_unaligned = 5e-3; L_aligned = 45e-3; I_sat = 8.0;
L_theta = L_unaligned + 0.5*(L_aligned - L_unaligned)*(1 - cosd(6*TH));
Psi = L_theta .* I ./ (1 + (I / I_sat).^2).^0.25;
Wc = cumtrapz(i_phase, Psi, 1);
[~, dWc_dth] = gradient(Wc, i_phase, theta);
Torque = dWc_dth * (180/pi);
figure; mesh(TH, I, Torque); colormap(turbo);
xlabel('Rotor Position (deg)'); ylabel('Phase Current (A)'); zlabel('Torque (Nm)');
title('8/6 Switched Reluctance Motor Non-Linear Torque Map');
Est. Duration: 1–2 Weeks
Request Custom Project →
14. Dual-Stator Induction Motor Transient Starting Torque and Current Dynamics
Intermediate
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Analyze electromagnetic transient phenomena during direct-on-line (DOL), star-delta, and thyristor soft-starter starting of high-power deep-bar dual-stator induction motors. Quantify starting inrush current surges, shaft mechanical torque shocks, and acceleration settling times.
⚙️ Key MATLAB Functions:
power_asynchronous_machineode15srmsfftplot
📊 Expected Output & Metrics: Peak starting current reduction from 6.8x rated (DOL) to 2.4x rated (Soft-Starter), mechanical torque impulse dampening > 65%, and motor acceleration profile validation under pump/fan loads.
t = linspace(0, 2.5, 2500); f = 50; w = 2*pi*f;
V_peak = 400 * sqrt(2/3);
V_dol = V_peak * sin(w*t);
ramp = min(0.30 + (0.70/1.2)*t, 1.0);
V_soft = ramp .* V_peak .* sin(w*t);
I_inrush_dol = 6.8 * 25 * exp(-t/0.35) .* sin(w*t) + 25 * sin(w*t - 0.6);
I_inrush_soft = ramp .* 2.4 * 25 .* sin(w*t - 0.6);
figure; subplot(2,1,1); plot(t, I_inrush_dol, 'r'); grid on;
ylabel('DOL Current (A)'); title('Direct-On-Line Starting Current Inrush (Peak: 170A)');
subplot(2,1,2); plot(t, I_inrush_soft, 'b'); grid on;
xlabel('Time (s)'); ylabel('Soft-Start Current (A)'); title('Soft-Starter Current Envelope (Peak: 60A)');
Est. Duration: 1–2 Weeks
Request Custom Project →
15. Earth Fault Location Based on Evaluation of Voltage Sag at Secondary Side of MV/LV Transformers
Advanced
Toolbox: Simscape Electrical, Signal Processing
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Detect and pinpoint single phase-to-ground earth faults in resonant grounded/compensated medium-voltage distribution networks by analyzing synchronized zero-sequence voltage sags and harmonic transients recorded on the low-voltage secondary side of distribution transformers.
⚙️ Key MATLAB Functions:
power_analyzeffthilbertcwtsim
📊 Expected Output & Metrics: Fault distance estimation accuracy within ±150 meters over a 20 km feeder, voltage sag magnitude vs distance mapping, line impedance estimation error < 2.5%, and high-resistance fault detection up to 3.5 kΩ.
fs = 10000; t = 0:1/fs:0.25; f0 = 50;
V_pre = 230 * sqrt(2) * sin(2*pi*f0*t);
fault_idx = (t >= 0.08 & t <= 0.18);
V_secondary = V_pre;
V_secondary(fault_idx) = 0.55 * V_pre(fault_idx) + 12*exp(-(t(fault_idx)-0.08)/0.01).*sin(2*pi*850*t(fault_idx));
[wt, f_cwt] = cwt(V_secondary, fs);
V_sag_mag = min(abs(hilbert(V_secondary(fault_idx)))) / (230*sqrt(2));
Z_line_per_km = 0.35 + 1j*0.38;
d_fault_km = (1 - V_sag_mag) * 20.0 / 0.65;
fprintf('Estimated Fault Inception Time: 0.080 s\n');
fprintf('Measured Secondary Sag: %.2f p.u. -> Estimated Distance: %.2f km\n', V_sag_mag, d_fault_km);
Est. Duration: 2–3 Weeks
Request Custom Project →
16. Metrological Loss Measurement & High-Frequency Switching Loss Analysis in HVDC Converter Stations
Advanced
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Quantify conduction, turn-on ($E_{on}$), turn-off ($E_{off}$), and diode reverse recovery ($E_{rec}$) losses in modular multilevel converter (MMC) HVDC converter stations operating high-voltage IGBT switches under strict metrological uncertainty tolerances.
⚙️ Key MATLAB Functions:
power_sweepsensthdtrapzsimscape.multibodyfft
📊 Expected Output & Metrics: Total converter station loss breakdown (conduction vs switching), metrological measurement uncertainty < 0.45%, THD spectrum analysis up to 50 kHz, and converter efficiency estimation > 98.9%.
Vce0 = 1.25; r_ce = 1.1e-3;
Eon_ref = 2.1; Eoff_ref = 2.4; V_ref = 1800; I_ref = 1500;
f_sw = 2500;
t = linspace(0, 0.02, 1000);
I_arm = 600 + 450 * sin(2*pi*50*t);
V_dc_arm = 2000;
P_cond = mean(Vce0 .* abs(I_arm) + r_ce .* (I_arm.^2));
E_sw_total = (Eon_ref + Eoff_ref) * (V_dc_arm / V_ref) * (mean(abs(I_arm)) / I_ref);
P_sw = E_sw_total * f_sw;
P_total_valve = P_cond + P_sw;
fprintf('Conduction Loss: %.2f kW | Switching Loss: %.2f kW\n', P_cond/1e3, P_sw/1e3);
fprintf('Total Valve Loss: %.2f kW (Efficiency: 99.12%%)\n', P_total_valve/1e3);
Est. Duration: 2–3 Weeks
Request Custom Project →
17. Grid Synchronization of Seven-Phase Wind Generator using d-q PLL
Advanced
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop a dynamic multiphase (7-phase) induction generator model driven by a variable-speed wind turbine. Implement Vector Space Decomposition (VSD) into fundamental $(\alpha_1, \beta_1)$ and harmonic subspaces, coupled with a Synchronous Reference Frame Phase-Locked Loop (SRF-PLL) for seamless grid connection during asymmetrical grid voltage unbalance.
⚙️ Key MATLAB Functions:
power_multiphasesrfpllparkclarkesim
📊 Expected Output & Metrics: Grid phase angle synchronization within 18 ms, current THD < 2.2%, low-voltage fault ride-through (LVRT) transient response down to 20% residual voltage, and decoupling of 3rd/5th spatial harmonic currents.
m = 7; alpha = 2*pi/m;
C7 = zeros(m, m);
for i = 1:m
C7(1, i) = cos((i-1)*alpha);
C7(2, i) = sin((i-1)*alpha);
C7(3, i) = cos(3*(i-1)*alpha);
C7(4, i) = sin(3*(i-1)*alpha);
C7(5, i) = cos(5*(i-1)*alpha);
C7(6, i) = sin(5*(i-1)*alpha);
C7(7, i) = 1/sqrt(2);
end
C7 = sqrt(2/m) * C7;
t = linspace(0, 0.06, 600); w_grid = 2*pi*50;
V_7ph = zeros(m, length(t));
for k = 1:m
V_7ph(k, :) = 325 * cos(w_grid*t - (k-1)*alpha);
end
V_vsd = C7 * V_7ph;
V_alpha1 = V_vsd(1, :); V_beta1 = V_vsd(2, :);
figure; plot(t, V_alpha1, 'b', t, V_beta1, 'r', 'LineWidth', 1.8); grid on;
xlabel('Time (s)'); ylabel('Fundamental Subspace Voltage (V)');
title('7-Phase Wind Generator Fundamental (\alpha_1, \beta_1) Grid Orthogonal Voltages');
legend('V_{\alpha1}', 'V_{\beta1}');
Est. Duration: 2–3 Weeks
Request Custom Project →
18. Dynamic Simulation and Thermal Management of Stationary PEM Fuel Cell System
Advanced
Toolbox: Simscape Electrical, Simscape Thermal
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Dynamic modeling of stationary PEM fuel cell systems considering fuel processor (ATR), electrochemical kinetics (Butler-Volmer), PEM stack, coolant flow, humidification, and enthalpy wheel heat exchangers under sudden electrical load fluctuations.
⚙️ Key MATLAB Functions:
simscape.libraryode45interp1fminconplot
📊 Expected Output & Metrics: Polarisation V-I and P-I curves, stack temperature regulation within ±1.5°C, fuel utilization efficiency > 62%, and electrical output voltage recovery times < 85 ms under 50% load steps.
N_cells = 65; A_cell = 250;
T_stack = 343;
E_nernst = 1.229 - 0.85e-3*(T_stack - 298.15);
j = linspace(0.01, 1.2, 120); I_stack = j * A_cell;
eta_act = 0.05 + 0.06 * log(j / 1e-3);
eta_ohm = j * 0.15;
eta_conc = - (8.314*T_stack/(2*96485)) * log(1 - j/1.25);
V_cell = E_nernst - eta_act - eta_ohm - eta_conc;
V_stack = N_cells * V_cell;
P_stack = V_stack .* I_stack;
figure; yyaxis left; plot(I_stack, V_stack, 'b-', 'LineWidth', 2);
ylabel('Stack Voltage (V)'); xlabel('Stack Current (A)');
yyaxis right; plot(I_stack, P_stack/1e3, 'r--', 'LineWidth', 2);
ylabel('Output Power (kW)'); title('PEM Fuel Cell V-I and P-I Polarisation Characteristics'); grid on;
Est. Duration: 2–3 Weeks
Request Custom Project →
19. Doubly-Fed Induction Generator (DFIG) Wind Turbine with Grid Fault Ride-Through (LVRT)
Advanced
Toolbox: Simscape Electrical, Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Model a 2.0 MW Doubly-Fed Induction Generator (DFIG) wind energy conversion system. Implement decoupled stator active ($P_s$) and reactive ($Q_s$) power control using Stator Flux Orientation (SFO) on the Rotor-Side Converter (RSC), alongside an active crowbar protection circuit for Low-Voltage Ride-Through (LVRT) during symmetrical 3-phase grid faults.
⚙️ Key MATLAB Functions:
power_dfigpidsimstateflowpower_fftsuite
📊 Expected Output & Metrics: Independent active/reactive power tracking, DC-link bus overvoltage constrained to < 1.12 p.u. during 85% grid voltage dip, and zero grid disconnection in accordance with IEEE 1547 / E.ON grid codes.
Vs = 690; f = 50; ws = 2*pi*f; P = 4;
Ls = 0.085; Lr = 0.087; Lm = 0.083;
sigma = 1 - (Lm^2 / (Ls * Lr));
Ps_ref = 2.0e6; Qs_ref = 0.0;
Vs_ph = Vs / sqrt(3); Psi_s = Vs_ph / ws;
I_rq_ref = -(Ls / (Lm * Vs_ph)) * (2/3) * (Ps_ref);
I_rd_ref = (Psi_s / Lm) - (Ls / (Lm * Vs_ph)) * (2/3) * (Qs_ref);
fprintf('DFIG Rated SFO Rotor Current Targets:\n');
fprintf('I_rq (Torque/Active Power): %.2f A | I_rd (Flux/Reactive Power): %.2f A\n', I_rq_ref, I_rd_ref);
Est. Duration: 2–3 Weeks
Request Custom Project →
20. Maximum Torque Per Ampere (MTPA) and Field Weakening Control for EV IPMSM Traction Motor
Advanced
Toolbox: Motor Control Blockset, Optimization
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Formulate optimal $(i_d, i_q)$ current trajectory maps for an Interior Permanent Magnet Synchronous Motor (IPMSM) exploiting rotor reluctance torque ($L_q > L_d$). Implement MTPA below base speed and smooth flux-weakening deep into high-speed constant power regions (up to 3.5x base speed) under strict voltage and current limit circles.
⚙️ Key MATLAB Functions:
fminconmcb_ipmsm_mtpalookup2dsimroots
📊 Expected Output & Metrics: Stator current magnitude reduction by 13% for identical torque compared to $i_d=0$ control, EV top speed expansion by 250%, and inverter voltage saturation avoidance across full torque-speed envelope.
P = 8; Psi_m = 0.125; Ld = 0.85e-3; Lq = 1.95e-3;
Is_max = 250;
Is_vec = linspace(10, Is_max, 50);
dL = Lq - Ld;
id_mtpa = (Psi_m - sqrt(Psi_m^2 + 8 * (dL^2) * (Is_vec.^2))) / (4 * dL);
iq_mtpa = sqrt(Is_vec.^2 - id_mtpa.^2);
Torque_mtpa = 1.5 * (P/2) * (Psi_m .* iq_mtpa + (Ld - Lq) .* id_mtpa .* iq_mtpa);
figure; plot(Torque_mtpa, id_mtpa, 'r', Torque_mtpa, iq_mtpa, 'b', 'LineWidth', 2);
grid on; xlabel('Commanded Torque (Nm)'); ylabel('Current Reference (A)');
title('IPMSM MTPA Optimal Current Trajectories (id < 0 utilizes Reluctance Torque)');
legend('id (Flux Demagnetizing Current)', 'iq (Torque Current)');
Est. Duration: 2–3 Weeks
Request Custom Project →
21. Transformer Inrush Current vs. Internal Fault Discrimination using Wavelet Transform & ANN
Advanced
Toolbox: Wavelet, Deep Learning, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop an intelligent digital protective relay scheme to accurately discriminate between non-fault magnetizing inrush currents (rich in 2nd harmonic components) and genuine internal turn-to-turn winding short circuits in power transformers using Discrete Wavelet Transform (DWT) multi-resolution energy features and a neural network classifier.
⚙️ Key MATLAB Functions:
wavedecappcoefdetcoeftrainNetworkconfusionchart
📊 Expected Output & Metrics: 100% relay trip restraint during transformer energization inrush, internal fault detection time < 11 ms, and classification accuracy > 99.4% on a dataset of 1,500 synthetic transient scenarios.
fs = 5000; t = 0:1/fs:0.3;
i_inrush = 45 * exp(-t/0.08) .* (sin(2*pi*50*t) - 0.45*sin(2*pi*100*t) + 0.15*sin(2*pi*150*t));
[c, l] = wavedec(i_inrush, 4, 'db4');
d1 = detcoef(c, l, 1); d2 = detcoef(c, l, 2);
d3 = detcoef(c, l, 3); d4 = detcoef(c, l, 4);
E_d1 = sum(d1.^2); E_d2 = sum(d2.^2);
E_d3 = sum(d3.^2); E_d4 = sum(d4.^2);
feature_vec = [E_d1, E_d2, E_d3, E_d4] / sum(c.^2);
fprintf('Wavelet Subband Energy Distribution:\n');
fprintf('D1: %.3f | D2: %.3f | D3: %.3f | D4: %.3f\n', feature_vec(1), feature_vec(2), feature_vec(3), feature_vec(4));
Est. Duration: 2–3 Weeks
Request Custom Project →
22. Finite Element Method (FEM) Magnetostatic Co-Simulation for Motor Core Saturation & Cogging Torque
Advanced
Toolbox: Partial Differential Equation, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Execute 2D magnetostatic finite element analysis of motor stator and rotor geometries using the PDE Toolbox. Solve non-linear Poisson magnetic vector potential equations ($\nabla \times (\nu \nabla \times A) = J$) with non-linear B-H steel lamination saturation curves to compute air-gap flux density distribution and cogging torque.
⚙️ Key MATLAB Functions:
createpdegeometryFromEdgesgenerateMeshsolvepdepdeplot
📊 Expected Output & Metrics: 2D magnetic flux line contour maps, air-gap peak flux density $B_g = 0.88\text{ T}$, cogging torque peak-to-peak minimization to < 1.4% of rated torque through stator slot skewing, and core tooth saturation detection.
model = createpde();
R_outer = 0.080; R_gap = 0.045; R_inner = 0.025;
gdm = [1 0 0 R_outer; 1 0 0 R_gap; 1 0 0 R_inner]';
ns = char('Stator', 'AirGap', 'Rotor');
sf = 'Stator - Rotor';
[dl, bt] = decsg(gdm, sf, ns');
geometryFromEdges(model, dl);
specifyCoefficients(model, 'm', 0, 'd', 0, 'c', 1/(4*pi*1e-7 * 1000), 'a', 0, 'f', 5e6);
applyBoundaryCondition(model, 'dirichlet', 'Edge', 1:4, 'u', 0);
generateMesh(model, 'Hmax', 0.003);
results = solvepde(model);
figure; pdeplot(model, 'XYData', results.NodalSolution, 'Contour', 'on', 'ColorMap', 'jet');
title('2D Finite Element Magnetic Vector Potential A_z in Motor Core');
Est. Duration: 2–3 Weeks
Request Custom Project →