<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archiwa rozdzielacz - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/rozdzielacz/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/rozdzielacz/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 03 May 2026 18:53:21 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa rozdzielacz - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/rozdzielacz/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 29 Nov 2025 17:11:32 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Regulacja instalacji]]></category>
		<category><![CDATA[Rozdzielacz do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze grzewcze]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[przepływomierz]]></category>
		<category><![CDATA[regulacja przepływu]]></category>
		<category><![CDATA[rotametr]]></category>
		<category><![CDATA[rozdzielacz]]></category>
		<category><![CDATA[wskaźnik przepływu]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2873</guid>

					<description><![CDATA[<p>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego to jeden z tych elementów instalacji, które wyglądają niepozornie, ale mają ogromny wpływ na komfort cieplny całego domu. W artykule wyjaśniam, jak działa rotametr, dlaczego jest kluczowy dla równoważenia hydraulicznego oraz jak prawidłowo ustawić przepływy na każdej pętli podłogówki. Dzięki temu dowiesz się, jak uniknąć przegrzewania pomieszczeń, zimnych stref na podłodze i niepotrzebnych strat energii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; /* Hydrauliczny, chłodny niebieski */
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.9);
}

.premium-hero-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
    position: relative;
}

.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.06) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.hero-content {
    position: relative;
    z-index: 1;
    padding: 45px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e0f2fe;
    color: var(--accent);
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid #bae6fd;
}

/* Wewnętrzne nagłówki SEO */
.hero-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.hero-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #334155;
    margin-top: 35px;
    margin-bottom: 15px;
}

.hero-text {
    font-size: 17px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 20px;
}

.hero-text strong {
    color: var(--primary);
}

.hero-text a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.hero-text a:hover {
    color: var(--accent-hover);
}

/* Interaktywne Zakładki (Tabs) eliminujące "ścianę tekstu" */
.hero-tabs-container {
    margin: 25px 0 35px 0;
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 10px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.hero-tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.hero-tab-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.hero-tab-btn:hover {
    background: #f1f5f9;
    color: var(--primary);
}

.hero-tab-btn.active {
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.hero-tab-panels {
    padding: 10px 20px 20px 20px;
    min-height: 140px; /* Zapobiega skakaniu wysokości przy krótkim tekście */
}

.hero-tab-panel {
    display: none;
    animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.hero-tab-panel.active {
    display: block;
}

.hero-tab-panel p.hero-text {
    margin-bottom: 0;
}

@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Moduły podsumowujące */
.hero-modules-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-top: 40px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.hero-modules-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: var(--border-color);
}

.hero-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.hero-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px 15px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    top: 0;
}

.hero-card:hover {
    top: -5px;
    border-color: var(--accent);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.1);
}

.hero-card-icon {
    font-size: 28px;
    margin-bottom: 12px;
    display: block;
    transition: transform 0.3s;
}

.hero-card:hover .hero-card-icon {
    transform: scale(1.15);
}

.hero-card-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.4;
}

/* Responsywność */
@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
    .hero-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    .hero-tab-buttons { flex-direction: column; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { display: flex; align-items: center; text-align: left; gap: 15px; padding: 15px; }
    .hero-card-icon { margin-bottom: 0; font-size: 24px; }
    .hero-content h2 { font-size: 24px; }
    .hero-tab-panels { padding: 10px 5px 10px 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr w ogrzewaniu podłogowym – jak działa wskaźnik przepływu i jak go ustawić?",
    "description": "Zrozum, jak działa rotametr w rozdzielaczu podłogówki. Poradnik regulacji wskaźników przepływu dla zapewnienia równowagi hydraulicznej i idealnego komfortu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset",
    "name": "Zakresy przepływów hydraulicznych dla rotametrów w instalacjach płaszczyznowych",
    "description": "Zestawienie optymalnych oraz krytycznych wartości natężenia przepływu (w litrach na minutę) dla pętli ogrzewania podłogowego, służące do diagnozy i regulacji na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr",
      "jak ustawić rotametr w podłogówce",
      "regulacja rotametrów ogrzewania podłogowego",
      "brak przepływu na rotametrze",
      "wskaźnik przepływu podłogówka"
    ],
    "measurementTechnique": "Bezpośredni odczyt wizualny przemieszczenia pływaka względem skali pomiarowej na stożkowym korpusie rotametru.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Wskaźnik natężenia przepływu cieczy"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>⚙️</span> Kompendium Hydrauliki
        </div>
        
        <h2>Rotametr: Serce Równowagi Twojej Podłogówki</h2>
        
        <div class="hero-tabs-container">
            <div class="hero-tab-buttons">
                <button class="hero-tab-btn active" data-tab="tab-definicja">
                    <span>📌</span> Czym jest rotametr?
                </button>
                <button class="hero-tab-btn" data-tab="tab-praktyka">
                    <span>💡</span> Dlaczego to ważne?
                </button>
            </div>
            
            <div class="hero-tab-panels">
                <div class="hero-tab-panel active" id="tab-definicja">
                    <p class="hero-text"><strong>Rotametr</strong>, często nazywany w profesjonalnej nomenklaturze wskaźnikiem przepływu, to niepozorne, przezroczyste urządzenie montowane na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu ogrzewania podłogowego</a>. Choć wydaje się tylko małą plastikową rurką ze skalą, bez niego <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">prawidłowe działanie nowoczesnej instalacji HVAC</a> byłoby procesem chaotycznym i opartym wyłącznie na zgadywaniu.</p>
                </div>
                
                <div class="hero-tab-panel" id="tab-praktyka">
                    <p class="hero-text">Zastanawiasz się, <strong>jak ustawić rotametr w podłogówce</strong>, aby uniknąć niedogrzanych stref lub zbyt wysokich rachunków za prąd z pompy obiegowej? Prawidłowa <strong>regulacja rotametrów ogrzewania podłogowego</strong> to ostateczny szlif, który łączy założenia <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalnego projektu OZC</a> z rzeczywistym zładem wody w Twoim domu. W tym wpisie pokażę Ci zasady działania tego elementu oraz sposób na rozwiązanie problemów, gdy zauważysz <strong>brak przepływu na rotametrze</strong>.</p>
                </div>
            </div>
        </div>

        <div class="hero-modules-title">W tym poradniku omówimy:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔍</span>
                <span class="hero-card-title">Fizyka działania rotametru w pigułce</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚖️</span>
                <span class="hero-card-title">Krok po kroku: Regulacja na rozdzielaczu</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛠️</span>
                <span class="hero-card-title">Diagnoza: Dlaczego pływak wibruje?</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- LOGIKA ZAKŁADEK (TABS) ---
    const tabBtns = document.querySelectorAll('.hero-tab-btn');
    const tabPanels = document.querySelectorAll('.hero-tab-panel');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Usuń aktywną klasę z przycisków i paneli
            tabBtns.forEach(b => b.classList.remove('active'));
            tabPanels.forEach(p => p.classList.remove('active'));

            // Dodaj aktywną klasę do klikniętego przycisku i odpowiedniego panelu
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-tab');
            document.getElementById(targetId).classList.add('active');
        });
    });

    // --- ZABEZPIECZENIE DOMENOWE (Domain Lock) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('hero-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <p style="font-size: 16px; max-width: 500px; color: #0369a1; line-height: 1.5;">Ten moduł wprowadzający jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #0284c7; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #0ea5e9; /* Kolor niebieski z suwaka i wartości na obrazku */
    --accent-hover: #0284c7;
    --text-main: #334155;
    --text-muted: #64748b;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    
    /* Status Colors */
    --status-ok-bg: #dcfce7;
    --status-ok-text: #16a34a;
    --status-warn-bg: #ffedd5;
    --status-warn-text: #ea580c;
    --status-err-bg: #fee2e2;
    --status-err-text: #dc2626;
}

.article-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--text-main);
    line-height: 1.8;
}

.article-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.article-section h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 40px;
    margin-bottom: 15px;
}

.article-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

.article-section a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.article-section a:hover {
    border-color: var(--accent);
}

.article-section ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 30px;
}

.article-section ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 16px;
}

.article-section ul li::before {
    content: "✔️";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 14px;
    color: var(--accent);
}

/* Interaktywny Widget / Aplikacja */
.app-container {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 40px;
    margin: 40px 0;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.app-header {
    text-align: center;
    margin-bottom: 40px;
}

.app-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 8px;
}

.app-subtitle {
    font-size: 15px;
    color: var(--text-muted);
}

.app-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 500px;
}

/* Wizualizacja Rotametru */
.rotameter-mockup {
    position: relative;
    width: 100px;
    height: 300px;
    background: #f8fafc;
    border: 2px solid #cbd5e1;
    border-radius: 16px;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03), 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 35px;
    display: flex;
    justify-content: center;
}

.rotameter-scale {
    position: absolute;
    left: 10px;
    top: 25px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.rotameter-glass {
    position: absolute;
    bottom: 25px;
    top: 25px;
    width: 32px;
    background: rgba(14, 165, 233, 0.08); /* Lekko niebieska woda */
    border-radius: 4px;
    border-bottom: 3px solid var(--accent);
}

.rotameter-float-wrapper {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.rotameter-float {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 22px;
    background: linear-gradient(to bottom, #ef4444 0%, #dc2626 100%); /* Czerwony grzybek */
    border-radius: 14px 14px 0 0;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.4);
}

/* Sekcja kontrolek */
.controls-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.status-badge {
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 30px;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.status-ok { background: var(--status-ok-bg); color: var(--status-ok-text); }
.status-warn { background: var(--status-warn-bg); color: var(--status-warn-text); }
.status-err { background: var(--status-err-bg); color: var(--status-err-text); }

.slider-wrapper {
    width: 100%;
    margin-bottom: 25px;
}

.slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 700;
}

.slider-label {
    font-size: 16px;
    color: var(--primary);
}

.slider-value {
    font-size: 16px;
    color: var(--accent);
}

/* Custom Input Range */
input[type=range].custom-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
input[type=range].custom-slider:focus { outline: none; }
input[type=range].custom-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #e2e8f0;
    border-radius: 4px;
}
input[type=range].custom-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    transition: transform 0.1s;
}
input[type=range].custom-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.dynamic-description {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    text-align: left;
    width: 100%;
    min-height: 60px;
}

@media (max-width: 600px) {
    .app-container { padding: 25px 15px; }
    .status-badge { align-self: center; text-align: center; }
    .dynamic-description { text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.",
    "description": "Szczegółowa analiza budowy i zasady działania rotametru w instalacjach płaszczyznowych. Dowiedz się jak siły wyporu i oporu cieczy wpływają na regulację przepływu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset2",
    "name": "Budowa i dynamika fizyczna rotametru grzewczego",
    "description": "Dane opisujące elementy składowe wskaźnika przepływu oraz zjawiska fizyczne odpowiedzialne za jego prawidłowe działanie w układzie hydraulicznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak działa rotametr",
      "budowa rotametru",
      "wskaźnik przepływu zasada fizyczna",
      "rotametry na rozdzielaczu",
      "przepływomierz podłogówka"
    ],
    "measurementTechnique": "Wykorzystanie równowagi sił: wyporu, ciężkości i oporu cieczy w stożkowej rurce pomiarowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Elementy konstrukcyjne rotametru hydraulicznego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp2",
    "name": "Aplikacja: Symulacja Działania Wskaźnika Przepływu (Rotametru)",
    "description": "Aplikacja edukacyjna pozwalająca wizualizować zmianę położenia pływaka rotametru w zależności od natężenia przepływu cieczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="article-section" id="rotameter-module-container">
    <h2>Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.</h2>
    
    <p>W kontekście inżynierii instalacji grzewczych, <strong>rotametr</strong> zalicza się do grupy precyzyjnych przyrządów zwanych przepływomierzami o zmiennym przekroju. Jego zadanie z pozoru jest proste: ma wizualnie, w sposób ciągły, wskazywać ilość czynnika grzewczego (najczęściej jest to woda lub <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">odpowiednio przygotowana woda demineralizowana</a>) przepływającą w danej chwili przez konkretny obwód grzewczy, czyli pętlę rury ukrytą w wylewce betonowej.</p>
    
    <p>Zasada działania opiera się na genialnych w swej prostocie prawach fizyki, a konkretnie na dynamicznej równowadze trzech sił działających na pływak znajdujący się w strumieniu płynącej cieczy:</p>
    <ul>
        <li><strong>Siła wyporu</strong> – zgodnie z prawem Archimedesa, zawsze skierowana ku górze, wypychająca pływak.</li>
        <li><strong>Siła ciężkości (grawitacji)</strong> – stała siła ciągnąca masę pływaka w dół.</li>
        <li><strong>Siła oporu hydrodynamicznego cieczy</strong> – to zmienna zależna od prędkości. Im szybszy przepływ generuje <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a>, tym większa siła działająca na pływak od dołu.</li>
    </ul>

    <p>Pływak porusza się wewnątrz stożkowej (rozszerzającej się ku górze), przezroczystej rurki. Gdy przepływ wynosi równe zero, pływak grawitacyjnie opada na sam dół. Kiedy system startuje i woda zaczyna płynąć, siła oporu unosi pływak do momentu, aż siły się zrównoważą. Im większe <strong>natężenie przepływu</strong>, tym wyżej pływak musi się unieść, by zwiększyć przekrój przepływu wokół siebie i zrównoważyć siły. Odczyt to po prostu zlokalizowanie, na jakiej wartości na nadrukowanej skali znajduje się jego krawędź.</p>

    <div class="app-container">
        <div class="app-header">
            <div class="app-title">Symulator Wskaźnika Przepływu (Rotametru)</div>
            <div class="app-subtitle">Ustaw natężenie przepływu dla pętli grzewczej</div>
        </div>

        <div class="app-content">
            <div class="rotameter-mockup">
                <div class="rotameter-scale">
                    <span>3.0</span>
                    <span>2.0</span>
                    <span>1.0</span>
                    <span>0.0</span>
                </div>
                <div class="rotameter-glass">
                    <div class="rotameter-float-wrapper" id="simFloatWrapper">
                        <div class="rotameter-float"></div>
                    </div>
                </div>
            </div>

            <div class="controls-section">
                <div id="simBadge" class="status-badge status-ok">Zakres optymalny</div>
                
                <div class="slider-wrapper">
                    <div class="slider-info">
                        <span class="slider-label">Przepływ:</span>
                        <span class="slider-value" id="simValue">1.6 l/min</span>
                    </div>
                    <input type="range" class="custom-slider" id="simSlider" min="0" max="3" step="0.1" value="1.6">
                </div>

                <div class="dynamic-description" id="simDesc">
                    Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- Logika Aplikacji ---
    const slider = document.getElementById('simSlider');
    const floatWrap = document.getElementById('simFloatWrapper');
    const valText = document.getElementById('simValue');
    const badge = document.getElementById('simBadge');
    const desc = document.getElementById('simDesc');

    function updateSimulator() {
        const val = parseFloat(slider.value);
        valText.innerText = val.toFixed(1) + ' l/min';
        
        // Zabezpieczenie przed wyjściem pływaka poza rurkę.
        // max to 100% wysokości kontenera szklanego
        const percent = (val / 3.0) * 100;
        floatWrap.style.bottom = percent + '%';

        // Warunki statusów i opisów na podstawie obrazka i wiedzy
        badge.className = 'status-badge';
        if (val === 0) {
            badge.classList.add('status-err');
            badge.innerText = 'Brak przepływu';
            desc.innerHTML = 'Obwód jest zamknięty. Brak wymiany ciepła. Jeśli zawór jest otwarty, wskazuje to na <strong>poważne zapowietrzenie</strong> lub zablokowanie pętli.';
        } else if (val > 0 && val < 0.6) {
            badge.classList.add('status-warn');
            badge.innerText = 'Niski przepływ';
            desc.innerHTML = 'Przepływ może być niewystarczający do usunięcia pęcherzyków powietrza z instalacji, co grozi niedogrzaniem strefy.';
        } else if (val >= 0.6 && val <= 2.2) {
            badge.classList.add('status-ok');
            badge.innerText = 'Zakres optymalny';
            desc.innerHTML = 'Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.';
        } else {
            badge.classList.add('status-warn');
            badge.innerText = 'Zbyt wysoki przepływ';
            desc.innerHTML = 'Zbyt szybki obieg wody generuje <strong>szumy w instalacji</strong> i niepotrzebnie przeciąża pompę obiegową bez realnych korzyści cieplnych.';
        }
    }

    slider.addEventListener('input', updateSimulator);
    // Inicjalizacja startowa żeby zgadzało się z ustawieniem slidera
    updateSimulator();


    // --- Zabezpieczenie domenowe (Domain Lock) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('rotameter-module-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; border: 2px solid #ef4444; border-radius: 16px; margin: 40px 0; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 800; color: #b91c1c; margin-bottom: 10px;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 16px; color: #7f1d1d; margin-bottom: 25px;">Treść i interaktywne narzędzia na tej stronie zostały skopiowane nielegalnie z serwisu <strong>Projekt-Ogrzewania.pl</strong>.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do źródła</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7;
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.95);
    --brass: #d4af37;
    --plastic: #1e293b;
}

.anatomy-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: #334155;
    line-height: 1.8;
}

.anatomy-hero-box {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
    padding: 45px 50px;
}

.anatomy-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.content-wrapper {
    position: relative;
    z-index: 1;
}

.anatomy-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e0f2fe;
    color: var(--accent);
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #bae6fd;
}

.anatomy-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.anatomy-section h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 35px;
    margin-bottom: 15px;
}

.anatomy-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

.anatomy-section a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.anatomy-section a:hover {
    color: var(--accent-hover);
}

/* Interaktywny Eksplorator Anatomii */
.anatomy-app {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin: 40px 0;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.anatomy-visual {
    flex: 0 0 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

/* SVG Styling */
.svg-rotameter {
    width: 120px;
    height: auto;
    overflow: visible;
}

.svg-part {
    transition: all 0.3s ease;
    cursor: pointer;
}

.svg-part:hover {
    filter: drop-shadow(0 0 8px rgba(2, 132, 199, 0.4));
}

.svg-part.active {
    filter: drop-shadow(0 0 12px rgba(2, 132, 199, 0.6));
    stroke: var(--accent);
    stroke-width: 2px;
}

.anatomy-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.app-title-small {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.anatomy-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.part-btn {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.part-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.part-btn.active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.info-card {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    min-height: 160px;
}

.info-card h4 {
    font-size: 18px;
    color: var(--primary);
    margin: 0 0 10px 0;
    font-weight: 800;
}

.info-card p {
    font-size: 15px;
    color: #475569;
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 800px) {
    .anatomy-hero-box { padding: 30px 20px; }
    .anatomy-app { flex-direction: column; align-items: center; gap: 25px; padding: 20px;}
    .anatomy-visual { width: 100%; max-width: 250px; }
    .anatomy-buttons { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#budowa",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Budowa rotametru – z czego składa się wskaźnik przepływu?",
    "description": "Szczegółowa analiza komponentów rotametru: rurka pomiarowa, pływak, gwint mosiężny, uszczelka O-ring i filtr. Interaktywny model budowy urządzenia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/11/Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-czesci",
    "name": "Specyfikacja techniczna i wykaz części rotametru do ogrzewania płaszczyznowego",
    "description": "Baza materiałowa i konstrukcyjna elementów wskaźnika przepływu: poliwęglan (rurka), mosiądz (gwint), EPDM (O-ring) oraz tworzywa sztuczne (pływak, obejma).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "budowa rotametru",
      "części rotametru ogrzewanie podłogowe",
      "wskaźnik przepływu podłogówka budowa",
      "uszczelka O-ring w rotametrze",
      "filtr siatkowy rotametru"
    ],
    "measurementTechnique": "Analiza inżynieryjna komponentów hydraulicznych rozdzielacza mosiężnego/nierdzewnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Komponenty budowy rotametru"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-budowa",
    "name": "Interaktywny Eksplorator Anatomii Rotametru",
    "description": "Aplikacja webowa z modułem SVG umożliwiająca interaktywne poznanie budowy wewnętrznej i zewnętrznej wskaźnika przepływu w ogrzewaniu podłogowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, SVG, JavaScript"
  }
]
</script>

<div class="anatomy-section" id="anatomy-app-container">
    <div class="anatomy-hero-box">
        <div class="content-wrapper">
            
            <div class="anatomy-badge">
                <span>🔎</span> Anatomia Urządzenia
            </div>
            
            <h2>Budowa rotametru – z czego składa się wskaźnik przepływu?</h2>
            
            <p>Mimo prostej zasady działania opartej na fizyce, <strong>konstrukcja rotametru jest niezwykle przemyślana</strong>. To niewielkie urządzenie musi wytrzymywać stałe ciśnienie, wahania temperatur, a jednocześnie zapewniać wysoką przejrzystość przez wiele lat eksploatacji instalacji. Odpowiednia znajomość jego elementów to klucz nie tylko do regulacji, ale i do konserwacji – na przykład gdy zastanawiasz się, <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">jaki wpływ ma jakość czynnika grzewczego</a> na żywotność wskaźnika.</p>
            
            <p>Poniżej przygotowałem dla Ciebie interaktywny model. Pozwoli Ci on zrozumieć, co dokładnie wkręcasz w belkę rozdzielacza i dlaczego każdy z tych drobnych detali – od gwintu po małą uszczelkę odpowiadającą za <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">pomyślne przejście próby szczelności</a> – ma tak ogromne znaczenie.</p>

            <div class="anatomy-app">
                <div class="anatomy-visual">
                    <svg class="svg-rotameter" viewBox="0 0 100 240" xmlns="http://www.w3.org/2000/svg">
                        <defs>
                            <linearGradient id="glassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#f8fafc" stop-opacity="0.8"/>
                                <stop offset="50%" stop-color="#ffffff" stop-opacity="0.4"/>
                                <stop offset="100%" stop-color="#e2e8f0" stop-opacity="0.9"/>
                            </linearGradient>
                            <linearGradient id="brassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#b8860b"/>
                                <stop offset="50%" stop-color="#ffd700"/>
                                <stop offset="100%" stop-color="#daa520"/>
                            </linearGradient>
                        </defs>
                        
                        <g id="part-rurka" class="svg-part active">
                            <path d="M 35 15 L 65 15 L 75 140 L 25 140 Z" fill="url(#glassGrad)" stroke="#cbd5e1" stroke-width="2"/>
                            <line x1="30" y1="30" x2="40" y2="30" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="80" x2="40" y2="80" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="105" x2="35" y2="105" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="130" x2="40" y2="130" stroke="#64748b" stroke-width="1.5"/>
                        </g>

                        <g id="part-plywak" class="svg-part">
                            <path d="M 40 100 L 60 100 L 55 120 L 45 120 Z" fill="#ef4444"/>
                            <path d="M 45 120 L 55 120 L 50 135 Z" fill="#dc2626"/>
                        </g>

                        <g id="part-pokretlo" class="svg-part">
                            <rect x="20" y="140" width="60" height="20" rx="3" fill="#dc2626"/>
                            <rect x="22" y="142" width="56" height="16" rx="2" fill="#ef4444"/>
                            <line x1="30" y1="140" x2="30" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="50" y1="140" x2="50" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="70" y1="140" x2="70" y2="160" stroke="#b91c1c" stroke-width="2"/>
                        </g>

                        <g id="part-gwint" class="svg-part">
                            <rect x="28" y="160" width="44" height="25" fill="#1e293b"/>
                            <rect x="32" y="185" width="36" height="20" fill="url(#brassGrad)"/>
                            <path d="M 32 188 L 68 188 M 32 194 L 68 194 M 32 200 L 68 200" stroke="#b8860b" stroke-width="1.5"/>
                            <rect x="30" y="183" width="40" height="4" rx="2" fill="#000000"/>
                        </g>

                        <g id="part-filtr" class="svg-part">
                            <path d="M 38 205 L 62 205 L 58 230 L 42 230 Z" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1.5"/>
                            <line x1="42" y1="210" x2="58" y2="210" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="44" y1="215" x2="56" y2="215" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="46" y1="220" x2="54" y2="220" stroke="#cbd5e1" stroke-width="1"/>
                        </g>
                    </svg>
                </div>

                <div class="anatomy-controls">
                    <div class="app-title-small">Wybierz element, aby poznać jego funkcję:</div>
                    
                    <div class="anatomy-buttons">
                        <button class="part-btn active" data-target="part-rurka">
                            Szklana rurka i skala
                        </button>
                        <button class="part-btn" data-target="part-plywak">
                            Pływak pomiarowy
                        </button>
                        <button class="part-btn" data-target="part-pokretlo">
                            Czerwona obejma (Regulacja)
                        </button>
                        <button class="part-btn" data-target="part-gwint">
                            Gwint i uszczelka O-ring
                        </button>
                        <button class="part-btn" data-target="part-filtr">
                            Wewnętrzny filtr
                        </button>
                    </div>

                    <div class="info-card" id="anatomy-info-card">
                        <h4>Szklana rurka pomiarowa i skala (L/min)</h4>
                        <p>Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).</p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Baza danych dla interaktywnego eksploratora
    const anatomyData = {
        'part-rurka': {
            title: 'Szklana rurka pomiarowa i skala (L/min)',
            desc: 'Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).'
        },
        'part-plywak': {
            title: 'Pływak pomiarowy (stożkowy)',
            desc: 'Główny element pomiarowy. Unosi się w strumieniu cieczy pod wpływem oporu hydrodynamicznego wody z pompy obiegowej. To jego górna krawędź wyznacza odczyt przepływu na skali.'
        },
        'part-pokretlo': {
            title: 'Czerwona obejma (Regulacja przepływu)',
            desc: 'Pokrętło lub zintegrowany z korpusem zawór. Obracając je ręcznie, dławimy lub zwiększamy przekrój, ustawiając w ten sposób docelowy przepływ masowy dla konkretnej pętli ogrzewania podłogowego.'
        },
        'part-gwint': {
            title: 'Gwint montażowy (mosiądz) i uszczelka O-ring',
            desc: 'Metalowy element odpowiadający za mechaniczne i trwałe połączenie wskaźnika z mosiężną lub nierdzewną belką rozdzielacza. Czarny O-ring wykonany z gumy EPDM gwarantuje absolutną szczelność układu.'
        },
        'part-filtr': {
            title: 'Wewnętrzny filtr siatkowy',
            desc: 'Niezwykle ważny, lecz często niewidoczny z zewnątrz element. Zabezpiecza precyzyjny mechanizm pływaka przed mikrozanieczyszczeniami z instalacji, które mogłyby go zablokować na dnie lub przekłamać odczyt.'
        }
    };

    const buttons = document.querySelectorAll('.part-btn');
    const svgParts = document.querySelectorAll('.svg-part');
    const infoCard = document.getElementById('anatomy-info-card');

    function updateExplorer(targetId) {
        // Reset aktywnych stanów
        buttons.forEach(b => b.classList.remove('active'));
        svgParts.forEach(s => s.classList.remove('active'));

        // Aktywuj wybrane
        document.querySelector(`.part-btn[data-target="${targetId}"]`).classList.add('active');
        document.getElementById(targetId).classList.add('active');

        // Aktualizuj treść z małą animacją opacity
        infoCard.style.opacity = 0;
        setTimeout(() => {
            infoCard.innerHTML = `
                <p>${anatomyData[targetId].title}</p>
                <p>${anatomyData[targetId].desc}</p>
            `;
            infoCard.style.transition = 'opacity 0.3s ease';
            infoCard.style.opacity = 1;
        }, 150);
    }

    // Dodaj zdarzenia do przycisków
    buttons.forEach(btn => {
        btn.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.getAttribute('data-target'));
        });
    });

    // Dodaj zdarzenia do części SVG (umożliwia klikanie w rysunek)
    svgParts.forEach(part => {
        part.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.id);
        });
    });

    // --- ZABEZPIECZENIE DOMENOWE (Domain Lock) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('anatomy-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                    <div style="font-size: 24px; font-weight: bold; margin-bottom: 10px;">Ochrona treści</div>
                    <p style="font-size: 16px; color: #0369a1; max-width: 500px; margin: 0 auto 25px auto;">
                        Ten interaktywny moduł edukacyjny stanowi własność intelektualną serwisu <strong>Projekt-Ogrzewania.pl</strong> i został osadzony bezprawnie.
                    </p>
                    <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding: 12px 24px; background: #0284c7; color: #fff; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --mf-primary: #0f172a;
    --mf-panel: #ffffff;
    --mf-accent: #0ea5e9;
    --mf-accent-dark: #0284c7;
    --mf-text: #334155;
    --mf-muted: #64748b;
    --mf-border: #e2e8f0;
    --mf-danger: #ef4444;
    --mf-success: #10b981;
    --mf-brass: #d4af37;
    --mf-brass-dark: #b8860b;
}

.mf-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--mf-panel);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--mf-border);
    overflow: hidden;
    color: var(--mf-text);
}

/* FORMATOWANIE TEKSTU */
.mf-article-content {
    padding: 40px 50px 20px 50px;
}

.mf-article-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}

.mf-article-content h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-top: 35px;
    margin-bottom: 20px;
}

.mf-article-content a {
    color: var(--mf-accent-dark);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.mf-article-content a:hover {
    color: #0c4a6e;
}

.mf-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--mf-text);
    margin-bottom: 25px;
    border-left: 4px solid var(--mf-accent);
    padding-left: 20px;
}

.mf-info-box {
    background: #f8fafc;
    border: 1px solid var(--mf-border);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.mf-info-icon {
    font-size: 28px;
    flex-shrink: 0;
    line-height: 1;
}

.mf-info-box p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

.mf-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

.mf-compare-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid;
}

.mf-danger-card {
    background: #fef2f2;
    border-color: #fecaca;
}

.mf-success-card {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-card-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 12px;
}

.mf-danger-card .mf-card-title { color: #991b1b; }
.mf-success-card .mf-card-title { color: #166534; }

.mf-compare-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #3f3f46;
}

/* APLIKACJA ROZDZIELACZA */
.mf-app {
    background: #f8fafc;
    border-top: 1px solid var(--mf-border);
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.mf-app-header {
    text-align: center;
}

.mf-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--mf-primary);
    margin-bottom: 8px;
}

.mf-app-subtitle {
    font-size: 14px;
    color: var(--mf-muted);
}

/* WIZUALIZACJA SVG */
.mf-visual-panel {
    background: #ffffff;
    border: 1px solid var(--mf-border);
    border-radius: 20px;
    padding: 30px 20px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
    display: flex;
    justify-content: center;
}

.mf-manifold-svg {
    width: 100%;
    max-width: 700px;
    height: auto;
    overflow: visible;
}

.mf-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.mf-water { fill: #0ea5e9; transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1), y 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-float { fill: #ef4444; transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-scale-line { stroke: #94a3b8; stroke-width: 1; }

/* KONTROLKI */
.mf-controls-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.mf-zone-card {
    background: #ffffff;
    border: 1px solid var(--mf-border);
    padding: 15px 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.mf-zone-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.mf-zone-name {
    font-weight: 800;
    font-size: 14px;
    color: var(--mf-primary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mf-zone-value {
    background: #e0f2fe;
    color: var(--mf-accent-dark);
    padding: 4px 10px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 13px;
}

.mf-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.mf-slider:focus { outline: none; }
.mf-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    background: #cbd5e1;
    border-radius: 4px;
}
.mf-slider::-webkit-slider-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--mf-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -7px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* PANEL STATUSU I PRZYCISK */
.mf-action-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    padding: 20px 30px;
    border-radius: 16px;
    margin-top: 10px;
    transition: 0.4s;
}

.mf-action-panel.balanced {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-status-text { max-width: 65%; }

.mf-status-title {
    font-size: 18px;
    font-weight: 900;
    color: #92400e;
    margin-bottom: 5px;
}
.mf-action-panel.balanced .mf-status-title { color: #166534; }

.mf-status-desc {
    font-size: 14px;
    color: #b45309;
    line-height: 1.5;
}
.mf-action-panel.balanced .mf-status-desc { color: #15803d; }

.mf-toggle-btn {
    background: var(--mf-primary);
    color: #ffffff;
    border: none;
    padding: 16px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.2);
}

.mf-toggle-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.3);
}

.mf-toggle-btn.active {
    background: var(--mf-success);
}

@media (max-width: 800px) {
    .mf-article-content { padding: 30px 25px 10px 25px; }
    .mf-compare-grid { grid-template-columns: 1fr; }
    .mf-app { padding: 30px 20px; }
    .mf-action-panel { flex-direction: column; text-align: center; gap: 20px; }
    .mf-status-text { max-width: 100%; }
    .mf-toggle-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#rownowazenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Równoważenie hydrauliczne instalacji – najważniejsze zadanie rotametru",
    "description": "Zobacz na interaktywnym symulatorze rozdzielacza 5-obwodowego, jak rozregulowane przepływy niszczą wydajność układu oraz jak prawidłowo wyregulować rotametry.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-przeplywy",
    "name": "Rozkład przepływów hydraulicznych w 5-sekcyjnym rozdzielaczu ogrzewania podłogowego",
    "description": "Zestawienie zmian natężenia przepływu przed i po zastosowaniu kryzowania (regulacji rotametrami) dla typowych pomieszczeń domowych: Salon, Kuchnia, Łazienka, Sypialnia, Korytarz.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "równoważenie hydrauliczne",
      "jak wyregulować rotametry ogrzewanie podłogowe",
      "przepływ wody w podłogówce",
      "regulacja pętli ogrzewania",
      "opory hydrauliczne podłogówka"
    ],
    "measurementTechnique": "Symulacja obliczeniowa oporów przepływu (wielkość przepływu odwrotnie proporcjonalna do długości rury PEX/PERT) przy stałym wydatku pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Proces równoważenia hydraulicznego rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-hydraulika",
    "name": "Zaawansowany Symulator Rozdzielacza 5-obwodowego",
    "description": "Aplikacja webowa symulująca przepływy w instalacji podłogowej. Wskazuje jak różnica w długości pętli w poszczególnych pomieszczeniach powoduje niedogrzanie jednych i przegrzanie innych stref.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

<div class="mf-container" id="app-manifold-balancing">
    <div class="mf-article-content">
        <h2>Rola rotametru: Równoważenie hydrauliczne całego domu</h2>
        
        <div class="mf-lead-text">
            Wielu inwestorów zastanawia się, czy rotametry są absolutnie konieczne, czy stanowią jedynie zbędny, podnoszący koszty dodatek. Prawda jest brutalna: <strong>bez rotametrów profesjonalne wyregulowanie ogrzewania podłogowego jest w 100% niemożliwe</strong>. To tak, jakby próbować nastroić fortepian bez zmysłu słuchu.
        </div>

        <div class="mf-info-box">
            <span class="mf-info-icon">💧</span>
            <p>W typowym domu pętle grzewcze rzadko są idealnie równe. Masz przecież rozległy <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">salon wymagający ogromnej ilości rur</a> (np. 110 metrów) i maleńki korytarz lub toaletę z pętlą zaledwie 30-metrową. Fizyka cieczy jest nieubłagana – woda w instalacji zachowuje się jak „leniwy uczeń”. Zawsze wybiera drogę o najmniejszym oporze hydraulicznym.</p>
        </div>

        <h3>Co się dzieje bez regulacji? (Zjawisko kradzieży przepływu)</h3>
        
        <div class="mf-compare-grid">
            <div class="mf-compare-card mf-danger-card">
                <div class="mf-card-title">❌ Brak regulacji (Szum i zimno)</div>
                <p>Gdybyś otworzył wszystkie obwody na rozdzielaczu na 100%, ciśnienie z pompy uciekłoby niemal w całości przez najkrótsze pętle. W efekcie w korytarzu i małej łazience miałbyś &#8222;piekarnik&#8221; i niepokojący szum wody, a w kluczowym dla komfortu salonie – <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">zimną podłogę</a>, ponieważ przez 100-metrową rurę woda po prostu nie miałaby siły popłynąć.</p>
            </div>
            
            <div class="mf-compare-card mf-success-card">
                <div class="mf-card-title">✅ Rotametr jako precyzyjny dławik</div>
                <p>To właśnie tutaj wkracza rotametr. Działa on jak precyzyjny dławik. Poprzez ręczne wkręcanie czerwonej obejmy <strong>sztucznie zwiększamy opór na krótkich pętlach</strong>. Zmuszamy w ten sposób wodę do pokonania dłuższego dystansu i zasilenia największych pomieszczeń, tak aby zrównać system z założeniami z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>.</p>
            </div>
        </div>
    </div>

    <div class="mf-app">
        <div class="mf-app-header">
            <div class="mf-app-title">Symulator Równoważenia Rozdzielacza (5 Stref)</div>
            <div class="mf-app-subtitle">Ustaw długości pętli i zobacz, jak &#8222;leniwa&#8221; woda omija najdłuższe z nich.</div>
        </div>

        <div class="mf-visual-panel">
            <svg class="mf-manifold-svg" viewBox="0 0 600 250" xmlns="http://www.w3.org/2000/svg">
                <rect x="20" y="200" width="560" height="40" rx="5" fill="url(#brassGrad)"/>
                <path d="M 20 210 L 580 210 M 20 230 L 580 230" stroke="#b8860b" stroke-width="1" opacity="0.5"/>
                
                <defs>
                    <linearGradient id="brassGrad" x1="0%" y1="0%" x2="0%" y2="100%">
                        <stop offset="0%" stop-color="#ffd700"/>
                        <stop offset="50%" stop-color="#daa520"/>
                        <stop offset="100%" stop-color="#b8860b"/>
                    </linearGradient>
                </defs>

                <g transform="translate(70, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/><text x="-2" y="24" font-size="10" fill="#64748b">3.0</text>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/><text x="-2" y="69" font-size="10" fill="#64748b">2.0</text>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/><text x="-2" y="114" font-size="10" fill="#64748b">1.0</text>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/><text x="-2" y="159" font-size="10" fill="#64748b">0.0</text>
                    <rect id="water-1" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-1" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/> <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SALON</text>
                    <text id="val-1" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(170, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-2" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-2" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KUCHNIA</text>
                    <text id="val-2" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(270, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-3" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-3" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">ŁAZIENKA</text>
                    <text id="val-3" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(370, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-4" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-4" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SYPIALNIA</text>
                    <text id="val-4" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(470, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-5" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-5" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KORYTARZ</text>
                    <text id="val-5" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>
            </svg>
        </div>

        <div class="mf-action-panel" id="mf-status-box">
            <div class="mf-status-text">
                <div class="mf-status-title" id="mf-status-title">⚠️ System ROZREGULOWANY!</div>
                <div class="mf-status-desc" id="mf-status-desc">Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie z pompy ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!</div>
            </div>
            <button class="mf-toggle-btn" id="mf-toggle-btn">
                <span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI
            </button>
        </div>

        <div class="mf-controls-grid">
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">📺 Salon (Długa)</span>
                    <span class="mf-zone-value"><span id="l-val-1">110</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-1" min="40" max="130" step="5" value="110">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🍳 Kuchnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-2">70</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-2" min="30" max="100" step="5" value="70">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛁 Łazienka (Krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-3">35</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-3" min="20" max="80" step="5" value="35">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛏️ Sypialnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-4">60</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-4" min="30" max="100" step="5" value="60">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🚪 Korytarz (Bardzo krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-5">25</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-5" min="20" max="70" step="5" value="25">
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-manifold-balancing');
        if (container) {
            container.innerHTML = `<div style="padding:40px;text-align:center;background:#0f172a;color:#fff;border-radius:24px;"><p>🔒 Narzędzie Chronione</p><p>Symulator Równoważenia 5-obwodowego należy do <strong>Projekt-Ogrzewania.pl</strong>.</p></div>`;
            return;
        }
    }

    let isBalanced = false;
    const totalPumpFlow = 10.0;
    const multipliers = [0.018, 0.020, 0.040, 0.015, 0.025]; 

    const inputs = [
        document.getElementById('l-input-1'),
        document.getElementById('l-input-2'),
        document.getElementById('l-input-3'),
        document.getElementById('l-input-4'),
        document.getElementById('l-input-5')
    ];
    
    const valDisplays = [
        document.getElementById('l-val-1'),
        document.getElementById('l-val-2'),
        document.getElementById('l-val-3'),
        document.getElementById('l-val-4'),
        document.getElementById('l-val-5')
    ];

    const waterRects = [
        document.getElementById('water-1'),
        document.getElementById('water-2'),
        document.getElementById('water-3'),
        document.getElementById('water-4'),
        document.getElementById('water-5')
    ];
    
    const floats = [
        document.getElementById('float-1'),
        document.getElementById('float-2'),
        document.getElementById('float-3'),
        document.getElementById('float-4'),
        document.getElementById('float-5')
    ];

    const flowReadouts = [
        document.getElementById('val-1'),
        document.getElementById('val-2'),
        document.getElementById('val-3'),
        document.getElementById('val-4'),
        document.getElementById('val-5')
    ];

    const toggleBtn = document.getElementById('mf-toggle-btn');
    const statusBox = document.getElementById('mf-status-box');
    const statusTitle = document.getElementById('mf-status-title');
    const statusDesc = document.getElementById('mf-status-desc');

    function calculateFlows() {
        const lengths = inputs.map(input => parseFloat(input.value));
        lengths.forEach((len, i) => { valDisplays[i].textContent = len; });

        let flows = [0,0,0,0,0];

        if (isBalanced) {
            flows = lengths.map((len, i) => {
                let optimal = len * multipliers[i];
                return Math.min(optimal, 3.2); 
            });
            
            statusBox.className = 'mf-action-panel balanced';
            statusTitle.innerHTML = '✅ UKŁAD IDEALNIE ZBILANSOWANY';
            statusDesc.innerHTML = 'Rotametry zostały prawidłowo zdławione według projektu. Największy opór stawiany jest krótkim pętlom (Korytarz, Łazienka), wymuszając przepływ w Salonie. Cały dom grzeje równomiernie.';
            toggleBtn.innerHTML = '<span>🔓</span> Otwórz zawory na 100% (Zepsuj)';
            toggleBtn.classList.add('active');

        } else {
            let conductances = lengths.map(len => 1 / len);
            let sumConductance = conductances.reduce((a, b) => a + b, 0);
            
            flows = conductances.map(c => totalPumpFlow * (c / sumConductance));
            
            statusBox.className = 'mf-action-panel';
            statusTitle.innerHTML = '⚠️ System ROZREGULOWANY!';
            statusDesc.innerHTML = 'Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!';
            toggleBtn.innerHTML = '<span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI';
            toggleBtn.classList.remove('active');
        }

        flows.forEach((flow, i) => {
            let displayFlow = Math.min(flow, 3.2);
            let pxHeight = (displayFlow / 3.2) * 145; 
            
            waterRects[i].setAttribute('height', pxHeight);
            waterRects[i].setAttribute('y', 165 - pxHeight);
            floats[i].style.transform = `translateY(-${pxHeight}px)`;

            flowReadouts[i].textContent = `${flow.toFixed(1)} l/min`;
            if (!isBalanced && (flow > 2.5 || flow < 0.6)) {
                flowReadouts[i].setAttribute('fill', '#dc2626'); 
            } else {
                flowReadouts[i].setAttribute('fill', '#0284c7'); 
            }
        });
    }

    inputs.forEach(input => {
        input.addEventListener('input', () => {
            isBalanced = false;
            calculateFlows();
        });
    });

    toggleBtn.addEventListener('click', () => {
        isBalanced = !isBalanced;
        calculateFlows();
    });

    calculateFlows();
});
</script>



<style>
:root {
    --diag-primary: #0f172a;
    --diag-panel: #ffffff;
    --diag-accent: #0284c7;
    --diag-accent-light: #e0f2fe;
    --diag-text: #334155;
    --diag-muted: #64748b;
    --diag-border: #e2e8f0;
    --diag-danger: #ef4444;
    --diag-warning: #f59e0b;
    --diag-success: #10b981;
}

.diag-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--diag-text);
}

/* WSTĘP */
.diag-intro {
    background: linear-gradient(135deg, #ffffff, var(--diag-accent-light));
    padding: 35px 40px;
    border-radius: 24px;
    border: 1px solid var(--diag-border);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.1);
}

.diag-intro h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--diag-primary);
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    line-height: 1.3;
}

.diag-intro p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}

/* KARTY FUNKCJI (Zamiast ściany tekstu) */
.diag-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.diag-card {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
}

.diag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px -5px rgba(0,0,0,0.05);
    border-color: #bae6fd;
}

.diag-card-icon {
    font-size: 32px;
    margin-bottom: 15px;
    display: block;
}

.diag-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--diag-primary);
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.3;
}

.diag-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 15px;
}

.diag-card ul {
    padding-left: 20px;
    margin: 0;
    font-size: 14px;
    color: #475569;
}

.diag-card li { margin-bottom: 6px; }

.diag-link {
    color: var(--diag-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: 0.2s;
}
.diag-link:hover { border-color: var(--diag-accent); color: #0369a1; }

/* SYMULATOR DIAGNOSTYCZNY */
.diag-app {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    display: flex;
}

.diag-app-sidebar {
    width: 35%;
    background: #f8fafc;
    padding: 30px;
    border-right: 1px solid var(--diag-border);
}

.diag-app-main {
    width: 65%;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.diag-btn {
    width: 100%;
    text-align: left;
    background: #ffffff;
    border: 1px solid var(--diag-border);
    padding: 15px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--diag-text);
    margin-bottom: 12px;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    gap: 10px;
}

.diag-btn:hover { border-color: var(--diag-accent); }
.diag-btn.active {
    background: var(--diag-accent);
    color: #ffffff;
    border-color: var(--diag-accent);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

/* SVG ROTAMETR ANIMACJE */
.diag-svg-container {
    width: 120px;
    height: 280px;
    flex-shrink: 0;
}

.svg-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.svg-water { fill: rgba(14, 165, 233, 0.15); }
.svg-float { fill: #ef4444; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* Animacje stanów */
.state-normal .svg-float { transform: translateY(-70px); }
.state-zero .svg-float { transform: translateY(0px); }
.state-jump .svg-float { animation: jumpAnim 0.8s infinite alternate ease-in-out; }
@keyframes jumpAnim {
    0% { transform: translateY(-40px); }
    100% { transform: translateY(-80px); }
}

/* Bąbelki powietrza */
.svg-bubble { fill: #ffffff; opacity: 0; }
.state-jump .svg-bubble { animation: bubbleRise 1.5s infinite linear; }
.state-jump .svg-bubble:nth-child(2) { animation-delay: 0.5s; }
.state-jump .svg-bubble:nth-child(3) { animation-delay: 1s; }
@keyframes bubbleRise {
    0% { transform: translateY(140px); opacity: 0; }
    20% { opacity: 0.8; }
    100% { transform: translateY(20px); opacity: 0; }
}

.diag-result {
    flex-grow: 1;
}

.diag-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.badge-ok { background: #dcfce7; color: #166534; }
.badge-warn { background: #fef3c7; color: #92400e; }
.badge-err { background: #fee2e2; color: #991b1b; }

.diag-result h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--diag-primary);
    margin: 0 0 10px 0;
}

.diag-result p {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .diag-grid { grid-template-columns: 1fr; }
    .diag-app { flex-direction: column; }
    .diag-app-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--diag-border); }
    .diag-app-main { width: 100%; flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#diagnostyka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rola rotametru: Równoważenie, kontrola i diagnostyka ogrzewania podłogowego",
    "description": "Zrozum 3 fundamentalne funkcje wskaźnika przepływu. Naucz się diagnozować awarię pompy, zapowietrzenie obiegów i brak przepływu na rotametrze dzięki interaktywnej aplikacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-symptomy",
    "name": "Symptomy i diagnoza pracy obiegów grzewczych na podstawie rotametrów",
    "description": "Wizualna obserwacja zachowania pływaka rotametru pod obciążeniem hydraulicznym. Baza danych objawów zapowietrzenia i awarii pompy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "brak przepływu na rotametrze",
      "skaczący rotametr podłogówka",
      "diagnoza ogrzewania podłogowego",
      "wskaźnik przepływu na zerze",
      "jak wyregulować podłogówkę rotametrami"
    ],
    "measurementTechnique": "Bezpośrednia obserwacja dynamiki wskaźnika pływakowego na belce rozdzielacza w stosunku do wydajności pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna instalacji"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-diagnosta",
    "name": "Interaktywny Diagnosta Rotametrów",
    "description": "Narzędzie symulujące stany awaryjne wskaźnika przepływu. Pozwala wizualnie zidentyfikować zapowietrzenie pętli lub usterki mechaniczne systemu na podstawie zachowania rotametru.",
    "applicationCategory": "DiagnosticApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG Animations"
  }
]
</script>

<div class="diag-wrapper" id="app-diagnostics-module">
    
    <div class="diag-intro">
        <h2>Więcej niż wskaźnik: Trzy filary rotametru</h2>
        <p>Wielu inwestorów zastanawia się, czy rotametr na rozdzielaczu to tylko zbędny gadżet podnoszący wycenę instalatora. Prawda jest taka, że bez nich <strong>profesjonalne i energooszczędne wyregulowanie instalacji jest po prostu fizycznie niemożliwe</strong>. To &#8222;oczy i uszy&#8221; Twojego systemu HVAC, pełniące 3 fundamentalne role.</p>
    </div>

    <div class="diag-grid">
        <div class="diag-card">
            <span class="diag-card-icon">⚖️</span>
            <h3>1. Równoważenie hydrauliczne</h3>
            <p>To najważniejsze zadanie. W domu pętle mają różną długość: np. łazienka 70m, salon 100m, sypialnia 60m. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="diag-link">Dłuższa pętla stawia większy opór</a>.</p>
            <p>Gdyby pętle były w pełni otwarte, woda wybrałaby najkrótszą drogę. W efekcie łazienka byłaby przegrzana, a salon lodowaty. Rotametr pozwala &#8222;przykręcić&#8221; krótkie obwody i zrównoważyć dostarczaną energię.</p>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🩺</span>
            <h3>2. Ciągła diagnoza systemu</h3>
            <p>Rotametry to niezawodne &#8222;pulsomierze&#8221; instalacji. Wystarczy jeden rzut oka na belkę rozdzielacza, aby w kilka sekund zlokalizować awarię układu.</p>
            <ul>
                <li><strong>Leży na dnie:</strong> Blokada lub silne zapowietrzenie.</li>
                <li><strong>Drga i skacze:</strong> Powietrze w rurach.</li>
                <li><strong>Wszystkie na 0:</strong> Prawdopodobna awaria <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="diag-link">pompy obiegowej</a>.</li>
            </ul>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🚀</span>
            <h3>3. Narzędzie przy rozruchu</h3>
            <p>Podczas pierwszego uruchomienia i <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="diag-link">próby ciśnieniowej</a>, rozbieżności między projektem a odczytem rotametru to czerwona flaga.</p>
            <p>Mogą one wskazywać na fizyczne załamanie rury w wylewce, zbyt mocne zaciśnięcie złączki lub błąd w wykonaniu długości pętli. Z kolei w eksploatacji powolny spadek przepływu to sygnał o zamuleniu (zanieczyszczeniu) zładu wody.</p>
        </div>
    </div>

    <div class="diag-app">
        <div class="diag-app-sidebar">
            <div class="diag-app-title">Symulator Diagnosty</div>
            <div class="diag-app-subtitle" style="margin-bottom: 25px;">Kliknij w objaw, który obserwujesz na swojej instalacji:</div>
            
            <button class="diag-btn active" data-state="normal">
                <span>✅</span> Stabilny odczyt
            </button>
            <button class="diag-btn" data-state="jump">
                <span>⚠️</span> Pływak &#8222;skacze&#8221; / drga
            </button>
            <button class="diag-btn" data-state="zero-one">
                <span>❌</span> Jeden pływak na dnie
            </button>
            <button class="diag-btn" data-state="zero-all">
                <span>🚨</span> Wszystkie pływaki na 0
            </button>
        </div>
        
        <div class="diag-app-main">
            <div class="diag-svg-container state-normal" id="diag-svg">
                <svg viewBox="0 0 60 160" width="100%" height="100%">
                    <rect class="svg-glass" x="10" y="10" width="40" height="140" rx="4"/>
                    <line x1="12" y1="30" x2="20" y2="30" stroke="#94a3b8"/><text x="23" y="33" font-size="8" fill="#64748b">3.0</text>
                    <line x1="12" y1="60" x2="20" y2="60" stroke="#94a3b8"/><text x="23" y="63" font-size="8" fill="#64748b">2.0</text>
                    <line x1="12" y1="90" x2="20" y2="90" stroke="#94a3b8"/><text x="23" y="93" font-size="8" fill="#64748b">1.0</text>
                    <line x1="12" y1="120" x2="20" y2="120" stroke="#94a3b8"/><text x="23" y="123" font-size="8" fill="#64748b">0.0</text>
                    
                    <rect class="svg-water" x="12" y="12" width="36" height="136" rx="2"/>
                    
                    <path class="svg-float" d="M 20 135 L 40 135 L 36 125 L 24 125 Z"/>
                    
                    <circle class="svg-bubble" cx="25" cy="0" r="2"/>
                    <circle class="svg-bubble" cx="35" cy="0" r="3"/>
                    <circle class="svg-bubble" cx="30" cy="0" r="1.5"/>
                    
                    <rect x="5" y="140" width="50" height="12" rx="2" fill="#ef4444"/>
                </svg>
            </div>
            
            <div class="diag-result" id="diag-result-content">
                <span class="diag-badge badge-ok">Stan Poprawny</span>
                <h4>Wszystko działa idealnie</h4>
                <p>Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Bez h2/h3) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-diagnostics-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-weight: 800; font-size: 22px; margin-bottom: 15px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 15px; color: #cbd5e1; margin-bottom: 20px;">Symulator Diagnostyczny stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Przejdź do oryginału</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA DIAGNOSTY ---
    const btns = document.querySelectorAll('.diag-btn');
    const svgContainer = document.getElementById('diag-svg');
    const resultContent = document.getElementById('diag-result-content');

    const dataStates = {
        'normal': {
            class: 'state-normal',
            badge: '<span class="diag-badge badge-ok">Stan Poprawny</span>',
            title: 'Wszystko działa idealnie',
            desc: 'Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.'
        },
        'jump': {
            class: 'state-jump',
            badge: '<span class="diag-badge badge-warn">Wymaga uwagi</span>',
            title: 'Obecność powietrza w instalacji',
            desc: 'Pływak "skacze", ponieważ strumień wody jest przerywany przez pęcherzyki gazu. Należy przeprowadzić <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="diag-link">procedurę odpowietrzania pętli</a>. Ignorowanie tego stanu prowadzi do zimnych stref i głośnej pracy układu.'
        },
        'zero-one': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria pętli</span>',
            title: 'Brak przepływu w jednym obwodzie',
            desc: 'Zawór jest otwarty, ale pływak leży na dnie. Oznacza to całkowite zablokowanie pętli przez zanieczyszczenia (szlam, kamień kotłowy), zaciśnięcie rury pod wylewką, lub utworzenie się potężnego korka powietrznego, którego pompa nie potrafi przepchnąć.'
        },
        'zero-all': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria Systemowa</span>',
            title: 'Brak przepływu na rozdzielaczu',
            desc: 'Jeśli wszystkie rotametry na belce spadły do zera, problem jest globalny. Przyczyną jest najczęściej awaria pompy obiegowej, brak zasilania elektrycznego sterownika, lub zablokowanie głównego zaworu mieszającego przed rozdzielaczem.'
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Reset buttons
            btns.forEach(b => b.classList.remove('active'));
            btn.classList.add('active');

            const stateKey = btn.getAttribute('data-state');
            const stateData = dataStates[stateKey];

            // Update SVG CSS Class
            svgContainer.className = 'diag-svg-container ' + stateData.class;

            // Update Text with slight fade effect
            resultContent.style.opacity = '0';
            setTimeout(() => {
                resultContent.innerHTML = `
                    ${stateData.badge}
                    <hp>${stateData.title}</p>
                    <p>${stateData.desc}</p>
                `;
                resultContent.style.opacity = '1';
                resultContent.style.transition = 'opacity 0.3s ease';
            }, 150);
        });
    });
});
</script>



<style>
:root {
    --param-primary: #0f172a;
    --param-panel: #ffffff;
    --param-accent: #0ea5e9;
    --param-accent-dark: #0284c7;
    --param-text: #334155;
    --param-muted: #64748b;
    --param-border: #e2e8f0;
    --param-bg: #f8fafc;
    --param-danger: #ef4444;
    --param-warning: #f59e0b;
    --param-success: #10b981;
}

.param-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--param-text);
    line-height: 1.6;
}

.param-header-box {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
}

.param-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--param-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.param-header-box p {
    font-size: 16px;
    color: var(--param-text);
    margin-bottom: 30px;
}

/* ZAMIAST TABELI - GRID PARAMETRÓW */
.param-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.param-card {
    background: var(--param-bg);
    border: 1px solid var(--param-border);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.3s ease;
}

.param-card:hover {
    background: #ffffff;
    border-color: var(--param-accent);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.1);
    transform: translateY(-3px);
}

.param-icon {
    font-size: 24px;
    margin-bottom: 10px;
    display: block;
}

.param-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--param-muted);
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--param-primary);
    margin-bottom: 5px;
}

.param-desc {
    font-size: 13px;
    color: var(--param-text);
    line-height: 1.5;
}

/* INTERAKTYWNY ANALIZATOR PRZEPŁYWU */
.flow-analyzer {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08);
}

.flow-header {
    background: linear-gradient(to right, #f8fafc, #ffffff);
    padding: 30px 40px;
    border-bottom: 1px solid var(--param-border);
}

.flow-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--param-primary);
    margin: 0 0 10px 0;
}

.flow-header p {
    font-size: 15px;
    margin: 0;
    color: var(--param-muted);
}

.flow-workspace {
    display: flex;
    padding: 40px;
    gap: 40px;
    align-items: center;
}

.flow-controls {
    flex: 1;
}

/* Custom Slider */
.flow-slider-box {
    background: var(--param-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--param-border);
    margin-bottom: 25px;
}

.flow-val-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 15px;
}

.flow-val-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--param-primary);
}

.flow-val-current {
    font-size: 24px;
    font-weight: 900;
    color: var(--param-accent-dark);
    font-family: monospace;
}

.slider-styled {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.slider-styled:focus { outline: none; }
.slider-styled::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #fca5a5, #86efac, #fca5a5);
    border-radius: 4px;
    border: 1px solid #cbd5e1;
}
.slider-styled::-webkit-slider-thumb {
    height: 28px;
    width: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--param-primary);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -11px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}
.slider-styled::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Dynamiczny status */
.flow-status-card {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: 0.3s ease;
}

.status-low { background: #fef2f2; border-color: #fecaca; }
.status-opt { background: #f0fdf4; border-color: #bbf7d0; }
.status-high { background: #fffbeb; border-color: #fde68a; }

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.status-low .status-badge { background: #fee2e2; color: #991b1b; }
.status-opt .status-badge { background: #dcfce7; color: #166534; }
.status-high .status-badge { background: #fef3c7; color: #92400e; }

.status-title {
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 8px;
    color: var(--param-primary);
}

.status-desc {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.status-desc a {
    color: inherit;
    text-decoration: underline;
    font-weight: bold;
}

/* WIZUALIZACJA RURY SVG */
.flow-visual {
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--param-bg);
    border-radius: 50%;
    border: 1px solid var(--param-border);
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03);
    position: relative;
}

.pipe-svg { width: 140px; height: 140px; overflow: visible; }
.pipe-body { fill: none; stroke: #94a3b8; stroke-width: 8; stroke-linecap: round; }
.pipe-water { fill: none; stroke: var(--param-accent); stroke-width: 14; stroke-linecap: round; transition: stroke-dasharray 0.3s; }

/* Animacje wody */
.anim-slow { stroke-dasharray: 20 40; animation: flowAnim 3s linear infinite; stroke: #60a5fa; }
.anim-optimal { stroke-dasharray: 100 0; stroke: #34d399; }
.anim-fast { stroke-dasharray: 10 10; animation: flowAnim 0.3s linear infinite; stroke: #f87171; }

@keyframes flowAnim {
    to { stroke-dashoffset: -100; }
}

/* Bąbel w rurze (dla zbyt niskiego) */
.air-bubble { fill: #ffffff; stroke: #cbd5e1; stroke-width: 2; opacity: 0; transition: 0.3s; }
.show-bubble { opacity: 1; }

/* Fale dźwiękowe (dla zbyt wysokiego) */
.sound-wave { fill: none; stroke: #94a3b8; stroke-width: 3; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.show-noise { opacity: 1; animation: noisePulse 0.5s alternate infinite; }

@keyframes noisePulse {
    from { transform: scale(0.9); stroke: #94a3b8; }
    to { transform: scale(1.1); stroke: #ef4444; }
}

@media (max-width: 900px) {
    .param-grid { grid-template-columns: repeat(2, 1fr); }
    .flow-workspace { flex-direction: column-reverse; padding: 25px; }
    .param-header-box { padding: 30px 25px; }
}
@media (max-width: 600px) {
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Parametry rotametru i optymalne wartości przepływu",
    "description": "Zestawienie techniczne rotametrów oraz interaktywny symulator skutków błędnego przepływu. Dowiedz się, dlaczego zły przepływ powoduje szumy i zapowietrzenie instalacji.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-techniczny",
    "name": "Specyfikacja techniczna i zakresy robocze przepływomierzy",
    "description": "Parametry operacyjne rotametrów w systemach płaszczyznowych, w tym ciśnienie (do 6 bar), dokładność (±5%) oraz zjawiska fizyczne związane z brakiem złotego środka.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr specyfikacja",
      "optymalny przepływ podłogówki",
      "szum w instalacji podłogowej",
      "parametry rotametrów",
      "prawidłowa regulacja ogrzewania"
    ],
    "measurementTechnique": "Określenie parametrów na podstawie wytycznych dla systemów niskotemperaturowych, wskaźniki podane w litrach na minutę (L/min).",
    "mainEntity": {
      "@type": "Thing",
      "name": "Właściwości operacyjne wskaźnika przepływu"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-przeplyw",
    "name": "Analizator Skutków Przepływu Hydraulicznego",
    "description": "Kalkulator webowy ilustrujący wpływ zbyt niskiego (0.1-0.4 L/min) lub zbyt wysokiego (>1.5 L/min) natężenia przepływu wody na kulturę pracy pętli podłogowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="param-module" id="app-flow-analyzer">
    
    <div class="param-header-box">
        <h2>Rotametry w praktyce: Zestawienie kluczowych parametrów</h2>
        <p>Zrozumienie, czym fizycznie dysponujesz na swoim rozdzielaczu, to pierwszy krok do sukcesu. Poniżej zebrałem 6 najważniejszych aspektów technicznych wskaźników przepływu w kontekście bezpiecznej i długotrwałej pracy systemu ogrzewania podłogowego.</p>
        
        <div class="param-grid">
            <div class="param-card">
                <span class="param-icon">📏</span>
                <div class="param-title">Zakres pomiarowy</div>
                <div class="param-value">0,5 &#8211; 3,0 l/min</div>
                <div class="param-desc">Dobiera się go ściśle do projektowanych przepływów. Wyższe wartości są rzadkością w podłogówce domowej.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">⚖️</span>
                <div class="param-title">Jednostka i Dokładność</div>
                <div class="param-value">Litry na minutę / ±5%</div>
                <div class="param-desc">Czasem podawane w m³/h. W warunkach domowych błąd rzędu 5% jest pomijalny przy finalnej regulacji.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">💥</span>
                <div class="param-title">Ciśnienie robocze</div>
                <div class="param-value">Standardowo 6 bar</div>
                <div class="param-desc">Należy sprawdzić ich specyfikację, jeśli instalacja przechodzi rygorystyczne próby szczelności (często 1,5x wyższe ciśnienie).</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🌡️</span>
                <div class="param-title">Temperatura robocza</div>
                <div class="param-value">Do 90°C &#8211; 110°C</div>
                <div class="param-desc">Wartość w pełni wystarczająca i bardzo bezpieczna, zważywszy, że podłogówka to system niskotemperaturowy.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🔧</span>
                <div class="param-title">Miejsce montażu</div>
                <div class="param-value">Wyłącznie Powrót</div>
                <div class="param-desc">Montaż na zasilaniu daje <strong>błędne odczyty</strong> ze względu na zmienną gęstość wody podgrzanej przez kocioł.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🧹</span>
                <div class="param-title">Konserwacja</div>
                <div class="param-desc" style="margin-top:5px;">Są praktycznie bezobsługowe. Jednak w przypadku ciężkiego zabrudzenia i utknięcia pływaka, mechanizm można zdemontować i wyczyścić.</div>
            </div>
        </div>
    </div>

    <div class="flow-analyzer">
        <div class="flow-header">
            <h3>Optymalne wartości – znajdź &#8222;złoty środek&#8221;</h3>
            <p>Prawidłowe ustawienie zależy od <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długości pętli</a> oraz zapotrzebowania, ale jakie są skutki odchyleń od normy? Przesuń suwak i sprawdź.</p>
        </div>

        <div class="flow-workspace">
            <div class="flow-controls">
                
                <div class="flow-slider-box">
                    <div class="flow-val-row">
                        <div class="flow-val-label">Natężenie przepływu:</div>
                        <div class="flow-val-current" id="flow-display">1.2 l/min</div>
                    </div>
                    <input type="range" class="slider-styled" id="flow-slider" min="0.1" max="3.0" step="0.1" value="1.2">
                </div>

                <div class="flow-status-card status-opt" id="flow-status-card">
                    <span class="status-badge" id="flow-badge">Optymalnie</span>
                    <div class="status-title" id="flow-title">Cisza i wysoka wydajność</div>
                    <p class="status-desc" id="flow-desc">W typowych instalacjach mieszkaniowych przepływ wynosi od 0,5 do 1,5 l/min. To złoty środek: gwarantuje idealny transfer ciepła oraz <strong>energooszczędną</strong> pracę układu pompowego bez zbędnych przeciążeń.</p>
                </div>

            </div>

            <div class="flow-visual">
                <svg class="pipe-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
                    <path class="pipe-body" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    <path id="svg-water-flow" class="pipe-water anim-optimal" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    
                    <circle id="svg-bubble" class="air-bubble" cx="50" cy="50" r="8" />
                    
                    <g id="svg-noise" class="sound-wave">
                        <path d="M 75 35 Q 85 25, 95 35" />
                        <path d="M 65 25 Q 80 10, 95 20" />
                    </g>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Brak nagłówków H2/H3) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-flow-analyzer');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Zawartość Autorska</div>
                    <div style="font-size: 14px; color: #cbd5e1; margin-bottom: 20px;">Narzędzie "Analizator Przepływu" jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA ANALIZATORA ---
    const slider = document.getElementById('flow-slider');
    const display = document.getElementById('flow-display');
    const card = document.getElementById('flow-status-card');
    const badge = document.getElementById('flow-badge');
    const title = document.getElementById('flow-title');
    const desc = document.getElementById('flow-desc');
    
    const svgWater = document.getElementById('svg-water-flow');
    const svgBubble = document.getElementById('svg-bubble');
    const svgNoise = document.getElementById('svg-noise');

    function updateFlowApp() {
        const val = parseFloat(slider.value);
        display.textContent = val.toFixed(1) + ' l/min';

        if (val < 0.5) {
            // ZBYT NISKI
            card.className = 'flow-status-card status-low';
            badge.textContent = 'Zbyt Niski';
            title.textContent = 'Ryzyko zimnych placów i zapowietrzenia';
            desc.innerHTML = 'Gdy strumień wody jest tak słaby, nie ma siły "wypchnąć" gazów uwięzionych w instalacji. Skutkuje to tworzeniem się korków powietrznych, utratą skutecznego transferu ciepła i <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">brakiem odpowiedniego zładu wody</a> w sekcji.';
            
            svgWater.className.baseVal = 'pipe-water anim-slow';
            svgBubble.classList.add('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else if (val >= 0.5 && val <= 1.5) {
            // OPTYMALNIE
            card.className = 'flow-status-card status-opt';
            badge.textContent = 'Złoty środek';
            title.textContent = 'Cisza i wysoka wydajność';
            desc.innerHTML = 'W typowych instalacjach przepływ od 0,5 do 1,5 l/min gwarantuje idealny transfer ciepła oraz <strong><a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">energooszczędną</a></strong> pracę pompy. System skutecznie uwalnia powietrze i pozostaje bezgłośny.';
            
            svgWater.className.baseVal = 'pipe-water anim-optimal';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else {
            // ZBYT WYSOKI
            card.className = 'flow-status-card status-high';
            badge.textContent = 'Zbyt Wysoki';
            title.textContent = 'Szum hydrauliczny i przeciążenie';
            desc.innerHTML = 'Nadmierny przepływ wywołuje uciążliwy <strong>szum hydrauliczny</strong> w rozdzielaczu i rurach. Drastycznie zwiększa się opór, co niepotrzebnie obciąża pompę obiegową i zużywa prąd – bez realnej poprawy w komforcie cieplnym.';
            
            svgWater.className.baseVal = 'pipe-water anim-fast';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.add('show-noise');
        }
    }

    slider.addEventListener('input', updateFlowApp);
    // Init na starcie
    updateFlowApp();
});
</script>



<style>
:root {
    --prj-primary: #0f172a;
    --prj-panel: #ffffff;
    --prj-accent: #0284c7;
    --prj-accent-hover: #0369a1;
    --prj-cta: #ea580c; /* Kolor akcji dla sprzedaży */
    --prj-cta-hover: #c2410c;
    --prj-text: #334155;
    --prj-muted: #64748b;
    --prj-border: #e2e8f0;
    --prj-bg-light: #f8fafc;
    --prj-success: #10b981;
}

.prj-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--prj-text);
    line-height: 1.6;
}

/* NAGŁÓWEK I WSTĘP */
.prj-header {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.prj-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.prj-header p {
    font-size: 17px;
    margin-bottom: 0;
}

.prj-header a {
    color: var(--prj-accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.prj-highlight {
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
    font-size: 15px;
    color: #92400e;
}

/* INTERAKTYWNA APLIKACJA */
.prj-app {
    background: var(--prj-bg-light);
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    margin-bottom: 30px;
    display: flex;
    gap: 40px;
    align-items: center;
}

.prj-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.prj-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 5px;
}

.prj-app-desc {
    font-size: 14px;
    color: var(--prj-muted);
    margin-bottom: 10px;
}

/* Przełączniki (Tabs) */
.prj-switch-group {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 12px;
    padding: 5px;
    display: flex;
    gap: 5px;
}

.prj-switch-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--prj-muted);
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.prj-switch-btn.active {
    background: var(--prj-primary);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.15);
}

/* Suwak */
.prj-slider-wrap {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    padding: 20px;
    border-radius: 16px;
}

.prj-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--prj-primary);
}

.prj-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.prj-slider:focus { outline: none; }
.prj-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
}
.prj-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--prj-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: 0.1s;
}
.prj-slider::-webkit-slider-thumb:active { transform: scale(1.15); }

/* WIZUALIZACJA WYNIKU SVG */
.prj-visual {
    width: 220px;
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.prj-gauge {
    width: 140px;
    height: 140px;
    position: relative;
    margin-bottom: 20px;
}

.svg-gauge-bg { fill: none; stroke: #f1f5f9; stroke-width: 12; stroke-linecap: round; }
.svg-gauge-val { fill: none; stroke: var(--prj-accent); stroke-width: 12; stroke-linecap: round; transition: stroke-dasharray 0.5s ease-out; stroke-dasharray: 0 251; }

.prj-gauge-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.prj-gauge-num {
    font-size: 26px;
    font-weight: 900;
    color: var(--prj-primary);
    line-height: 1;
}

.prj-gauge-unit {
    font-size: 12px;
    font-weight: 700;
    color: var(--prj-muted);
}

/* POTĘŻNE CTA */
.prj-cta-box {
    background: linear-gradient(135deg, var(--prj-primary), #1e293b);
    border-radius: 24px;
    padding: 45px 50px;
    text-align: center;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.4);
}

.prj-cta-box::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(234, 88, 12, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.prj-cta-title {
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.prj-cta-desc {
    font-size: 16px;
    color: #cbd5e1;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.prj-btn-main {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--prj-cta);
    color: #ffffff;
    text-decoration: none;
    padding: 16px 36px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.3);
}

.prj-btn-main:hover {
    background: var(--prj-cta-hover);
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(234, 88, 12, 0.4);
}

@media (max-width: 800px) {
    .prj-app { flex-direction: column; padding: 30px 20px; }
    .prj-visual { width: 100%; }
    .prj-header, .prj-cta-box { padding: 30px 25px; }
    .prj-switch-group { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#projekt-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Projekt ogrzewania podłogowego a dobór przepływów – gdzie tkwi klucz?",
    "description": "Zobacz, dlaczego regulacja rotametrów bez projektu OZC to strzał w ciemno. Interaktywny symulator wpływu izolacji, rodzaju podłogi i temperatury na przepływ wody.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Zmienne obliczeniowe dla równoważenia hydraulicznego",
    "description": "Dane wejściowe niezbędne do wyliczenia przepływów rotametrów, obejmujące OZC (straty ciepła budynku), opór cieplny okładzin podłogowych oraz temperaturę docelową pomieszczeń.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "dobór przepływów",
      "obliczenia OZC",
      "regulacja rotametrów ogrzewania podłogowego",
      "zapotrzebowanie na ciepło kalkulator"
    ],
    "measurementTechnique": "Przeliczenie oporów i strat cieplnych na wymagany przepływ masowy czynnika (l/min) dla obiegów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry projektowe instalacji HVAC"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Zmiennych Projektowych (OZC vs Przepływ)",
    "description": "Narzędzie pokazujące, jak zmiana przeznaczenia pokoju (temp.), materiału podłogi (np. panele vs płytki) oraz izolacji zmienia wynikowy strumień czynnika grzewczego na rotametrze.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="prj-module" id="app-project-flow">

    <div class="prj-header">
        <h2>Projekt podłogówki a rotametry – gdzie tkwi klucz?</h2>
        <p>Rotametr jest jedynie finalnym narzędziem. Bez profesjonalnego projektu instalacji opartego na <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniach OZC (Projektowe Obciążenie Cieplne)</a>, regulacja na rozdzielaczu to dosłownie <strong>&#8222;strzał na oślep&#8221;</strong>.</p>
        
        <div class="prj-highlight">
            Bez projektu ustawienie rotametrów jest arbitralne. Gwarantuje to przegrzewanie jednych pomieszczeń, niedogrzanie innych, a w konsekwencji – wysokie rachunki za prąd/gaz i stały dyskomfort.
        </div>
    </div>

    <div class="prj-app">
        <div class="prj-controls">
            <div class="prj-app-title">Kalkulator Zmiennych Projektowych</div>
            <div class="prj-app-desc">Sprawdź, jak różne parametry w Twoim domu wpływają na to, co instalator musi ostatecznie ustawić na skali rotametru.</div>
            
            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">1. Wymagana temperatura (Pomieszczenie)</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-temp="20">Sypialnia (20°C)</button>
                    <button class="prj-switch-btn" data-temp="22">Salon (22°C)</button>
                    <button class="prj-switch-btn" data-temp="24">Łazienka (24°C)</button>
                </div>
            </div>

            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">2. Rodzaj wykończenia podłogi</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-floor="1.0">Płytki / Gres (Dobry przewodnik)</button>
                    <button class="prj-switch-btn" data-floor="1.4">Panele / Drewno (Izolator)</button>
                </div>
            </div>

            <div class="prj-slider-wrap">
                <div class="prj-slider-header">
                    <span>3. Straty ciepła budynku (OZC)</span>
                    <span id="prj-heat-val" style="color:var(--prj-accent);">50 W/m² (Dobra izolacja)</span>
                </div>
                <input type="range" class="prj-slider" id="prj-heat-slider" min="30" max="100" step="5" value="50">
            </div>
        </div>

        <div class="prj-visual">
            <div style="font-size:13px; font-weight:800; color:#64748b; margin-bottom:15px; text-transform:uppercase;">Wymagany Przepływ</div>
            
            <div class="prj-gauge">
                <svg viewBox="0 0 100 100">
                    <path class="svg-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80" />
                    <path id="svg-gauge-fill" class="svg-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80" style="stroke-dasharray: 0 251;" />
                </svg>
                <div class="prj-gauge-text">
                    <div class="prj-gauge-num" id="prj-flow-result">1.2</div>
                    <div class="prj-gauge-unit">L/MIN</div>
                </div>
            </div>
            
            <div style="font-size:12px; text-align:center; color:#94a3b8; line-height:1.4;">Tę wartość projektant wylicza z <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:inherit;">długości pętli</a> i powyższych danych.</div>
        </div>
    </div>

    <div class="prj-cta-box">
        <div class="prj-cta-title">Nie zgaduj. Zbuduj system oparty na inżynierii.</div>
        <div class="prj-cta-desc">Zły przepływ to szumy, chłód i koszty. Zamów profesjonalny projekt instalacji ogrzewania podłogowego. Otrzymasz gotowe nastawy rotametrów dla każdego pomieszczenia, idealny rozstaw rur i gwarancję komfortu cieplnego.</div>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="prj-btn-main">
            📐 ZAMÓW PROJEKT PODŁOGÓWKI
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-project-flow');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 14px; color: #cbd5e1;">Narzędzie Kalkulatora Projektowego stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                </div>`;
            return;
        }
    }

    // --- LOGIKA KALKULATORA ZMIENNYCH ---
    let currentTemp = 20;
    let currentFloor = 1.0;
    const slider = document.getElementById('prj-heat-slider');
    const heatValDisplay = document.getElementById('prj-heat-val');
    const flowResultDisplay = document.getElementById('prj-flow-result');
    const gaugeFill = document.getElementById('svg-gauge-fill');

    // Przyciski Temperatury
    const tempBtns = document.querySelectorAll('button[data-temp]');
    tempBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            tempBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentTemp = parseFloat(e.currentTarget.getAttribute('data-temp'));
            calculateFlow();
        });
    });

    // Przyciski Podłogi
    const floorBtns = document.querySelectorAll('button[data-floor]');
    floorBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            floorBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentFloor = parseFloat(e.currentTarget.getAttribute('data-floor'));
            calculateFlow();
        });
    });

    // Suwak Strat Ciepła
    slider.addEventListener('input', (e) => {
        const val = e.target.value;
        let desc = "";
        if(val < 50) desc = "(Dom Pasywny)";
        else if(val < 75) desc = "(Standard WT2021)";
        else desc = "(Słaba izolacja)";
        
        heatValDisplay.textContent = `${val} W/m² ${desc}`;
        calculateFlow();
    });

    function calculateFlow() {
        const heatLoss = parseFloat(slider.value);
        
        // BARDZO UPROSZCZONY WZÓR do celów demonstracyjnych aplikacji
        // Baza: 50W/m2 przy temp 20C na płytkach = ok 1.0 l/min dla pętli referencyjnej
        // Im wyższa temp oczekiwana, tym wyższy przepływ
        const tempFactor = 1 + ((currentTemp - 20) * 0.15); 
        
        // Im większe straty ciepła, tym wyższy przepływ
        const heatFactor = heatLoss / 50;
        
        // Obliczenie l/min
        let flow = 1.0 * heatFactor * tempFactor * currentFloor;
        
        // Ograniczenia dla realizmu skali (0.5 do 3.0)
        if(flow < 0.5) flow = 0.5;
        if(flow > 3.0) flow = 3.0;

        flowResultDisplay.textContent = flow.toFixed(1);

        // Aktualizacja Gauge SVG
        // Długość łuku (arc length) to około 188px.
        // Chcemy mapować wartość 0.5 - 3.0 na dasharray 0 do 188.
        const percent = (flow - 0.5) / 2.5; // od 0 do 1
        const dashVal = percent * 188;
        gaugeFill.style.strokeDasharray = `${dashVal} 251`;
        
        // Zmiana koloru ostrzegawczego przy krytycznych wartościach
        if(flow > 2.5) {
            gaugeFill.style.stroke = '#ef4444'; // Czerwony (za dużo)
        } else {
            gaugeFill.style.stroke = 'var(--prj-accent)'; // Niebieski (ok)
        }
    }

    // Inicjalizacja
    calculateFlow();
});
</script>



<style>
:root {
    --tip-primary: #0f172a;
    --tip-accent: #0284c7;
    --tip-accent-light: #e0f2fe;
    --tip-danger: #ef4444;
    --tip-danger-light: #fee2e2;
    --tip-success: #10b981;
    --tip-success-light: #d1fae5;
    --tip-bg: #f8fafc;
    --tip-border: #e2e8f0;
}

.expert-tip-wrapper {
    max-width: 950px;
    margin: 50px auto 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

.expert-tip-wrapper h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--tip-primary);
    margin: 0 0 25px 0;
    text-align: center;
    letter-spacing: -0.5px;
}

.expert-tip-container {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 40px;
    border: 1px solid var(--tip-border);
    box-shadow: 0 15px 35px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Interaktywny przełącznik Mit / Fakt */
.tip-switch-wrap {
    display: flex;
    background: var(--tip-bg);
    border: 1px solid var(--tip-border);
    border-radius: 12px;
    padding: 6px;
    gap: 6px;
    align-self: center;
    width: 100%;
    max-width: 500px;
}

.tip-switch-btn {
    flex: 1;
    border: none;
    background: transparent;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.tip-switch-btn:hover {
    color: var(--tip-primary);
}

.tip-switch-btn.active[data-type="myth"] {
    background: var(--tip-danger);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.2);
}

.tip-switch-btn.active[data-type="fact"] {
    background: var(--tip-accent);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

/* Sekcja cytatu i zdjęcia */
.tip-content-area {
    display: flex;
    gap: 30px;
    align-items: center;
    background: var(--tip-bg);
    border-radius: 20px;
    padding: 30px;
    border-left: 6px solid var(--tip-accent);
    transition: all 0.4s ease;
}

.tip-content-area.state-myth {
    border-left-color: var(--tip-danger);
    background: var(--tip-danger-light);
}

.tip-photo-wrap {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    position: relative;
}

.tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

.tip-icon-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: 0.3s;
}

.state-myth .tip-icon-badge { color: var(--tip-danger); }
.state-fact .tip-icon-badge { color: var(--tip-accent); }

.tip-text-body {
    flex-grow: 1;
}

.tip-label {
    display: block;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    transition: 0.3s;
}

.state-myth .tip-label { color: var(--tip-danger); }
.state-fact .tip-label { color: var(--tip-accent); }

.tip-quote {
    font-size: 17px;
    line-height: 1.7;
    color: var(--tip-primary);
    font-style: italic;
    margin: 0 0 15px 0;
    position: relative;
}

.tip-quote a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.tip-quote a:hover {
    color: var(--tip-accent);
}

.tip-signature {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
}

@media (max-width: 768px) {
    .expert-tip-container { padding: 25px 20px; }
    .tip-content-area { flex-direction: column; text-align: center; padding: 25px 20px; }
    .tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Robert Kucharski o prawidłowej regulacji wskaźników przepływu",
    "description": "Ekspert obala najczęstszy mit dotyczący rotametrów. Dowiedz się, dlaczego ustawianie przepływu 'po równo' niszczy komfort cieplny.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#cytat",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu pseudofachowców kończy pracę mówiąc: 'ustawiłem panu wszystkie rotametry równo na 1.5 litra, będzie grzało'. To najgorsza z możliwych metod regulacji.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Główny Projektant HVAC",
      "url": "https://projekt-ogrzewania.pl/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-mity",
    "name": "Mity instalacyjne vs Prawda inżynierska: Regulacja przepływów",
    "description": "Analiza błędnych założeń empirycznych podczas ręcznego ustawiania rotametrów w stosunku do precyzyjnych obliczeń inżynierskich.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "regulacja rotametrów na oko",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "jak nie ustawiać podłogówki",
      "mity ogrzewanie podłogowe przepływ",
      "równe ustawienie rotametrów błąd"
    ],
    "measurementTechnique": "Weryfikacja wydajności instalacji skalibrowanej empirycznie (na oko) vs skalibrowanej zgodnie z wartościami obliczeniowymi OZC.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Najlepsze praktyki inżynierii instalacyjnej"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-ekspert",
    "name": "Interaktywny Demaskator Mitów Instalacyjnych",
    "description": "Mini-aplikacja edukacyjna pozwalająca na bezpośrednie skonfrontowanie popularnego mitu hydraulicznego z odpowiedzią inżyniera.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript"
  }
]
</script>

<div class="expert-tip-wrapper" id="app-expert-quote">
    <h2><span style="margin-right:10px">⚖️</span>Praktyka vs Inżynieria</h2>
    
    <div class="expert-tip-container">
        
        <div class="tip-switch-wrap">
            <button class="tip-switch-btn" data-type="myth" id="btn-myth">
                <span>❌</span> Częsty Mit
            </button>
            <button class="tip-switch-btn active" data-type="fact" id="btn-fact">
                <span>✅</span> Prawda Inżynierska
            </button>
        </div>

        <div class="tip-content-area state-fact" id="tip-content-box">
            <div class="tip-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski ekspert HVAC" class="tip-photo" loading="lazy">
                <div class="tip-icon-badge" id="tip-icon">📐</div>
            </div>
            
            <div class="tip-text-body">
                <span class="tip-label" id="tip-label">Wskazówka od Głównego Projektanta</span>
                <p class="tip-quote" id="tip-quote-text">
                    &#8222;Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie.&#8221;
                </p>
                <span class="tip-signature">— Robert Kucharski, CEO Projekt-Ogrzewania.pl</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-expert-quote');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; border: 2px solid #dc2626; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł autorski chroniony</div>
                    <p style="font-size: 15px; color: #7f1d1d;">Cytaty i interaktywne porady inżynierskie Roberta Kucharskiego są własnością serwisu Projekt-Ogrzewania.pl. Kopiowanie skryptów bez zgody jest zabronione.</p>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZNIKA MIT VS FAKT ---
    const btnMyth = document.getElementById('btn-myth');
    const btnFact = document.getElementById('btn-fact');
    const contentBox = document.getElementById('tip-content-box');
    const iconBadge = document.getElementById('tip-icon');
    const label = document.getElementById('tip-label');
    const quoteText = document.getElementById('tip-quote-text');

    const data = {
        myth: {
            class: 'state-myth',
            icon: '⚠️',
            label: 'Co mówi "Pan Józek" na budowie?',
            text: '"Słuchaj kierowniku, ja od 20 lat robię podłogówkę. Ustawiłem panu wszystkie rotametry na rozdzielaczu na równe 1.5 litra. Wszędzie popłynie tyle samo wody, więc w każdym pokoju będzie elegancko grzało, nie ma się co martwić." <br><br><strong><span style="font-size:14px;color:#ef4444;">(Poważny błąd grożący przegrzaniem małych pokoi i niedogrzaniem salonu!)</span></strong>'
        },
        fact: {
            class: 'state-fact',
            icon: '📐',
            label: 'Wskazówka od Głównego Projektanta',
            text: '"Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href=\\"https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/\\">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href=\\"https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/\\">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie."'
        }
    };

    function switchState(type) {
        // Zmiana aktywnych przycisków
        btnMyth.classList.remove('active');
        btnFact.classList.remove('active');
        
        if (type === 'myth') btnMyth.classList.add('active');
        else btnFact.classList.add('active');

        // Animacja opacity dla miękkiego przejścia
        quoteText.style.opacity = 0;
        
        setTimeout(() => {
            contentBox.className = 'tip-content-area ' + data[type].class;
            iconBadge.textContent = data[type].icon;
            label.textContent = data[type].label;
            quoteText.innerHTML = data[type].text;
            
            quoteText.style.transition = 'opacity 0.3s ease';
            quoteText.style.opacity = 1;
        }, 200);
    }

    btnMyth.addEventListener('click', () => switchState('myth'));
    btnFact.addEventListener('click', () => switchState('fact'));
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #0ea5e9;
    --cs-accent-dark: #0284c7;
    --cs-wood: #b45309; 
    --cs-tiles: #0891b2; 
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
    color: var(--cs-text);
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.25) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

.cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #bae6fd;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
    letter-spacing: -0.5px;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 25px 0;
}

.cs-lead-text strong {
    color: var(--cs-primary);
}

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 20px;
    border-radius: 0 16px 16px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.cs-author-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 15px;
    color: #0f172a;
    line-height: 1.6;
}

.cs-author-box a {
    color: var(--cs-accent-dark);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.cs-author-box a:hover {
    color: #0369a1;
}

/* ================= INTERAKTYWNE WYZWANIE ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-interactive-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin-bottom: 20px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.cs-split-card:not(.active) {
    opacity: 0.6;
    transform: scale(0.98);
}

.cs-split-card:hover:not(.active) {
    opacity: 0.8;
}

.cs-split-card.wood.active {
    border-color: var(--cs-wood);
    background: #fffbeb;
    box-shadow: 0 10px 25px rgba(180, 83, 9, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.tiles.active {
    border-color: var(--cs-tiles);
    background: #ecfeff;
    box-shadow: 0 10px 25px rgba(8, 145, 178, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

/* Elementy SVG */
.cs-svg-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

.svg-floor { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.wood .svg-floor { stroke: var(--cs-wood); }
.tiles .svg-floor { stroke: var(--cs-tiles); }

.svg-heat-wave { fill: none; stroke-width: 2; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.wood .svg-heat-wave { stroke: #d97706; }
.tiles .svg-heat-wave { stroke: #0ea5e9; }

.cs-split-card.active .svg-heat-wave {
    opacity: 1;
    animation: heatRise 2s infinite ease-in-out alternate;
}
.cs-split-card.active .svg-heat-wave:nth-child(2) { animation-delay: 0.5s; }
.cs-split-card.active .svg-heat-wave:nth-child(3) { animation-delay: 1s; }

@keyframes heatRise {
    0% { transform: translateY(5px); opacity: 0.3; }
    100% { transform: translateY(-5px); opacity: 1; }
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

.cs-card-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--cs-text);
    margin: 0;
}

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 14px;
    line-height: 1.6;
    display: none;
}

.cs-split-card.wood .cs-card-solution { color: #78350f; }
.cs-split-card.tiles .cs-card-solution { color: #164e63; }

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

.cs-solution-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 12px;
    margin-bottom: 8px;
    color: #ffffff;
}

.wood .cs-solution-badge { background: var(--cs-wood); }
.tiles .cs-solution-badge { background: var(--cs-tiles); }

@keyframes csFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 800px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; gap: 10px;}
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-author-box { flex-direction: column; text-align: center; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Studium Przypadku: Skutki braku regulacji rotametrów",
    "description": "Zobacz na przykładzie z życia wziętym, dlaczego pozostawienie rotametrów w ustawieniu fabrycznym prowadzi do niedogrzania salonu i przegrzania łazienki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-case-study",
    "name": "Parametry hydrauliczne z realizacji - Dom Marka",
    "description": "Zestawienie błędnych i poprawnych nastaw przepływu (l/min) dla posadzek o skrajnie różnym oporze cieplnym (drewno vs płytki).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przepływ Salon (Drewno)",
        "value": "Wymagane zdławienie do 2.2 l/min",
        "description": "Zwiększenie przepływu ze względu na wysoki opór cieplny deski barlineckiej."
      },
      {
        "@type": "PropertyValue",
        "name": "Przepływ Łazienka (Gres)",
        "value": "Wymagane zdławienie do 0.8 l/min",
        "description": "Mocne przykręcenie rotametru w celu zapobieżenia kradzieży przepływu z dłuższych pętli."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-case-study",
    "name": "Panel Analizy Realizacji: Błędy regulacji",
    "description": "Interaktywny moduł edukacyjny typu Split-Card prezentujący fizykę zachowania się posadzki w zależności od nastaw na wskaźnikach przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

<div class="case-study-module" id="app-case-study-rotameter">

    <div class="cs-header-wrapper">
        <div class="cs-badge">🔍 Studium Przypadku</div>
        <h2>Skutki braku regulacji przepływów na rozdzielaczu</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Termin weryfikacji</span>
                <span class="cs-stat-value">Styczeń 2026</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Warszawa</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Problem główny</span>
                <span class="cs-stat-value">Zimny Salon</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Źródło błędu</span>
                <span class="cs-stat-value">Brak kryzowania</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Zimą 2026 roku zgłosił się do nas Pan Artur, posiadający nowo wybudowany dom o powierzchni 150 m². Pomimo pracującej na 100% pompy ciepła, w domu panował całkowity <strong>rozstrój termiczny</strong>. Podczas audytu rozdzielacza problem okazał się banalny: instalator uruchomił układ i zostawił wszystkie rotametry fabrycznie odkręcone na maksimum.</p>
        
        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski ekspert ogrzewania" class="cs-author-photo" loading="lazy">
            <p><strong><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a>:</strong> &#8222;Fizyka to nie magia. Woda w instalacji jest leniwa. Ponieważ rotametry nie zostały wyregulowane, potężna ilość ciepła uciekała najkrótszą drogą do małej łazienki z płytkami, całkowicie głodząc hydraulicznie długą pętlę pod dębowym parkietem w salonie.&#8221;</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-interactive-title">Kliknij, aby zobaczyć inżynierskie rozwiązanie:</div>
        
        <div class="cs-split-container">
            
            <div class="cs-split-card wood active" id="cs-card-wood">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 45 M 35 40 L 35 45 M 5 32 L 45 32 M 25 32 L 25 40"/>
                        <path class="svg-heat-wave" d="M 15 25 Q 10 15 15 5"/>
                        <path class="svg-heat-wave" d="M 25 25 Q 20 15 25 5"/>
                        <path class="svg-heat-wave" d="M 35 25 Q 30 15 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Salon: Długa pętla i parkiet</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla o długości 110 metrów stawiała ogromny opór hydrauliczny. Dodatkowo dębowa deska izolowała oddawanie ciepła. Rotametr wskazywał zaledwie <strong>0.3 l/min</strong>. Salon był lodowaty.</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>, pozostawiliśmy ten obwód maksymalnie otwarty, dławiąc jednocześnie pozostałe strefy w domu. Wymusiło to przepływ wody przez salon z prędkością <strong>2.2 l/min</strong>, pokonując opór długiej rury i izolacji drewna.
                </div>
            </div>

            <div class="cs-split-card tiles" id="cs-card-tiles">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 30 L 5 30 M 25 40 L 25 30 L 35 30 L 35 40 M 45 30 L 35 30"/>
                        <path class="svg-heat-wave" d="M 15 20 Q 20 10 15 5"/>
                        <path class="svg-heat-wave" d="M 25 20 Q 30 10 25 5"/>
                        <path class="svg-heat-wave" d="M 35 20 Q 40 10 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Łazienka: Krótka pętla i gres</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla miała tylko 35 metrów. Woda pędziła tamtędy bez żadnego oporu w ilości ponad <strong>3.0 l/min</strong>, powodując nieznośny szum na belce i przegrzewając płytki (zjawisko kradzieży przepływu).</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Drastyczne &#8222;przykręcenie&#8221; czerwonej obejmy w dół. Zdławiliśmy przepływ tej krótkiej pętli do bezpiecznego poziomu <strong>0.8 l/min</strong>. Uspokoiło to pracę <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a> i &#8222;oddało&#8221; ciśnienie do wychłodzonego salonu.
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Hard lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-case-study-rotameter');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 25px; text-align: center; background: #0f172a; color: #fff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 24px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona Prawem Autorskim</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Studium Przypadku" jest własnością Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 25px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: 800;">Wróć do źródła</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study (Accordions style)
    const cardWood = document.getElementById('cs-card-wood');
    const cardTiles = document.getElementById('cs-card-tiles');

    function toggleCards(activeCard, inactiveCard) {
        if (!activeCard.classList.contains('active')) {
            activeCard.classList.add('active');
            inactiveCard.classList.remove('active');
        }
    }

    if (cardWood && cardTiles) {
        cardWood.addEventListener('click', () => toggleCards(cardWood, cardTiles));
        cardTiles.addEventListener('click', () => toggleCards(cardTiles, cardWood));
    }
});
</script>



<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #0ea5e9;
    --faq-accent-dark: #0284c7;
    --faq-bg-light: #f8fafc;
    --faq-border: #e2e8f0;
    --faq-text: #334155;
    --faq-muted: #64748b;
    --faq-danger: #ef4444;
    --faq-success: #10b981;
}

.faq-expert-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--faq-text);
}

.faq-header-box {
    background: linear-gradient(135deg, var(--faq-primary), #1e293b);
    border-radius: 24px 24px 0 0;
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.faq-header-box::after {
    content: '?';
    position: absolute;
    right: 20px;
    top: -20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    font-family: serif;
}

.faq-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    position: relative;
    z-index: 1;
    letter-spacing: -0.5px;
}

.faq-header-box p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    max-width: 600px;
    position: relative;
    z-index: 1;
    line-height: 1.6;
}

.faq-accordion-wrapper {
    background: #ffffff;
    border: 1px solid var(--faq-border);
    border-top: none;
    border-radius: 0 0 24px 24px;
    padding: 30px 40px;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
}

.faq-item {
    border: 1px solid var(--faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
}

.faq-item:last-child {
    margin-bottom: 0;
}

.faq-item.active {
    border-color: var(--faq-accent);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.15);
}

.faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: background 0.3s;
}

.faq-question:hover {
    background: var(--faq-bg-light);
}

.faq-item.active .faq-question {
    background: var(--faq-bg-light);
    color: var(--faq-accent-dark);
}

/* SVG Ikony w pytaniach */
.faq-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #e0f2fe;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--faq-accent-dark);
}

.faq-item.active .faq-icon-wrap {
    background: var(--faq-accent);
    color: #ffffff;
}

.faq-svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Animowany znak +/- */
.faq-toggle-icon {
    margin-left: auto;
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
    content: '';
    position: absolute;
    background: var(--faq-muted);
    border-radius: 2px;
    transition: transform 0.3s ease, background 0.3s ease;
}

.faq-toggle-icon::before { top: 9px; left: 0; width: 20px; height: 2px; }
.faq-toggle-icon::after { top: 0; left: 9px; width: 2px; height: 20px; }

.faq-item.active .faq-toggle-icon::after { transform: rotate(90deg); }
.faq-item.active .faq-toggle-icon::before,
.faq-item.active .faq-toggle-icon::after { background: var(--faq-accent-dark); }

/* Odpowiedź */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer-content {
    padding: 0 25px 25px 85px; /* Wcięcie omijające ikonę */
    font-size: 15px;
    line-height: 1.7;
    color: var(--faq-text);
}

.faq-answer-content p {
    margin: 0 0 15px 0;
}
.faq-answer-content p:last-child {
    margin-bottom: 0;
}

.faq-answer-content a {
    color: var(--faq-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.faq-answer-content a:hover {
    color: #0c4a6e;
}

.faq-answer-content ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
}

.faq-answer-content li {
    margin-bottom: 5px;
}

.faq-highlight-box {
    background: #fffbeb;
    border-left: 3px solid var(--faq-warning);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    margin: 15px 0;
    font-size: 14px;
    color: #92400e;
}

@media (max-width: 768px) {
    .faq-header-box { padding: 30px 25px; }
    .faq-accordion-wrapper { padding: 25px; }
    .faq-question { padding: 15px; font-size: 15px; gap: 15px; }
    .faq-answer-content { padding: 0 15px 20px 15px; } /* Usunięto duże wcięcie na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "5 najczęściej zadawanych pytań o rotametry i przepływy (FAQ)",
    "description": "Rozbudowane kompendium wiedzy. Odpowiadamy m.in. na jakiej wysokości pływaka czytać przepływ, dlaczego rotametry montuje się na powrocie i co oznacza skaczący wskaźnik.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametr (przepływomierz) służy do wizualnej kontroli i fizycznej regulacji (dławienia) ilości wody płynącej przez daną pętlę. Jest absolutnie niezbędny do przeprowadzenia równoważenia hydraulicznego. Bez niego woda popłynęłaby najkrótszą drogą, powodując przegrzanie małych pomieszczeń i drastyczne niedogrzanie tych dużych."
        }
      },
      {
        "@type": "Question",
        "name": "W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowy odczyt zawsze wykonuje się na górnej, płaskiej krawędzi pływaka (najczęściej jest to czerwony grzybek). To ona musi pokrywać się z linią na skali wyrażoną w litrach na minutę (L/min). Należy pamiętać, aby odczytu i regulacji dokonywać wyłącznie przy włączonej pompie obiegowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W standardowych instalacjach domowych optymalny przepływ mieści się w granicach od 0,5 do 1,5 L/min (maksymalnie do 2.0 L/min dla bardzo długich pętli). Przepływ zbyt niski (<0.5) grozi brakiem możliwości usunięcia pęcherzyków powietrza. Z kolei przepływ zbyt wysoki (>2.0) wywołuje szumy hydrauliczne i nadmiernie obciąża pompę."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a zawory termostatyczne na zasilaniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametry są wrażliwe na temperaturę. Woda na zasilaniu jest najgorętsza, co zmienia jej gęstość i lepkość, a to zniekształcałoby odczyty siły wyporu pływaka. Dodatkowo, powrót jest miejscem chłodniejszym, co wydłuża żywotność elementów z tworzywa sztucznego i przezroczystej rurki pomiarowej."
        }
      },
      {
        "@type": "Question",
        "name": "Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na samym dnie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Skaczący lub wibrujący pływak to w 99% przypadków objaw mocnego zapowietrzenia pętli. Z kolei pływak leżący na dnie (przy otwartym zaworze) sygnalizuje całkowity brak przepływu – może to być wina zablokowania rury, zanieczyszczenia filtra w rotametrze lub, jeśli dotyczy to wszystkich rotametrów, awarii pompy obiegowej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Wiedzy: Rozwiązywanie problemów z przepływami w systemach płaszczyznowych",
    "description": "Zestawienie najczęstszych problemów i parametrów diagnostycznych układów pompowych, odczytów skali oraz lokalizacji elementów hydraulicznych na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak czytać rotametr",
      "skaczący rotametr",
      "gdzie montować rotametr zasilanie czy powrót",
      "optymalny przepływ w podłogówce",
      "brak przepływu w rotametrze"
    ],
    "measurementTechnique": "Analiza odpowiedzi diagnostycznych opartych na odczytach wizualnych (0.0 - 3.0 l/min) oraz zachowaniu hydrodynamiki w obwodach grzewczych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna na bazie FAQs"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Eksplorator Wiedzy (FAQ Panel)",
    "description": "Dynamiczny komponent interfejsu (Accordion UI) ułatwiający szybkie wyszukiwanie i przyswajanie eksperckich odpowiedzi na trudne pytania instalacyjne bez przeładowania poznawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript for accordion state management"
  }
]
</script>

<div class="faq-expert-module" id="app-faq-module">

    <div class="faq-header-box">
        <h2>Pytania i Odpowiedzi (FAQ)</h2>
        <p>Rozwiewamy najczęstsze wątpliwości inwestorów i młodych instalatorów dotyczące działania, diagnostyki i poprawnej regulacji rotametrów w nowoczesnych systemach grzewczych.</p>
    </div>

    <div class="faq-accordion-wrapper">
        
        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M3 21h18M5 21V7l7-4 7 4v14M9 11v6M15 11v6"/></svg>
                </div>
                Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Rotametr (profesjonalnie: przepływomierz o zmiennym przekroju) służy do dwóch rzeczy: <strong>wizualnej kontroli</strong> ilości płynącej wody oraz jej <strong>fizycznej regulacji</strong> (poprzez dławienie zaworu, na którym jest osadzony).</p>
                    <p>Odpowiadając na drugą część pytania: <strong>Tak, jest absolutnie niezbędny</strong>. Zgodnie z zasadami fizyki, ciecz zawsze wybiera drogę najmniejszego oporu. Bez rotametrów i możliwości precyzyjnego kryzowania (dławienia) krótkich pętli, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">woda ominęłaby długie obwody</a> (np. w salonie), powodując skrajne niedogrzanie największych pomieszczeń i przegrzanie tych małych. Równoważenie hydrauliczne bez rotametrów jest po prostu niemożliwe.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>
                </div>
                W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Wielu początkujących instalatorów popełnia błąd, próbując uśredniać pozycję całego pływaka (czerwonego &#8222;grzybka&#8221;). Prawidłowy odczyt zawsze wykonuje się na <strong>najszerszej, górnej płaskiej krawędzi pływaka</strong>.</p>
                    <p>To właśnie ta pozioma linia musi pokrywać się z wyznaczoną wartością na skali nadrukowanej na szklanej/plastikowej rurce (np. na linii 1.5 l/min).</p>
                    <div class="faq-highlight-box">
                        <strong>Ważna uwaga:</strong> Odczytu i samej regulacji dokonujemy zawsze na &#8222;żywym organizmie&#8221;, czyli przy włączonej na docelowy bieg <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompie obiegowej</a> oraz całkowicie otwartych siłownikach termoelektrycznych.
                    </div>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M12 22A10 10 0 1 0 12 2a10 10 0 0 0 0 20zM12 16v-4M12 8h.01"/></svg>
                </div>
                Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Dla standardowych instalacji mieszkalnych realizowanych rurą 16&#215;2.0, optymalny przepływ (zakładając projektowe różnice temperatur ΔT) mieści się w granicach <strong>od 0,5 do 1,5 L/min</strong>. W wyjątkowych sytuacjach dla najdłuższych pętli może to być 2.0 &#8211; 2.5 L/min.</p>
                    <ul>
                        <li><strong>Zbyt niski (< 0.5 l/min):</strong> Woda płynie tak wolno, że nie ma siły wypchnąć powietrza do odpowietrzników. Powstają korki gazowe.</li>
                        <li><strong>Zbyt wysoki (> 2.0 l/min):</strong> Skutkuje to zjawiskiem szumu hydraulicznego (piszczenie/syczenie w rurach i rozdzielaczu). Dodatkowo opór układu rośnie w kwadracie, co drastycznie zwiększa zużycie prądu przez pompę ciepła, nie dając już realnych zysków w przekazywaniu ciepła do wylewki.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/></svg>
                </div>
                Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a nie na zasilaniu?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>To kwestia precyzji fizycznej i trwałości materiałów. Rotametry są niezwykle wrażliwe na zmiany parametrów fizycznych cieczy. Woda wchodząca z kotła na zasilanie jest najgorętsza (np. 45°C), co zmienia jej gęstość i lepkość kinmatyczną w stosunku do chłodniejszej wody na powrocie (np. 35°C).</p>
                    <p>Montaż na zasilaniu mógłby <strong>zniekształcać odczyty siły wyporu</strong> pływaka. Drugim powodem jest żywotność: przezroczyste tworzywo sztuczne i elementy mechaniczne rotametru wolniej degradują, gdy pracują w strumieniu o niższej, ustabilizowanej po przejściu przez posadzkę temperaturze powrotu.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0zM12 9v4M12 17h.01"/></svg>
                </div>
                Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na dnie?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Takie zachowanie wskaźnika to idealna diagnoza kondycji Twojej instalacji:</p>
                    <ul>
                        <li><strong>Pływak skacze i wibruje:</strong> Strumień wody omywający pływak jest niejednorodny. Przerywają go pęcherzyki gazu. Jest to w 99% przypadków dowód na silne <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzenie danej pętli grzewczej</a>. Należy zamknąć pozostałe pętle i &#8222;przepchnąć&#8221; tę jedną na najwyższym biegu pompy.</li>
                        <li><strong>Pływak leży na dnie (przy odkręconym zaworze):</strong> Oznacza całkowity brak przepływu (0 l/min). Jeśli inne rotametry działają, przyczyna leży w tej konkretnej pętli – może być to fizyczne załamanie rury (zgniecenie przy zalewaniu jastrychu), mocne zabrudzenie filtra wewnętrznego lub uszkodzenie iglicy zaworu. Jeśli wszystkie pływaki nagle spadły na dno, oznacza to awarię źródła tłoczenia (np. zablokowanie pompy obiegowej).</li>
                    </ul>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-faq-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zabezpieczenie Treści</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Ten interaktywny moduł FAQ jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA AKORDEONU (Smooth Expand/Collapse) ---
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.faq-question');
        const answerDiv = item.querySelector('.faq-answer');

        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie inne (opcjonalne, w stylu akordeonu)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });

            // Jeśli nie był aktywny, otwieramy ten kliknięty
            if (!isActive) {
                item.classList.add('active');
                // Ustawiamy maxHeight na tyle ile faktycznie potrzebuje treść by animacja zadziałała
                answerDiv.style.maxHeight = answerDiv.scrollHeight + 50 + "px"; 
            }
        });
    });
});
</script>



<style>
:root {
    --sum-primary: #0f172a;
    --sum-accent: #0ea5e9;
    --sum-accent-dark: #0284c7;
    --sum-bg: #f8fafc;
    --sum-panel: #ffffff;
    --sum-border: #e2e8f0;
    --sum-text: #475569;
    --sum-success: #10b981;
    --sum-warning: #f59e0b;
}

.summary-module {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-panel);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--sum-border);
    overflow: hidden;
    color: var(--sum-text);
}

.sum-header {
    background: linear-gradient(to right, var(--sum-primary), #1e293b);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.sum-header::before {
    content: '';
    position: absolute;
    left: -50px;
    top: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.sum-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #bae6fd;
    margin-bottom: 15px;
}

.sum-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.sum-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 600px;
    line-height: 1.6;
}

/* INTERAKTYWNY UKŁAD */
.sum-workspace {
    display: flex;
    padding: 0;
    min-height: 400px;
}

.sum-nav {
    width: 35%;
    background: var(--sum-bg);
    border-right: 1px solid var(--sum-border);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sum-nav-btn {
    background: transparent;
    border: 1px solid transparent;
    padding: 15px 20px;
    border-radius: 12px;
    text-align: left;
    font-size: 14px;
    font-weight: 800;
    color: var(--sum-primary);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sum-nav-btn:hover {
    background: #ffffff;
    border-color: var(--sum-border);
    color: var(--sum-accent-dark); /* Wymuszenie koloru na wypadek konfliktu z głównym motywem strony */
}

.sum-nav-btn.active {
    background: #ffffff;
    border-color: var(--sum-accent);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.15);
    color: var(--sum-accent-dark);
}

.sum-nav-icon {
    font-size: 20px;
    background: #f1f5f9;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: 0.3s;
}

.sum-nav-btn.active .sum-nav-icon {
    background: #e0f2fe;
}

.sum-content-area {
    width: 65%;
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.sum-panel {
    display: none;
    animation: fadeInSum 0.4s ease forwards;
}

.sum-panel.active {
    display: block;
}

@keyframes fadeInSum {
    from { opacity: 0; transform: translateX(15px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Wizualizacje SVG */
.sum-visual-box {
    height: 160px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sum-bg);
    border: 1px solid var(--sum-border);
    border-radius: 16px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.sum-svg { width: 120px; height: 120px; overflow: visible; }

/* Animacje SVG */
.anim-float { animation: floatUpDown 2s infinite ease-in-out alternate; }
@keyframes floatUpDown {
    0% { transform: translateY(5px); }
    100% { transform: translateY(-5px); }
}

.anim-flow-path {
    stroke-dasharray: 10 10;
    animation: dashFlow 1s linear infinite;
}
@keyframes dashFlow {
    to { stroke-dashoffset: -20; }
}

.anim-pulse { animation: pulseScale 2s infinite ease-in-out alternate; }
@keyframes pulseScale {
    0% { transform: scale(0.95); opacity: 0.8; }
    100% { transform: scale(1.05); opacity: 1; }
}

/* Teksty w panelach */
.sum-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--sum-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.sum-panel p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.sum-panel a {
    color: var(--sum-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.sum-panel a:hover {
    color: #0369a1;
}

@media (max-width: 800px) {
    .sum-workspace { flex-direction: column; }
    .sum-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--sum-border); padding: 25px; flex-direction: row; flex-wrap: wrap; }
    .sum-nav-btn { flex: 1 1 calc(50% - 10px); justify-content: center; text-align: center; flex-direction: column; gap: 8px; padding: 10px;}
    .sum-content-area { width: 100%; padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Najważniejsze zasady regulacji rotametrów",
    "description": "Zwięzłe pigułki wiedzy o wskaźnikach przepływu. Działanie, równoważenie, optymalne wartości i kluczowa rola projektu OZC w jednym interaktywnym panelu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Kluczowe tezy instalacyjne - Rotametry i Przepływy",
    "description": "Zbiór ostatecznych wytycznych inżynierskich dotyczących działania, balansu hydraulicznego i zależności projektowych dla rozdzielaczy ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie rotametry",
      "najważniejsze zasady ogrzewania podłogowego",
      "regulacja podłogówki krok po kroku",
      "projekt OZC a przepływy",
      "prawidłowe ustawienie wskaźników przepływu"
    ],
    "measurementTechnique": "Synteza wniosków z analizy hydrodynamiki obwodów zasilających i powrotnych w instalacjach płaszczyznowych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Zasady optymalizacji ogrzewania płaszczyznowego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Pigułka Wiedzy: Panel Wniosków Końcowych",
    "description": "Aplikacja podsumowująca kluczowe zagadnienia artykułu za pomocą wizualizacji wektorowych (SVG) ilustrujących fizykę układów pompowych i zasady projektowe.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, CSS Animations, SVG"
  }
]
</script>

<div class="summary-module" id="app-summary-hub">

    <div class="sum-header">
        <div class="sum-badge">💡 Pigułka Wiedzy</div>
        <h2>Zapamiętaj te 4 zasady</h2>
        <p>Nie masz czasu czytać całego artykułu ponownie? Oto esencja inżynierskiej wiedzy o rotametrach, którą musisz znać przed uruchomieniem swojej instalacji.</p>
    </div>

    <div class="sum-workspace">
        <div class="sum-nav">
            <button class="sum-nav-btn active" data-sum="sum-1">
                <span class="sum-nav-icon">🔍</span> 1. Fundament Działania
            </button>
            <button class="sum-nav-btn" data-sum="sum-2">
                <span class="sum-nav-icon">⚖️</span> 2. Równoważenie Układu
            </button>
            <button class="sum-nav-btn" data-sum="sum-3">
                <span class="sum-nav-icon">🎯</span> 3. Optymalne Przepływy
            </button>
            <button class="sum-nav-btn" data-sum="sum-4">
                <span class="sum-nav-icon">📐</span> 4. Podstawa Projektowa
            </button>
        </div>

        <div class="sum-content-area">
            
            <div class="sum-panel active" id="sum-1">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="35" y="10" width="30" height="80" rx="4" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                        <rect x="35" y="40" width="30" height="50" fill="#bae6fd"/>
                        <path class="anim-float" d="M 40 40 L 60 40 L 55 50 L 45 50 Z" fill="#ef4444"/>
                        <line x1="30" y1="25" x2="35" y2="25" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="50" x2="35" y2="50" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="75" x2="35" y2="75" stroke="#94a3b8" stroke-width="2"/>
                    </svg>
                </div>
                <h3>Wizualna kontrola fizyki</h3>
                <p>Rotametr to proste, ale precyzyjne urządzenie. Wykorzystuje siłę oporu wody tłoczonej przez <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompę obiegową</a>, aby unieść pływak.</p>
                <p>Odczyt zawsze wykonujemy na <strong>górnej krawędzi pływaka</strong>. Pamiętaj, że ze względu na dokładność pomiarową, rotametry montuje się zawsze na chłodniejszej belce powrotnej rozdzielacza.</p>
            </div>

            <div class="sum-panel" id="sum-2">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="10" y="45" width="30" height="10" fill="#e2e8f0"/>
                        <line x1="10" y1="50" x2="35" y2="50" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 30 L 50 15" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 30 L 50 15" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 70 L 50 85" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 70 L 50 85" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <circle cx="50" cy="30" r="8" fill="#ef4444"/>
                        <circle cx="50" cy="70" r="8" fill="#10b981"/>
                    </svg>
                </div>
                <h3>Konieczność równoważenia</h3>
                <p>Woda to &#8222;leniwe medium&#8221;, które zawsze ucieka pętlami o najmniejszym oporze (najkrótszymi). Jeśli nie zastosujesz rotametrów, Twój układ będzie całkowicie rozregulowany.</p>
                <p>Główną rolą wskaźnika jest <strong>sztuczne zdławienie (kryzowanie) krótkich obwodów</strong>, aby wymusić przepływ wody przez długie rury w dużych pomieszczeniach.</p>
            </div>

            <div class="sum-panel" id="sum-3">
                <div class="sum-visual-box">
                    <svg class="sum-svg anim-pulse" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="8"/>
                        <path d="M 20 50 A 30 30 0 0 1 80 50" fill="none" stroke="#10b981" stroke-width="8" stroke-linecap="round"/>
                        <line x1="50" y1="50" x2="50" y2="25" stroke="#0f172a" stroke-width="4" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="6" fill="#0f172a"/>
                        <text x="50" y="80" font-size="14" font-weight="bold" fill="#0284c7" text-anchor="middle">1.2 l/min</text>
                    </svg>
                </div>
                <h3>Złoty środek w nastawach</h3>
                <p>Optymalny zakres przepływu na pętlę to zazwyczaj <strong>od 0.5 do 1.5 l/min</strong>. To kompromis, który gwarantuje cichą pracę i efektywne oddawanie ciepła.</p>
                <p>Zbyt niskie wartości grożą zapowietrzeniem instalacji. Zbyt wysokie (otwarcie zaworów &#8222;na full&#8221;) powodują uciążliwy <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">szum w rozdzielaczu</a> i bezsensownie pożerają prąd napędzający pompę.</p>
            </div>

            <div class="sum-panel" id="sum-4">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="25" y="10" width="50" height="70" rx="4" fill="#ffffff" stroke="#cbd5e1" stroke-width="3"/>
                        <line x1="35" y1="25" x2="65" y2="25" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="40" x2="55" y2="40" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="55" x2="60" y2="55" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <path class="anim-pulse" d="M 45 75 L 55 85 L 80 50" fill="none" stroke="#10b981" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
                    </svg>
                </div>
                <h3>Bez projektu to zgadywanie</h3>
                <p>Rotametr jest zaledwie mechanicznym wykonawcą poleceń. To <strong><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia inżynierskie (OZC)</a></strong> mówią nam, jaka wartość powinna znaleźć się na jego skali.</p>
                <p>Projektant uwzględnia w nich różnice w izolacji podłóg (panele vs gres), stratach cieplnych okien i docelowej temperaturze. Ustawianie &#8222;wszystkiego po równo&#8221; to błąd w sztuce!</p>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez użycia H-tagów) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-summary-hub');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zawartość Chroniona Autorsko</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Pigułka Wiedzy" jest własnością serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do oryginału</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZANIA PANELU WIEDZY ---
    const navBtns = document.querySelectorAll('.sum-nav-btn');
    const panels = document.querySelectorAll('.sum-panel');

    navBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            // Zresetuj wszystkie przyciski i panele
            navBtns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywuj kliknięty
            e.currentTarget.classList.add('active');
            const targetId = e.currentTarget.getAttribute('data-sum');
            const targetPanel = document.getElementById(targetId);
            
            if(targetPanel) {
                // Mały trick by zresetować animację CSS przy każdym kliknięciu
                targetPanel.style.animation = 'none';
                targetPanel.offsetHeight; /* trigger reflow */
                targetPanel.style.animation = null; 
                
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --dl-primary: #0f172a;
    --dl-accent: #0ea5e9;
    --dl-accent-dark: #0284c7;
    --dl-bg: #f8fafc;
    --dl-border: #e2e8f0;
    --dl-text: #334155;
    --dl-white: #ffffff;
}

.download-hub-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--dl-white);
    border-radius: 24px;
    border: 1px solid var(--dl-border);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCI */
.dl-header {
    background: linear-gradient(135deg, var(--dl-primary) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: var(--dl-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.dl-header-content { position: relative; z-index: 2; max-width: 60%; }

.dl-badge {
    display: inline-block;
    background: rgba(14, 165, 233, 0.2);
    border: 1px solid rgba(14, 165, 233, 0.3);
    color: #7dd3fc;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.dl-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* WIZUALIZACJA PDF / IKONA */
.dl-header-visual {
    position: relative;
    z-index: 2;
}

.dl-pdf-icon-svg {
    width: 80px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
    animation: floatIcon 3s infinite ease-in-out alternate;
}

@keyframes floatIcon {
    from { transform: translateY(0); }
    to { transform: translateY(-10px); }
}

/* GŁÓWNY WORKSPACE */
.dl-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 40px;
    background: var(--dl-white);
}

.dl-preview-box {
    flex: 1;
    background: var(--dl-bg);
    border: 1px solid var(--dl-border);
    border-radius: 16px;
    padding: 10px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.3s;
}

.dl-preview-box:hover {
    transform: scale(1.02);
}

.dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.dl-info-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.dl-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-text);
}

.dl-check-svg {
    width: 20px;
    height: 20px;
    color: var(--dl-accent);
    flex-shrink: 0;
}

/* PRZYCISK POBIERANIA */
.dl-main-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-accent);
    color: var(--dl-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
}

.dl-main-btn:hover {
    background: var(--dl-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(14, 165, 233, 0.5);
}

.dl-main-btn span { font-size: 20px; }

/* STOPKA MODUŁU */
.dl-footer {
    padding: 20px 50px;
    background: var(--dl-bg);
    border-top: 1px solid var(--dl-border);
    font-size: 13px;
    color: var(--dl-muted);
    text-align: center;
}

.dl-footer a {
    color: var(--dl-accent-dark);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 800px) {
    .dl-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .dl-header-content { max-width: 100%; margin-bottom: 25px; }
    .dl-workspace { flex-direction: column; padding: 30px 20px; }
    .dl-preview-box { margin-bottom: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr – Instrukcja i Tabela Nastaw (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie nastaw przepływu dla ogrzewania podłogowego. Kompletny poradnik regulacji rotametrów w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-tabela",
    "name": "Tabela inżynierska: Długość pętli vs Zalecany przepływ l/min",
    "description": "Zbiór danych określający optymalne natężenie przepływu wody dla rur PEX/PERT 16x2.0 w zależności od długości obwodu (od 50m do 120m).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela nastaw rotametrów",
      "ile l/min na podłogówkę",
      "przepływ 100m rury",
      "regulacja rozdzielacza instrukcja PDF",
      "optymalny przepływ w pętli"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne dla ΔT=5-8K przy standardowym obciążeniu cieplnym budynku jednorodzinnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry nastawcze rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#download-app",
    "name": "Centrum Pobierania Wiedzy: Rotametr",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie dokumentacji technicznej dotyczącej wskaźników przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="download-hub-container" id="app-rotameter-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały</div>
            <h2>Pobierz Kompletny Poradnik</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Tabela nastaw, schemat budowy i diagnostyka błędów w jednym pliku PDF.</p>
        </div>
        <div class="dl-header-visual">
            <svg class="dl-pdf-icon-svg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="#ef4444" stroke="#ffffff" stroke-width="1"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="18" fill="white" font-size="5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-workspace">
        
        <div class="dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp" alt="Infografika Rotametr - wskaźnik przepływu w rozdzielaczu ogrzewania podłogowego" class="dl-preview-img" loading="lazy">
            <div style="position:absolute; bottom:20px; right:20px; background:rgba(0,0,0,0.6); color:white; padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700;">🔍 Kliknij, aby powiększyć</div>
        </div>

        <div class="dl-info-side">
            <ul class="dl-feature-list">
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Tabela: Przepływ vs Długość pętli
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Schemat budowy 1:1
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Checklista: 3 najczęstsze błędy
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Optymalizacja pod smartfony
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.pdf" class="dl-main-btn" target="_blank">
                <span>📥</span> POBIERZ INSTRUKCJĘ (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.4;">
                Potrzebujesz precyzyjnych danych dla swojego domu? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-accent-dark); font-weight:800;">Zamów projekt podłogówki</a> z gotowymi nastawami rotametrów.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie dozwolone z zachowaniem linku do źródła.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-rotameter-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; border: 2px solid #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #991b1b;">Zasoby Chronione</div>
                    <p style="color: #b91c1c; font-size: 14px;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Pobieranie z zewnętrznych serwerów jest zabronione.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Instalacja ogrzewania podłogowego w układzie meandrowym.</title>
		<link>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 11 May 2025 15:30:59 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje budowlane]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[montaż podłogówki]]></category>
		<category><![CDATA[normy ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz]]></category>
		<category><![CDATA[rury grzewcze]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[strefy brzegowe]]></category>
		<category><![CDATA[układ meandrowy]]></category>
		<category><![CDATA[wylewka]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2575</guid>

					<description><![CDATA[<p>Chcesz cieszyć się ciepłem w domu przez cały rok? Poznaj zalety instalacji ogrzewania podłogowego w układzie meandrowym – prostego i efektywnego systemu grzewczego. Dowiedz się, jak zaplanować montaż, dobrać rury i okładziny oraz uniknąć błędów. Sprawdź praktyczne porady, koszty i przykłady zastosowań, aby stworzyć komfortowy i energooszczędny dom. Zainspiruj się i zacznij działać już dziś!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Instalacja ogrzewania podłogowego w układzie meandrowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Instalacja ogrzewania podłogowego w układzie meandrowym</strong> to jedno z rozwiązań zapewniających komfort cieplny w domach i mieszkaniach. Dzięki prostocie montażu i możliwości dostosowania do specyficznych potrzeb pomieszczeń, ten system jest idealny dla salonów z dużymi oknami, łazienek czy kuchni. W tym artykule wyjaśnimy, jak prawidłowo zaplanować i zrealizować <strong>montaż ogrzewania podłogowego w układzie meandrowym</strong>, jakie są jego zalety, koszty i jak wybrać odpowiednie materiały. Dowiedz się, dlaczego warto postawić na ten system i jak uniknąć typowych błędów.</p>



<h2 class="wp-block-heading">Dlaczego warto wybrać ogrzewanie podłogowe w układzie meandrowym?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe w układzie meandrowym to sposób na równomierne rozprowadzenie ciepła od podłogi, co zapewnia wyjątkowy komfort, szczególnie w chłodne dni. W porównaniu do tradycyjnych grzejników, ten system jest bardziej energooszczędny i estetyczny, ponieważ eliminuje widoczne elementy grzewcze. Układ meandrowy wyróżnia się prostotą, co czyni go atrakcyjnym wyborem dla osób szukających efektywnego rozwiązania w przystępnej cenie.</p>



<h3 class="wp-block-heading">Zalety układu meandrowego.</h3>



<ul class="wp-block-list">
<li><strong>Łatwość montażu</strong>: Rury układane są równolegle w kształt węża, co przyspiesza instalację i obniża koszty robocizny.</li>



<li><strong>Skuteczność w strefach brzegowych</strong>: Idealny do pomieszczeń z dużymi stratami ciepła, np. przy oknach czy ścianach zewnętrznych.</li>



<li><strong>Elastyczność</strong>: Możliwość zagęszczenia rur w kluczowych miejscach, np. wzdłuż drzwi balkonowych.</li>



<li><strong>Zdrowie i komfort</strong>: Ciepło rozprowadzane od podłogi zmniejsza cyrkulację kurzu, co jest korzystne dla alergików. Więcej o tym w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/">Czy ogrzewanie podłogowe jest zdrowe?</a>.</li>
</ul>



<h3 class="wp-block-heading">Ograniczenia układu meandrowego.</h3>



<p class="wp-block-paragraph">Główną wadą układu meandrowego jest nierównomierny rozkład temperatury – woda traci ciepło w miarę przepływu, co może sprawić, że podłoga będzie cieplejsza na początku pętli. W większych pomieszczeniach lepszym wyborem może być układ ślimakowy, który zapewnia bardziej jednolite ogrzewanie. Jednak odpowiednie planowanie pętli może zminimalizować ten problem.</p>



<h2 class="wp-block-heading"><strong>Rodzaje układu meandrowego: pojedynczy i podwójny</strong>.</h2>



<p class="wp-block-paragraph">Układ meandrowy w ogrzewaniu podłogowym występuje w dwóch wariantach: <strong>meander pojedynczy</strong> i <strong>meander podwójny</strong>. Oba bazują na tym samym schemacie układania rur w równoległe pasy z zakrętami o 180°, ale różnią się sposobem prowadzenia rur zasilających i powrotnych, co ma istotny wpływ na równomierność ogrzewania.</p>



<h3 class="wp-block-heading"><strong>Meander pojedynczy</strong>.</h3>



<p class="wp-block-paragraph"><strong>Meander pojedynczy</strong> to klasyczny układ, w którym rura biegnie od rozdzielacza wzdłuż jednej strony pomieszczenia i wraca drugą stroną. To proste rozwiązanie, tanie i szybkie w montażu. Jednak jego wadą może być <strong>nierównomierny rozkład temperatury</strong> – początek pętli jest cieplejszy, a koniec – chłodniejszy. Dlatego najlepiej sprawdza się w mniejszych pomieszczeniach lub tam, gdzie różnice temperatur nie mają kluczowego znaczenia.</p>



<h3 class="wp-block-heading"><strong>Meander podwójny</strong>.</h3>



<p class="wp-block-paragraph"><strong>Meander podwójny</strong> to bardziej zaawansowana wersja, w której rury zasilająca i powrotna biegną parami – obok siebie – przez całą długość pętli. Dzięki temu ciepło rozprowadzane jest <strong>bardziej równomiernie</strong>, co znacznie poprawia komfort cieplny w pomieszczeniach o większej powierzchni lub dużych stratach ciepła, np. z dużymi przeszkleniami. Choć ten układ jest nieco trudniejszy w wykonaniu i może wymagać więcej materiału, zapewnia <strong>lepszy balans termiczny</strong> w całej strefie grzewczej.</p>



<p class="wp-block-paragraph"><em>Wybór między meandrem pojedynczym a podwójnym zależy przede wszystkim od <strong>układu pomieszczenia, rodzaju źródła ciepła oraz wymaganej równomierności temperatury</strong>.</em></p>



<h2 class="wp-block-heading"><strong>Gdzie warto zastosować układ meandrowy w ogrzewaniu podłogowym?</strong></h2>



<p class="wp-block-paragraph">Układ meandrowy najlepiej sprawdza się w <strong>pomieszczeniach o mniejszej powierzchni</strong>, gdzie różnice temperatury między początkiem a końcem pętli nie są aż tak odczuwalne. To idealne rozwiązanie do <strong>łazienek, korytarzy, kuchni</strong>, a także <strong>pomieszczeń o regularnym kształcie</strong>, bez dużej liczby wnęk czy przeszkód architektonicznych.</p>



<p class="wp-block-paragraph">Dzięki możliwości lokalnego zagęszczenia rur, meander dobrze radzi sobie także w <strong>strefach brzegowych</strong>, czyli wzdłuż ścian zewnętrznych, przy oknach i drzwiach balkonowych – tam, gdzie występują największe straty ciepła. W tych miejscach można z powodzeniem zmniejszyć rozstaw rur do 10 cm, uzyskując silniejszy strumień cieplny.</p>



<p class="wp-block-paragraph">Układ meandrowy jest również często stosowany w <strong>pomieszczeniach pomocniczych</strong> (spiżarnie, garderoby, pralnie), gdzie nie zależy nam na idealnej równomierności ciepła, ale ważna jest prostota montażu i niskie koszty. W przypadku większych przestrzeni – salonów, pokoi dziennych – <strong>lepszym wyborem może być układ ślimakowy lub podwójny meander</strong>, które zapewniają bardziej jednorodny rozkład temperatury.</p>



<h2 class="wp-block-heading">Jak wygląda ogrzewanie podłogowe ułożone w meander bądź podwójny meander.</h2>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex">
<figure class="wp-block-image size-full"><img data-dominant-color="f3f2f2" data-has-transparency="false" style="--dominant-color: #f3f2f2;" fetchpriority="high" decoding="async" width="945" height="945" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander.webp" alt="Pojedynczy meander" class="wp-image-2583 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander.webp 945w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-300x300.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-150x150.webp 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-768x768.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-600x600.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-100x100.webp 100w" sizes="(max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Pojedynczy meander</figcaption></figure>



<figure class="wp-block-image size-full"><img data-dominant-color="f3f3f3" data-has-transparency="false" style="--dominant-color: #f3f3f3;" decoding="async" width="945" height="945" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander.webp" alt="Podwójny meander" class="wp-image-2585 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander.webp 945w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-300x300.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-150x150.webp 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-768x768.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-600x600.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-100x100.webp 100w" sizes="(max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Podwójny meander</figcaption></figure>
</div>



<h2 class="wp-block-heading">Jak działa instalacja ogrzewania podłogowego w układzie meandrowym?</h2>



<p class="wp-block-paragraph">W układzie meandrowym rury grzewcze są układane równolegle, tworząc pętle przypominające węża z zakrętami o 180 stopni. Gorąca woda przepływa przez rury, oddając ciepło do podłogi, a następnie wraca do rozdzielacza. System działa zgodnie z normą <strong>EN 1264</strong>, która określa wymagania dla wodnego ogrzewania podłogowego, zapewniając bezpieczeństwo i efektywność.</p>



<h3 class="wp-block-heading">Kluczowe komponenty systemu.</h3>



<p class="wp-block-paragraph">Aby <strong>zainstalować ogrzewanie podłogowe w układzie meandrowym</strong>, potrzebne są następujące elementy:</p>



<ol class="wp-block-list">
<li><strong>Rury grzewcze</strong>: Najczęściej stosuje się rury PEX lub PE-RT o średnicy 16 mm, zgodne z normą <strong>EN ISO 15875</strong>. Przykładem jest rura wielowarstwowa KAN-therm BluePERT, która zapewnia trwałość i elastyczność.</li>



<li><strong>Rozdzielacz</strong>: Umożliwia regulację przepływu wody. Polecamy <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/">rozdzielacz ze stali nierdzewnej INOX</a> dla precyzyjnej kontroli.</li>



<li><strong>Grupa pompowo-mieszająca</strong>: Kluczowa w systemach z grzejnikami, dostępna jako <a href="https://projekt-ogrzewania.pl/produkt/grupa-pompowo-mieszajaca-trinnity/">grupa pompowo-mieszająca Trinnity</a>.</li>



<li><strong>Izolacja termiczna</strong>: Styropian EPS 100 lub <a href="https://projekt-ogrzewania.pl/produkt/mata-mocujaca-do-ogrzewania-podlogowego/">mata mocująca do ogrzewania podłogowego</a> zapobiega stratom ciepła.</li>



<li><strong>Wylewka</strong>: Betonowa lub anhydrytowa warstwa otaczająca rury, zgodna z normą <strong>DIN 4726</strong> dla rur PEX.</li>
</ol>



<h3 class="wp-block-heading">Planowanie rozmieszczenia pętli.</h3>



<p class="wp-block-paragraph">Kluczowe jest odpowiednie zaprojektowanie trasy rur, aby zapewnić efektywność systemu:</p>



<ul class="wp-block-list">
<li><strong>Strefy brzegowe</strong>: Rozpocznij układanie rur wzdłuż ścian zewnętrznych lub okien, z odstępem 10 cm, aby zwiększyć strumień ciepła.</li>



<li><strong>Unikanie zabudowy</strong>: Nie umieszczaj rur pod szafkami, wannami czy wyspami kuchennymi.</li>



<li><strong>Odstępy</strong>: Standardowy rozstaw to 10-20 cm, ale w newralgicznych miejscach można go zmniejszyć.</li>



<li><strong>Długość pętli</strong>: Maksymalnie 80-100 m, aby uniknąć spadku ciśnienia.</li>
</ul>



<p class="wp-block-paragraph">Sprawdź, jak to zrobić, w poradniku <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym</a>.</p>



<h2 class="wp-block-heading">Profesjonalny projekt ogrzewania podłogowego.</h2>



<p class="wp-block-paragraph">Sukces instalacji zależy od precyzyjnego projektu, który uwzględnia straty ciepła, rodzaj podłogi i potrzeby mieszkańców. Oferujemy kompleksowe projekty, np. <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/">projekt ogrzewania podłogowego do 200 m²</a>, dostosowane do większych domów. Ich projekty <strong>EN 1264</strong>, zapewniając optymalny rozkład pętli i dobór materiałów. Przy zakupie komponentów w <a href="https://projekt-ogrzewania.pl/sklep/">sklepie projekt-ogrzewania.pl</a>, projekt można otrzymać gratis, co obniża koszty inwestycji.</p>



<h2 class="wp-block-heading">Etapy montażu ogrzewania podłogowego w układzie meandrowym.</h2>



<h3 class="wp-block-heading">1. Przygotowanie podłoża.</h3>



<p class="wp-block-paragraph">Podłoże musi być równe, czyste i suche. Wszelkie nierówności mogą wpłynąć na jakość wylewki. Następnie układana jest izolacja, np. <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">płyta styropianowa EPS 200 z wypustkami</a>.</p>



<h3 class="wp-block-heading">2. Układanie rur.</h3>



<p class="wp-block-paragraph">Rury mocuje się za pomocą spinek lub mat. W układzie meandrowym kluczowe jest rozpoczęcie od stref brzegowych i zachowanie odpowiedniego rozstawu.</p>



<h3 class="wp-block-heading">3. Montaż rozdzielacza.</h3>



<p class="wp-block-paragraph">Rozdzielacz jest podłączany do rur i montowany w <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/">szafce podtynkowej</a>.</p>



<h3 class="wp-block-heading">4. Próba szczelności.</h3>



<p class="wp-block-paragraph">System wypełnia się wodą pod ciśnieniem i sprawdza przez 24-48 godzin, zgodnie z normą <strong>EN 1264</strong>. Zobacz szczegóły w <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">Próba szczelności ogrzewania podłogowego</a>.</p>



<h3 class="wp-block-heading">5. Wylewka i wykończenie.</h3>



<p class="wp-block-paragraph">Wylewka (21-28 dni schnięcia) otacza rury, a następnie układana jest okładzina podłogowa.</p>



<h2 class="wp-block-heading">Porównanie układu meandrowego z innymi systemami</h2>



<h3 class="wp-block-heading">Układ meandrowy vs ślimakowy.</h3>



<p class="wp-block-paragraph">Układ meandrowy jest tańszy i prostszy w montażu, ale mniej równomiernie rozprowadza ciepło. Ślimakowy, z rurami w spiralnym wzorze, lepiej sprawdza się w dużych pomieszczeniach. Przeczytaj więcej w <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Instalacja ogrzewania podłogowego w układzie ślimakowym</a>.</p>



<h3 class="wp-block-heading">Układ meandrowy vs ogrzewanie elektryczne.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe w układzie meandrowym jest bardziej ekonomiczne w eksploatacji niż elektryczne, szczególnie z pompą ciepła. Elektryczne systemy są łatwiejsze w instalacji, ale droższe w użytkowaniu.</p>



<h2 class="wp-block-heading">Koszty instalacji ogrzewania podłogowego w układzie meandrowym.</h2>



<p class="wp-block-paragraph">Koszty zależą od materiałów, robocizny i wielkości powierzchni. Oto szacunkowy rozkład:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Element</strong></th><th><strong>Koszt (zł/m²)</strong></th></tr></thead><tbody><tr><td>Materiały (styropian, rury, folia)</td><td>15-25</td></tr><tr><td>Robocizna</td><td>25-35</td></tr><tr><td>Rozdzielacz i automatyka</td><td>10-20</td></tr><tr><td><strong>Całkowity koszt</strong></td><td>80-180 (średnio 110-120)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Dla domu 100 m² koszt wynosi 8000-18 000 zł. Sprawdź szczegóły w <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">Ile kosztuje 100 m² ogrzewania podłogowego?</a>.</p>



<h2 class="wp-block-heading">Przykłady zastosowania.</h2>



<ol class="wp-block-list">
<li><strong>Salon 30 m²</strong>: Pętle zaczynają się przy oknach (odstęp 10 cm), a w centrum odstęp wynosi 15 cm.</li>



<li><strong>Łazienka 6 m²</strong>: Rury omijają wannę, koncentrując się na otwartych przestrzeniach.</li>



<li><strong>Kuchnia 15 m²</strong>: Pętle omijają wyspę kuchenną, zapewniając ciepło w strefach użytkowych.</li>
</ol>



<h2 class="wp-block-heading">Jak wybrać okładzinę podłogową?</h2>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne</strong>: Niski opór termiczny, idealne do łazienek.</li>



<li><strong>Kamień naturalny</strong>: Droższy, ale efektywny.</li>



<li><strong>Panele laminowane</strong>: Odpowiednie, jeśli oznaczone do podłogówki.</li>



<li><strong>Drewno</strong>: Cienkie deski (do 10 mm) z odpowiednim klejem.</li>
</ul>



<p class="wp-block-paragraph">Przeczytaj więcej w artykule <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">Jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego</a>.</p>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1746973842792"><strong class="schema-faq-question">Czym różni się układ meandrowy od ślimakowego?</strong> <p class="schema-faq-answer">Układ meandrowy układa rury w kształt węża, jest prostszy i tańszy, ale mniej równomiernie rozprowadza ciepło. Ślimakowy, z rurami w spirali, lepiej sprawdza się w dużych pomieszczeniach.</p> </div> <div class="schema-faq-section" id="faq-question-1746973851571"><strong class="schema-faq-question">Jakie odstępy między rurami są najlepsze w układzie meandrowym?</strong> <p class="schema-faq-answer">Standardowy rozstaw to 10-20 cm, ale w strefach brzegowych (np. przy oknach) zaleca się nawet 5 cm, aby zwiększyć efektywność ogrzewania.</p> </div> <div class="schema-faq-section" id="faq-question-1746973884709"><strong class="schema-faq-question">Czy mogę samodzielnie zamontować ogrzewanie podłogowe w układzie meander?</strong> <p class="schema-faq-answer">Samodzielny montaż jest możliwy, ale wymaga wiedzy o rozmieszczeniu rur, próbie szczelności i normach (np. EN 1264). Profesjonalny projekt i ekipa minimalizują ryzyko błędów.</p> </div> <div class="schema-faq-section" id="faq-question-1746973925299"><strong class="schema-faq-question">Czy ogrzewanie podłogowe w układzie meandrowym jest energooszczędne?</strong> <p class="schema-faq-answer">Tak, szczególnie w połączeniu z pompą ciepła. Układ meandrowy działa w niskich temperaturach (35-45°C), co obniża zużycie energii w porównaniu do grzejników.</p> </div> <div class="schema-faq-section" id="faq-question-1746973943964"><strong class="schema-faq-question">Jak uniknąć błędów przy montażu podłogówki w układzie meandrowym?</strong> <p class="schema-faq-answer">Kluczowe jest profesjonalne projektowanie, unikanie rur pod zabudową, prawidłowa próba szczelności i zgodność z normami, np. EN 1264. Sprawdź najczęstsze błędy przy montażu ogrzewania podłogowego.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p class="wp-block-paragraph"><strong>Instalacja ogrzewania podłogowego w układzie meandrowym</strong> to efektywne rozwiązanie, które łączy prostotę, komfort i oszczędności. Kluczowe jest staranne planowanie pętli, wybór materiałów i profesjonalny projekt. Dzięki temu system zapewni ciepło i obniży rachunki za ogrzewanie.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="5pGDJnlkuc"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=NaCy7BiX3w#?secret=5pGDJnlkuc" data-secret="5pGDJnlkuc" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Instalacja ogrzewania podłogowego w układzie meandrowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
