System automatyzacji odciągu wiórów

Inteligentny system sterowania przepustnicami w systemie odciągu wiórów

Automatyka Node-RED RPI
💻 ~ 150 Linijek kodu
⏱️ 1 Tydzień realizacji
⭐ 5/5 Ocena klienta

Przegląd projektu

Historia projektu

Projekt rozpoczął się od wiadomości na platformie Fiverr, gdzie klient poszukiwał specjalisty do implementacji systemu automatyki. Posiadał już kompletną infrastrukturę sprzętową - system odciągu wiórów z przepustnicami sterowanymi serwomechanizmami, ale brakowało mu wiedzy technicznej do zaprogramowania logiki sterowania.

Po wstępnej analizie potrzeb i konsultacjach, zdecydowaliśmy się na wykorzystanie Node-RED jako platformy do implementacji systemu sterowania, ze względu na jego elastyczność i możliwość szybkiego prototypowania rozwiązań.

Komponenty systemu

Main Controller

Raspberry Pi 4 with Node-RED for system management

Przepustnice

3 automatyczne przepustnice z siłownikami 24V

Czujniki

Sensory prądu do wykrywania stanu maszyn

Interfejs

Panel sterowania z wyświetlaczem LCD i przyciskami

Zasilanie

Redundantny system zasilania z UPS

Bezpieczeństwo

System zabezpieczeń i monitoring ciśnienia

Główne funkcje

Automatyczne sterowanie

System automatycznie wykrywa stan maszyn i dostosowuje przepustnice.

Sterowanie ręczne

Możliwość manualnego sterowania przepustnicami poprzez przyciski.

Opóźnienia bezpieczeństwa

Wbudowane opóźnienia czasowe zapewniające bezpieczne przełączanie stanów.

Diagram przepływu

Diagram przepływu systemu automatyzacji

Diagram przedstawia logikę działania systemu, włączając wszystkie stany i przejścia między nimi.

Kody | Problemy | Rozwiązania

Wykrywanie anomalii napięcia w Node-RED


function VoltageAnomaly(msg) {
    var buffer = context.get("voltageBuffer") || [];
    var voltage = msg.payload.voltage;
    
    buffer.push(voltage);
    
    if (buffer.length > 3) {
        buffer.shift();
    }
    
    context.set("voltageBuffer", buffer);
    
    if (buffer.length === 3) {
        var avgPrevious = (buffer[0] + buffer[1]) / 2;
        
        if (Math.abs(buffer[2] - avgPrevious) > 1.0 && buffer[2] < 0.5) {
            node.warn("Anomaly with voltage: " + buffer[2]);
            return null;
        }
    }
    
    return { payload: { voltage: voltage, buffer: buffer } };
}
                        

Problem i rozwiązanie

Podczas testów systemu zaobserwowaliśmy fałszywe odczyty z czujników prądu, które mogły prowadzić do nieprawidłowego wykrywania stanu maszyn. Problem polegał na sporadycznych, krótkotrwałych spadkach napięcia, które system interpretował jako wyłączenie urządzenia.

Rozwiązaniem było wprowadzenie bufora pomiarów i algorytmu wykrywania anomalii, który:

Implementacja tego rozwiązania znacząco poprawiła stabilność systemu, eliminując fałszywe przełączenia przepustnic spowodowane zakłóceniami w pomiarach.

Wnioski i rezultaty

Skuteczna implementacja złożonej logiki

Mimo wysokiego stopnia skomplikowania...

Rozwój praktyk dokumentacyjnych

W trakcie realizacji projektu...

Kolejny krok w rozwoju automatyki

Pomyślna realizacja tego projektu...

Kluczowe osiągnięcia: