Skip to content

Instantly share code, notes, and snippets.

@qRoC
Last active May 24, 2024 19:50
Show Gist options
  • Save qRoC/010be5a7747d53cc30dd2d5a02278ea3 to your computer and use it in GitHub Desktop.
Save qRoC/010be5a7747d53cc30dd2d5a02278ea3 to your computer and use it in GitHub Desktop.
Invertor
fn main() {
// -------------------------------------------------------------------------
// settings
let V: f64 = 12.0; // Напруга акумулятора [В]
let Pu: f64 = 200.0; // Номінальна потужність підключеного пристрою [Вт]
let Th: f64 = 4.0; // Необхідний час роботи системи [год]
let η: f64 = 0.92; // ККД інвертору [%] (0.00 - 1.00)
// -------------------------------------------------------------------------
// calculation
// Потужність, споживана джерелом безперебійного живлення в режимі простою [Вт]
let Pz1 = 0.3 * V;
let Pz2 = 1.2 * V;
// Кількість ват-годин системи
let Wa1 = (Pu + Pz1) * Th / η;
let Wa2 = (Pu + Pz2) * Th / η;
// Ємність акумулятора [Ah]
let Q1 = 1.25 * (Wa1 / V);
let Q2 = 1.25 * (Wa2 / V);
println!("AGM 12V {}Ah", ((Q1+Q2) / 2.0).ceil());
// -------------------------------------------------------------------------
// settings
let Al: f64 = 20.0; // Струм зарядки (випрямляч) [A]
let Ah: f64 = 120.0; // Ємність акумулятора [Ah]
// -------------------------------------------------------------------------
// calculation
let T: f64 = 1.4 * (Ah / Al); // Час зарядки акумулятора [год]
println!("T = {}h", T.ceil());
}
@qRoC
Copy link
Author

qRoC commented May 24, 2024

fn main() {
    let V: f64 = 12.0;   // Напруга акумулятора [В]
    let Q: f64 = 120.0; // Ємність акумулятора [Ah]
    let Pu: f64 = 200.0; // Номінальна потужність підключеного пристрою [Вт]
    let η: f64 = 0.92; // ККД інвертору [%] (0.00 - 1.00)
    let Al: f64 = 20.0; // Струм зарядки (випрямляч) [A]
    
    // -------------------------------------------------------------------------
    // calculation
    
    let Pz1 = 0.3 * V;
    let Pz2 = 1.2 * V;
    
    let Wa = Q / 1.25 * V;
    
    let Th1 = Wa * η / (Pu + Pz1);
    let Th2 = Wa * η / (Pu + Pz2);
    
    let T: f64 = 1.4 * (Q / Al);
    
    println!("Час роботи: {}год", ((Th1 + Th2) / 2.0));
    println!("Час заряду: {}год", T);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment