Akıllı Üretim

Kablosuz Sensörler ve MQTT Uyarılarıyla Rulman Sıcaklığı İzleme

Pratik bir rulman sıcaklığı izleme kurulumu: rulman yataklarına takılan pilli kablosuz sensörler, MQTT üzerinden ortam sıcaklığı kompanzasyonlu okumalar, artış hızı tespiti ve rulman aşırı ısınmadan önce tetiklenen eşik uyarıları.

Pompa rulman yatağındaki kablosuz bir sensörün bulut MQTT panosuna uyarı gönderdiği rulman sıcaklığı izleme görseli
Bunu kendi MQTT broker’ınızda çalıştırınFree planla özel, yönetilen bir MQTT broker alın ve hazır kod örnekleriyle başlayın.
Ücretsiz deneyin Kod örnekleri Kart gerekmez

Rulman sıcaklığı izleme, motorları, pompaları, fanları ve konveyörleri plansız duruşlardan korumanın en basit yollarından biridir. Bu kullanım senaryosu, rulman yataklarına kablosuz sıcaklık sensörlerinin nasıl takılacağını, okumaların MQTT üzerinden nasıl yayınlanacağını, ortam sıcaklığının nasıl kompanse edileceğini ve bir rulman aşırı ısınmadan çok önce eşik ve artış hızı uyarılarının nasıl üretileceğini gösteriyor.

Rulman Sıcaklığı Neden İzlenmeli?

Rulmanlar bilinen nedenlerle arızalanır: yağlamanın bozulması, aşırı gresleme, kirlenme, eksen kaçıklığı, aşırı kayış gerginliği ve basit yorulma. Bunların çoğu ek sürtünme olarak ortaya çıkar, ek sürtünme de ısı olarak. Normalde oda sıcaklığının sabit bir miktar üzerinde çalışan bir rulman yavaş yavaş ısınmaya başlıyorsa size bir şey söylüyordur.

Sıcaklık genellikle titreşimden daha geç bir göstergedir. Bir titreşim sensörü erken bir yüzey hasarını haftalar önce yakalayabilirken, sıcaklık genellikle hasar veya yağlama sorunları epeyce ilerledikten sonra yükselir. Bu onu daha az değerli yapmaz. Sıcaklık sensörleri ucuzdur, kolay kurulur ve yorumlanması kolaydır; ayrıca kaçırılmış bir gresleme turu sonrası yağlama arızası veya sıkışmış bir keçe gibi hızlı gelişen arıza modlarını yakalamakta mükemmeldir. Pratikte en iyi programlar ikisini birlikte kullanır: erken mekanik uyarı için titreşim izleme sensörleri, sağlam bir ikinci görüş olarak da sıcaklık.

İzleme Kurulumu

Aşağıdaki kullanım senaryosu tipik bir yardımcı tesis alanını kapsar: her biri tahrik tarafı ve tahrik dışı tarafta birer rulmana sahip altı pompa ve dört fan. Bir makine dairesinde yirmi ölçüm noktasına kablo çekmek pahalıdır; bu yüzden sensörler kablosuz ve pillidir.

Bileşen Rol Örnek seçim
Sıcaklık probu Rulman yatağı sıcaklığını ölçer Paslanmaz kılıf içinde DS18B20 veya temaslı termistör
Ortam probu Makinenin yakınındaki oda sıcaklığını ölçer Aynı kart üzerinde ikinci bir DS18B20
Kablosuz düğüm Probları okur, yayınlar, uyur Pille çalışan ESP32 veya gateway'li ticari bir kablosuz sensör
MQTT broker Tüm okumaları ve uyarıları alır ConnectMQ yönetilen broker
Uyarı mantığı Eşikler ve artış hızı tespiti Portal eşik kuralları artı küçük bir Python servisi
Pano Varlık başına canlı görünüm Portal panosu veya MQTT destekli herhangi bir pano aracı

Probun montajı

Probu rulman yatağına, dış bileziğe mümkün olduğunca yakın, ideal olarak yük bölgesine monte edin. Dişli bir probla küçük bir dişli delik en iyi termal teması sağlar; delme yapılamayan yerlerde termal epoksi veya termal macunlu mıknatıslı montaj işe yarar. Koruyuculara, kapaklara veya rulmandan uzak motor gövdesine montaj yapmaktan kaçının; bunlar gecikmeli tepki verir ve düşük okur. Her probu varlığı ve konumuyla etiketleyin, örneğin tahrik tarafı için pump3/de.

Kablosuz Düğüm Yazılımı

Aşağıdaki sketch, bir ESP32'yi her dakika uyandırır, aynı OneWire hattı üzerindeki bir rulman probu ile bir ortam probunu okur, tek bir JSON mesajı yayınlar ve tekrar derin uykuya geçer. Arduino Library Manager'dan PubSubClient, OneWire ve DallasTemperature kütüphanelerini kurun. Sensörün kendisine daha ayrıntılı bakmak için ESP32 DS18B20 MQTT eğitimine göz atın.

#include <WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>

const char* WIFI_SSID = "YOUR_WIFI";
const char* WIFI_PASS = "YOUR_WIFI_PASSWORD";
const char* CLIENT_ID = "brg-pump3-de-51ad7e";
const char* TOPIC = "connectmq/demo/51ad7e/utilities/pump3/bearing_de";
const uint64_t SLEEP_US = 60ULL * 1000000ULL;

// Bir OneWire tarayıcı sketch'inin yazdırdığı adreslerle değiştirin
DeviceAddress BEARING = {0x28, 0xFF, 0x64, 0x1E, 0x15, 0x21, 0x03, 0x9A};
DeviceAddress AMBIENT = {0x28, 0xFF, 0x3C, 0x0B, 0x15, 0x21, 0x03, 0x41};

OneWire oneWire(4);
DallasTemperature sensors(&oneWire);
WiFiClient net;
PubSubClient mqtt(net);

void sleepNow() {
  esp_sleep_enable_timer_wakeup(SLEEP_US);
  esp_deep_sleep_start();
}

void setup() {
  sensors.begin();
  sensors.requestTemperatures();
  float bearing = sensors.getTempC(BEARING);
  float ambient = sensors.getTempC(AMBIENT);

  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  uint32_t start = millis();
  while (WiFi.status() != WL_CONNECTED) {
    if (millis() - start > 15000) sleepNow();  // vazgeç, bir sonraki döngüde dene
    delay(100);
  }

  mqtt.setServer("broker.connectmq.com", 1883);
  if (!mqtt.connect(CLIENT_ID)) sleepNow();

  char payload[160];
  snprintf(payload, sizeof(payload),
           "{\"bearing_c\":%.2f,\"ambient_c\":%.2f,\"delta_c\":%.2f,\"rssi\":%d}",
           bearing, ambient, bearing - ambient, WiFi.RSSI());
  mqtt.publish(TOPIC, payload, true);  // retained: panolar son değeri hemen görür
  mqtt.loop();
  delay(100);
  mqtt.disconnect();
  sleepNow();
}

void loop() {}

Mesaj retained olarak yayınlanır; böylece uyanmalar arasında açılan bir pano da son okumayı hemen gösterir. Rulman ile ortam sıcaklığı arasındaki farkı, yani delta_c değerini yayınlamak, bu kurulumdaki en önemli tasarım kararıdır.

Ortam Sıcaklığı Kompanzasyonu Neden Önemli?

Mutlak rulman sıcaklığına dayalı sabit bir alarm mevsimler boyunca kötü davranır. Bir pompa dairesi yazın kıştan çok daha sıcak olabilir; dolayısıyla temmuzda güvenli olan bir limit ocakta hiç tetiklenmeyebilir, ocağa göre ayarlanmış bir limit ise bütün yaz gereksiz alarmlara yol açar.

Buna karşın ortam sıcaklığının üzerindeki artış esas olarak yüke, hıza ve rulmanın durumuna bağlıdır. Fark değeri üzerinden alarm vermek mevsimsel etkiyi ortadan kaldırır; ayrı bir mutlak limit ise yağlayıcının ve rulmanın nominal aralığı dışında çalışmaya karşı korumayı sürdürür. Üreticiler rulmanlar ve gresler için maksimum çalışma sıcaklıklarını yayınlar; internetten bulunmuş genel bir sayı yerine üst sınır olarak bu dokümanları kullanın.

Uyarı Stratejisi: Üç Katman

İyi bir rulman sıcaklığı izleme şeması üç tür kuralı birleştirir:

  1. Mutlak limit. Rulman ve gres spesifikasyonunun izin verdiği maksimumun üzerindeki rulman sıcaklığı. Her zaman alarmdır.
  2. Fark limiti. Ortam üzerindeki artışın o rulman için öğrenilmiş normalden belirgin şekilde yüksek olması. Genellikle önce uyarı, sonra alarm.
  3. Artış hızı. Sıcaklığın kısa bir pencerede normalden hızlı yükselmesi; örneğin sabit yükte yarım saat içinde birkaç derece. Bu, hızlı gelişen arızaları erken, çoğu zaman iki limitten birine ulaşılmadan yakalar.

İlk ikisi basit eşiklerdir. ConnectMQ portalında her topic'in bearing_c ve delta_c alanları için eşik tabanlı uyarı kuralları oluşturabilir ve her aşımı kod yazmadan uyarı kaydında inceleyebilirsiniz. Artış hızı geçmiş veri gerektirdiği için küçük bir abone servisinde çalışır.

Python ile artış hızı dedektörü

import json
import time
from collections import defaultdict, deque
import paho.mqtt.client as mqtt

PREFIX = "connectmq/demo/51ad7e"
WINDOW_S = 30 * 60          # son 30 dakikaya bak
MAX_RISE_C = 5.0            # fark değeri pencere içinde bundan fazla artarsa uyar
STALE_S = 5 * 60            # düğüm birkaç uyanmayı kaçırdı

history = defaultdict(deque)   # topic -> (zaman, delta_c) deque'i
last_seen = {}

def on_connect(client, userdata, flags, reason_code, properties):
    client.subscribe(f"{PREFIX}/+/+/+", qos=1)

def on_message(client, userdata, msg):
    if msg.topic.endswith("/alert"):
        return
    now = time.time()
    data = json.loads(msg.payload)
    h = history[msg.topic]
    h.append((now, data["delta_c"]))
    last_seen[msg.topic] = now
    while h and now - h[0][0] > WINDOW_S:
        h.popleft()
    rise = h[-1][1] - min(v for _, v in h)
    if rise > MAX_RISE_C:
        alert = {"ts": int(now), "kind": "rate_of_rise", "topic": msg.topic,
                 "rise_c": round(rise, 1), "window_min": WINDOW_S // 60,
                 "bearing_c": data["bearing_c"]}
        client.publish(f"{msg.topic}/alert", json.dumps(alert), qos=1, retain=True)
        print("ALERT", alert)
        h.clear()

client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="brg-ror-51ad7e")
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883, keepalive=60)
client.loop_start()

while True:
    time.sleep(60)
    for topic, seen in list(last_seen.items()):
        if time.time() - seen > STALE_S:
            print(f"STALE {topic}: no reading for {int(time.time() - seen)} s")
            last_seen.pop(topic)

Dedektör retained uyarı topic'lerini yok sayar, en son fark değerini penceredeki en düşük değerle karşılaştırır ve her dakika tetiklenmemek için uyarıdan sonra geçmişini temizler. Bayatlık kontrolü pilli düğümler için önemlidir: sessizce raporlamayı bırakan bir sensör, kimsenin görmediği sıcak bir rulman kadar tehlikelidir.

Tesis Geneline Yaygınlaştırma

  1. Birkaç kritik varlıkta pilot yapın. Ulaşması en kolay makineleri değil, arızası üretimi durduran makineleri seçin.
  2. Ayar yapmadan önce iki ila dört haftalık veri toplayın. Tipik yükte her rulman için normal fark değerini öğrenin.
  3. Fark ve artış hızı limitlerini rulman bazında belirleyin. Tahrik tarafı ve tahrik dışı taraf rulmanları çoğu zaman farklı sıcaklıklarda çalışır.
  4. Müdahale üzerinde anlaşın. Uyarıyı kim alır, alarmı kim alır ve önce neyi kontrol ederler (yağlama, eksen ayarı, kayış gerginliği, yük).
  5. Bulguları kaydedin. Her uyarı, ne bulunduğuna dair kısa bir notla kapanmalıdır; böylece eşikler zamanla iyileşir ve MTBF ve MTTR hesaplamanız gerçeği yansıtır.
  6. Özel bir broker'a geçin. Genel demoyu portaldan alınan kimlik bilgileri, 8883 portunda TLS ve acme/plant1/utilities/pumproom/pump3/bearing_de gibi ISA-95 topic'leriyle değiştirin.

Yukarıdaki demo, her şeyin herkese görünür olduğu ücretsiz genel MQTT broker üzerinde çalışır. Gerçek varlıklar için yönetilen bir MQTT broker, verileri gizli, sertifikaları yenilenmiş ve hizmeti ekibinizden kimse sunucu bakımı yapmadan çalışır halde tutar.

Pil Ömrü ve Güvenilirlik İpuçları

  • Olabildiğince hızlı uyanın, yayınlayın ve uyuyun. Pil tüketiminin büyük kısmı Wi-Fi bağlantısından gelir; bu yüzden bir dakikalık aralık bir ödünleşimdir. Artış hızı pencerelerini uzun tutarsanız yavaş trendler için beş dakika fazlasıyla yeterlidir.
  • Bağlantı süresini kısaltmak için statik IP veya hızlı yeniden bağlanma stratejisi kullanın.
  • Zayıf düğümler devreden çıkmadan düzeltilsin diye rssi ve pil voltajını raporlayın.
  • Büyük sahalar veya metal yoğun makine daireleri için özel bir kablosuz protokol kullanan ve verileri MQTT'ye yeniden yayınlayan bir gateway'e sahip sensörleri değerlendirin.

Rulman Sıcaklığının Yeri

Sıcaklık, birkaç sinyalden yalnızca biridir. Motor akımı izleme ile birleştiğinde yük kaynaklı ısınmayı sürtünme kaynaklı ısınmadan ayırır; titreşimle birleştiğinde ise mekanik arızaları iki bağımsız kaynaktan doğrular. Akıllı üretim rehberi, bu sinyallerin tesis genelinde tek bir MQTT omurgasını ve topic yapısını nasıl paylaştığını gösterir.

Rulmanlarınızı ConnectMQ ile Koruyun

ConnectMQ; retained message, canlı topic gezgini, ISA-95 seviyesine göre cihaz görünümü ve portalda eşik tabanlı uyarı kuralları sunan, TLS ile güvence altına alınmış özel bir MQTT broker sağlar. Kredi kartı gerekmeden app.connectmq.com adresinde ücretsiz Serverless planla başlayın ve ilk rulman sensörünüzü bugün bağlayın.

Sık Sorulan Sorular

Normal rulman sıcaklığı nedir?

Rulmana, yüke, hıza, yağlayıcıya ve ortama bağlıdır. Her rulman için ortam üzerindeki normal artışı öğrenin ve mutlak üst limit olarak rulman ve gres üreticisinin maksimum değerlerini kullanın.

Rulman sıcaklığı izleme tek başına yeterli mi?

Yağlama arızalarını ve hızlı gelişen hataları iyi yakalar, ancak sıcaklık çoğu zaman titreşimden daha geç yükselir. En erken uyarı için ikisini birleştirin.

Kablosuz bir rulman sensörü ne sıklıkla raporlamalı?

Bir ila beş dakikada bir tipiktir. Rulman sıcaklığı yavaş değişir ve daha uzun aralıklar pil ömrünü büyük ölçüde uzatır.

Neden ortam üzerindeki sıcaklık artışına göre alarm verilir?

Ortam sıcaklığı mevsime ve günün saatine göre değişir. Ortam üzerindeki artış rulman durumunu daha doğrudan yansıtır; böylece alarmlar yıl boyunca anlamlı kalır.

İlgili yazılar

OEE vs TEEP vs OOE: Hangi Metriği Kullanmalısınız?

OEE, OOE ve TEEP aynı performans ve kalite faktörlerini paylaşır, ancak farklı zaman tabanlarına göre ölçer. Bu karşılaştırma tek bir örnek üzerinden ilerliyor ve her metriğin ihtiyaç duyduğu MQTT sinyallerini listeliyor.

6 dk okuma

Tüm yazılar →

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.