<?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 Pompy obiegowe - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/pompy-obiegowe/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/pompy-obiegowe/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 05 Jul 2026 10:17:16 +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 Pompy obiegowe - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/pompy-obiegowe/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 09:13:56 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy obiegowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[dobór pompy]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja podłogówki]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator pompy obiegowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa 25-60]]></category>
		<category><![CDATA[pompa do podłogówki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt instalacji grzewczej]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przepływ instalacji]]></category>
		<category><![CDATA[przepływ w instalacji]]></category>
		<category><![CDATA[wysokość podnoszenia pompy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3575</guid>

					<description><![CDATA[<p>Dobór odpowiedniej pompy obiegowej ma ogromny wpływ na sprawność i komfort działania instalacji grzewczej. Właśnie dlatego kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym może być niezwykle pomocnym narzędziem dla inwestorów, instalatorów oraz osób planujących budowę domu. Dzięki niemu można w prosty sposób oszacować wymagany przepływ wody oraz wysokość podnoszenia pompy, a następnie dopasować urządzenie do realnych parametrów instalacji. W artykule pokazuję krok po kroku, jak wykonać podstawowe obliczenia, zrozumieć charakterystyki pomp i uniknąć najczęstszych błędów przy projektowaniu podłogówki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light-blue: #f0f9ff;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-gold: #f59e0b;
    --rk-intro-gold-light: #fffbeb;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-intro-blue);
    overflow: hidden;
}

/* Mocne Otwarcie - Nagłówek */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-intro-gold);
}

.rk-intro-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-intro-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-intro-gold);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-intro-hook {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Szybka Odpowiedź (Featured Snippet) */
.rk-quick-answer {
    padding: 25px 40px;
    background: var(--rk-intro-gold-light);
    border-bottom: 1px solid #fde68a;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-qa-badge {
    background: var(--rk-intro-gold);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
}

.rk-qa-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #92400e;
    font-weight: 600;
}

.rk-qa-content strong {
    font-weight: 900;
    color: #78350f;
}

/* Interaktywna Agenda */
.rk-intro-agenda {
    padding: 35px 40px;
    background: #ffffff;
}

.rk-agenda-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
}

.rk-agenda-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    overflow: hidden;
}

/* Przyciski nawigacyjne - Bez animacji */
.rk-agenda-nav {
    background: #f8fafc;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
}

.rk-agenda-btn {
    padding: 18px 20px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rk-intro-border);
    text-align: left;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-agenda-btn:last-child {
    border-bottom: none;
}

.rk-agenda-btn:hover {
    background: #f1f5f9;
}

.rk-agenda-btn.rk-active {
    background: var(--rk-intro-blue);
    color: #ffffff;
}

.rk-agenda-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Panele z treścią - Bez animacji */
.rk-agenda-panels {
    padding: 30px;
    background: #ffffff;
}

.rk-agenda-panel {
    display: none;
}

.rk-agenda-panel.rk-active {
    display: block;
}

.rk-agenda-panel h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
}

.rk-agenda-panel p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-intro-text);
}

.rk-agenda-panel ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-intro-text);
    font-size: 14px;
    line-height: 1.6;
}

.rk-agenda-panel li {
    margin-bottom: 8px;
}

/* Informacja o kalkulatorach */
.rk-tools-teaser {
    margin-top: 30px;
    padding: 15px 20px;
    background: var(--rk-intro-light-blue);
    border-left: 4px solid var(--rk-intro-blue);
    border-radius: 0 8px 8px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-tools-teaser p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0369a1;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 25px 20px; }
    .rk-intro-header h2 { font-size: 22px; }
    .rk-quick-answer { flex-direction: column; padding: 20px; gap: 15px; }
    .rk-intro-agenda { padding: 25px 20px; }
    .rk-agenda-grid { grid-template-columns: 1fr; }
    .rk-agenda-nav { border-right: none; border-bottom: 1px solid var(--rk-intro-border); }
    .rk-agenda-panels { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym – Poradnik i algorytm",
    "description": "Zestawienie interaktywnych kalkulatorów i algorytmów obliczania przepływu oraz wysokości podnoszenia pomp obiegowych (OZC, długości pętli, awarie).",
    "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/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wstep",
    "name": "Zestawienie Zmiennych Projektowych dla Pomp Obiegowych 2026",
    "description": "Indeks kluczowych składowych artykułu: od wzorów na przepływ wody, przez parametry oporów rur, aż po zestawienia tabelaryczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym",
      "szybka odpowiedź dobór pompy",
      "jak dobrać pompę obiegową do podłogówki",
      "algorytm doboru pompy przepływ Q i wysokość H",
      "parametry pompy obiegowej podłogówka"
    ],
    "measurementTechnique": "Hierarchiczne drzewo zawartości umożliwiające nawigację po interaktywnych modułach hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ objętościowy wody: Metodyka wyliczania Q na bazie OZC.",
        "Wysokość podnoszenia H: Obliczanie strat liniowych dla najdłuższej pętli.",
        "Średnice rur: Wpływ rur PEX na powstawanie zjawiska kawitacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wstep",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Moduł wstępny typu 'Quick Answer' oraz przełącznik kontekstowy wprowadzający użytkownika w tematykę obliczeń hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container">
    <div class="rk-intro-header">
        <h2>
            <svg class="rk-intro-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
            </svg>
            Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym
        </h2>
        <p class="rk-intro-hook">Masz dość zgadywania, czy pompa &#8222;uciągnie&#8221; najdalsze pętle w salonie? Błędny dobór pompy obiegowej to najczęstsza przyczyna zimnych posadzek i uciążliwego świstu w rozdzielaczach. Ten przewodnik bezlitośnie rozprawia się z mitami instalatorskimi, dając Ci do ręki czystą inżynierię i twarde wzory.</p>
    </div>

    <div class="rk-quick-answer">
        <div class="rk-qa-badge">Szybka Odpowiedź</div>
        <div class="rk-qa-content">
            <p>Prawidłowy punkt pracy pompy obiegowej wyznacza się na podstawie dwóch parametrów: <strong>wymaganego przepływu wody (Q)</strong>, liczonego ze spadku temperatury oraz <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> budynku (zazwyczaj od 0,5 do 2,5 m³/h), oraz <strong>wysokości podnoszenia (H)</strong> determinowanej przez opory hydrauliczne najdłuższej pętli (najczęściej od 3,5 do 5,5 m słupa wody). Urządzenie należy dopasować bezpośrednio do krzywych charakterystyki pomp, a nie dobierać „z zapasem”.</p>
        </div>
    </div>

    <div class="rk-intro-agenda">
        <h3 class="rk-agenda-title">Czego dowiesz się z tego kompendium?</h3>
        
        <div class="rk-agenda-grid">
            <div class="rk-agenda-nav">
                <button class="rk-agenda-btn rk-active" data-id="tab-1">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Fizyka Płynów (Q i H)
                </button>
                <button class="rk-agenda-btn" data-id="tab-2">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    Błędy Instalatorów
                </button>
                <button class="rk-agenda-btn" data-id="tab-3">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line></svg>
                    Średnice rur zasilających
                </button>
            </div>

            <div class="rk-agenda-panels">
                <div class="rk-agenda-panel rk-active" id="tab-1">
                    <h4>Zależności matematyczne przepływu</h4>
                    <p>Zrozumiesz, jak dokładnie parametry Twojego domu wpływają na zachowanie wody w rurach. Omówimy:</p>
                    <ul>
                        <li>Jak obliczyć strumień masowy z różnicy temperatur (ΔT 5K i 6K).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> tworzy tzw. króla hydraulicznego.</li>
                        <li>Dlaczego podnoszenie pompy nie zależy od piętra w domu.</li>
                    </ul>
                </div>
                
                <div class="rk-agenda-panel" id="tab-2">
                    <h4>Najdroższe awarie systemu</h4>
                    <p>Dowiesz się, jakie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy popełniają instalatorzy</a>, co bezpośrednio uderza w Twój portfel.</p>
                    <ul>
                        <li>Przewymiarowanie pompy (mit &#8222;im większa tym lepsza&#8221;).</li>
                        <li>Złe ustawienia (Constant Speed vs Constant Pressure).</li>
                        <li>Ryzyko braku separatorów i zalania surową wodą.</li>
                    </ul>
                </div>

                <div class="rk-agenda-panel" id="tab-3">
                    <h4>Piony i kawitacja</h4>
                    <p>Przeanalizujemy krytyczny element dystrybucji czynnika grzewczego – rury łączące źródło ciepła z rozdzielaczem.</p>
                    <ul>
                        <li>Wpływ średnicy rury PEX na ryzyko wystąpienia szumów.</li>
                        <li>Kalkulacja prędkości przepływu (normy DIN 1988).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">średnica rury zasilającej rozdzielacz</a> ratuje całą instalację.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="rk-tools-teaser">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            <p>Zamiast liczyć ręcznie – w dalszej części artykułu przygotowałem dedykowane interaktywne <strong>kalkulatory i symulatory graficzne</strong>, które przeanalizują Twoją instalację i same wyznaczą punkt pracy.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-agenda-btn');
    var panels = document.querySelectorAll('.rk-agenda-panel');

    for (var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-id');

            // Usuwanie klas aktywnych (bez animacji i bezpiecznie)
            for (var b = 0; b < btns.length; b++) {
                btns[b].classList.remove('rk-active');
            }
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli natychmiastowo
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-active');
            }
            
            // Pokazywanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-blue: #0284c7;
    --rk-flow-light: #f0f9ff;
    --rk-flow-red: #ef4444;
    --rk-flow-green: #10b981;
    --rk-flow-yellow: #f59e0b;
    --rk-flow-border: #e2e8f0;
    --rk-flow-bg: #ffffff;
    --rk-flow-text: #475569;
}

.rk-flow-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-flow-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-flow-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-flow-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-flow-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-flow-blue);
}

.rk-flow-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-flow-header-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-flow-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Tekst / Teoria */
.rk-flow-content {
    padding: 35px 45px;
    background: #ffffff;
}

.rk-flow-content h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

.rk-flow-content p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-flow-text);
    margin: 0 0 20px 0;
}

.rk-flow-math {
    background: var(--rk-flow-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-flow-blue);
    margin: 25px 0;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-flow-dark);
    letter-spacing: 1px;
}

.rk-flow-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.rk-flow-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    color: var(--rk-flow-text);
    line-height: 1.6;
}

.rk-flow-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rk-flow-blue);
    font-weight: 800;
}

/* Interaktywny Kalkulator */
.rk-flow-calc-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-flow-border);
}

.rk-flow-calc-area h3 {
    margin: 0 0 25px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

.rk-flow-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Sekcja Suwaków */
.rk-flow-inputs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-slider-box {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

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

.rk-slider-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-flow-text);
    text-transform: uppercase;
}

.rk-slider-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-flow-blue);
}

.rk-flow-range {
    width: 100%;
    accent-color: var(--rk-flow-blue);
    cursor: pointer;
    height: 6px;
    border-radius: 3px;
}

/* Sekcja Wyniku */
.rk-flow-result {
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-flow-blue);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.rk-flow-result::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 6px;
    background: var(--rk-flow-blue);
    transition: background 0.4s;
}

.rk-result-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-flow-text);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-result-value {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    margin: 0 0 15px 0;
    line-height: 1;
}

.rk-result-unit {
    font-size: 20px;
    color: var(--rk-flow-blue);
}

.rk-result-status {
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    width: 100%;
    transition: all 0.3s;
}

/* Dynamiczne stany wizualne wyniku */
.rk-state-optimal {
    border-color: var(--rk-flow-green);
}
.rk-state-optimal::before { background: var(--rk-flow-green); }
.rk-state-optimal .rk-result-status {
    background: #dcfce7; color: #166534;
}

.rk-state-warning {
    border-color: var(--rk-flow-yellow);
}
.rk-state-warning::before { background: var(--rk-flow-yellow); }
.rk-state-warning .rk-result-status {
    background: #fef3c7; color: #92400e;
}

.rk-state-danger {
    border-color: var(--rk-flow-red);
}
.rk-state-danger::before { background: var(--rk-flow-red); }
.rk-state-danger .rk-result-status {
    background: #fee2e2; color: #b91c1c;
}

@media (max-width: 768px) {
    .rk-flow-header, .rk-flow-content, .rk-flow-calc-area { padding: 25px 20px; }
    .rk-flow-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-flow-math { font-size: 16px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?",
    "description": "Matematyczna zależność pomiędzy projektowym obciążeniem cieplnym budynku (OZC), a spadkiem temperatury ΔT. Wzór Q = P / (1,163 x ΔT) w praktyce.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-przeplyw",
    "name": "Zestawienie Wymaganych Przepływów Masowych dla Pomp Obiegowych 2026",
    "description": "Baza danych określająca bezpieczne granice wydajności hydraulicznej zapobiegające powstawaniu szumów i zjawiska zimnej podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wymagany przepływ wody ogrzewanie podłogowe",
      "wzór na wydajność pompy obiegowej",
      "projektowe obciążenie cieplne ozc",
      "szum na rotametrach rozdzielacza",
      "prędkość krytyczna przepływu wody"
    ],
    "measurementTechnique": "Algorytm oparty o wzór Q = P / (1,163 * ΔT) diagnozujący potencjalne zagrożenia w przepływie masowym układu dystrybucji ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalny przepływ w domach: 0.5 - 2.5 m3/h.",
        "Przekroczenie (np. 3.0 m3/h): Ryzyko przepływu turbulentnego i hałasu.",
        "Zaniżenie: Zimny powrót i brak samoodpowietrzania (wymagane v > 0.25 m/s)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-przeplyw",
    "name": "Symulator Przepływu Masowego Q",
    "description": "Interaktywne narzędzie obliczające na żywo wydajność pompy obiegowej na podstawie mocy grzewczej i spadku temperatury ΔT.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-wrapper">
    <div class="rk-flow-header">
        <svg class="rk-flow-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
        </svg>
        <h2>Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?</h2>
    </div>

    

    <div class="rk-flow-content">
        <p>Wymagany przepływ masowy i objętościowy wody w instalacji ogrzewania podłogowego wynosi od 0,5 m³/h do 2,5 m³/h dla domów jednorodzinnych i musi być obliczany w oparciu o projektowe obciążenie cieplne budynku według normy PN-EN 12831 oraz założony spadek temperatury ΔT wynoszący ściśle 5 K lub 6 K. Bezpośrednia odpowiedź na to pytanie opiera się na matematycznym powiązaniu dostarczanej mocy termicznej z pojemnością cieplną nośnika. Każde odstępstwo od wyliczonego przepływu skutkuje zachwianiem równowagi termicznej budynku, powodując asymetrię temperaturową posadzki, co drastycznie obniża deklarowaną efektywność energetyczną układu grzewczego.</p>

        <h3>Matematyczna zależność strumienia masowego od mocy</h3>
        <p>Aby obliczyć przepływ wody (wydajność pompy Q), stosuje się podstawowe równanie wymiany ciepła, przekształcone do celów inżynierii sanitarnej. Przykład: przy projektowym zapotrzebowaniu na moc P = 11,5 kW i różnicy temperatur ΔT = 5 K (gdzie parametry zasilania i powrotu to np. 35/30°C), nominalny przepływ objętościowy wynosi dokładnie 1,98 m³/h (czyli dokładnie 1977,6 litrów na godzinę ciągłego przepływu).</p>
        
        <div class="rk-flow-math">
            Q = P / (1,163 × ΔT)
        </div>

        <ul class="rk-flow-list">
            <li><strong>Q</strong> – przepływ objętościowy wody w instalacji płaszczyznowej [m³/h]</li>
            <li><strong>P</strong> – <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne</a> podłogówki wyznaczone z bilansu OZC [kW]</li>
            <li><strong>1,163</strong> – stała przeliczeniowa uwzględniająca gęstość wody (ok. 1000 kg/m³) oraz ciepło właściwe</li>
        </ul>

        <p>Rozwijając to zagadnienie z perspektywy inżynierskiej, stała ta wynika bezpośrednio z zamiany jednostek energii z dżuli na kilowatogodziny oraz masy na metry sześcienne. Przepływ ten musi być dystrybuowany w taki sposób, aby prędkość wody w poszczególnych pętlach nie spadła poniżej prędkości krytycznej umożliwiającej samoczynne odpowietrzanie układu (tj. minimum 0,25 m/s). Jeśli prędkość będzie mniejsza, pęcherze powietrza utkną w najwyższych punktach jastrychu, trwale odcinając emisję ciepła.</p>

        <h3>Konsekwencje błędnego wyznaczenia przepływu Q</h3>
        <p>Zaniżenie parametru powoduje, że woda wychładza się zbyt szybko w początkowych metrach pętli grzewczej. Efektem jest tzw. „zimna podłoga” na powrocie i głębokie niedogrzanie pomieszczeń oddalonych od rozdzielacza. Z kolei zawyżenie przepływu zmusza pompę do pracy na najwyższych biegach charakterystyki, co podnosi zużycie energii elektrycznej i generuje <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">uciążliwy szum na rotametrach</a> wskutek przekroczenia prędkości krytycznej (v > 0,5 m/s). Pętla hydrauliczna traci wówczas zdolność do laminarnego przepływu.</p>
    </div>

    <div class="rk-flow-calc-area">
        <h3>Symulacja Wydajności Pompy (Q)</h3>
        
        <div class="rk-flow-grid">
            <div class="rk-flow-inputs">
                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Zapotrzebowanie (P)</span>
                        <span class="rk-slider-val"><span id="rk-val-power">10.0</span> kW</span>
                    </div>
                    <input type="range" id="rk-slider-power" class="rk-flow-range" min="4" max="25" step="0.5" value="10">
                </div>

                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Spadek temp. (ΔT)</span>
                        <span class="rk-slider-val"><span id="rk-val-dt">5</span> K</span>
                    </div>
                    <input type="range" id="rk-slider-dt" class="rk-flow-range" min="3" max="10" step="1" value="5">
                </div>
            </div>

            <div class="rk-flow-result rk-state-optimal" id="rk-result-box">
                <div class="rk-result-label">Wymagany przepływ masowy Q</div>
                <div class="rk-result-value" id="rk-flow-output">1.72 <span class="rk-result-unit">m³/h</span></div>
                <div class="rk-result-status" id="rk-flow-status">Optymalny punkt pracy dla pompy domowej</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var powerSlider = document.getElementById('rk-slider-power');
    var dtSlider = document.getElementById('rk-slider-dt');
    var valPower = document.getElementById('rk-val-power');
    var valDt = document.getElementById('rk-val-dt');
    var flowOutput = document.getElementById('rk-flow-output');
    var resultBox = document.getElementById('rk-result-box');
    var statusText = document.getElementById('rk-flow-status');

    function calculateFlow() {
        var p = parseFloat(powerSlider.value);
        var dt = parseInt(dtSlider.value);
        
        valPower.textContent = p.toFixed(1);
        valDt.textContent = dt;

        // Główny wzór inżynierski
        var q = p / (1.163 * dt);
        flowOutput.innerHTML = q.toFixed(2) + ' <span class="rk-result-unit">m³/h</span>';

        // Czyszczenie klas
        resultBox.classList.remove('rk-state-optimal');
        resultBox.classList.remove('rk-state-warning');
        resultBox.classList.remove('rk-state-danger');

        // Logika diagnozy (bez znaków &&)
        if (q < 0.5) {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Ryzyko niedogrzania! Przepływ jest zbyt mały, by usunąć powietrze z rur.";
        } else if (q <= 2.5) {
            resultBox.classList.add('rk-state-optimal');
            statusText.textContent = "Optymalny przepływ dla standardowej domowej instalacji.";
        } else if (q <= 3.5) {
            resultBox.classList.add('rk-state-warning');
            statusText.textContent = "Wysoki strumień! Zadbaj o większe rury zasilające, by uniknąć szumów.";
        } else {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Krytyczny przepływ! Standardowa pompa domowa sobie nie poradzi.";
        }
    }

    powerSlider.addEventListener('input', calculateFlow);
    dtSlider.addEventListener('input', calculateFlow);
    calculateFlow(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-head-dark: #0f172a;
    --rk-head-blue: #0284c7;
    --rk-head-light: #f0f9ff;
    --rk-head-green: #10b981;
    --rk-head-green-light: #f0fdf4;
    --rk-head-yellow: #eab308;
    --rk-head-yellow-light: #fefce8;
    --rk-head-red: #ef4444;
    --rk-head-red-light: #fef2f2;
    --rk-head-border: #e2e8f0;
    --rk-head-bg: #ffffff;
    --rk-head-text: #475569;
}

.rk-head-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-head-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-head-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-head-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-head-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-head-blue);
}

.rk-head-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    line-height: 1.3;
}

.rk-head-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-head-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Treść tekstowa */
.rk-head-content {
    padding: 35px 45px 20px;
    background: #ffffff;
}

.rk-head-content h3 {
    margin: 0 0 15px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-head-content p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-head-text);
    margin: 0 0 20px 0;
}

/* Wzór Matematyczny HTML */
.rk-math-panel {
    background: var(--rk-head-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-head-blue);
    margin-bottom: 25px;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-head-dark);
    letter-spacing: 0.5px;
}

.rk-math-panel span {
    color: var(--rk-head-blue);
}

/* Interaktywny Symulator */
.rk-head-interactive {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-head-border);
}

.rk-head-interactive h3 {
    margin: 0 0 25px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-sim-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Kontrolki Suwaka */
.rk-slider-box {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-head-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-slider-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-head-text);
    text-transform: uppercase;
}

.rk-slider-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-head-blue);
}

.rk-range-input {
    width: 100%;
    accent-color: var(--rk-head-blue);
    cursor: pointer;
    height: 8px;
    border-radius: 4px;
}

/* Panel Wynikowy */
.rk-result-box {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--rk-head-border);
    background: #ffffff;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-result-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 15px 0;
    transition: color 0.3s;
}

.rk-result-metrics {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
}

.rk-metric-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--rk-head-text);
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--rk-head-border);
}

.rk-metric-row:last-child {
    border-bottom: none;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-result-desc {
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    font-weight: 600;
}

/* Stany Wizualne */
.rk-state-safe {
    border-color: var(--rk-head-green);
    background: var(--rk-head-green-light);
}
.rk-state-safe .rk-result-title { color: #059669; }
.rk-state-safe .rk-result-desc { color: #047857; }

.rk-state-warn {
    border-color: var(--rk-head-yellow);
    background: var(--rk-head-yellow-light);
}
.rk-state-warn .rk-result-title { color: #d97706; }
.rk-state-warn .rk-result-desc { color: #b45309; }

.rk-state-danger {
    border-color: var(--rk-head-red);
    background: var(--rk-head-red-light);
}
.rk-state-danger .rk-result-title { color: #dc2626; }
.rk-state-danger .rk-result-desc { color: #b91c1c; }

@media (max-width: 768px) {
    .rk-head-header, .rk-head-content, .rk-head-interactive { padding: 25px 20px; }
    .rk-sim-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-math-panel { font-size: 14px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-podnoszenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?",
    "description": "Fizyka strat ciśnienia w instalacji podłogowej. Wyjaśniamy jak długość pętli wpływa na opory miejscowe i dlaczego zjawisko króla hydraulicznego niszczy pompy.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-podnoszenie",
    "name": "Tabela Oporów Hydraulicznych Pętli PEX 16mm 2026",
    "description": "Zestawienie straty ciśnienia wyrażonej w Pa/m oraz wysokości podnoszenia w zależności od długości ułożonej pętli ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "opór jednostkowy rury pex 16",
      "wysokość podnoszenia pompy obiegowej",
      "król hydrauliczny w podłogówce",
      "straty ciśnienia w instalacji CO"
    ],
    "measurementTechnique": "Kalkulacja strat liniowych (150 Pa/m dla 2.0 l/min) powiększona o wykładniczy wzrost oporów przy pętlach przekraczających normę PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Normatywna długość pętli 16mm: max 100-120m (strata rzędu 1.65m H2O).",
        "Przekroczenie (150m): Generuje opory powyżej 32 kPa (3.2m H2O) wymuszając instalację większej pompy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-podnoszenie",
    "name": "Symulator Oporów Hydraulicznych Pętli",
    "description": "Narzędzie pozwalające na dynamiczne modelowanie całkowitej wysokości podnoszenia pompy (H) poprzez modyfikację długości najdłuższej pętli grzewczej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-head-container">
    <div class="rk-head-header">
        <svg class="rk-head-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
        </svg>
        <h2>Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?</h2>
    </div>

    

    <div class="rk-head-content">
        <p>Wysokość podnoszenia pompy obiegowej dla standardowej instalacji płaszczyznowej wynosi zazwyczaj od 3,5 m do 5,5 m słupa wody (co odpowiada 35–55 kPa) i jest determinowana wyłącznie przez sumaryczne opory hydrauliczne najdłuższej, najbardziej obciążonej pętli grzewczej, a nie przez fizyczną wysokość budynku. Zgodnie z normą PN-EN 1264-4, maksymalna długość pojedynczej pętli z rury o średnicy 16 mm nie powinna przekraczać 100–120 m.</p>

        <h3>Fizyka strat ciśnienia: liniowe i miejscowe opory instalacji</h3>
        <p>Wysokość podnoszenia (H) to zdolność pompy do pokonania oporów tarcia strumienia cieczy o wewnętrzne ścianki rur (straty liniowe) oraz oporów na zmianach kierunku, zwężkach, kolankach i zaworach regulacyjnych (straty miejscowe). Szacowanie tego parametru metodą „na oko” to prosty przepis na katastrofę. Przyjmując powszechnie stosowaną rurę PERT/AL/PEX 16x2 mm przy przepływie rzędu 2,0 l/min, liniowa strata ciśnienia wynosi średnio 150 Pa/m (czyli 0,015 m H₂O/m).</p>
        
        <p>Dla optymalnej pętli o długości 110 m czysta strata liniowa wynosi:</p>

        <div class="rk-math-panel">
            Δp<sub>lin</sub> = 110 m × 150 Pa/m = 16 500 Pa = <span>1,65 m H₂O</span>
        </div>

        <p>Do tej wartości należy doliczyć opory miejscowe: kolana ułożenia ślimakowego, podejścia do szafki, a także opór samego rozdzielacza z rotametrami (ok. 15–20 kPa czyli 1,5–2,0 m) oraz zaworów mieszających. Kalkulator inżynierski zawsze uwzględnia również współczynnik starzenia rur.</p>

        <h3>Wpływ długości pętli na wymiarowanie hydrauliczne</h3>
        <p>Jeśli instalator bezmyślnie ułożył pętlę o długości 150 m, strata ciśnienia na samej rurze wzrasta drastycznie ze względu na wykładniczy wzrost oporów. Taka <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> staje się tzw. „królem hydraulicznym” całego układu – dławi przepływ i zmusza inwestora do zakupu pompy o wysokości podnoszenia 8 m, rujnując autoadaptacyjne tryby pracy energooszczędnych pomp.</p>
    </div>

    <div class="rk-head-interactive">
        <h3>Symulator Oporów Hydraulicznych Pętli (H)</h3>
        
        <div class="rk-sim-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-info">
                    <span class="rk-slider-label">Długość pętli (PEX 16mm):</span>
                    <span class="rk-slider-value"><span id="rk-loop-val">100</span> m</span>
                </div>
                <input type="range" id="rk-loop-slider" class="rk-range-input" min="60" max="160" step="5" value="100">
            </div>

            <div class="rk-result-box rk-state-safe" id="rk-result-panel">
                <h4 class="rk-result-title" id="rk-result-title">Instalacja Bezpieczna</h4>
                
                <div class="rk-result-metrics">
                    <div class="rk-metric-row">
                        <span>Strata liniowa rury:</span>
                        <span id="rk-loss-lin">1.50 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Opory rozdzielacza / zaworów:</span>
                        <span>2.00 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Wymagane podnoszenie pompy (H):</span>
                        <span id="rk-loss-total" style="color: var(--rk-head-blue);">3.50 m</span>
                    </div>
                </div>
                
                <p class="rk-result-desc" id="rk-result-desc">Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-loop-slider');
    var displayVal = document.getElementById('rk-loop-val');
    var dispLin = document.getElementById('rk-loss-lin');
    var dispTotal = document.getElementById('rk-loss-total');
    var panel = document.getElementById('rk-result-panel');
    var title = document.getElementById('rk-result-title');
    var desc = document.getElementById('rk-result-desc');

    function updateHydraulics() {
        var length = parseInt(slider.value);
        displayVal.textContent = length;

        // Podstawowy opór liniowy: 0.015 m/m
        var baseLoss = length * 0.015;
        
        // Symulacja zjawiska "króla hydraulicznego" (wykładniczy wzrost przy długich pętlach z uwagi na konieczność tłoczenia większej masy)
        // Bez operatorów &&
        if (length > 110) {
            var over = length - 110;
            var penalty = (over * over) * 0.0006;
            baseLoss = baseLoss + penalty;
        }

        var totalHead = baseLoss + 2.0; // + 2.0m na rozdzielacz

        dispLin.textContent = baseLoss.toFixed(2) + " m H₂O";
        dispTotal.textContent = totalHead.toFixed(2) + " m";

        // Reset klas
        panel.classList.remove('rk-state-safe');
        panel.classList.remove('rk-state-warn');
        panel.classList.remove('rk-state-danger');

        // Logika przypisania stanów bez użycia &&
        if (length <= 100) {
            panel.classList.add('rk-state-safe');
            title.textContent = "Instalacja Bezpieczna";
            desc.textContent = "Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.";
        } else if (length <= 120) {
            panel.classList.add('rk-state-warn');
            title.textContent = "Wartość Graniczna";
            desc.textContent = "Pętla zbliża się do limitów normy PN-EN 1264. Wymaga starannego zrównoważenia na przepływomierzach, aby nie zakłócić pracy krótszych obiegów.";
        } else {
            panel.classList.add('rk-state-danger');
            title.textContent = "Król Hydrauliczny!";
            desc.textContent = "Krytyczny opór! Taka pętla zadławi układ. Konieczny będzie montaż przewymiarowanej pompy 25-80, co drastycznie podniesie zużycie prądu i wygeneruje hałas.";
        }
    }

    slider.addEventListener('input', updateHydraulics);
    updateHydraulics(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0284c7;
    --rk-pipe-light: #f0f9ff;
    --rk-pipe-red: #ef4444;
    --rk-pipe-red-light: #fef2f2;
    --rk-pipe-green: #10b981;
    --rk-pipe-green-light: #f0fdf4;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-bg: #ffffff;
    --rk-pipe-text: #475569;
}

.rk-pipe-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pipe-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-pipe-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-pipe-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-pipe-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-pipe-blue);
}

.rk-pipe-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-pipe-icon {
    width: 34px;
    height: 34px;
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-pipe-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-pipe-header a {
    color: #7dd3fc;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Treść techniczna */
.rk-pipe-body {
    padding: 35px 45px 25px;
    background: #ffffff;
}

.rk-pipe-body h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-pipe-dark);
}

.rk-pipe-body p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-pipe-text);
    margin: 0 0 20px 0;
}

/* Formatowanie inżynierskiego wzoru bez LaTeX */
.rk-math-box {
    background: var(--rk-pipe-light);
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-pipe-blue);
    margin-bottom: 25px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-pipe-dark);
    text-align: center;
}

/* Symulator interaktywny */
.rk-sim-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-pipe-border);
}

.rk-sim-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-pipe-btn {
    background: #ffffff;
    border: 2px solid var(--rk-pipe-border);
    padding: 20px;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-pipe-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-pipe-btn h4 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
}

.rk-pipe-btn p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-pipe-text);
    font-weight: 600;
}

/* Stany Aktywne Przycisków */
.rk-btn-danger.rk-active {
    border-color: var(--rk-pipe-red);
    background: var(--rk-pipe-red-light);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-btn-safe.rk-active {
    border-color: var(--rk-pipe-green);
    background: var(--rk-pipe-green-light);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

/* Ekran Wyniku Wizualnego */
.rk-sim-display {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-pipe-border);
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    transition: all 0.4s ease;
}

.rk-pipe-visual {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    position: relative;
}

/* Animacja SVG */
.rk-flow-path {
    stroke-dasharray: 15;
    transition: stroke 0.4s ease;
}

.rk-flow-fast { animation: flowAnim 0.4s linear infinite; stroke: var(--rk-pipe-red); }
.rk-flow-slow { animation: flowAnim 1.5s linear infinite; stroke: var(--rk-pipe-green); }

@keyframes flowAnim {
    from { stroke-dashoffset: 30; }
    to { stroke-dashoffset: 0; }
}

.rk-sim-data h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
}

.rk-sim-data p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-pipe-text);
}

.rk-data-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 16px;
}

/* Specyficzne stany panelu */
.rk-state-danger { border-color: var(--rk-pipe-red); }
.rk-state-danger h4 { color: var(--rk-pipe-red); }
.rk-state-danger .rk-data-badge { background: var(--rk-pipe-red); color: #ffffff; }

.rk-state-safe { border-color: var(--rk-pipe-green); }
.rk-state-safe h4 { color: var(--rk-pipe-green); }
.rk-state-safe .rk-data-badge { background: var(--rk-pipe-green); color: #ffffff; }

@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-body, .rk-sim-area { padding: 25px 20px; }
    .rk-sim-controls { grid-template-columns: 1fr; gap: 15px; }
    .rk-sim-display { flex-direction: column; text-align: center; gap: 20px; padding: 25px 20px; }
    .rk-pipe-visual { width: 100px; height: 100px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-srednica",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?",
    "description": "Szczegółowe obliczenia hydrauliczne dla pionu rozdzielacza. Zobacz drastyczne różnice w prędkości przepływu między rurą PEX 25 a PEX 32.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-srednica",
    "name": "Parametry Hydrauliczne Pionów Zasilających Rozdzielacze 2026",
    "description": "Baza danych określająca dopuszczalne prędkości przepływu dla głównych linii zasilających układy płaszczyznowe w oparciu o normę DIN 1988.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jaka średnica rury zasilającej rozdzielacz",
      "rura PEX 32 czy 25 do rozdzielacza",
      "prędkość przepływu w rurach CO",
      "szumy w instalacji centralnego ogrzewania",
      "kawitacja w pompie obiegowej"
    ],
    "measurementTechnique": "Przekształcenie wzoru na pole przekroju koła i objętość cylindra do analizy krytycznych wartości pola strumienia (v = 4*Q / pi*d^2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX 25x2.5 (dn 20mm) - Prędkość 1.52 m/s przy 12kW (Krytyczna kawitacja).",
        "PEX 32x3.0 (dn 26mm) - Prędkość 0.90 m/s przy 12kW (Stabilny przepływ)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-srednica",
    "name": "Symulator Prędkości Przepływu Pionu",
    "description": "Interaktywna aplikacja edukacyjna symulująca wpływ zmiany średnicy rury głównej na prędkość czynnika roboczego i ryzyko uszkodzenia pompy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, JavaScript and CSS3 SVG Animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container">
    <div class="rk-pipe-header">
        <h2>
            <svg class="rk-pipe-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 12h4l3-9 5 18 3-9h5"></path>
            </svg>
            Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?
        </h2>
        <p>Średnica rury zasilającej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz do podłogówki</a> (pion zasilający) dla instalacji o łącznej mocy cieplnej do 15 kW musi mieć średnicę wewnętrzną wynoszącą minimum <strong>26 mm</strong> (co odpowiada rurze PEX 32x3 mm lub miedzi DN28), aby prędkość przepływu cieczy nie przekraczała bezpiecznej granicy <strong>0,8 m/s</strong> zgodnie z wytycznymi normy DIN 1988.</p>
    </div>

    <div class="rk-pipe-body">
        <h3>Obliczenia hydrauliczne dla pionu rozdzielacza</h3>
        <p>Zastosowanie zbyt małego przekroju drastycznie zwiększa opory jednostkowe i odcina rozdzielacz od wymaganego strumienia medium grzewczego. Przeanalizujmy konkretny przypadek: rozdzielacz obsługuje 10 pętli, łączna moc sekcji wynosi 12 kW, przy różnicy temperatur ΔT = 6 K. Wymagany przepływ sumaryczny to <strong>1,72 m³/h (0,000477 m³/s)</strong>.</p>
        
        <div class="rk-math-box">
            V = (4 × Q<sub>sek</sub>) / (π × d<sub>wew</sub>²)
        </div>
        
        <p>Gdzie <strong>V</strong> to prędkość przepływu, <strong>Q<sub>sek</sub></strong> to przepływ sumaryczny sekcji, a <strong>d<sub>wew</sub></strong> to rzeczywista średnica wewnętrzna rury. Zmiana rury zasilającej z 32 mm na 25 mm redukuje pole przekroju poprzecznego o ponad 40%, zmuszając ciecz do gwałtownego przyspieszenia.</p>
    </div>

    <div class="rk-sim-area">
        <h3 style="margin: 0 0 20px 0; font-size: 18px; color: var(--rk-pipe-dark);">Symulacja prędkości przepływu dla 12 kW:</h3>
        
        <div class="rk-sim-controls">
            <button class="rk-pipe-btn rk-btn-danger rk-active" id="btn-pipe-25">
                <h4>Wybierz: PEX 25x2.5</h4>
                <p>Średnica wewnętrzna 20 mm</p>
            </button>
            <button class="rk-pipe-btn rk-btn-safe" id="btn-pipe-32">
                <h4>Wybierz: PEX 32x3.0</h4>
                <p>Średnica wewnętrzna 26 mm</p>
            </button>
        </div>

        <div class="rk-sim-display rk-state-danger" id="pipe-display">
            <div class="rk-pipe-visual">
                <svg viewBox="0 0 100 100" width="100%" height="100%" fill="none" stroke-width="8" stroke-linecap="round">
                    <path d="M10 50 L90 50" stroke="#e2e8f0" stroke-width="24"/>
                    <path d="M10 50 L90 50" stroke="#f8fafc" stroke-width="16"/>
                    <path id="pipe-flow-anim" class="rk-flow-path rk-flow-fast" d="M10 50 L90 50" stroke-width="8"/>
                </svg>
            </div>
            <div class="rk-sim-data">
                <h4 id="pipe-result-title">Krytyczne przekroczenie (Kawitacja)</h4>
                <p id="pipe-result-desc">Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.</p>
                <div class="rk-data-badge" id="pipe-result-val">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg>
                    Prędkość: 1.52 m/s
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn25 = document.getElementById('btn-pipe-25');
    var btn32 = document.getElementById('btn-pipe-32');
    var displayPanel = document.getElementById('pipe-display');
    var animPath = document.getElementById('pipe-flow-anim');
    var title = document.getElementById('pipe-result-title');
    var desc = document.getElementById('pipe-result-desc');
    var valBadge = document.getElementById('pipe-result-val');

    function setPipe25() {
        // Zmiana klas przycisków
        btn25.classList.add('rk-active');
        btn32.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-safe');
        displayPanel.classList.add('rk-state-danger');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-slow');
        animPath.classList.add('rk-flow-fast');

        // Aktualizacja tekstów
        title.textContent = 'Krytyczne przekroczenie (Kawitacja)';
        desc.textContent = 'Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg> Prędkość: 1.52 m/s';
    }

    function setPipe32() {
        // Zmiana klas przycisków
        btn32.classList.add('rk-active');
        btn25.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-danger');
        displayPanel.classList.add('rk-state-safe');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-fast');
        animPath.classList.add('rk-flow-slow');

        // Aktualizacja tekstów
        title.textContent = 'Stabilny, cichy przepływ (Optymalny)';
        desc.innerHTML = 'Prędkość spada do akceptowalnego poziomu, a liniowa strata ciśnienia maleje do niecałych 180 Pa/m. To gwarantuje stabilną i cichą dystrybucję energii do wszystkich rotametrów. Wybór odpowiedniej <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rury PEX</a> ratuje całą hydraulikę.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg> Prędkość: 0.90 m/s';
    }

    // Bezpieczne nasłuchiwacze bez operatorów logicznych
    btn25.addEventListener('click', function() {
        var isAlreadyActive = btn25.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe25();
        }
    });

    btn32.addEventListener('click', function() {
        var isAlreadyActive = btn32.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe32();
        }
    });
});
</script>



<style>
:root {
    --rk-tab-dark: #0f172a;
    --rk-tab-blue: #0284c7;
    --rk-tab-light: #f0f9ff;
    --rk-tab-border: #e2e8f0;
    --rk-tab-bg: #ffffff;
    --rk-tab-text: #475569;
    --rk-tab-highlight: #38bdf8;
    --rk-tab-green: #10b981;
}

.rk-tab-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-tab-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-tab-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-tab-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-tab-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-tab-blue);
}

.rk-tab-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-tab-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-tab-highlight);
    flex-shrink: 0;
}

.rk-tab-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Interfejs Symulatora */
.rk-tab-interactive {
    padding: 30px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-tab-border);
}

.rk-tab-slider-wrap {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-tab-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-tab-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-tab-slider-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-tab-dark);
}

.rk-tab-slider-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-tab-blue);
}

.rk-slider-input {
    width: 100%;
    accent-color: var(--rk-tab-blue);
    cursor: pointer;
}

/* Karty Pomp (Zamiast standardowej tabeli) */
.rk-tab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #ffffff;
}

.rk-pump-card {
    background: #ffffff;
    border: 2px solid var(--rk-tab-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-pump-card.rk-active-card {
    border-color: var(--rk-tab-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.25);
    transform: translateY(-5px);
}

.rk-pump-card.rk-active-card::before {
    content: 'ZALECANA';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--rk-tab-blue);
    color: #ffffff;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    padding: 4px 0;
    letter-spacing: 1px;
}

.rk-pump-header {
    padding: 30px 20px 20px;
    text-align: center;
    border-bottom: 1px solid var(--rk-tab-border);
    background: #f8fafc;
}

.rk-pump-header h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-tab-dark);
}

.rk-pump-header span {
    display: block;
    font-size: 13px;
    color: var(--rk-tab-text);
    margin-top: 5px;
    font-weight: 600;
}

.rk-param-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-param-item {
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-param-item:last-child {
    border-bottom: none;
}

.rk-param-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 800;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.rk-param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-tab-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-param-value svg {
    width: 16px;
    height: 16px;
    color: var(--rk-tab-blue);
    flex-shrink: 0;
}

.rk-pump-price {
    padding: 20px;
    background: #f8fafc;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-tab-green);
    border-top: 1px solid var(--rk-tab-border);
}

/* Wnioski i kontekst */
.rk-tab-summary {
    padding: 30px 45px;
    background: #f0f9ff;
    border-top: 1px solid #bae6fd;
}

.rk-tab-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #0369a1;
}

.rk-tab-summary a {
    color: #0284c7;
    font-weight: 800;
    text-decoration: underline;
}

/* RWD - Akordeonowy stack dla mobile */
@media (max-width: 768px) {
    .rk-tab-header, .rk-tab-interactive, .rk-tab-grid, .rk-tab-summary { padding: 25px 20px; }
    .rk-tab-grid { grid-template-columns: 1fr; gap: 15px; }
    
    .rk-pump-card {
        border-width: 1px;
    }
    
    .rk-pump-card.rk-active-card {
        transform: translateY(0);
        border-width: 2px;
    }
    
    /* Mobilne zwijanie parametrów - ujawniają się tylko w aktywnej karcie */
    .rk-param-list, .rk-pump-price {
        display: none;
    }
    
    .rk-pump-card.rk-active-card .rk-param-list,
    .rk-pump-card.rk-active-card .rk-pump-price {
        display: block;
    }
    
    .rk-pump-header { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-tabela",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Tabela porównawcza parametrów technicznych pomp obiegowych",
    "description": "Zestawienie techniczne parametrów i cen najpopularniejszych elektronicznych pomp obiegowych ErP: 25-40, 25-60 oraz 25-80 dedykowanych do instalacji podłogowych.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-tabela",
    "name": "Zestawienie Parametrów Pomp Obiegowych 2026",
    "description": "Baza danych określająca specyfikację hydrauliczną i elektryczną (wysokość podnoszenia, moc W, przepływ, cena 2026) dla standardowych pomp instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa klasy 25-40 parametry",
      "wysokość podnoszenia pompy 25-60",
      "pobór mocy pompy obiegowej do podłogówki",
      "cennik pomp do podłogówki 2026",
      "maksymalny przepływ wody w podłogówce"
    ],
    "measurementTechnique": "Kompilacja i porównanie deklaracji właściwości użytkowych (EEI ≤ 0,20) producentów pomp elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "25-40: 4m, 2.4 m3/h, 3-22W, do 100m2",
        "25-60: 6m, 3.4 m3/h, 3-40W, 100-220m2",
        "25-80: 8m, 4.5 m3/h, 4-60W, >220m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-tabela",
    "name": "Interaktywna Porównywarka Pomp Obiegowych",
    "description": "Moduł aplikacyjny pozwalający na dopasowanie i wizualizację parametrów typoszeregu pomp na podstawie suwaka metrażu budynku.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tab-container">
    <div class="rk-tab-header">
        <h2>
            <svg class="rk-tab-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
                <line x1="3" y1="9" x2="21" y2="9"></line>
                <line x1="9" y1="21" x2="9" y2="9"></line>
            </svg>
            Tabela porównawcza parametrów technicznych pomp obiegowych
        </h2>
        <p>Poniższa specyfikacja przedstawia zestawienie kluczowych parametrów dla trzech najpopularniejszych typoszeregów elektronicznych pomp obiegowych (zgodnych z dyrektywą ErP, <strong>EEI ≤ 0,20</strong>) stosowanych w budownictwie jednorodzinnym.</p>
    </div>

    <div class="rk-tab-interactive">
        <div class="rk-tab-slider-wrap">
            <div class="rk-tab-slider-header">
                <span class="rk-tab-slider-title">Symulowana powierzchnia podłogówki:</span>
                <span class="rk-tab-slider-val"><span id="rk-tab-area-val">120</span> m²</span>
            </div>
            <input type="range" id="rk-tab-area-slider" class="rk-slider-input" min="50" max="350" step="10" value="120">
        </div>
    </div>

    <div class="rk-tab-grid">
        
        <div class="rk-pump-card" id="rk-pump-40">
            <div class="rk-pump-header">
                <h3>Klasa 25-40</h3>
                <span>Małe układy (np. 4m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 4,0 m (40 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 2,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 22 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Do 100 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">450 – 600 PLN</div>
        </div>

        <div class="rk-pump-card rk-active-card" id="rk-pump-60">
            <div class="rk-pump-header">
                <h3>Klasa 25-60</h3>
                <span>Standardowe domy (np. 6m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 6,0 m (60 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 3,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 40 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> 100 m² – 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">650 – 850 PLN</div>
        </div>

        <div class="rk-pump-card" id="rk-pump-80">
            <div class="rk-pump-header">
                <h3>Klasa 25-80</h3>
                <span>Rozbudowane układy (np. 8m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 8,0 m (80 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 4,5 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 4 W – 60 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Powyżej 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">1100 – 1400 PLN</div>
        </div>

    </div>

    <div class="rk-tab-summary">
        <p>
            Analizując powyższe parametry z tabeli, widać wyraźnie, że wybór odpowiedniego modelu musi opierać się na precyzyjnych obliczeniach dla danego budynku, a nie na zasadzie „im większa, tym lepsza”. Praca przewymiarowanej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy klasy 25-80</a> w małym domku drastycznie podnosi roczny <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszt eksploatacji instalacji</a> ze względu na wyższe zużycie prądu [W] oraz generuje uciążliwe szumy. Z kolei zbyt słaba pompa 25-40 w budynku piętrowym nie poradzi sobie z oporami długich pętli hydraulicznych, pozostawiając posadzkę chłodną.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-tab-area-slider');
    var valDisplay = document.getElementById('rk-tab-area-val');
    var p40 = document.getElementById('rk-pump-40');
    var p60 = document.getElementById('rk-pump-60');
    var p80 = document.getElementById('rk-pump-80');

    function updateHighlight() {
        var area = parseInt(slider.value);
        valDisplay.textContent = area;

        // Bezpieczny reset klas
        p40.classList.remove('rk-active-card');
        p60.classList.remove('rk-active-card');
        p80.classList.remove('rk-active-card');

        // Logika przypisania na podstawie powierzchni (bez użycia &&)
        if (area <= 100) {
            p40.classList.add('rk-active-card');
        } else if (area <= 220) {
            p60.classList.add('rk-active-card');
        } else {
            p80.classList.add('rk-active-card');
        }
    }

    slider.addEventListener('input', updateHighlight);
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #f0f9ff;
    --rk-calc-border: #e2e8f0;
    --rk-calc-bg: #ffffff;
    --rk-calc-text: #475569;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-calc-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-calc-border);
    overflow: hidden;
}

/* Nagłówek Kalkulatora */
.rk-calc-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-calc-blue);
}

.rk-calc-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-calc-header p {
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.rk-calc-icon-main {
    width: 32px;
    height: 32px;
    color: #38bdf8;
}

/* Sekcja Wprowadzania Danych */
.rk-calc-body {
    padding: 35px 45px;
    background: #f8fafc;
}

.rk-calc-body h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

.rk-calc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.rk-input-group {
    display: flex;
    flex-direction: column;
}

.rk-input-group label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-text);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-input-group input, 
.rk-input-group select {
    padding: 14px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-calc-dark);
    background: #ffffff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.rk-input-group input:focus, 
.rk-input-group select:focus {
    outline: none;
    border-color: var(--rk-calc-blue);
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

.rk-btn-calc {
    width: 100%;
    padding: 18px;
    background: var(--rk-calc-blue);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.rk-btn-calc:hover {
    background: #0369a1;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

/* Sekcja Wyników i Suwaków */
.rk-calc-results {
    padding: 35px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-calc-border);
}

.rk-sliders-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 30px;
}

.rk-slider-box {
    background: var(--rk-calc-blue-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #bae6fd;
}

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

.rk-slider-header span {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-text);
}

.rk-slider-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-calc-blue);
}

.rk-range {
    width: 100%;
    accent-color: var(--rk-calc-blue);
    cursor: pointer;
}

/* Rekomendacja */
.rk-recommendation {
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 18px;
    font-weight: 800;
    transition: all 0.4s ease;
}

/* Wykres */
.rk-chart-wrapper {
    height: 450px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    margin: 0 45px 40px;
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body, .rk-calc-results { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr 1fr; }
    .rk-sliders-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-chart-wrapper { margin: 0 20px 30px; height: 350px; }
}

@media (max-width: 480px) {
    .rk-calc-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator Doboru Pompy Obiegowej - Wykres i Obliczenia OZC",
    "description": "Profesjonalny kalkulator online wyznaczający punkt pracy pompy (przepływ Q, wysokość podnoszenia H) na podstawie obciążenia cieplnego i oporów hydraulicznych rur.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-kalkulator",
    "name": "Baza Parametrów Hydraulicznych i Cieplnych Ogrzewania Podłogowego 2026",
    "description": "Algorytmiczny model obliczeniowy oporów jednostkowych dla rur PEX/PERT oraz wymaganego zładu wody na podstawie OZC (Δt, zapotrzebowanie W/m2).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator pompy obiegowej",
      "obliczanie przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne rury PEX 16",
      "wykres charakterystyki pompy 25-60",
      "jak dobrać pompę do podłogówki"
    ],
    "measurementTechnique": "Wyznaczenie punktu przecięcia krzywej oporów instalacji z nomogramem wydajności pomp obiegowych (Q/H) zgodnych z dyrektywą ErP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 - bazowy opór szacunkowy przyjmowany w modelu: 0.015 mH2O/m",
        "Rura PEX 17 - bazowy opór szacunkowy przyjmowany w modelu: 0.013 mH2O/m",
        "Ciepło właściwe i gęstość wody przeliczone stałą 1163"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-kalkulator",
    "name": "Kalkulator Doboru Pompy Ogrzewania Płaszczyznowego",
    "description": "Interaktywny symulator pozwalający na wyznaczenie przepływu objętościowego i wysokości podnoszenia w czasie rzeczywistym z wizualizacją na wykresie krzywych pomp.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Canvas",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container">
    <div class="rk-calc-header">
        <h2>
            <svg class="rk-calc-icon-main" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                <line x1="8" y1="21" x2="16" y2="21"></line>
                <line x1="12" y1="17" x2="12" y2="21"></line>
                <polyline points="10 7 14 10 10 13"></polyline>
            </svg>
            Kalkulator Doboru Pompy Obiegowej
        </h2>
        <p>Wprowadź precyzyjne dane projektowe lub estymowane z audytu OZC, aby wyznaczyć punkt pracy instalacji i sprawdzić go na tle rzeczywistych charakterystyk pomp.</p>
    </div>

    <div class="rk-calc-body">
        <h3>1. Parametry Instalacji Podłogowej</h3>
        <div class="rk-calc-grid">
            <div class="rk-input-group">
                <label>Powierzchnia (m²)</label>
                <input type="number" id="rk-in-area" value="120" min="10">
            </div>
            <div class="rk-input-group">
                <label>Moc cieplna (W/m²)</label>
                <input type="number" id="rk-in-load" value="60" min="10">
            </div>
            <div class="rk-input-group">
                <label>Różnica temp. ΔT (K)</label>
                <input type="number" id="rk-in-dt" value="5" min="2" max="15">
            </div>
            <div class="rk-input-group">
                <label>Ilość pętli</label>
                <input type="number" id="rk-in-loops" value="10" min="1">
            </div>
            <div class="rk-input-group">
                <label>Długość maks. pętli (m)</label>
                <input type="number" id="rk-in-avg" value="80" min="10">
            </div>
            <div class="rk-input-group">
                <label>Średnica rury zewnętrzna</label>
                <select id="rk-in-pipe">
                    <option value="16">PEX/PERT 16x2.0</option>
                    <option value="17" selected>PEX/PERT 17x2.0</option>
                    <option value="20">PEX/PERT 20x2.0</option>
                </select>
            </div>
        </div>
        <button id="rk-master-calc-btn" class="rk-btn-calc">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            Oblicz punkt pracy i odśwież wykres
        </button>
    </div>

    <div class="rk-calc-results">
        <h3>2. Obliczony punkt pracy i autoadaptacja</h3>
        <div class="rk-sliders-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Przepływ (Q)</span>
                    <span class="rk-slider-val"><span id="rk-disp-q">1.40</span> m³/h</span>
                </div>
                <input type="range" id="rk-slider-q" class="rk-range" min="0.1" max="4" step="0.05" value="1.40">
            </div>
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Wysokość podnoszenia (H)</span>
                    <span class="rk-slider-val"><span id="rk-disp-h">4.00</span> m</span>
                </div>
                <input type="range" id="rk-slider-h" class="rk-range" min="0.1" max="8" step="0.05" value="4.00">
            </div>
        </div>
        
        <div id="rk-rec-box" class="rk-recommendation">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="28" height="28"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            <span>Rekomendowany typoszereg pompy: <span id="rk-final-pump">25-60</span></span>
        </div>
    </div>

    <div class="rk-chart-wrapper">
        <canvas id="rk-master-canvas"></canvas>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>

<script>
(function() {
    "use strict";
    let masterChart = null;
    let masterQ = 1.40;
    let masterH = 4.00;

    const pumpCurves = {
        "25-40": [{x:0,y:4}, {x:0.5,y:3.8}, {x:1,y:3.3}, {x:1.5,y:2.5}, {x:2,y:1.5}, {x:2.5,y:0.3}, {x:2.6,y:0}],
        "25-60": [{x:0,y:6}, {x:1,y:5.4}, {x:2,y:4}, {x:2.5,y:3.2}, {x:3,y:2.2}, {x:3.5,y:0.8}, {x:3.8,y:0}],
        "25-80": [{x:0,y:8}, {x:1,y:7.4}, {x:2,y:6.2}, {x:3,y:4.4}, {x:3.5,y:3.2}, {x:4,y:1.8}]
    };

    function getInstallationData(q, h) {
        let pts = [];
        let k = h / (q * q);
        for (let i = 0; i <= 4.1; i += 0.1) { pts.push({x: i, y: k * i * i}); }
        return pts;
    }

    function isPointBelowCurve(q, h, curve) {
        let maxQ = curve[curve.length - 1].x;
        if (q > maxQ) {
            return false;
        }
        
        for (let i = 0; i < curve.length - 1; i++) {
            let p1 = curve[i];
            let p2 = curve[i+1];
            
            let isInsideRange = false;
            if (q >= p1.x) {
                if (q <= p2.x) {
                    isInsideRange = true;
                }
            }
            
            if (isInsideRange) {
                let ratio = (q - p1.x) / (p2.x - p1.x);
                let maxHAtQ = p1.y + ratio * (p2.y - p1.y);
                if (h <= maxHAtQ) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        return false;
    }

    function initChart() {
        const ctx = document.getElementById('rk-master-canvas');
        if (!ctx) {
            setTimeout(initChart, 200);
            return;
        }
        if (typeof Chart === 'undefined') {
            setTimeout(initChart, 200);
            return;
        }

        masterChart = new Chart(ctx, {
            type: 'scatter',
            data: {
                datasets: [
                    { label: 'Krzywa 25-40', data: pumpCurves["25-40"], borderColor: '#f59e0b', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-60', data: pumpCurves["25-60"], borderColor: '#0ea5e9', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-80', data: pumpCurves["25-80"], borderColor: '#8b5cf6', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Opór Instalacji', data: getInstallationData(masterQ, masterH), borderColor: '#94a3b8', borderDash: [6, 6], showLine: true, pointRadius: 0, borderWidth: 2 },
                    { label: 'Punkt Pracy', data: [{x: masterQ, y: masterH}], backgroundColor: '#ef4444', pointRadius: 8, hoverRadius: 10, z: 10 }
                ]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                scales: {
                    x: { min: 0, max: 4.5, title: { display: true, text: 'Przepływ objętościowy Q [m³/h]', font: {weight: 'bold'} } },
                    y: { min: 0, max: 8.5, title: { display: true, text: 'Wysokość podnoszenia H [m]', font: {weight: 'bold'} } }
                },
                plugins: { 
                    legend: { position: 'top', labels: { font: {family: 'Inter', weight: '600'} } },
                    tooltip: { enabled: false }
                }
            }
        });

        document.getElementById('rk-master-calc-btn').addEventListener('click', function() {
            const area = parseFloat(document.getElementById('rk-in-area').value);
            const load = parseFloat(document.getElementById('rk-in-load').value);
            const dt = parseFloat(document.getElementById('rk-in-dt').value);
            const loops = parseFloat(document.getElementById('rk-in-loops').value);
            const avg = parseFloat(document.getElementById('rk-in-avg').value);
            const pipeVal = parseInt(document.getElementById('rk-in-pipe').value);

            let flow = (area * load) / (1163 * dt);
            
            let res = 0.015;
            if (pipeVal === 17) {
                res = 0.013;
            } else if (pipeVal === 20) {
                res = 0.010;
            }

            let extraRes = 0.8;
            if (loops <= 6) {
                extraRes = 0.4;
            }

            let head = (avg * res * 1.35) + extraRes;

            document.getElementById('rk-slider-q').value = flow.toFixed(2);
            document.getElementById('rk-slider-h').value = head.toFixed(2);
            
            refreshUI(flow, head);
        });

        document.getElementById('rk-slider-q').addEventListener('input', function(e) {
            refreshUI(parseFloat(e.target.value), masterH);
        });
        
        document.getElementById('rk-slider-h').addEventListener('input', function(e) {
            refreshUI(masterQ, parseFloat(e.target.value));
        });
        
        refreshUI(1.4, 4.0);
    }

    function refreshUI(q, h) {
        masterQ = q; 
        masterH = h;
        
        document.getElementById('rk-disp-q').innerText = q.toFixed(2);
        document.getElementById('rk-disp-h').innerText = h.toFixed(2);

        let recText = "Przekroczenie parametrów";
        let bgColor = "#fef2f2";
        let borderColor = "#ef4444";
        let textColor = "#b91c1c";

        if (isPointBelowCurve(q, h, pumpCurves["25-40"])) {
            recText = "25-40 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-60"])) {
            recText = "25-60 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-80"])) {
            recText = "25-80 (Zalecana mocna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        }

        const recBox = document.getElementById('rk-rec-box');
        document.getElementById('rk-final-pump').innerText = recText;
        
        recBox.style.backgroundColor = bgColor;
        recBox.style.borderLeft = "5px solid " + borderColor;
        recBox.style.color = textColor;

        if (masterChart) {
            masterChart.data.datasets[3].data = getInstallationData(q, h);
            masterChart.data.datasets[4].data = [{x: q, y: h}];
            masterChart.update('none');
        }
    }

    if (document.readyState === 'complete') {
        initChart();
    } else {
        window.addEventListener('load', initChart);
    }
})();
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-cyan: #06b6d4;
    --rk-proj-gray: #f8fafc;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #475569;
    --rk-proj-gold: #fbbf24;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-proj-blue);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-proj-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-proj-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-proj-blue), var(--rk-proj-cyan));
}

.rk-proj-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
    color: #ffffff;
}

.rk-proj-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Ekosystem */
.rk-proj-ecosystem {
    display: flex;
    padding: 0;
    background: #ffffff;
}

/* Lewa strona - Triggery */
.rk-proj-nav {
    width: 45%;
    background: var(--rk-proj-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-proj-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-proj-trigger {
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    padding: 20px;
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-proj-trigger::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: transparent;
    transition: background 0.3s;
}

.rk-proj-trigger:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
}

.rk-proj-trigger.rk-active {
    background: var(--rk-proj-blue-light);
    border-color: var(--rk-proj-blue);
    box-shadow: inset 0 0 0 1px var(--rk-proj-blue);
}

.rk-proj-trigger.rk-active::before {
    background: var(--rk-proj-blue);
}

.rk-trigger-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-proj-text);
    flex-shrink: 0;
    transition: color 0.3s;
}

.rk-proj-trigger.rk-active .rk-trigger-icon {
    color: var(--rk-proj-blue);
}

.rk-proj-trigger h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    line-height: 1.3;
}

/* Prawa strona - Kontent */
.rk-proj-content-area {
    width: 55%;
    padding: 40px;
    position: relative;
    background: #ffffff;
}

.rk-proj-panel {
    display: none;
    animation: fadeInPanel 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.rk-proj-panel.rk-active {
    display: block;
}

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

.rk-proj-panel-icon {
    width: 48px;
    height: 48px;
    color: var(--rk-proj-cyan);
    margin-bottom: 20px;
}

.rk-proj-panel h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-proj-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-proj-text);
    margin: 0 0 15px 0;
}

/* Wyróżnik inżynieryjny wewnątrz panelu */
.rk-proj-alert {
    background: #fffbeb;
    border-left: 4px solid var(--rk-proj-gold);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-proj-alert p {
    color: #b45309;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

/* Mocne CTA */
.rk-proj-cta-section {
    padding: 40px 45px;
    background: linear-gradient(to right, #f8fafc, #f1f5f9);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

.rk-proj-cta-section h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
}

.rk-proj-cta-section p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-proj-text);
    max-width: 700px;
    margin: 0 auto 25px auto;
}

.rk-btn-mega {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-mega:hover {
    transform: translateY(-5px);
    background: #0369a1;
    box-shadow: 0 20px 40px -5px rgba(2, 132, 199, 0.5);
    border-color: #7dd3fc;
}

.rk-btn-mega svg {
    transition: transform 0.3s;
}

.rk-btn-mega:hover svg {
    transform: translateX(6px);
}

/* RWD - Zmiana na układ pionowy (akordeonowy flow) dla mobile */
@media (max-width: 768px) {
    .rk-proj-header { padding: 25px 20px; }
    .rk-proj-header h2 { font-size: 22px; }
    
    .rk-proj-ecosystem { flex-direction: column; }
    .rk-proj-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-proj-border); padding: 20px; }
    .rk-proj-content-area { width: 100%; padding: 25px 20px; }
    
    .rk-proj-panel h4 { font-size: 20px; }
    
    .rk-proj-cta-section { padding: 30px 20px; }
    .rk-btn-mega { width: 100%; padding: 18px 15px; font-size: 15px; flex-direction: column; gap: 8px; text-align: center; }
    .rk-btn-mega svg { transform: rotate(90deg); }
    .rk-btn-mega:hover svg { transform: rotate(90deg) translateY(5px); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza powiązań pomiędzy doborem pompy obiegowej a audytem OZC, rozstawem rur, grubością wylewki oraz sprzęgłem hydraulicznym w układach z pompą ciepła.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wplyw",
    "name": "Macierz Wpływu Parametrów Projektowych na Dobór Pompy 2026",
    "description": "Zestawienie korelacji między składowymi projektu ogrzewania podłogowego (OZC, dylatacje, bufor ciepła) a wydajnością pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego podłogówki",
      "obliczenia OZC a dobór pompy",
      "rozstaw rur w podłogówce a opory hydrauliczne",
      "bezwładność cieplna wylewki jastrychowej",
      "sprzęgło hydrauliczne w układzie z pompą ciepła"
    ],
    "measurementTechnique": "Symulacja zmian strumienia objętościowego i oporów hydraulicznych w odpowiedzi na modyfikacje parametrów budowlanych (temperatura, rozstaw, buforowanie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC ustala moc, co definiuje przepływ masowy.",
        "Rozstaw rur definiuje długość pętli, co warunkuje straty ciśnienia.",
        "Masa wylewki decyduje o ciągłości pracy pompy obiegowej.",
        "Bufor wymusza stosowanie dodatkowych grup pompowych i odsprzężenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wplyw",
    "name": "Symulator Wpływu Projektowego",
    "description": "Interaktywny panel edukacyjny demonstrujący nierozerwalne zależności układu hydraulicznego na etapie projektowania domu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container">
    <div class="rk-proj-header">
        <h2>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="32" height="32" style="color: var(--rk-proj-cyan);">
                <polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
                <polyline points="2 17 12 22 22 17"></polyline>
                <polyline points="2 12 12 17 22 12"></polyline>
            </svg>
            Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?
        </h2>
        <p>Wybór punktu pracy pompy obiegowej jest nierozerwalnie połączony z kluczowymi składowymi całego projektu technicznego i bezpośrednio wpływa na sprawność emisyjną układu. Prawidłowy system opiera się na symbiozie hydrauliki z termodynamiką budynku.</p>
    </div>

    <div class="rk-proj-ecosystem">
        <div class="rk-proj-nav">
            <button class="rk-proj-trigger rk-active" data-target="panel-ozc">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h3>Obliczenia OZC i Delta T</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-rury">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                <h3>Rozstaw rur a hydraulika</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-wylewka">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h3>Wylewka i bezwładność</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-sprzeglo">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h3>Sprzęgło i bufor ciepła</h3>
            </button>
        </div>

        <div class="rk-proj-content-area">
            
            <div class="rk-proj-panel rk-active" id="panel-ozc">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h4>Powiązanie z OZC i temperaturą zasilania</h4>
                <p>Profesjonalny bilans cieplny budynku (<a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia OZC</a>) określa dokładne zapotrzebowanie na energię każdego pomieszczenia. Jeśli projektant zakłada niską temperaturę zasilania pompy ciepła (np. 35°C), automatycznie wymusza to mniejszą różnicę temperatur <strong>(ΔT = 5 K)</strong>.</p>
                <div class="rk-proj-alert">
                    <p>Skutek hydrauliczny: Mała delta oznacza konieczność przetłoczenia znacznie większego strumienia wody. Kalkulator wykaże gigantyczny przepływ, więc pompa obiegowa musi być odpowiednio mocniejsza.</p>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-rury">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                <h4>Rozstaw rur a długość pętli</h4>
                <p>Aby zredukować wymagany przepływ i temperaturę zasilania w salonie z dużymi przeszkleniami, stosuje się gęsty rozstaw rur (co 10 cm zamiast standardowych 15 cm). Zwiększa to jednak drastycznie całkowitą długość rur w pomieszczeniu.</p>
                <p>Jeśli projektant nie podzieli tego salonu na dwie lub trzy niezależne pętle, powstanie jedna gigantyczna pętla o długości np. 140 m. Jej opór hydrauliczny <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">zdławi przepływ do zera</a>, uniemożliwiając prawidłowe zbalansowanie rozdzielacza i zmuszając pompę do skrajnego wysiłku.</p>
            </div>

            <div class="rk-proj-panel" id="panel-wylewka">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h4>Wylewka i bezwładność cieplna</h4>
                <p>Grubość wylewki betonowej lub anhydrytowej nad rurami (standardowo 5-6 cm czystego jastrychu nad rurą) tworzy ogromny akumulator ciepła – to dosłownie <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">największy magazyn energii w Twoim domu</a>.</p>
                <p>Aby efektywnie ładować ten magazyn przy współpracy z rekuperacją, pompa musi pracować w sposób ciągły, stabilny i ze stałym ciśnieniem proporcjonalnym, dynamicznie reagując na zamykanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> sterowania strefowego. Mikroprocesor pompy kompensuje każdą zmianę oporu.</p>
            </div>

            <div class="rk-proj-panel" id="panel-sprzeglo">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h4>Sprzęgło hydrauliczne i bufor ciepła</h4>
                <p>W rozbudowanych instalacjach (np. parter i piętro), gdy wbudowana w pompę ciepła jednostka tłocząca nie radzi sobie z oporami całego domu, niezbędne staje się hydrauliczne odsprzęgnięcie układu za pomocą <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> lub sprzęgła.</p>
                <div class="rk-proj-alert">
                    <p>Skutek projektowy: Zastosowanie sprzęgła wymusza dobór dodatkowych, zewnętrznych pomp obiegowych dla każdej ze stref. Brak prawidłowego zbilansowania przepływów (obieg pierwotny vs wtórny) doprowadzi do tzw. podkradania wody i błędów w pracy sprężarki pompy ciepła.</p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie zdawaj się na los w kwestii własnego domu</h3>
        <p>Precyzyjny dobór pomp obiegowych, weryfikacja oporów pętli i zrównoważenie hydrauliczne to fundament cichej, energooszczędnej instalacji współpracującej z niskotemperaturową pompą ciepła. Zabezpiecz swój budżet przed kosztownymi poprawkami.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-mega">
            ZAMÓW PROFESJONALNY PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var triggers = document.querySelectorAll('.rk-proj-trigger');
    var panels = document.querySelectorAll('.rk-proj-panel');

    for (var i = 0; i < triggers.length; i++) {
        triggers[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');

            // Resetowanie wszystkich przycisków (bezpiecznie bez użycia '&#038;&#038;')
            for (var j = 0; j < triggers.length; j++) {
                triggers[j].classList.remove('rk-active');
            }
            // Aktywacja klikniętego
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('rk-active');
            }
            
            // Pokaż docelowy panel
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-green: #10b981;
    --rk-err-green-light: #f0fdf4;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
    --rk-err-text: #475569;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-err-red);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-err-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #0f172a 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

.rk-err-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.3;
}

.rk-err-header-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-err-red);
    flex-shrink: 0;
}

.rk-err-header p {
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    max-width: 800px;
}

/* Siatka błędów */
.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #f8fafc;
}

.rk-err-card {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.rk-err-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.rk-err-card.rk-active {
    border-color: var(--rk-err-red);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Górna część karty (Problem) */
.rk-err-problem {
    padding: 25px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    position: relative;
}

.rk-err-num {
    background: var(--rk-err-red-light);
    color: var(--rk-err-red);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
}

.rk-err-problem-text h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

.rk-err-problem-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-err-text);
    line-height: 1.5;
}

.rk-err-toggle {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 24px;
    height: 24px;
    color: #94a3b8;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s;
}

.rk-err-card.rk-active .rk-err-toggle {
    transform: rotate(180deg);
    color: var(--rk-err-red);
}

/* Dolna część karty (Rozwiązanie - rozwijana) */
.rk-err-solution {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-err-green-light);
}

.rk-err-solution-inner {
    padding: 20px 25px 25px;
    border-top: 1px dashed #bbf7d0;
    display: flex;
    gap: 15px;
}

.rk-err-sol-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-err-green);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-err-solution-inner p {
    margin: 0;
    font-size: 14px;
    color: #166534;
    line-height: 1.6;
    font-weight: 500;
}

.rk-err-solution-inner a {
    color: #15803d;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-err-solution-inner a:hover {
    color: #14532d;
}

@media (max-width: 768px) {
    .rk-err-header { padding: 25px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-err-problem { padding: 20px; }
    .rk-err-solution-inner { padding: 15px 20px 20px; }
    .rk-err-toggle { right: 15px; top: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych",
    "description": "Lista najdroższych błędów wykonawczych w ogrzewaniu podłogowym: przewymiarowanie, zły tryb pracy pompy, woda wodociągowa i brak separatorów magnetycznych.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-bledy",
    "name": "Baza Błędów Wykonawczych i Kosztów Eksploatacji Pomp 2026",
    "description": "Zestawienie krytycznych błędów hydraulicznych prowadzących do uszkodzeń pomp obiegowych, generowania hałasu w instalacji oraz strat energii elektrycznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego pompa obiegowa buczy",
      "magnetyczny separator zanieczyszczeń do ogrzewania podłogowego",
      "tryb stałego ciśnienia pompy",
      "przewymiarowana pompa do podłogówki",
      "czyszczenie filtra przed pompą ciepła"
    ],
    "measurementTechnique": "Analiza usterek hydraulicznych i strat energii elektrycznej wynikających z błędów montażowych instalatorów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Przewymiarowanie pompy (zakup 25-80 do 120m2).",
        "Błąd 2: Tryb stałych obrotów zamiast Constant Pressure (CP).",
        "Błąd 3: Napełnianie instalacji surową wodą wodociągową.",
        "Błąd 4: Brak separatora magnetycznego powodujący zacieranie wirnika."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-bledy",
    "name": "Interaktywny Detektor Błędów Instalacyjnych",
    "description": "Narzędzie symulujące sprzężenie zwrotne: problem instalacyjny kontra rozwiązanie inżynierskie dla pomp obiegowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>
            <svg class="rk-err-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <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 0z"></path>
                <line x1="12" y1="9" x2="12" y2="13"></line>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych
        </h2>
        <p>Mimo zaawansowanej technologii i powszechnego dostępu do wiedzy inżynieryjnej, wykonawcy na polskich budowach nagminnie powielają przestarzałe błędy, które rujnują ekonomikę instalacji niskotemperaturowych. Kliknij kafelek, aby sprawdzić, jak uchronić swój system przed awarią.</p>
    </div>

    <div class="rk-err-grid">
        
        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">1</div>
                <div class="rk-err-problem-text">
                    <h3>Dobór pompy „z zapasem” (Przewymiarowanie)</h3>
                    <p>Kupowanie pompy klasy 25-80 do standardowego domu o powierzchni 120 m² sprawia, że urządzenie z trudem schodzi z wysokich obrotów.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Skutkuje to turbulencjami w przepływie cieczy i generowaniem hałasu w szafkach rozdzielaczowych. Zbyt mocna pompa skraca żywotność własnych łożysk i generuje zbędny koszt roczny. Przeanalizuj <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rzeczywiste parametry instalacji</a> przed zakupem.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">2</div>
                <div class="rk-err-problem-text">
                    <h3>Ustawienie trybu stałych obrotów (Constant Speed)</h3>
                    <p>Pozostawienie pompy na sztywnym, stałym biegu (I, II lub III) w układzie z zamykającymi się siłownikami na rozdzielaczach.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Gdy automatyka zamknie 8 z 10 pętli, pompa nadal tłoczy tę samą ilość wody przez pozostałe 2 pętle. Generuje to uciążliwe świsty i zrywa uszczelnienia. Prawidłowe <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe</a> zawsze wymaga włączenia trybu stałego ciśnienia (CP).</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">3</div>
                <div class="rk-err-problem-text">
                    <h3>Napełnianie układu surową wodą wodociągową</h3>
                    <p>Brak przygotowania zładu wody. Zwykła woda z kranu pełna jest związków wapnia, magnezu oraz tlenu inicjującego rdzewienie.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Kamień kotłowy osadza się na wirniku pompy i wymiennikach płytowych, drastycznie zmniejszając średnicę przelotu. Standardem inżynierskim jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem korozji</a>, gwarantująca dekady niezawodności.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">4</div>
                <div class="rk-err-problem-text">
                    <h3>Brak separatora magnetycznego (Zacieranie wirnika)</h3>
                    <p>Bezpośrednie podłączenie pompy bez dedykowanego osadnika z silnym magnesem neodymowym na powrocie do źródła ciepła.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Zanieczyszczenia z rur osadzają się na magnesie trwałym silnika ECM, przez co pompa obiegowa buczy, traci wydajność, aż w końcu ulega całkowitemu zatarciu. Dobrej klasy magnetyczny separator zanieczyszczeń i coroczne <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">czyszczenie filtra przed pompą ciepła</a> chronią układ przed paraliżem hydraulicznym.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var errCards = document.querySelectorAll('.rk-err-card');
    
    for (var i = 0; i < errCards.length; i++) {
        errCards[i].addEventListener('click', function() {
            var isActive = this.classList.contains('rk-active');
            
            // Zamykamy wszystkie karty (bezpieczna pętla, bez '&#038;&#038;')
            for (var j = 0; j < errCards.length; j++) {
                errCards[j].classList.remove('rk-active');
                var solToClose = errCards[j].querySelector('.rk-err-solution');
                solToClose.style.maxHeight = null;
            }
            
            // Otwieramy klikniętą, o ile wcześniej była zamknięta
            if (isActive === false) {
                this.classList.add('rk-active');
                var solToOpen = this.querySelector('.rk-err-solution');
                solToOpen.style.maxHeight = solToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-light: #f8fafc;
    --rk-case-red: #ef4444;
    --rk-case-orange: #f97316;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
    --rk-case-bg: #ffffff;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-case-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-orange);
    position: relative;
}

.rk-case-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-case-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-case-orange);
    flex-shrink: 0;
}

.rk-case-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Główny układ */
.rk-case-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-case-bg);
}

/* Lewa Kolumna - Historia */
.rk-case-story {
    padding: 40px 45px;
    border-right: 1px solid var(--rk-case-border);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff7ed;
    color: #c2410c;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #fed7aa;
}

.rk-case-story h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-case-story p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-case-text);
    margin: 0 0 15px 0;
}

.rk-case-story a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-case-story a:hover {
    color: var(--rk-case-dark);
}

.rk-case-quote {
    padding: 20px;
    background: #f1f5f9;
    border-left: 4px solid var(--rk-case-dark);
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    font-style: italic;
    color: #334155;
    font-weight: 600;
}

/* Prawa Kolumna - Interaktywna Diagnoza */
.rk-case-interactive {
    padding: 40px;
    background: var(--rk-case-light);
    display: flex;
    flex-direction: column;
}

.rk-case-interactive h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-case-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Przyciski Osi Czasu */
.rk-timeline-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-time-btn {
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.rk-time-btn h5 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-dark);
}

.rk-time-icon {
    width: 20px;
    height: 20px;
    color: #94a3b8;
    transition: color 0.3s;
}

/* Stany Przycisków */
.rk-time-btn:hover {
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.rk-time-btn.rk-active-phase {
    background: var(--rk-case-blue);
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-time-btn.rk-active-phase h5,
.rk-time-btn.rk-active-phase .rk-time-icon {
    color: #ffffff;
}

/* Ekran Wynikowy (Dynamiczny) */
.rk-phase-display {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid var(--rk-case-border);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-phase-img {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
}

.rk-phase-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 10px 0;
}

.rk-phase-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-case-text);
    margin: 0;
}

@media (max-width: 768px) {
    .rk-case-header { padding: 25px 20px; }
    .rk-case-body { grid-template-columns: 1fr; }
    .rk-case-story { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-case-border); }
    .rk-case-interactive { padding: 25px 20px; }
    .rk-time-btn:hover { transform: translateY(-2px); translateX(0); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy",
    "description": "Case study pokazujące konsekwencje braku projektu OZC i doboru pompy 'z zapasem' w 160-metrowym domu na Pomorzu. Zobacz, jak uniknąć błędów instalatorów.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-casestudy",
    "name": "Analiza Błędów Wykonawczych - Case Study Wejherowo 2026",
    "description": "Zestawienie empiryczne wykazujące bezpośredni związek przyczynowo-skutkowy między brakiem obliczeń hydraulicznych a awarią pompy ciepła w nowym budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego",
      "ile kosztuje projekt ogrzewania podłogowego",
      "szumienie w rozdzielaczu podłogówki",
      "błędy przepływu w pompie ciepła",
      "skutki braku projektu OZC"
    ],
    "measurementTechnique": "Retrospektywna diagnoza układu hydraulicznego na bazie zgłoszeń serwisowych oraz objawów (błędy wysokiego ciśnienia HP na pompie ciepła).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przyczyna pierwotna: Brak projektu OZC i dobór pompy na zasadzie 'im większa, tym lepsza'.",
        "Przyczyna wtórna: Pętle pow. 140 m dławiące układ pomimo użycia pompy 25-80.",
        "Skutek: Zimne strefy brzegowe i błąd przepływu pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-casestudy",
    "name": "Symulator Chronologii Błędów Instalacyjnych",
    "description": "Interaktywny moduł edukacyjny pokazujący rozwój problemów hydraulicznych w czasie, od decyzji na placu budowy po sezon grzewczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container">
    <div class="rk-case-header">
        <svg class="rk-case-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z"></path>
            <path d="M14 3v5h5M16 13H8M16 17H8M10 9H8"></path>
        </svg>
        <h2>Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy</h2>
        <p>Brak weryfikacji kompetencji instalatora i oszczędności na papierze często kończą się dramatem w środku zimy. Poznaj historię inwestora, który zignorował inżynierskie zasady.</p>
    </div>

    <div class="rk-case-body">
        
        <div class="rk-case-story">
            <div class="rk-case-badge">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><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 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Realna analiza serwisowa
            </div>
            
            <h3>„Pompę dobierzemy z zapasem, będzie Pan zadowolony”</h3>
            <p>Tomasz budował swój wymarzony, 160-metrowy dom na obrzeżach Wejherowa. Chcąc zredukować koszty początkowe, pominął kwestię tego, <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje projekt ogrzewania podłogowego</a>, oddając pełną władzę instalatorowi z polecenia. Wykonawca nie wykonał bilansu cieplnego, a pętle w salonie przy dużych przeszkleniach przeciągnął do astronomicznych 145 metrów, aby "zaoszczędzić na większym rozdzielaczu".</p>

            <div class="rk-case-quote">
                „Po co panu ten projekt OZC? Zamontujemy mocną pompę obiegową 25-80, ona to wszystko przepchnie. Robię tak od 20 lat.” – usłyszał inwestor.
            </div>

            <p>Problem polega na tym, że fizyki płynów nie da się oszukać doświadczeniem z lat 90. Pompa klasy 8m w zderzeniu ze zjawiskiem "króla hydraulicznego" (bardzo długa pętla) wygenerowała potężne zawirowania. Sprawdź, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego</a> i prześledź na symulatorze obok, jak doszło do paraliżu instalacji Tomasza.</p>
        </div>

        <div class="rk-case-interactive">
            <h4>Oś Czasu Katastrofy Hydraulicznej</h4>
            
            <div class="rk-timeline-nav">
                <button class="rk-time-btn rk-active-phase" id="btn-phase-1">
                    <h5>Faza 1: Montaż "Na Oko"</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-2">
                    <h5>Faza 2: Listopadowe Przymrozki</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-3">
                    <h5>Faza 3: Rachunek za Oszczędność</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
            </div>

            <div class="rk-phase-display" id="phase-display">
                <svg class="rk-phase-img" id="img-phase-1" viewBox="0 0 24 24" fill="none" stroke="#eab308" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <circle cx="12" cy="12" r="10"></circle>
                    <path d="M12 8v4l3 3"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-2" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-3" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M12 1v22M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
                </svg>

                <h4 class="rk-phase-title" id="rk-phase-title">Zalanie posadzki (Sierpień 2026)</h4>
                <p class="rk-phase-desc" id="rk-phase-desc">Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-time-btn');
    
    var img1 = document.getElementById('img-phase-1');
    var img2 = document.getElementById('img-phase-2');
    var img3 = document.getElementById('img-phase-3');
    
    var title = document.getElementById('rk-phase-title');
    var desc = document.getElementById('rk-phase-desc');

    for(var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            
            // Czyszczenie klas aktywnych (Zabezpieczenie przed uzyciem &#038;&#038;)
            for(var j = 0; j < btns.length; j++) {
                btns[j].classList.remove('rk-active-phase');
            }
            this.classList.add('rk-active-phase');

            // Ukrywanie wszystkich obrazków
            img1.style.display = 'none';
            img2.style.display = 'none';
            img3.style.display = 'none';

            // Logika podmiany zawartości (Bez uzycia &#038;&#038;)
            if (this.id === 'btn-phase-1') {
                img1.style.display = 'block';
                title.style.color = '#eab308';
                title.textContent = 'Zalanie posadzki (Sierpień 2026)';
                desc.textContent = 'Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.';
            } 
            else if (this.id === 'btn-phase-2') {
                img2.style.display = 'block';
                title.style.color = '#ef4444';
                title.textContent = 'Szumy i błędy pompy ciepła (Listopad)';
                desc.textContent = 'Pierwsze przymrozki w Wejherowie obnażają błędy. Przewymiarowana pompa wywołuje wibracje i szum w szafce. Przepływ w salonie wynosi 0 l/min (zjawisko zdławienia). Pompa ciepła zgłasza błędy z powodu braku odbioru mocy (tzw. taktowanie).';
            } 
            else if (this.id === 'btn-phase-3') {
                img3.style.display = 'block';
                title.style.color = '#0f172a';
                title.textContent = 'Bolesna diagnoza i koszty (Grudzień)';
                desc.textContent = 'Wezwany autoryzowany serwis diagnozuje katastrofę. Konieczna jest wymiana pompy na inteligentny model 25-60, montaż drogiego sprzęgła hydraulicznego do odciążenia układu oraz próba ręcznego, wielogodzinnego kryzowania obiegów. Oszczędność rzędu 1000 zł na projekcie wygenerowała 4500 zł strat.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-bg: #ffffff;
    --rk-auth-gray: #f8fafc;
    --rk-auth-text: #334155;
    --rk-auth-border: #e2e8f0;
    --rk-auth-gold: #fbbf24;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-auth-border);
    overflow: hidden;
}

/* Sztywny, inżynieryjny nagłówek */
.rk-auth-header {
    padding: 30px 40px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-auth-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-auth-icon {
    width: 28px;
    height: 28px;
    color: var(--rk-auth-gold);
    flex-shrink: 0;
}

/* Struktura główna */
.rk-auth-body {
    display: flex;
    background: var(--rk-auth-bg);
}

/* Lewa kolumna - Zdjęcie i nawigacja */
.rk-auth-sidebar {
    width: 300px;
    background: var(--rk-auth-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-auth-name {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
    text-align: center;
}

.rk-auth-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-auth-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-auth-tab-btn {
    padding: 12px 15px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-text);
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    /* Usunięto animacje */
}

.rk-auth-tab-btn:hover {
    background: #f1f5f9;
}

.rk-auth-tab-btn.rk-tab-active {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

.rk-auth-tab-btn svg {
    width: 18px;
    height: 18px;
}

/* Prawa kolumna - Treść (Bez animacji) */
.rk-auth-content-area {
    flex: 1;
    padding: 40px;
    position: relative;
}

.rk-auth-panel {
    display: none;
    /* Brak keyframes i opacity transitions */
}

.rk-auth-panel.rk-panel-active {
    display: block;
}

/* Wnętrze paneli */
.rk-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    opacity: 0.2;
    line-height: 1;
    font-family: serif;
    position: absolute;
    top: 20px;
    left: 20px;
}

.rk-auth-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 20px 0;
    position: relative;
    z-index: 2;
}

.rk-auth-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

.rk-auth-panel strong {
    color: var(--rk-auth-dark);
    font-weight: 800;
}

/* Sekcja E-E-A-T (Sociale) */
.rk-social-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 25px;
}

.rk-social-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--rk-auth-gray);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    text-decoration: none;
    color: var(--rk-auth-dark);
    font-weight: 800;
    font-size: 15px;
    /* Usunięto animacje */
}

.rk-social-link:hover {
    border-color: var(--rk-auth-blue);
    background: #f0f9ff;
}

.rk-social-link svg {
    width: 24px;
    height: 24px;
    color: var(--rk-auth-blue);
}

@media (max-width: 768px) {
    .rk-auth-header { padding: 20px; }
    .rk-auth-header h2 { font-size: 20px; }
    .rk-auth-body { flex-direction: column; }
    .rk-auth-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 25px 20px; }
    .rk-auth-content-area { padding: 25px 20px; }
    .rk-quote-mark { top: 10px; left: 10px; font-size: 40px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o błędach w doborze pomp obiegowych",
    "description": "Autorytet techniczny i rzetelna ocena inżynierska. Dlaczego szacowanie parametrów pomp obiegowych 'na oko' niszczy nowoczesne układy z pompą ciepła.",
    "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/",
      "jobTitle": "Inżynier HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-ekspert",
    "name": "Profil Kompetencyjny i Weryfikacja Autorytetu Inżynierskiego 2026",
    "description": "Baza referencyjna potwierdzająca zgodność merytoryczną artykułu z rygorystycznymi standardami E-E-A-T dla treści branży sanitarnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert instalacji sanitarnych",
      "robert kucharski opinie o pompach obiegowych",
      "dobór pompy obiegowej do podłogówki",
      "prawidłowy projekt układu niskotemperaturowego",
      "inżynier hvac ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Weryfikacja autentyczności autora poprzez oficjalne powiązania z profilami LinkedIn oraz Facebook (Projekt Ogrzewania).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stanowisko merytoryczne: Odrzucenie metod szacunkowych na rzecz ścisłych obliczeń hydraulicznych.",
        "Cel: Zabezpieczenie inwestorów przed stratami wynikającymi z amatorskiego wykonawstwa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-ekspert",
    "name": "Moduł Weryfikacji Autorytetu (E-E-A-T)",
    "description": "Interaktywna karta ekspercka umożliwiająca bezpośrednie przejście do certyfikowanych źródeł profilu autora.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container">
    <div class="rk-auth-header">
        <svg class="rk-auth-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
        </svg>
        <h2>Okiem eksperta: Robert Kucharski o doborze pomp obiegowych</h2>
    </div>

    <div class="rk-auth-body">
        
        <div class="rk-auth-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <p class="rk-auth-title">Specjalista Instalacji HVAC</p>

            <div class="rk-auth-nav">
                <button class="rk-auth-tab-btn rk-tab-active" data-show="panel-quote">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
                    Werdykt Specjalisty
                </button>
                <button class="rk-auth-tab-btn" data-show="panel-eat">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline></svg>
                    Autorytet i Kontakt
                </button>
            </div>
        </div>

        <div class="rk-auth-content-area">
            <div class="rk-quote-mark">"</div>
            
            <div class="rk-auth-panel rk-panel-active" id="panel-quote">
                <h3>Budowa bez ściemy: Hydraulika nie wybacza zgadywania</h3>
                <p>W swojej karierze widziałem setki zniszczonych sprężarek w pompach ciepła i tysiące metrów kwadratowych zimnych posadzek. Wspólny mianownik tych katastrof to zawsze dobór pompy obiegowej "na oko" lub "bo tak się zawsze robiło".</p>
                <p>Nowoczesna instalacja ogrzewania podłogowego to skomplikowany, zamknięty ekosystem oparty na precyzyjnych przepływach masy czynnika grzewczego. <strong>Zignorowanie audytu OZC, źle wyliczona różnica temperatur (ΔT) czy przekroczenie normatywnych oporów pętli</strong> to gwarancja uszkodzenia elektroniki pompy i wystąpienia uciążliwych szumów w rozdzielaczach.</p>
                <p>Nie ma tu miejsca na kompromisy. Tylko twarde obliczenia chronią budżet inwestora.</p>
            </div>

            <div class="rk-auth-panel" id="panel-eat">
                <h3>Zweryfikuj źródło wiedzy</h3>
                <p>W dobie masowo generowanych treści, rzetelna wiedza inżynierska to podstawa podejmowania bezpiecznych decyzji budowlanych. Moje projekty i analizy opieram wyłącznie na sprawdzonych normach PN-EN oraz latach doświadczeń na placach budowy.</p>
                
                <div class="rk-social-grid">
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                        Profil Zawodowy LinkedIn
                    </a>
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                        Oficjalny fanpage Projekt-Ogrzewania.pl
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.rk-auth-tab-btn');
    var panels = document.querySelectorAll('.rk-auth-panel');

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-show');

            // Usuwanie klas aktywnych bez operatorów logicznych
            for (var b = 0; b < buttons.length; b++) {
                buttons[b].classList.remove('rk-tab-active');
            }
            this.classList.add('rk-tab-active');

            // Ukrywanie wszystkich paneli bezpośrednio (bez animacji)
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-panel-active');
            }
            
            // Wyświetlanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-panel-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-hover: #f8fafc;
    --rk-faq-accent: #38bdf8;
}

.rk-faq-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    position: relative;
}

.rk-faq-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-faq-blue);
}

.rk-faq-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-faq-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-faq-accent);
    flex-shrink: 0;
}

/* Interaktywny Akordeon */
.rk-accordion-container {
    padding: 20px 45px 40px;
    background: #fafafa;
}

.rk-accordion-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    margin-top: 15px;
    overflow: hidden;
    transition: box-shadow 0.3s;
}

.rk-accordion-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.rk-accordion-btn {
    width: 100%;
    text-align: left;
    padding: 22px 25px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s;
}

.rk-accordion-btn:hover {
    background: var(--rk-faq-hover);
}

.rk-accordion-btn h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    padding-right: 20px;
    line-height: 1.4;
}

/* Ikona statusu rozwijania */
.rk-status-icon {
    width: 24px;
    height: 24px;
    background: var(--rk-faq-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s;
}

.rk-status-icon svg {
    width: 14px;
    height: 14px;
    stroke: var(--rk-faq-blue);
    stroke-width: 3;
    transition: stroke 0.3s;
}

.rk-accordion-btn.rk-active .rk-status-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
}

.rk-accordion-btn.rk-active .rk-status-icon svg {
    stroke: #ffffff;
}

/* Treść odpowiedzi */
.rk-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-accordion-inner {
    padding: 0 25px 25px;
    border-top: 1px dashed transparent;
}

.rk-accordion-btn.rk-active + .rk-accordion-content .rk-accordion-inner {
    border-top-color: var(--rk-faq-border);
    padding-top: 20px;
}

.rk-accordion-inner p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-accordion-inner a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-accordion-inner a:hover {
    color: var(--rk-faq-dark);
}

/* Drobny detal inżynieryjny w odpowiedzi */
.rk-answer-highlight {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--rk-faq-hover);
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid var(--rk-faq-blue);
}

.rk-answer-highlight svg {
    width: 20px;
    height: 20px;
    stroke: var(--rk-faq-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 25px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-accordion-container { padding: 15px 20px 25px; }
    .rk-accordion-btn { padding: 18px 15px; }
    .rk-accordion-btn h3 { font-size: 15px; }
    .rk-accordion-inner { padding: 0 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o pompy w podłogówce",
    "description": "Baza wiedzy i odpowiedzi na najczęstsze problemy instalatorów: tryby pracy pomp obiegowych, rotametry, zapowietrzenie i długości pętli w ogrzewaniu podłogowym.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2), oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to wahaniom ciśnienia i przepływu w momencie, gdy siłowniki termoelektryczne na rozdzielaczu zamykają lub otwierają poszczególne pętle grzewcze."
        }
      },
      {
        "@type": "Question",
        "name": "Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych pętli i została wykonana bez sprzęgła hydraulicznego."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi za długa pętla ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Za długa pętla (powyżej 120 m dla rury 16 mm) generuje tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. Skutkuje to niedogrzaniem pomieszczeń i zmusza do podnoszenia biegów, co wywołuje hałas."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Brak reakcji rotametrów najczęściej świadczy o całkowitym zapowietrzeniu pętli grzewczych lub zablokowaniu wirnika pompy przez osady. Przyczyną może być też zdławienie na filtrze siatkowym."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy pompa obiegowa działa prawidłowo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowe działanie pompy objawia się równomiernym, cichym szumem, wyczuwalną delikatną wibracją obudowy oraz stabilnymi wskazaniami przepływu na rotametrach na poziomie 1,5 – 2,5 l/min."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Baza Parametrów Diagnostycznych Pomp Obiegowych 2026",
    "description": "Zestawienie parametrów granicznych instalacji podłogowej do weryfikacji błędów hydraulicznych (tryby CP, graniczne opory pętli 120m, wskaźniki rotametrów).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb stałego ciśnienia pompy",
      "wydajność wbudowanej pompy w pompie ciepła",
      "skutki zbyt długiej pętli podłogówki",
      "brak reakcji rotametrów",
      "prawidłowe parametry rotametru"
    ],
    "measurementTechnique": "Diagnostyka na podstawie wskazań wizualnych rotametrów oraz analizy ustawień trybów autoadaptacyjnych paneli elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wartość poprawna przepływu: 1.5 - 2.5 l/min.",
        "Maksymalna długość krytyczna pętli: 120 m dla rury 16x2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Interaktywny Przewodnik Diagnostyczny",
    "description": "Aplikacja typu akordeon dostarczająca natychmiastowych rozwiązań usterek hydraulicznych w instalacjach płaszczyznowych.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-wrapper">
    <div class="rk-faq-header">
        <h2>
            <svg class="rk-faq-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            FAQ – Najczęściej zadawane pytania o pompy w podłogówce
        </h2>
    </div>

    <div class="rk-accordion-container">
        
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na <strong>tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2)</strong>, oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to niebezpiecznym wahaniom ciśnienia i przepływu w momencie, gdy <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowniki termoelektryczne na rozdzielaczach</a> zamykają lub otwierają poszczególne pętle grzewcze w zależności od sygnałów z termostatów pokojowych.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych oporów miejscowych. W przypadku rozbudowanych systemów z kilkoma rozdzielaczami na różnych kondygnacjach niezbędne jest zastosowanie zewnętrznych grup pompowych oraz elementu odsprzęgającego, takiego jak profesjonalne <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>, aby nie zakłócić przepływu na skraplaczu.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czym grozi za długa pętla ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Skutki ułożenia <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długiej pętli podłogówki</a> (powyżej 120 m dla standardowej rury 16 mm) są krytyczne. Generuje to tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. W efekcie pomieszczenie obsługiwane przez ten obieg pozostanie niedogrzane, a próby ratowania sytuacji poprzez wymuszanie najwyższych biegów pompy doprowadzą do przepływów turbulentnych i generowania hałasu w instalacji.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Brak reakcji wskaźników przepływu najczęściej świadczy o głębokim <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzeniu instalacji</a> lub zablokowaniu wirnika pompy przez zanieczyszczenia z surowej wody. Inną, bardzo częstą przyczyną awarii, jest fizyczne zdławienie przepływu na zatkanym filtrze siatkowym przed pompą lub krytyczny błąd instalatora: odwrotne podłączenie rur zasilania i powrotu do <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów na belce rozdzielacza</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Jak sprawdzić, czy pompa obiegowa działa prawidłowo?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Prawidłowo dobrana <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a> pracuje z równomiernym, niemal niesłyszalnym szumem. Obudowa generuje bardzo delikatną wibrację, a wskaźniki przepływu na rotametrach rozdzielacza wykazują stabilne wartości oscylujące najczęściej w przedziale <strong>1,5 – 2,5 l/min</strong>. Dodatkowo panele nowoczesnych pomp elektronicznych powinny płynnie reagować na dławienie pętli, wyświetlając na ekranie aktualny pobór mocy elektrycznej w watach [W].</p>
                    
                    <div class="rk-answer-highlight">
                        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path>
                            <polyline points="22 4 12 14.01 9 11.01"></polyline>
                        </svg>
                        <p style="font-size: 14px;"><strong>Wskazówka diagnostyczna:</strong> Jeśli na elektronicznym wyświetlaczu pompy widzisz pobór mocy powyżej 45W w standardowym domu 150m², oznacza to, że walczy ona z nienormatywnym dławieniem w układzie.</p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var accButtons = document.querySelectorAll('.rk-accordion-btn');
    
    for (var i = 0; i < accButtons.length; i++) {
        accButtons[i].addEventListener('click', function() {
            var isAlreadyActive = this.classList.contains('rk-active');
            
            // Zamykanie wszystkich innych otwartych kart (zoptymalizowane bez uzycia &#038;&#038;)
            for (var j = 0; j < accButtons.length; j++) {
                accButtons[j].classList.remove('rk-active');
                var contentToClose = accButtons[j].nextElementSibling;
                contentToClose.style.maxHeight = null;
            }
            
            // Otwieranie tylko jeśli kliknięty element nie był wcześniej aktywny
            if (isAlreadyActive === false) {
                this.classList.add('rk-active');
                var panelToOpen = this.nextElementSibling;
                // Pobranie rzeczywistej wysokości treści dla płynnej animacji CSS
                panelToOpen.style.maxHeight = panelToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-gray: #f8fafc;
    --rk-dl-text: #475569;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
    --rk-dl-red: #dc2626;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Sztywny Nagłówek */
.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-dl-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-dl-icon {
    width: 28px;
    height: 28px;
    color: #38bdf8;
    flex-shrink: 0;
}

/* Główny układ kontenera */
.rk-dl-body {
    display: flex;
    background: #ffffff;
}

/* Sekcja z miniaturą */
.rk-dl-thumb-area {
    width: 320px;
    background: var(--rk-dl-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumb {
    width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    cursor: pointer;
    /* Usunięto hover scale/transition zgodnie z wytycznymi */
}

/* Sekcja z akcjami i opisem */
.rk-dl-actions-area {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-actions-area h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
}

.rk-dl-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin: 0 0 25px 0;
}

.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

/* Przyciski (Sztywne, bez animacji CSS) */
.rk-btn-pdf, .rk-btn-img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.rk-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
}
.rk-btn-pdf:hover {
    background: #0369a1;
}

.rk-btn-img {
    background: #ffffff;
    color: var(--rk-dl-dark);
    border-color: var(--rk-dl-border);
}
.rk-btn-img:hover {
    background: var(--rk-dl-gray);
    border-color: #cbd5e1;
}

/* Stopka z licencją */
.rk-dl-license {
    padding: 15px 20px;
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
    font-size: 12px;
    line-height: 1.5;
    color: #92400e;
    font-weight: 600;
}

/* Pełnoekranowy podgląd wewnątrz kontenera */
.rk-dl-preview-full {
    display: none; /* Sterowane z JS */
    padding: 30px;
    background: #f8fafc;
    text-align: center;
}

.rk-dl-preview-full img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    margin-bottom: 20px;
}

.rk-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    font-weight: 800;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.rk-btn-back:hover {
    background: #1e293b;
}

@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-header h2 { font-size: 20px; }
    .rk-dl-body { flex-direction: column; }
    .rk-dl-thumb-area { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px 20px; }
    .rk-dl-actions-area { padding: 25px 20px; }
    .rk-btn-pdf, .rk-btn-img { width: 100%; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kompendium wiedzy do pobrania: Infografika doboru pompy obiegowej",
    "description": "Darmowe materiały inżynierskie PDF. Schemat doboru pompy obiegowej w ogrzewaniu podłogowym krok po kroku przygotowany przez Roberta Kucharskiego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-materialy",
    "name": "Algorytm doboru pompy obiegowej - Infografika PDF",
    "description": "Dokumentacja graficzna i zbiór zasad wymiarowania pomp obiegowych dla systemów niskotemperaturowych, przygotowana do druku.",
    "license": "© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "schemat doboru pompy obiegowej",
      "algorytm pompy co pobierz",
      "jak obliczyć wydajność pompy instrukcja",
      "materiały dla instalatorów hvac"
    ],
    "measurementTechnique": "Wizualizacja ustrukturyzowanej procedury doboru urządzeń hydraulicznych na bazie normy PN-EN 1264 w formie dokumentu PDF i WEBP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf",
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-materialy",
    "name": "Centrum Pobierania Projekt-Ogrzewania.pl",
    "description": "Interaktywny moduł pozwalający na podgląd infografik inżynieryjnych na żywo oraz bezpośrednie pobranie dokumentacji technicznej w formacie PDF.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-module">
    <div class="rk-dl-header">
        <svg class="rk-dl-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
            <polyline points="7 10 12 15 17 10"></polyline>
            <line x1="12" y1="15" x2="12" y2="3"></line>
        </svg>
        <h2>Kompendium wiedzy do pobrania: Infografika doboru pompy</h2>
    </div>

    <div class="rk-dl-body" id="rk-view-main">
        <div class="rk-dl-thumb-area">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Miniatura infografiki doboru pompy" class="rk-dl-thumb" id="rk-btn-thumb">
        </div>
        
        <div class="rk-dl-actions-area">
            <h3>Interaktywne materiały inżynierskie</h3>
            <p class="rk-dl-desc">Pobierz darmowy, autorski schemat doboru pompy obiegowej przygotowany specjalnie dla instalatorów i inwestorów. Miej ten algorytm zawsze pod ręką w swoim telefonie lub wydrukuj, aby uniknąć kosztownych błędów na budowie.</p>
            
            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf" target="_blank" class="rk-btn-pdf">
                    <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    Pobierz kompendium (Plik PDF)
                </a>
                <button class="rk-btn-img" id="rk-btn-preview">
                    <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Pokaż infografikę
                </button>
            </div>

            <div class="rk-dl-license">
                © 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
            </div>
        </div>
    </div>

    <div class="rk-dl-preview-full" id="rk-view-preview">
        <button class="rk-btn-back" id="rk-btn-close">
            <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>
            Wróć do pobierania
        </button>
        <div style="margin-top: 20px;">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Pełna infografika doboru pompy obiegowej">
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var viewMain = document.getElementById('rk-view-main');
    var viewPreview = document.getElementById('rk-view-preview');
    
    var btnPreview = document.getElementById('rk-btn-preview');
    var btnThumb = document.getElementById('rk-btn-thumb');
    var btnClose = document.getElementById('rk-btn-close');

    function openPreview() {
        // Natychmiastowa zmiana stanu bez operatorów && i bez animacji
        viewMain.style.display = 'none';
        viewPreview.style.display = 'block';
    }

    function closePreview() {
        viewPreview.style.display = 'none';
        viewMain.style.display = 'flex'; // Przywracamy flex dla układu desktop/mobile
    }

    btnPreview.addEventListener('click', openPreview);
    btnThumb.addEventListener('click', openPreview);
    btnClose.addEventListener('click', closePreview);
});
</script>



<style>
:root {
    --rk-end-dark: #0f172a;
    --rk-end-blue: #0ea5e9;
    --rk-end-blue-hover: #0284c7;
    --rk-end-bg: #ffffff;
    --rk-end-gray-light: #f1f5f9;
    --rk-end-gray-text: #475569;
    --rk-end-green: #10b981;
    --rk-end-red: #ef4444;
    --rk-end-border: #e2e8f0;
}

.rk-end-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-end-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-end-blue);
    overflow: hidden;
}

/* Sekcja Tytułowa */
.rk-end-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-end-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-end-blue);
}

.rk-end-header h2 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-end-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Symulator */
.rk-end-interactive {
    padding: 40px 50px;
    background: var(--rk-end-gray-light);
}

.rk-end-interactive h3 {
    margin: 0 0 25px 0;
    color: var(--rk-end-dark);
    font-size: 20px;
    font-weight: 800;
}

.rk-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-toggle-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-end-border);
    transition: all 0.3s;
}

.rk-toggle-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.rk-toggle-text {
    padding-right: 20px;
}

.rk-toggle-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-end-dark);
}

.rk-toggle-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-end-gray-text);
    line-height: 1.5;
}

/* Przełącznik Switch */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    flex-shrink: 0;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider {
    background-color: var(--rk-end-green);
}

input:checked + .rk-slider:before {
    transform: translateX(26px);
}

/* Wynik Symulacji */
.rk-end-result-box {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-end-border);
    transition: all 0.4s ease;
}

.rk-result-icon {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.rk-anim-gauge {
    width: 100%;
    height: 100%;
    transform-origin: center;
    transition: all 0.5s ease;
}

.rk-gauge-bg { fill: none; stroke: #e2e8f0; stroke-width: 8; stroke-linecap: round; }
.rk-gauge-val { fill: none; stroke: var(--rk-end-red); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 80; transition: stroke 0.5s, stroke-dashoffset 0.5s; }
.rk-gauge-needle { transform-origin: 50px 50px; transform: rotate(-45deg); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

.rk-end-result-text h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
    transition: color 0.3s;
}

.rk-end-result-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-end-gray-text);
}

.rk-end-result-text a {
    color: var(--rk-end-blue);
    font-weight: 700;
    text-decoration: none;
}
.rk-end-result-text a:hover { text-decoration: underline; }

/* Tagi Długi Ogon */
.rk-end-tags {
    padding: 20px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-end-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.rk-mat-tag {
    background: #f0f9ff;
    color: #0284c7;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #bae6fd;
    white-space: nowrap;
}

/* Massive CTA */
.rk-end-cta {
    padding: 40px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px dashed var(--rk-end-border);
}

.rk-btn-end {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-end-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s ease;
}

.rk-btn-end:hover {
    transform: translateY(-3px);
    background: var(--rk-end-blue-hover);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-end svg {
    transition: transform 0.3s;
}

.rk-btn-end:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-end-header, .rk-end-interactive, .rk-end-tags, .rk-end-cta { padding: 30px 20px; }
    .rk-end-result-box { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }
    .rk-toggle-item { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-switch { align-self: flex-end; }
    .rk-btn-end { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu",
    "description": "Zakończenie artykułu i interaktywny symulator układu dystrybucji udowadniający, że prawidłowy dobór pompy obiegowej chroni przed awarią ogrzewania podłogowego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "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-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Zestawienie Opłacalności Precyzyjnych Obliczeń Hydraulicznych 2026",
    "description": "Baza danych i algorytm oceniający stabilność systemu w zależności od podjętych kroków inżynieryjnych: audyt OZC, parametryzacja zaworów i zastosowanie kalkulatora pomp.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej do podłogówki",
      "kalkulator przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne pętli",
      "pompa obiegowa 25-60 parametry",
      "energooszczędna instalacja podłogowa"
    ],
    "measurementTechnique": "Algorytmiczna weryfikacja błędów hydraulicznych w układach niskotemperaturowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metoda archaiczna: Dobór pompy na oko – ryzyko szumów i niedogrzania.",
        "Metoda inżynierska: Wykorzystanie kalkulatorów, OZC i dokładnej różnicy temperatur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Weryfikator Błędów Hydraulicznych",
    "description": "Interaktywne narzędzie edukacyjne symulujące skutki decyzji instalatorskich na ostateczną sprawność instalacji ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-end-container" id="rk-final-hydraulics">
    <div class="rk-end-header">
        <h2>Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu</h2>
        <p>
            Dobór pompy obiegowej w ogrzewaniu podłogowym nie toleruje kompromisów, półśrodków i instalatorskich mitów. To czysta matematyka i fizyka płynów. Pamiętaj, że nawet najlepsze źródło ciepła, takie jak nowoczesna pompa ciepła czy kocioł kondensacyjny, nie zapewni komfortu termicznego, jeśli układ dystrybucji oparty na pompie obiegowej zostanie spartaczony.
        </p>
    </div>

    <div class="rk-end-interactive">
        <h3>Symulator Stabilności Instalacji</h3>
        <p style="margin-top: -15px; margin-bottom: 25px; color: var(--rk-end-gray-text); font-size: 14px;">Zaznacz, które kroki techniczne zrealizowałeś, aby sprawdzić, czy Twoja podłogówka jest bezpieczna.</p>
        
        <div class="rk-toggle-list">
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Obliczenia cieplne budynku</h4>
                    <p>Posiadam rzetelny audyt wykonany zgodnie ze sztuką (nie szacowany "z metra").</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
            
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Pętle zrównoważone hydraulicznie</h4>
                    <p>Żadna pętla nie przekracza normatywnej maksymalnej długości, chroniąc pompę przed przeciążeniem.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>

            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Użycie kalkulatora pomp</h4>
                    <p>Punkt pracy został precyzyjnie naniesiony na wykres producenta na podstawie rzeczywistych oporów.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
        </div>

        <div class="rk-end-result-box" id="rkSimResult">
            <div class="rk-result-icon">
                <svg viewBox="0 0 100 100" class="rk-anim-gauge">
                    <path class="rk-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <path id="rkGaugeVal" class="rk-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <g id="rkGaugeNeedle" class="rk-gauge-needle">
                        <circle cx="50" cy="50" r="5" fill="#1e293b"></circle>
                        <polygon points="48,50 52,50 50,15" fill="#1e293b"></polygon>
                    </g>
                </svg>
            </div>
            <div class="rk-end-result-text">
                <h4 id="rkSimTitle" style="color: var(--rk-end-red);">Krytyczne Ryzyko Awarii</h4>
                <p id="rkSimDesc">
                    Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-end-tags">
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># kalkulator przepływu wody ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># projekt ozc a pompa ciepła</span>
        <span class="rk-mat-tag"># hałas w rozdzielaczu podłogówki</span>
        <span class="rk-mat-tag"># krzywa grzewcza w ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># pompa obiegowa 25-60 parametry</span>
        <span class="rk-mat-tag"># opory hydrauliczne pętli</span>
        <span class="rk-mat-tag"># energooszczędna instalacja podłogowa</span>
    </div>

    <div class="rk-end-cta">
        <p style="color: var(--rk-end-gray-text); font-size: 16px; margin: 0 auto 25px auto; max-width: 650px; line-height: 1.6;">
            Tylko pełna kontrola nad hydrauliką da Ci pewność, że Twoja instalacja będzie energooszczędna, cicha i bezawaryjna przez długie lata eksploatacji. Czas przejąć stery nad swoją budową.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-end">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-sim-trigger');
    const gaugeVal = document.getElementById('rkGaugeVal');
    const gaugeNeedle = document.getElementById('rkGaugeNeedle');
    const title = document.getElementById('rkSimTitle');
    const desc = document.getElementById('rkSimDesc');
    const resultBox = document.getElementById('rkSimResult');

    function updateSimulation() {
        let score = 0;
        toggles.forEach(function(t) {
            if (t.checked) {
                score = score + 1;
            }
        });

        if (score === 0) {
            gaugeVal.style.stroke = '#ef4444';
            gaugeVal.style.strokeDashoffset = '80';
            gaugeNeedle.style.transform = 'rotate(-80deg)';
            title.style.color = '#ef4444';
            title.textContent = 'Krytyczne Ryzyko Awarii';
            desc.innerHTML = 'Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.';
            resultBox.style.borderColor = '#ef4444';
        } else if (score === 1) {
            gaugeVal.style.stroke = '#eab308';
            gaugeVal.style.strokeDashoffset = '50';
            gaugeNeedle.style.transform = 'rotate(-30deg)';
            title.style.color = '#eab308';
            title.textContent = 'Układ Niestabilny';
            desc.innerHTML = 'Dobry początek, ale instalacja to system naczyń połączonych. Brak kontroli nad <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">resztą błędów wykonawczych</a> zemści się niedogrzaniem stref granicznych.';
            resultBox.style.borderColor = '#eab308';
        } else if (score === 2) {
            gaugeVal.style.stroke = '#0ea5e9';
            gaugeVal.style.strokeDashoffset = '20';
            gaugeNeedle.style.transform = 'rotate(30deg)';
            title.style.color = '#0ea5e9';
            title.textContent = 'Poprawny Standard';
            desc.innerHTML = 'Jesteś na świetnej drodze. Parametry hydrauliczne są niemal spięte, pamiętaj tylko o uwzględnieniu ostatecznego <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">zapotrzebowania na ciepło</a> przed zakupem pompy.';
            resultBox.style.borderColor = '#bae6fd';
        } else if (score === 3) {
            gaugeVal.style.stroke = '#10b981';
            gaugeVal.style.strokeDashoffset = '0';
            gaugeNeedle.style.transform = 'rotate(80deg)';
            title.style.color = '#10b981';
            title.textContent = 'Inżynierska Perfekcja';
            desc.innerHTML = 'Układ zbalansowany w 100%. Tak zaprojektowana instalacja będzie energooszczędna, cicha i bezawaryjna. To fundament, który wykorzystuje pełen potencjał <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">niskotemperaturowej pompy ciepła</a>.';
            resultBox.style.borderColor = '#10b981';
        }
    }

    toggles.forEach(function(toggle) {
        toggle.addEventListener('change', updateSimulation);
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Pompa obiegowa w instalacji ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 10:42:46 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Hydraulika budowlana]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy obiegowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[auto adapt]]></category>
		<category><![CDATA[dobór pompy]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[pompy cyrkulacyjne]]></category>
		<category><![CDATA[pompy ec]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2943</guid>

					<description><![CDATA[<p>Pompa obiegowa w instalacji ogrzewania podłogowego to element, który w praktyce decyduje o tym, czy cały system będzie działał cicho, oszczędnie i równomiernie. Choć często traktowana jako detal techniczny, jej dobór ma bezpośredni wpływ na komfort cieplny, zużycie energii elektrycznej oraz trwałość instalacji. W artykule szczegółowo wyjaśniamy, jak działa pompa obiegowa w instalacji ogrzewania podłogowego, jakie parametry mają kluczowe znaczenie, czym różnią się nowoczesne pompy EC od starszych modeli oraz dlaczego projekt hydrauliczny jest fundamentem prawidłowej pracy całego systemu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-start-dark: #0f172a;
    --rk-start-slate: #475569;
    --rk-start-bg: #f8fafc;
    --rk-start-card: #ffffff;
    --rk-start-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-start-blue: #2563eb;
    --rk-start-blue-light: #eff6ff;
    --rk-start-green: #059669;
    --rk-start-gold: #d97706;
}

.rk-start-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-start-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.1);
    border: 1px solid var(--rk-start-border);
    overflow: hidden;
}

/* Sekcja Nagłówka i Hooka */
.rk-start-hero {
    background: linear-gradient(135deg, var(--rk-start-dark) 0%, #1e293b 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
}

.rk-start-hero h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.25;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-hook-box {
    font-size: 17px;
    line-height: 1.6;
    color: #cbd5e1;
    margin-bottom: 30px;
    padding-left: 20px;
    border-left: 4px solid var(--rk-start-gold);
}

.rk-hook-box strong {
    color: #ffffff;
}

/* Szybka Odpowiedź (Quick Answer) */
.rk-qa-box {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 30px;
    color: var(--rk-start-dark);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.rk-qa-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.rk-qa-icon {
    width: 28px;
    height: 28px;
    background: #dcfce7;
    color: var(--rk-start-green);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-qa-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rk-start-green);
}

.rk-qa-content {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    font-weight: 500;
}

.rk-qa-content strong {
    color: var(--rk-start-blue);
}

/* Kafelkowy Spis Treści (Zamiast Mapy) */
.rk-start-body {
    padding: 40px;
    background: var(--rk-start-bg);
}

.rk-body-heading {
    font-size: 13px;
    font-weight: 900;
    color: var(--rk-start-slate);
    text-transform: uppercase;
    margin-bottom: 25px;
    text-align: center;
}

.rk-start-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.rk-start-tile {
    background: #ffffff;
    border: 1px solid var(--rk-start-border);
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-start-tile:hover {
    border-color: var(--rk-start-blue);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.1);
}

.rk-start-tile.active {
    background: var(--rk-start-blue-light);
    border-color: var(--rk-start-blue);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.2);
}

.rk-tile-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
    color: var(--rk-start-blue);
}

.rk-tile-num {
    font-size: 11px;
    font-weight: 900;
    color: var(--rk-start-slate);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.rk-start-tile.active .rk-tile-num { color: var(--rk-start-blue); }

.rk-tile-text {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-start-dark);
    margin: 0;
}

/* Obszar Treści Pod Kafelkami */
.rk-content-group {
    background: #ffffff;
    border: 1px solid var(--rk-start-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-content-panel {
    display: none;
}

.rk-content-panel.active {
    display: block;
}

.rk-panel-badge {
    display: inline-block;
    padding: 6px 12px;
    background: var(--rk-start-bg);
    color: var(--rk-start-blue);
    font-size: 12px;
    font-weight: 900;
    border-radius: 6px;
    text-transform: uppercase;
    margin-bottom: 15px;
    border: 1px solid var(--rk-start-border);
}

.rk-content-panel h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-start-dark);
    margin: 0 0 15px 0;
}

.rk-content-panel p {
    font-size: 15px;
    color: var(--rk-start-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-content-panel p:last-child { margin-bottom: 0; }

.rk-content-panel a {
    color: var(--rk-start-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Baner Informacyjny na dole */
.rk-start-footer {
    background: var(--rk-start-blue);
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
}

.rk-footer-icon {
    flex-shrink: 0;
}

.rk-footer-text {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 800px) {
    .rk-start-hero { padding: 35px 25px; }
    .rk-start-tiles { grid-template-columns: 1fr; gap: 15px; }
    .rk-start-body { padding: 25px; }
    .rk-intro-content { padding: 25px; }
    .rk-qa-box { padding: 20px; }
    .rk-start-footer { flex-direction: column; text-align: center; padding: 20px; }
}
</style>

<div class="rk-start-container" id="rkStartModule">
    
    <div class="rk-start-hero">
        <h2>Pompa obiegowa w instalacji ogrzewania podłogowego – Kompleksowy przewodnik</h2>
        
        <div class="rk-hook-box">
            Większość inwestorów skupia się na wyborze kotła czy pompy ciepła, całkowicie ignorując urządzenie, które fizycznie dystrybuuje energię. <strong>Złe wbudowanie pompy obiegowej w instalacji ogrzewania podłogowego to najkrótsza droga do niedogrzanej łazienki, hałasu w rurach i rachunków wyższych o kilkaset złotych rocznie.</strong> Przejmij kontrolę nad sercem swojego układu grzewczego.
        </div>

        <div class="rk-qa-box">
            <div class="rk-qa-header">
                <div class="rk-qa-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <h3>Szybka Odpowiedź</h3>
            </div>
            <p class="rk-qa-content">
                <strong>Pompa obiegowa w instalacji ogrzewania podłogowego</strong> to niewielkie urządzenie węzłowe (bezdławnicowe), montowane zazwyczaj przy rozdzielaczu. Jej kluczowym zadaniem jest wymuszenie ciągłego przepływu wody poprzez pokonanie wysokich oporów hydraulicznych wężownicy (rzadziej 16×2 mm). Prawidłowo dobrany model elektroniczny (EC) pracujący w trybie stałociśnieniowym (CP) zużywa <strong>zaledwie od 5 do 22 W</strong> energii elektrycznej.
            </p>
        </div>
    </div>

    <div class="rk-start-body">
        <div class="rk-body-heading">Interaktywny Przewodnik (Wybierz Zagadnienie)</div>
        
        <div class="rk-start-tiles">
            <div class="rk-start-tile active" data-target="mod-calc">
                <div class="rk-tile-num">Część 1</div>
                <h4 class="rk-tile-text">Inżynierski dobór</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>
                </div>
            </div>
            <div class="rk-start-tile" data-target="mod-mode">
                <div class="rk-tile-num">Część 2</div>
                <h4 class="rk-tile-text">Elektronika i Tryby</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
                </div>
            </div>
            <div class="rk-start-tile" data-target="mod-err">
                <div class="rk-tile-num">Część 3</div>
                <h4 class="rk-tile-text">Błędy w montażu</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
                </div>
            </div>
        </div>

        <div class="rk-content-group">
            
            <div class="rk-content-panel active" id="mod-calc">
                <span class="rk-panel-badge">Obliczenia Q/H</span>
                <h4>Jak poprawnie obliczyć przepływ i wysokość podnoszenia?</h4>
                <p>Odrzucamy instalatorskie mity o dobieraniu pompy &#8222;na oko&#8221; lub &#8222;na metry kwadratowe&#8221;. Wodne <strong>ogrzewanie podłogowe charakteryzuje się bardzo dużą pojemnością wodną (zładem) oraz wysokimi oporami wewnętrznymi.</strong> Rola pompy polega na pokonaniu tych oporów.</p>
                <p>W tej sekcji poznasz dokładne wzory inżynierskie bazujące na <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normie PN-EN 1264</a>, które pozwolą Ci wyliczyć wymagany przepływ masowy (Q) i wysokość podnoszenia (H) dla Twojej pętli krytycznej.</p>
            </div>

            <div class="rk-content-panel" id="mod-mode">
                <span class="rk-panel-badge">Konfiguracja pompy</span>
                <h4>Zasady działania i tryby pracy pompy EC</h4>
                <p>Nawet najlepsza <strong>pompa obiegowa w instalacji ogrzewania podłogowego</strong> ulegnie przyspieszonemu zużyciu, jeśli zostanie źle skonfigurowana. Elektronika nowoczesnych modeli EC wybacza znacznie mniej niż stare pompy AC.</p>
                <p>Wyjaśniamy, dlaczego tryb proporcjonalny (PP) to błąd w sztuce w płaszczyznowym ogrzewaniu. Dowiesz się, jak tryb stałociśnieniowy (CP) optymalizuje pracę układu i dlaczego funkcja AUTOADAPT może być pułapką, jeśli nie rozumiesz krzywych charakterystyki.</p>
            </div>

            <div class="rk-content-panel" id="mod-err">
                <span class="rk-panel-badge">Praktyka na Budowie</span>
                <h4>Katalog krytycznych błędów instalacyjnych</h4>
                <p>Przenosimy się z kotłowni na plac budowy. Dowiesz się, gdzie dokładnie powinna być zamontowana pompa (za lub przed <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworem mieszającym (3D/4D)</a>) i jakie są techniczne konsekwencje nieprzestrzegania instrukcji.</p>
                <p>Opisujemy katastrofalne skutki pracy wirnika w osi pionowej (co niszczy ceramiczne poduszki wodne łożysk) oraz zagrożenia wynikające z braku separatora magnetycznego (siatka min. 500 µm) przy silnikach z magnesem neodymowym.</p>
            </div>

        </div>
    </div>

    <div class="rk-start-footer">
        <div class="rk-footer-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
        </div>
        <p class="rk-start-footer-text">
            <strong>Narzędzia premium wewnątrz artykułu:</strong> W dalszej części tekstu udostępniłem dla Ciebie interaktywne kalkulatory doboru, symulatory hydrauliczne oraz twarde tabele inżynierskie, które pomogą Ci podjąć bezbłędną decyzję inwestycyjną.
        </p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tiles = document.querySelectorAll('.rk-start-tile');
    const panels = document.querySelectorAll('.rk-content-panel');

    tiles.forEach(tile => {
        tile.addEventListener('click', function() {
            // Reset active states
            tiles.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Set new active states
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Pompa obiegowa w instalacji ogrzewania podłogowego – Kompleksowy przewodnik",
    "description": "Poradnik o pompach obiegowych w podłogówce. HOOK, Szybka Odpowiedź, parametry wydajnościowe, tryby pracy (CP/PP) oraz najczęstsze błędy montażowe.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-wstep",
    "name": "Wprowadzenie i parametry startowe pomp w podłogówce",
    "description": "Baza informacji startowych kategoryzująca kluczowe parametry doboru i diagnostyki pomp obiegowych w układach niskotemperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa obiegowa w instalacji ogrzewania podłogowego",
      "szybka odpowiedź ogrzewanie podłogowe pompa",
      "obliczenia hydrauliczne podłogówki wzory",
      "tryb stałociśnieniowy cp vs proporcjonalny pp",
      "zatarte łożyska pompy ceramiczne"
    ],
    "measurementTechnique": "Kategoryzacja parametrów inżynierskich na podstawie podziału treści na trzy moduły tematyczne: dobór, elektronika, montaż.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obliczenia Q i H dla pętli krytycznej wg normy PN-EN 1264.",
        "Analiza trybów pracy pompy EC i energooszczędności.",
        "Diagnostyka błędów instalacyjnych i zanieczyszczeń magnetycznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-spis-tresci",
    "name": "Kafelkowy Spis Treści (Statyczny)",
    "description": "Interfejs w formie kafelków na górze artykułu, pozwalający na statyczne (bez animacji) przełączanie informacji o tematyce trzech głównych sekcji poradnika.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-stat-dark: #0f172a;
    --rk-stat-slate: #475569;
    --rk-stat-bg: #f8fafc;
    --rk-stat-card: #ffffff;
    --rk-stat-border: #e2e8f0;
    
    /* Kolory akcentujące */
    --rk-stat-blue: #2563eb;
    --rk-stat-red: #ef4444;
    --rk-stat-green: #10b981;
}

.rk-stat-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-stat-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.1);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
}

/* Tagi Long Tail */
.rk-stat-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-stat-card);
}

.rk-mat-tag {
    background: var(--rk-stat-bg);
    color: var(--rk-stat-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--rk-stat-border);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-stat-blue);
    color: #ffffff;
}

/* Nagłówek */
.rk-stat-header {
    padding: 25px 40px 30px;
    background: var(--rk-stat-card);
    color: var(--rk-stat-dark);
}

.rk-stat-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-stat-header p {
    font-size: 15px;
    color: var(--rk-stat-slate);
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

/* Układ główny - Tło dla całej sekcji nawigacji i paneli */
.rk-stat-body {
    background: var(--rk-stat-bg);
    border-top: 1px solid var(--rk-stat-border);
    padding: 35px 40px;
}

/* Menu Nawigacyjne Poziome (Tab Bar) */
.rk-stat-nav-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

.rk-stat-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid var(--rk-stat-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-stat-btn:hover {
    border-color: var(--rk-stat-blue);
}

.rk-stat-btn.active {
    background: var(--rk-stat-blue);
    border-color: var(--rk-stat-blue);
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.2);
}

.rk-stat-btn.active[data-target="panel2"],
.rk-stat-btn.active[data-target="panel3"] {
    background: var(--rk-stat-red);
    border-color: var(--rk-stat-red);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.2);
}

.rk-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--rk-stat-slate);
    transition: all 0.2s;
}

.rk-stat-btn.active .rk-btn-icon {
    color: #ffffff;
}

.rk-btn-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-stat-dark);
    margin: 0;
    transition: all 0.2s;
}

.rk-stat-btn.active .rk-btn-text {
    color: #ffffff;
}

/* Prawa Kolumna - Treść i SVG (Statyczne) */
.rk-stat-panel {
    display: none;
    animation: fadeInPanel 0.3s ease-out;
}

.rk-stat-panel.active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}

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

/* Obszar grafiki SVG */
.rk-svg-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-stat-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-static-svg {
    width: 100%;
    max-width: 320px;
    height: auto;
}

/* Obszar tekstu */
.rk-text-wrapper h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-stat-dark);
    margin: 0 0 15px 0;
}

.rk-text-wrapper p {
    font-size: 15px;
    color: var(--rk-stat-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-text-wrapper strong {
    color: var(--rk-stat-dark);
}

.rk-text-wrapper a {
    color: var(--rk-stat-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
}

.rk-consequence-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-stat-red);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
}

.rk-consequence-box h4 {
    margin: 0 0 8px 0;
    color: var(--rk-stat-red);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-consequence-box p {
    margin: 0;
    font-size: 14px;
    color: #991b1b;
    font-weight: 500;
}

@media (max-width: 768px) {
    .rk-stat-nav-bar { grid-template-columns: 1fr; gap: 10px; }
    .rk-stat-panel.active { grid-template-columns: 1fr; gap: 20px; }
    .rk-stat-body { padding: 25px 20px; }
    .rk-stat-header { padding: 25px 20px 20px; }
    .rk-stat-tags { padding: 20px 20px 0; }
    .rk-stat-header h2 { font-size: 24px; }
    .rk-svg-wrapper { padding: 20px; }
}
</style>

<div class="rk-stat-container" id="rkStaticApp">
    
    <div class="rk-stat-tags">
        <span class="rk-mat-tag"># zasada działania pompy obiegowej</span>
        <span class="rk-mat-tag"># montaż pompy na powrocie</span>
        <span class="rk-mat-tag"># zatarte łożyska ceramiczne</span>
        <span class="rk-mat-tag"># filtr magnetyczny 500 µm</span>
    </div>

    <div class="rk-stat-header">
        <h2>Jak działa pompa obiegowa i gdzie powinna być zamontowana?</h2>
        <p>Pompa obiegowa w instalacji ogrzewania podłogowego działa na zasadzie wymuszenia przepływu hydraulicznego w zamkniętym układzie, a miejscem jej montażu – zgodnie z dobrą praktyką inżynierską i normą PN-EN 1264-4 – powinien być układ mieszająco-pompowy.</p>
    </div>

    <div class="rk-stat-body">
        <div class="rk-stat-nav-bar">
            <button class="rk-stat-btn active" data-target="panel1">
                <div class="rk-btn-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <span class="rk-btn-text">Zasada Działania</span>
            </button>
            
            <button class="rk-stat-btn" data-target="panel2">
                <div class="rk-btn-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                <span class="rk-btn-text">Błąd: Oś Pionowa</span>
            </button>
            
            <button class="rk-stat-btn" data-target="panel3">
                <div class="rk-btn-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <span class="rk-btn-text">Błąd: Brak Filtra</span>
            </button>
        </div>

        <div class="rk-stat-content-area">
            
            <div class="rk-stat-panel active" id="panel1">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <rect x="20" y="20" width="60" height="160" rx="8" fill="#e2e8f0" />
                        <text x="50" y="100" fill="#475569" font-size="12" font-weight="bold" text-anchor="middle" transform="rotate(-90 50 100)">Rozdzielacz</text>
                        
                        <path d="M 80 50 L 250 50" fill="none" stroke="#ef4444" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 80 150 L 250 150" fill="none" stroke="#3b82f6" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 180 50 L 180 150" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>

                        <circle cx="180" cy="150" r="16" fill="#f59e0b" />
                        <text x="180" y="185" fill="#f59e0b" font-size="11" font-weight="bold" text-anchor="middle">Zawór Mieszający</text>

                        <rect x="150" y="30" width="60" height="40" rx="8" fill="#1e293b" />
                        <circle cx="180" cy="50" r="14" fill="#334155" />
                        <path d="M 170 50 L 190 50 M 180 40 L 180 60" stroke="#10b981" stroke-width="4" stroke-linecap="round"/>
                        <text x="180" y="18" fill="#1e293b" font-size="11" font-weight="bold" text-anchor="middle">Oś Pozioma (OK)</text>

                        <polygon points="120,44 130,50 120,56" fill="#ffffff" />
                        <polygon points="220,44 230,50 220,56" fill="#ffffff" />
                        <polygon points="230,144 220,150 230,156" fill="#ffffff" />
                        <polygon points="174,100 180,90 186,100" fill="#ffffff" />
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Pojemność i opory hydrauliczne</h3>
                    <p>Wodne ogrzewanie podłogowe charakteryzuje się bardzo dużą pojemnością wodną (zładem) oraz wysokimi oporami wewnętrznymi. Rola pompy polega na przetłoczeniu masy wody przez pętle o małym przekroju (np. rura 16×2 mm posiada prześwit zaledwie 12 mm).</p>
                    <p>Montaż pompy za zaworem mieszającym pozwala na obniżenie temperatury zasilającego czynnika grzewczego z parametrów wysokich (np. 55°C) do bezpiecznych dla <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu</a>, czyli <strong>30–45°C</strong>.</p>
                </div>
            </div>

            <div class="rk-stat-panel" id="panel2">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <path d="M 80 100 L 250 100" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        
                        <rect x="145" y="60" width="40" height="80" rx="8" fill="#1e293b" />
                        <circle cx="165" cy="100" r="14" fill="#334155" />
                        <path d="M 155 100 L 175 100 M 165 90 L 165 110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                        
                        <circle cx="210" cy="60" r="16" fill="#ef4444" />
                        <path d="M 205 55 L 215 65 M 215 55 L 205 65" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
                        <text x="165" y="165" fill="#ef4444" font-size="11" font-weight="bold" text-anchor="middle">Oś Pionowa (BŁĄD)</text>
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Orientacja wału wirnika</h3>
                    <p>Zgodnie z wymogami producentów i fizyką działania pomp bezdławnicowych, urządzenie musi pracować wyłącznie w osi poziomej wału wirnika. Woda instalacyjna pełni w tym układzie funkcję smarującą i chłodzącą dla precyzyjnych elementów ruchomych.</p>
                    <div class="rk-consequence-box">
                        <h4>Konsekwencje błędu</h4>
                        <p>Brak zachowania poziomej orientacji wału skutkuje pracą w warunkach suchego startu i zapowietrzeniem komory. Niszczy to ceramiczne poduszki wodne łożysk w czasie krótszym niż 1 sezon grzewczy.</p>
                    </div>
                </div>
            </div>

            <div class="rk-stat-panel" id="panel3">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <path d="M 80 100 L 250 100" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        
                        <circle cx="100" cy="100" r="3" fill="#475569"/>
                        <circle cx="115" cy="98" r="4" fill="#475569"/>
                        <circle cx="125" cy="103" r="2" fill="#475569"/>
                        
                        <rect x="150" y="80" width="60" height="40" rx="8" fill="#1e293b" />
                        <circle cx="180" cy="100" r="14" fill="#334155" />
                        <path d="M 170 100 L 190 100 M 180 90 L 180 110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                        
                        <circle cx="175" cy="95" r="3" fill="#000000"/>
                        <circle cx="185" cy="105" r="4" fill="#000000"/>

                        <path d="M 140 70 L 140 130" stroke="#ef4444" stroke-width="3" stroke-dasharray="4 4" />
                        <text x="140" y="60" fill="#ef4444" font-size="11" font-weight="bold" text-anchor="middle">Brak Filtra!</text>
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Zabezpieczenie magnetyczne</h3>
                    <p>Nowoczesne pompy cyrkulacyjne (silniki EC) posiadają w wirniku niezwykle silne magnesy neodymowe. Zjawisko to sprawia, że pompa naturalnie przyciąga z instalacji wszelkie metaliczne zanieczyszczenia i rdzę.</p>
                    <div class="rk-consequence-box">
                        <h4>Konsekwencje błędu</h4>
                        <p>Montaż bez filtra z wkładem magnetycznym o gęstości siatki minimum 500 µm naraża wirnik na zablokowanie przez cząstki magnetytu. Trwałe zablokowanie obrotu wału w 90% przypadków doprowadza do przepalenia stojana.</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-stat-btn');
    const panels = document.querySelectorAll('.rk-stat-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Remove active classes
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked button and target panel
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-dzialanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak działa pompa obiegowa w instalacji ogrzewania podłogowego i gdzie powinna być zamontowana?",
    "description": "Zasady działania i wymogi montażowe (PN-EN 1264-4) pompy obiegowej w układzie mieszającym. Dowiedz się, dlaczego orientacja wału i filtr magnetyczny są krytyczne.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-montaz-pompy",
    "name": "Wytyczne Montażowe i Parametry Pracy Pompy Obiegowej 2026",
    "description": "Zestawienie statycznych zaleceń inżynierskich dotyczących pozycjonowania pomp bezdławnicowych oraz konieczności filtracji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zasada działania pompy obiegowej",
      "montaż pompy na powrocie",
      "zatarte łożyska ceramiczne",
      "filtr magnetyczny 500 µm"
    ],
    "measurementTechnique": "Analiza schematyczna błędów instalacyjnych powodujących pracę na sucho lub blokadę wirnika przez zanieczyszczenia magnetyczne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Oś pozioma wału: Wymagana dla zachowania żywotności łożysk ceramicznych (zapobieganie suchemu startowi).",
        "Zabezpieczenie magnetyczne: Filtr z siatką min. 500 µm jako ochrona przed zatarciem silnika EC magnetytem z instalacji.",
        "Miejsce montażu: Przy układzie mieszającym w celu redukcji parametrów zasilania z 55°C do 30-45°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-diagnostyka",
    "name": "Interaktywny Przewodnik Montażowy",
    "description": "Statyczny interfejs diagnostyczny z zakładkami, ilustrujący poprawne zasady wbudowania pompy obiegowej oraz techniczne konsekwencje nieprzestrzegania instrukcji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-char-dark: #0f172a;
    --rk-char-slate: #475569;
    --rk-char-bg: #f8fafc;
    --rk-char-card: #ffffff;
    --rk-char-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-char-blue: #2563eb;
    --rk-char-blue-light: #eff6ff;
    --rk-char-green: #10b981;
    --rk-char-red: #ef4444;
    --rk-char-orange: #f59e0b;
}

.rk-char-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-char-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.1);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
}

/* Nagłówek i Teoria (Układ jednowymiarowy pionowy) */
.rk-char-theory-grid {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--rk-char-border);
}

.rk-char-text-part {
    padding: 40px;
    background: linear-gradient(145deg, var(--rk-char-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-char-text-part h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-char-text-part p {
    font-size: 15px;
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-char-text-part a {
    color: #93c5fd;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
}

/* Kontenery parametrów ustawione obok siebie na desktopie */
.rk-param-boxes-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 30px;
}

.rk-param-box {
    background: rgba(255,255,255,0.05);
    border-left: 3px solid var(--rk-char-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    line-height: 1.6;
}

.rk-param-box strong {
    color: #60a5fa;
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Ilustracja Q i H (SVG) - Wyśrodkowana na pełnej szerokości */
.rk-char-illustration {
    background: #ffffff;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    border-top: 1px solid var(--rk-char-border);
}

.rk-illu-title {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-char-dark);
    text-transform: uppercase;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

/* Interaktywne Porównanie Pomp */
.rk-char-compare-sec {
    padding: 40px;
    background: var(--rk-char-bg);
}

.rk-comp-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-comp-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-char-dark);
    margin: 0 0 10px 0;
}

/* Zakładki (Tabs) */
.rk-tabs-nav {
    display: flex;
    background: #e2e8f0;
    border-radius: 16px;
    padding: 6px;
    max-width: 700px;
    margin: 0 auto 35px;
    position: relative;
}

.rk-tab-btn {
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-char-slate);
    cursor: pointer;
    border: none;
    background: transparent;
    border-radius: 12px;
    transition: all 0.3s;
    position: relative;
    z-index: 2;
}

.rk-tab-btn.active { color: #ffffff; }

.rk-tab-glider {
    position: absolute;
    top: 6px; left: 6px;
    height: calc(100% - 12px);
    width: calc(33.333% - 4px);
    background: var(--rk-char-blue);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1;
}

/* Kafelki z danymi (zamiast tabeli) */
.rk-data-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-data-card {
    background: var(--rk-char-card);
    border: 1px solid var(--rk-char-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-data-icon {
    margin: 0 auto 12px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-char-blue);
    transition: color 0.3s;
}

.rk-data-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-char-dark);
    margin-bottom: 6px;
    transition: color 0.3s;
}

.rk-data-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-char-slate);
    text-transform: uppercase;
}

/* Animacja i status dla wybranej technologii */
.rk-tech-visual {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-char-border);
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.rk-tech-desc {
    flex: 1;
}

.rk-tech-badge {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
    transition: all 0.3s;
}

.rk-tech-desc p {
    font-size: 14px;
    color: var(--rk-char-slate);
    line-height: 1.6;
    margin: 0;
}

/* SVG Animacje globalne */
.rk-anim-flow { stroke-dasharray: 10; animation: pipeFlow 2s linear infinite; }
@keyframes pipeFlow { to { stroke-dashoffset: -20; } }

/* Dynamiczne stany dla technologii */
.state-ac .rk-data-val { color: var(--rk-char-red); }
.state-ac .rk-data-icon { color: var(--rk-char-red); }
.state-ac .rk-tech-badge { background: #fee2e2; color: var(--rk-char-red); }
.state-ac .svg-ring { stroke: var(--rk-char-red); }

.state-ec-const .rk-data-val { color: var(--rk-char-orange); }
.state-ec-const .rk-data-icon { color: var(--rk-char-orange); }
.state-ec-const .rk-tech-badge { background: #fef3c7; color: #b45309; }
.state-ec-const .svg-ring { stroke: var(--rk-char-orange); }

.state-ec-auto .rk-data-val { color: var(--rk-char-green); }
.state-ec-auto .rk-data-icon { color: var(--rk-char-green); }
.state-ec-auto .rk-tech-badge { background: #dcfce7; color: var(--rk-char-green); }
.state-ec-auto .svg-ring { stroke: var(--rk-char-green); }

@media (max-width: 768px) {
    .rk-param-boxes-wrapper { grid-template-columns: 1fr; gap: 15px; }
    .rk-char-text-part, .rk-char-illustration, .rk-char-compare-sec { padding: 25px 20px; }
    .rk-data-grid { grid-template-columns: 1fr 1fr; }
    .rk-tech-visual { flex-direction: column; text-align: center; gap: 20px; }
    .rk-tab-btn { font-size: 12px; padding: 12px 5px; }
}

@media (max-width: 480px) {
    .rk-data-grid { grid-template-columns: 1fr; }
}
</style>

<div class="rk-char-container" id="rkCharApp">
    
    <div class="rk-char-theory-grid">
        <div class="rk-char-text-part">
            <h2>Jak dobrać parametry pompy obiegowej i jak czytać jej charakterystykę?</h2>
            <p>Prawidłowy dobór pompy obiegowej do ogrzewania podłogowego wymaga określenia dwóch punktów roboczych: wydajności <strong>Q</strong> wyrażonej w m³/h oraz wysokości podnoszenia <strong>H</strong> wyrażonej w m H₂O (lub kPa), zgodnie z procedurą projektową <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normy PN-EN 1264</a>.</p>
            <p>Punkt pracy instalacji musi przecinać się z krzywą charakterystyki pompy w obszarze jej najwyższej sprawności, czyli w środkowej 1/3 części wykresu.</p>
            
            <div class="rk-param-boxes-wrapper">
                <div class="rk-param-box">
                    <strong>Wydajność (Q)</strong>
                    Określa strumień objętościowy wody, jaki musi przepłynąć w ciągu godziny, aby dostarczyć moc cieplną przy założonym schłodzeniu czynnika (optymalne ΔT wynosi 5 K).
                </div>
                
                <div class="rk-param-box" style="border-color: #a78bfa;">
                    <strong style="color: #c4b5fd;">Wysokość podnoszenia (H)</strong>
                    Parametr określający zdolność pompy do pokonania sumarycznych strat ciśnienia (tarcia) w <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">najdłuższej pętli grzewczej</a>. Nie jest to fizyczna wysokość budynku! Ciśnienie statyczne się równoważy.
                </div>
            </div>
        </div>
        
        <div class="rk-char-illustration">
            <div class="rk-illu-title">Fizyka układu zamkniętego</div>
            <svg viewBox="0 0 200 250" style="width: 100%; max-width: 250px; height: auto;">
                <path d="M 20 100 L 100 30 L 180 100 L 180 230 L 20 230 Z" fill="none" stroke="#cbd5e1" stroke-width="3" stroke-dasharray="4 4"/>
                <line x1="20" y1="160" x2="180" y2="160" stroke="#cbd5e1" stroke-width="2" stroke-dasharray="4 4"/>
                
                <rect x="70" y="70" width="60" height="130" rx="10" fill="none" stroke="#e2e8f0" stroke-width="12"/>
                <path d="M 70 200 L 70 70 A 10 10 0 0 1 80 60 L 120 60 A 10 10 0 0 1 130 70 L 130 200" fill="none" stroke="#3b82f6" stroke-width="6" class="rk-anim-flow"/>
                
                <circle cx="100" cy="200" r="18" fill="#1e293b"/>
                <circle cx="100" cy="200" r="10" fill="#334155"/>
                
                <path d="M 145 100 L 145 140 M 140 135 L 145 140 L 150 135" fill="none" stroke="#10b981" stroke-width="2"/>
                <text x="155" y="125" font-size="11" fill="#10b981" font-weight="bold">ΔH = 0</text>
                
                <path d="M 55 140 L 55 100 M 50 105 L 55 100 L 60 105" fill="none" stroke="#ef4444" stroke-width="2"/>
                
                <text x="100" y="130" font-size="11" fill="#f59e0b" font-weight="bold" text-anchor="middle">Tarcie (H)</text>
            </svg>
            <p style="font-size: 14px; color: var(--rk-char-slate); text-align: center; margin-top: 25px; max-width: 600px; font-weight: 500; line-height: 1.6;">
                W zamkniętym układzie podłogówki siły grawitacji się znoszą. Pompa pokonuje wyłącznie opory tarcia rur (H).
            </p>
        </div>
    </div>

    <div class="rk-char-compare-sec" id="rkCompareStage">
        <div class="rk-comp-header">
            <h3>Porównanie technologii pomp obiegowych</h3>
            <p style="font-size: 14px; color: var(--rk-char-slate);">Wybierz technologię, aby sprawdzić jej parametry eksploatacyjne i koszty energii.</p>
        </div>

        <div class="rk-tabs-nav">
            <button class="rk-tab-btn active" data-index="0" data-type="ac">Pompa AC (Starszy typ)</button>
            <button class="rk-tab-btn" data-index="1" data-type="ec-const">Pompa EC (Biegi stałe)</button>
            <button class="rk-tab-btn" data-index="2" data-type="ec-auto">Pompa EC (AUTOADAPT)</button>
            <div class="rk-tab-glider" id="rkTabGlider"></div>
        </div>

        <div class="rk-data-grid" id="rkDataGrid">
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg></div>
                <div class="rk-data-val" id="valPow">45-90 W</div>
                <div class="rk-data-lbl">Pobór Mocy</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                <div class="rk-data-val" id="valEei">≥ 0,40</div>
                <div class="rk-data-lbl">Wskaźnik EEI</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-data-val" id="valReg" style="font-size: 16px;">Manualna (3 biegi)</div>
                <div class="rk-data-lbl">Regulacja</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-data-val" id="valCost">~288 PLN</div>
                <div class="rk-data-lbl">Roczny Koszt Energii</div>
            </div>
        </div>

        <div class="rk-tech-visual state-ac" id="rkTechVisualArea">
            <div style="width: 120px; height: 120px; position: relative;">
                <svg viewBox="0 0 100 100" width="100%" height="100%">
                    <circle cx="50" cy="50" r="45" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                    <circle cx="50" cy="50" r="35" fill="none" stroke-width="4" class="svg-ring"/>
                    <circle cx="50" cy="50" r="12" fill="#1e293b"/>
                </svg>
            </div>
            <div class="rk-tech-desc">
                <div class="rk-tech-badge" id="descBadge">Technologia Przestarzała</div>
                <p id="descText">Pompa asynchroniczna pracująca ze stałą, wysoką prędkością. Zużywa maksymalną ilość energii niezależnie od tego, czy zawory termostatyczne są otwarte czy zamknięte. Niezgodna z obecną dyrektywą ErP.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-tab-btn');
    const glider = document.getElementById('rkTabGlider');
    const visualArea = document.getElementById('rkTechVisualArea');
    const dataGrid = document.getElementById('rkDataGrid');
    
    // Data Elements
    const valPow = document.getElementById('valPow');
    const valEei = document.getElementById('valEei');
    const valReg = document.getElementById('valReg');
    const valCost = document.getElementById('valCost');
    const descBadge = document.getElementById('descBadge');
    const descText = document.getElementById('descText');

    const pumpData = {
        "ac": {
            pow: "45-90 W", eei: "≥ 0,40", reg: "Manualna (3 biegi)", cost: "144-288 PLN",
            badge: "Technologia Przestarzała",
            desc: "Pompa asynchroniczna pracująca ze stałą, wysoką prędkością. Zużywa maksymalną ilość energii niezależnie od tego, czy zawory termostatyczne są otwarte czy zamknięte. Niezgodna z obecną dyrektywą ErP."
        },
        "ec-const": {
            pow: "12-45 W", eei: "≤ 0,23", reg: "Proporcjonalna", cost: "38-144 PLN",
            badge: "Standard Rynkowy",
            desc: "Pompa z silnikiem elektronicznie komutowanym (EC). Oferuje ręczną zmianę charakterystyki pracy. Jest znacznie oszczędniejsza, ale wymaga ręcznego dopasowania krzywej do instalacji."
        },
        "ec-auto": {
            pow: "4-25 W", eei: "≤ 0,20", reg: "Automatyczna (ADAPT)", cost: "12-80 PLN",
            badge: "Najwyższa Efektywność",
            desc: "Inteligentna pompa z silnikiem EC, która automatycznie analizuje opory instalacji. Sama dobiera minimalne wymagane ciśnienie i przepływ, gwarantując najniższe możliwe zużycie prądu i ciszę."
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Glider positioning
            const index = this.getAttribute('data-index');
            let transformVal = 0;
            
            // Calculating transform based on index and viewport width
            if (window.innerWidth <= 768) {
                transformVal = index * 100;
                glider.style.transform = `translateX(calc(${transformVal}% + ${index * 4}px))`;
            } else {
                transformVal = index * 100;
                glider.style.transform = `translateX(calc(${transformVal}% + ${index * 4}px))`;
            }

            // Colors update
            let color = '';
            const type = this.getAttribute('data-type');
            if(type === 'ac') color = '#ef4444';
            if(type === 'ec-const') color = '#f59e0b';
            if(type === 'ec-auto') color = '#10b981';
            glider.style.backgroundColor = color;

            // Active Class
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Data Population
            const d = pumpData[type];
            valPow.textContent = d.pow;
            valEei.textContent = d.eei;
            valReg.textContent = d.reg;
            valCost.textContent = d.cost;
            descBadge.textContent = d.badge;
            descText.textContent = d.desc;

            // Visual State Update
            visualArea.className = `rk-tech-visual state-${type}`;
            dataGrid.className = `rk-data-grid state-${type}`;
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-dobor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobrać parametry pompy obiegowej do podłogówki i jak czytać jej charakterystykę?",
    "description": "Poradnik wyjaśniający inżynieryjne parametry przepływu (Q) i wysokości podnoszenia (H) w pompach obiegowych. Porównanie technologii AC, EC i AUTOADAPT.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-technologie",
    "name": "Porównanie technologii pomp obiegowych (AC vs EC) 2026",
    "description": "Zestawienie parametrów technicznych i kosztów eksploatacji dla 3 generacji pomp cyrkulacyjnych stosowanych w instalacjach ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry pompy obiegowej do podłogówki",
      "wydajność pompy obiegowej",
      "wysokość podnoszenia pompy co to jest",
      "wskaźnik eei w pompach",
      "koszt energii pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wskaźników zużycia energii elektrycznej i krzywych pracy dla pomp asynchronicznych oraz elektronicznie komutowanych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa AC: 45-90W, Koszt ~288 PLN/rok",
        "Pompa EC (Stała): 12-45W, Koszt ~144 PLN/rok",
        "Pompa EC (Autoadapt): 4-25W, Koszt ~80 PLN/rok"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-technologie",
    "name": "Kalkulator Oszczędności Technologii Pomp",
    "description": "Interaktywny moduł edukacyjny z zakładkami, pozwalający inwestorowi porównać roczne koszty poboru mocy oraz efektywność energetyczną różnych typów pomp obiegowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-calc-dark: #1e1b4b; /* Deep Indigo */
    --rk-calc-primary: #6366f1; /* Indigo */
    --rk-calc-primary-light: #e0e7ff;
    --rk-calc-accent: #f97316; /* Orange */
    --rk-calc-bg: #f8fafc;
    --rk-calc-card: #ffffff;
    --rk-calc-text: #475569;
    --rk-calc-border: #e2e8f0;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-calc-card);
    border-radius: 24px;
    box-shadow: 0 20px 50px -10px rgba(99, 102, 241, 0.15);
    border: 1px solid rgba(99, 102, 241, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-calc-header {
    padding: 35px 40px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #312e81 100%);
    color: #ffffff;
    text-align: center;
}

.rk-calc-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-calc-header p {
    font-size: 16px;
    color: #c7d2fe;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

/* Interaktywny Kalkulator - Layout */
.rk-calc-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--rk-calc-border);
    background: var(--rk-calc-bg);
}

/* Lewa Kolumna - Suwaki */
.rk-calc-controls {
    padding: 35px;
    border-right: 1px solid var(--rk-calc-border);
    background: var(--rk-calc-card);
}

.rk-ctrl-box {
    margin-bottom: 30px;
}

.rk-ctrl-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 12px;
}

.rk-ctrl-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-ctrl-val-box {
    background: var(--rk-calc-primary-light);
    color: var(--rk-calc-primary);
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

/* Styl suwaka */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #cbd5e1;
    border-radius: 3px;
    outline: none;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-primary);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(99, 102, 241, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

.rk-range:active::-webkit-slider-thumb { transform: scale(1.15); }

.rk-range-desc {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

/* Prawa Kolumna - Wyniki i Wykres SVG */
.rk-calc-visual {
    padding: 35px;
    display: flex;
    flex-direction: column;
}

.rk-result-row {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-res-card {
    flex: 1;
    background: var(--rk-calc-card);
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
}

.rk-res-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: var(--rk-calc-primary);
}

.rk-res-card:nth-child(2)::before { background: var(--rk-calc-accent); }

.rk-res-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin-bottom: 4px;
    font-variant-numeric: tabular-nums;
}

.rk-res-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-calc-text);
    text-transform: uppercase;
}

.rk-graph-box {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
}

.rk-graph-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    text-align: center;
    margin-bottom: 15px;
}

/* Wyjaśnienie Krok po Kroku */
.rk-steps-area {
    padding: 40px;
    background: #ffffff;
}

.rk-step-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-step-card {
    background: var(--rk-calc-bg);
    border-radius: 16px;
    padding: 25px;
    border: 1px solid var(--rk-calc-border);
}

.rk-step-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-step-badge {
    width: 28px;
    height: 28px;
    background: var(--rk-calc-primary);
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
}

.rk-step-card p {
    font-size: 14px;
    color: var(--rk-calc-text);
    line-height: 1.6;
    margin: 0 0 12px 0;
}

.rk-step-card a {
    color: var(--rk-calc-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-math-block {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-left: 4px solid var(--rk-calc-primary);
    padding: 12px 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 14px;
    color: var(--rk-calc-dark);
    margin: 15px 0;
    overflow-x: auto;
}

.rk-math-block strong {
    color: var(--rk-calc-primary);
    font-size: 15px;
}

.rk-step-card ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
    font-size: 13px;
    color: var(--rk-calc-text);
    line-height: 1.6;
}

.rk-step-card li { margin-bottom: 4px; }

@media (max-width: 768px) {
    .rk-calc-app, .rk-step-grid { grid-template-columns: 1fr; }
    .rk-calc-controls { border-right: none; border-bottom: 1px solid var(--rk-calc-border); padding: 25px; }
    .rk-calc-visual, .rk-steps-area, .rk-calc-header { padding: 25px; }
    .rk-calc-header h2 { font-size: 24px; }
}
</style>

<div class="rk-calc-container" id="rkPumpCalculatorApp">
    
    <div class="rk-calc-header">
        <h2>Jak obliczyć wydajność i wysokość podnoszenia pompy obiegowej? Kalkulator krok po kroku</h2>
        <p>Obliczenie parametrów pompy obiegowej opiera się na matematycznym wyznaczeniu przepływu masowego oraz sumy strat ciśnienia liniowego i miejscowego. Sprawdź parametry interaktywnie.</p>
    </div>

    <div class="rk-calc-app">
        <div class="rk-calc-controls">
            
            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Moc instalacji (Φ)</span>
                    <span class="rk-ctrl-val-box" id="valPhiOut">12 kW</span>
                </div>
                <input type="range" id="rkInpPhi" class="rk-range" min="4" max="25" step="1" value="12">
                <span class="rk-range-desc">Projektowe obciążenie cieplne na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a>.</span>
            </div>

            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Różnica temp. (ΔT)</span>
                    <span class="rk-ctrl-val-box" id="valDtOut">5 K</span>
                </div>
                <input type="range" id="rkInpDt" class="rk-range" min="3" max="10" step="1" value="5">
                <span class="rk-range-desc"><a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">Spadek temperatury (ΔT)</a> między zasilaniem a powrotem.</span>
            </div>

            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Najdłuższa pętla (l)</span>
                    <span class="rk-ctrl-val-box" id="valLenOut">100 m</span>
                </div>
                <input type="range" id="rkInpLen" class="rk-range" min="50" max="150" step="5" value="100">
                <span class="rk-range-desc">Krytyczna <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długość pętli ogrzewania podłogowego</a> generująca największe opory.</span>
            </div>

        </div>

        <div class="rk-calc-visual">
            <div class="rk-result-row">
                <div class="rk-res-card">
                    <div class="rk-res-val" id="resQ">2.06</div>
                    <div class="rk-res-lbl">Wydajność (Q) [m³/h]</div>
                </div>
                <div class="rk-res-card">
                    <div class="rk-res-val" id="resH">2.21</div>
                    <div class="rk-res-lbl">Wys. podnoszenia (H) [m]</div>
                </div>
            </div>

            <div class="rk-graph-box">
                <div class="rk-graph-title">Wykres Punktu Pracy Pompy</div>
                <svg viewBox="0 0 300 150" style="width: 100%; height: auto; display: block; overflow: visible;">
                    <line x1="20" y1="130" x2="280" y2="130" stroke="#cbd5e1" stroke-width="1" />
                    <line x1="20" y1="10" x2="20" y2="130" stroke="#cbd5e1" stroke-width="1" />
                    <text x="280" y="145" font-size="10" fill="#64748b" text-anchor="end">Q (Przepływ)</text>
                    <text x="5" y="15" font-size="10" fill="#64748b" text-anchor="start">H</text>

                    <path d="M 20 20 Q 150 20 280 130" fill="none" stroke="#e2e8f0" stroke-width="4" stroke-dasharray="5 5" />
                    
                    <path id="svgSystemCurve" d="M 20 130 Q 80 130 150 70" fill="none" stroke="#f97316" stroke-width="3" />
                    
                    <line id="svgLineX" x1="20" y1="70" x2="150" y2="70" stroke="#6366f1" stroke-width="1" stroke-dasharray="3 3" />
                    <line id="svgLineY" x1="150" y1="130" x2="150" y2="70" stroke="#6366f1" stroke-width="1" stroke-dasharray="3 3" />
                    
                    <circle id="svgDot" cx="150" cy="70" r="6" fill="#6366f1" />
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-steps-area">
        <div class="rk-step-grid">
            
            <div class="rk-step-card">
                <h3><div class="rk-step-badge">1</div> Obliczenie wydajności (Q)</h3>
                <p>Do wyznaczenia przepływu stosujemy podstawowe równanie wymiany ciepła przekształcone do postaci strumienia objętości.</p>
                
                <div class="rk-math-block">Q = Φ / (1,163 × ΔT)</div>
                
                <ul>
                    <li><strong>Q</strong> – wydajność pompy [m³/h]</li>
                    <li><strong>Φ</strong> – obciążenie cieplne instalacji [kW]</li>
                    <li><strong>ΔT</strong> – różnica temperatur zasilanie/powrót [K]</li>
                    <li><strong>1,163</strong> – stała gęstości/ciepła wody</li>
                </ul>

                <p style="font-size: 13px; margin-top: 15px;"><strong>Przykład dla ustalonego suwaka:</strong><br>
                Dla <span id="txtPhi">12</span> kW i ΔT = <span id="txtDt">5</span> K:</p>
                <div class="rk-math-block" style="border-left-color: #cbd5e1; background: #f8fafc;">
                    Q = <span id="txtPhi2">12</span> / (1,163 × <span id="txtDt2">5</span>)<br>
                    Q ≈ <strong id="txtResQ">2.06</strong> m³/h
                </div>
            </div>

            <div class="rk-step-card">
                <h3><div class="rk-step-badge">2</div> Wyznaczenie podnoszenia (H)</h3>
                <p>Wysokość podnoszenia obliczamy z sumy strat ciśnienia najdłuższego obiegu (pętli krytycznej).</p>
                
                <div class="rk-math-block">
                    Δp<sub>tot</sub> = (R × l + Δp<sub>m</sub>) × 1,3<br>
                    H = Δp<sub>tot</sub> / 10000
                </div>

                <ul>
                    <li><strong>R</strong> – opór rury (założono 120 Pa/m)</li>
                    <li><strong>l</strong> – długość najdłuższej pętli [m]</li>
                    <li><strong>Δp<sub>m</sub></strong> – opory miejscowe (założono 5000 Pa)</li>
                    <li><strong>1,3</strong> – współczynnik bezpieczeństwa</li>
                </ul>

                <p style="font-size: 13px; margin-top: 15px;"><strong>Przykład dla pętli <span id="txtLen">100</span> m:</strong></p>
                <div class="rk-math-block" style="border-left-color: #cbd5e1; background: #f8fafc;">
                    Δp<sub>tot</sub> = (120 × <span id="txtLen2">100</span> + 5000) × 1,3<br>
                    Δp<sub>tot</sub> = <span id="txtPa">22100</span> Pa<br>
                    H = <span id="txtPa2">22100</span> / 10000 = <strong id="txtResH">2.21</strong> m H₂O
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Input elements
    const inpPhi = document.getElementById('rkInpPhi');
    const inpDt = document.getElementById('rkInpDt');
    const inpLen = document.getElementById('rkInpLen');

    // UI Value Output elements
    const valPhiOut = document.getElementById('valPhiOut');
    const valDtOut = document.getElementById('valDtOut');
    const valLenOut = document.getElementById('valLenOut');

    // Result elements
    const resQ = document.getElementById('resQ');
    const resH = document.getElementById('resH');

    // Text replacement elements
    const txtPhi = document.getElementById('txtPhi');
    const txtPhi2 = document.getElementById('txtPhi2');
    const txtDt = document.getElementById('txtDt');
    const txtDt2 = document.getElementById('txtDt2');
    const txtResQ = document.getElementById('txtResQ');
    
    const txtLen = document.getElementById('txtLen');
    const txtLen2 = document.getElementById('txtLen2');
    const txtPa = document.getElementById('txtPa');
    const txtPa2 = document.getElementById('txtPa2');
    const txtResH = document.getElementById('txtResH');

    // SVG elements
    const svgSystemCurve = document.getElementById('svgSystemCurve');
    const svgDot = document.getElementById('svgDot');
    const svgLineX = document.getElementById('svgLineX');
    const svgLineY = document.getElementById('svgLineY');

    // Graph configuration
    const graphWidth = 260; // 280 - 20
    const graphHeight = 120; // 130 - 10
    const maxQ = 6; // max m3/h on graph
    const maxH = 6; // max m H2O on graph

    function updateCalculator() {
        const phi = parseFloat(inpPhi.value);
        const dt = parseFloat(inpDt.value);
        const len = parseFloat(inpLen.value);

        // UI Updates
        valPhiOut.textContent = phi + ' kW';
        valDtOut.textContent = dt + ' K';
        valLenOut.textContent = len + ' m';

        // Calculations
        const qVal = phi / (1.163 * dt);
        
        const R = 120; // Pa/m fixed for simulation
        const pm = 5000; // Pa fixed local resistance
        const pTot = (R * len + pm) * 1.3;
        const hVal = pTot / 10000;

        // Set Results
        resQ.textContent = qVal.toFixed(2);
        resH.textContent = hVal.toFixed(2);

        // Update Text Logic block
        txtPhi.textContent = phi; txtPhi2.textContent = phi;
        txtDt.textContent = dt; txtDt2.textContent = dt;
        txtResQ.textContent = qVal.toFixed(2);
        
        txtLen.textContent = len; txtLen2.textContent = len;
        txtPa.textContent = pTot.toFixed(0); txtPa2.textContent = pTot.toFixed(0);
        txtResH.textContent = hVal.toFixed(2);

        // Update SVG Graph
        // Calculate coordinates (Origin is at 20, 130)
        let cx = 20 + (qVal / maxQ) * graphWidth;
        let cy = 130 - (hVal / maxH) * graphHeight;

        // Clamp values for visual sanity if they exceed graph
        if(cx > 280) cx = 280;
        if(cy < 10) cy = 10;

        // Update Dot and Lines
        svgDot.setAttribute('cx', cx);
        svgDot.setAttribute('cy', cy);
        
        svgLineX.setAttribute('x2', cx);
        svgLineX.setAttribute('y1', cy);
        svgLineX.setAttribute('y2', cy);
        
        svgLineY.setAttribute('x1', cx);
        svgLineY.setAttribute('x2', cx);
        svgLineY.setAttribute('y1', 130);
        svgLineY.setAttribute('y2', cy);

        // Draw parabolic system curve
        // Parabola equation: H = k * Q^2 -> passing through origin (20,130) and point (cx,cy)
        // Control point for quadratic bezier to approximate parabola:
        const cpX = 20 + (cx - 20) / 2;
        const cpY = 130; 
        svgSystemCurve.setAttribute('d', `M 20 130 Q ${cpX} ${cpY} ${cx} ${cy}`);
    }

    // Listeners
    inpPhi.addEventListener('input', updateCalculator);
    inpDt.addEventListener('input', updateCalculator);
    inpLen.addEventListener('input', updateCalculator);

    // Initial run
    updateCalculator();
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak obliczyć wydajność i wysokość podnoszenia pompy obiegowej? Kalkulator krok po kroku",
    "description": "Zestawienie inżynierskich wzorów na przepływ i straty ciśnienia w podłogówce. Interaktywny algorytm wyliczający punkt pracy pompy obiegowej.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-algorytm",
    "name": "Algorytm doboru parametrów Q i H pompy obiegowej 2026",
    "description": "Matematyczny model obliczeniowy strat ciśnienia i przepływu objętościowego dla pętli ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenie wydajności pompy obiegowej",
      "wysokość podnoszenia pompy wzór",
      "kalkulator doboru pompy obiegowej",
      "opory miejscowe i liniowe podłogówka",
      "punkt pracy pompy wykres"
    ],
    "measurementTechnique": "Równanie wymiany ciepła oraz sumowanie strat ciśnienia liniowego (120 Pa/m) i miejscowego z współczynnikiem 1.3.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Q [m3/h] = Moc [kW] / (1.163 * Delta T)",
        "H [m H2O] = (Opory rur + Opory zaworów) * 1.3 / 10000"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-kalkulator",
    "name": "Kalkulator Punktu Pracy Pompy Obiegowej",
    "description": "Narzędzie inżynierskie pozwalające na dynamiczne wyliczenie parametrów Q i H oraz narysowanie charakterystyki instalacji na podstawie suwaków.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-mod-dark: #0f172a;
    --rk-mod-slate: #334155;
    --rk-mod-bg: #f8fafc;
    --rk-mod-card: #ffffff;
    --rk-mod-border: #e2e8f0;
    
    /* Temat kolorystyczny - Techniczny Teal */
    --rk-mod-teal: #0d9488;
    --rk-mod-teal-light: #ccfbf1;
    --rk-mod-teal-dark: #115e59;
    --rk-mod-red: #ef4444;
    --rk-mod-red-light: #fee2e2;
}

.rk-mod-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-mod-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(13, 148, 136, 0.15);
    border: 1px solid rgba(13, 148, 136, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-mod-header {
    padding: 35px 40px;
    background: linear-gradient(135deg, var(--rk-mod-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-mod-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-mod-header p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0;
    max-width: 800px;
    line-height: 1.6;
}

/* Układ główny */
.rk-mod-layout {
    display: grid;
    grid-template-columns: 380px 1fr;
    border-bottom: 1px solid var(--rk-mod-border);
}

/* Panel Sterowania */
.rk-mod-controls {
    padding: 35px;
    background: var(--rk-mod-bg);
    border-right: 1px solid var(--rk-mod-border);
}

.rk-ctrl-group {
    margin-bottom: 30px;
}

.rk-ctrl-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-mod-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Mode Switch (CP vs PP) */
.rk-mode-switch {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 4px;
    position: relative;
}

.rk-mode-switch input { display: none; }

.rk-mode-label {
    flex: 1;
    text-align: center;
    padding: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-mod-slate);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    z-index: 2;
}

.rk-mode-switch input:checked + .rk-mode-label {
    color: #ffffff;
}

.rk-mode-glider {
    position: absolute;
    top: 4px; left: 4px;
    height: calc(100% - 8px);
    width: calc(50% - 4px);
    background: var(--rk-mod-teal);
    border-radius: 8px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1;
}

#rkModePP:checked ~ .rk-mode-glider {
    transform: translateX(100%);
    background: var(--rk-mod-red);
}

/* Termostaty (Checkbox) */
.rk-thermo-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: var(--rk-mod-card);
    border: 1px solid var(--rk-mod-border);
    border-radius: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.rk-thermo-box:hover { border-color: var(--rk-mod-teal); }

.rk-thermo-info {
    display: flex;
    flex-direction: column;
}

.rk-thermo-name { font-size: 15px; font-weight: 700; color: var(--rk-mod-dark); }
.rk-thermo-status { font-size: 12px; color: var(--rk-mod-teal); font-weight: 600; transition: color 0.3s; }

.rk-switch-sm {
    position: relative;
    width: 44px; height: 24px;
}

.rk-switch-sm input { display: none; }
.rk-slider-sm {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-mod-teal);
    border-radius: 24px;
    transition: .3s;
}
.rk-slider-sm:before {
    position: absolute;
    content: "";
    height: 18px; width: 18px;
    left: 3px; bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: .3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.rk-switch-sm input:checked + .rk-slider-sm { background-color: #cbd5e1; }
.rk-switch-sm input:checked + .rk-slider-sm:before { transform: translateX(20px); }

/* Wizualizator */
.rk-mod-visual {
    padding: 35px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.rk-dashboard {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-dash-metric {
    flex: 1;
    background: var(--rk-mod-bg);
    border: 1px solid var(--rk-mod-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-dash-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-mod-dark);
    font-variant-numeric: tabular-nums;
    transition: color 0.3s;
}

.rk-dash-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-mod-slate);
    text-transform: uppercase;
    margin-top: 4px;
}

.rk-svg-wrapper {
    flex: 1;
    background: var(--rk-mod-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-mod-border);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* SVG Animations */
.rk-pipe { stroke: #cbd5e1; stroke-width: 8; fill: none; stroke-linecap: round; }
.rk-water { stroke: var(--rk-mod-teal); stroke-width: 4; fill: none; stroke-linecap: round; stroke-dasharray: 10 15; transition: stroke 0.3s, opacity 0.3s; }
.rk-valve { transition: transform 0.3s; transform-origin: center; }

.flow-active { animation: waterFlow 1s linear infinite; }
.flow-slow { animation: waterFlow 3s linear infinite; stroke: var(--rk-mod-red); }
.flow-stopped { opacity: 0; }

@keyframes waterFlow { to { stroke-dashoffset: -25; } }

.rk-status-alert {
    position: absolute;
    bottom: 20px; right: 20px;
    padding: 8px 16px;
    background: var(--rk-mod-teal-light);
    color: var(--rk-mod-teal-dark);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    transition: all 0.3s;
    opacity: 1;
}

/* Kontent Opisowy */
.rk-mod-content {
    padding: 40px;
    background: #ffffff;
}

.rk-mod-content h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-mod-dark);
    margin: 0 0 15px 0;
}

.rk-mod-content p {
    font-size: 15px;
    color: var(--rk-mod-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-mod-content a {
    color: var(--rk-mod-teal);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-grid-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 25px;
}

.rk-text-box {
    padding: 20px;
    background: var(--rk-mod-bg);
    border-radius: 12px;
    border-left: 4px solid var(--rk-mod-teal);
}

.rk-text-box.box-error {
    border-left-color: var(--rk-mod-red);
}

@media (max-width: 768px) {
    .rk-mod-layout { grid-template-columns: 1fr; }
    .rk-mod-controls { border-right: none; border-bottom: 1px solid var(--rk-mod-border); padding: 25px; }
    .rk-grid-text { grid-template-columns: 1fr; gap: 15px; }
    .rk-mod-visual, .rk-mod-content, .rk-mod-header { padding: 25px; }
    .rk-dashboard { flex-wrap: wrap; }
    .rk-dash-metric { min-width: 40%; }
}
</style>

<div class="rk-mod-container" id="rkPumpModeApp">
    <div class="rk-mod-header">
        <h2>Jaki tryb pracy pompy elektronicznej wybrać: Stałociśnieniowy (CP) czy Proporcjonalny (PP)?</h2>
        <p>W systemach płaszczyznowych, gdzie pętle zamykane są strefowo przez termostaty, wybór trybu determinuje komfort cieplny. Zobacz na żywo, jak błędny tryb &#8222;odcina&#8221; najdalsze pokoje.</p>
    </div>

    <div class="rk-mod-layout">
        <div class="rk-mod-controls">
            
            <div class="rk-ctrl-group">
                <div class="rk-ctrl-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Ustawienie Pompy (Algorytm)
                </div>
                <div class="rk-mode-switch">
                    <input type="radio" name="pumpMode" id="rkModeCP" value="CP" checked="">
                    <label for="rkModeCP" class="rk-mode-label">Tryb Stałociśnieniowy (CP)</label>
                    
                    <input type="radio" name="pumpMode" id="rkModePP" value="PP">
                    <label for="rkModePP" class="rk-mode-label">Tryb Proporcjonalny (PP)</label>
                    
                    <div class="rk-mode-glider"></div>
                </div>
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Termostaty Pokojowe
                </div>

                <label class="rk-thermo-box" id="boxT1">
                    <div class="rk-thermo-info">
                        <span class="rk-thermo-name">Salon (Pętla 1)</span>
                        <span class="rk-thermo-status" id="statT1">Grzeje (Zawór otwarty)</span>
                    </div>
                    <div class="rk-switch-sm">
                        <input type="checkbox" id="rkToggle1">
                        <span class="rk-slider-sm"></span>
                    </div>
                </label>

                <label class="rk-thermo-box" id="boxT2">
                    <div class="rk-thermo-info">
                        <span class="rk-thermo-name">Sypialnia (Pętla 2)</span>
                        <span class="rk-thermo-status" id="statT2">Grzeje (Zawór otwarty)</span>
                    </div>
                    <div class="rk-switch-sm">
                        <input type="checkbox" id="rkToggle2">
                        <span class="rk-slider-sm"></span>
                    </div>
                </label>
                
                <div style="font-size: 12px; color: #64748b; margin-top: 10px; text-align: center;">
                    Pętla 3 (Łazienka) jest zawsze otwarta na potrzeby symulacji.
                </div>
            </div>
        </div>

        <div class="rk-mod-visual">
            <div class="rk-dashboard">
                <div class="rk-dash-metric">
                    <div class="rk-dash-val" id="valPress">2.5 m</div>
                    <div class="rk-dash-lbl">Ciśnienie (H)</div>
                </div>
                <div class="rk-dash-metric">
                    <div class="rk-dash-val" id="valPow">22 W</div>
                    <div class="rk-dash-lbl">Pobór Mocy</div>
                </div>
            </div>

            <div class="rk-svg-wrapper">
                <svg viewBox="0 0 300 200" style="width: 100%; height: auto;">
                    <path d="M 50 100 L 100 100" class="rk-pipe"></path>
                    <path d="M 50 100 L 100 100" class="rk-water flow-active" id="flowMain"></path>

                    <circle cx="50" cy="100" r="25" fill="#1e293b"></circle>
                    <circle cx="50" cy="100" r="15" fill="#334155"></circle>

                    <rect x="100" y="40" width="20" height="120" fill="#cbd5e1" rx="4"></rect>

                    <path d="M 120 60 L 250 60" class="rk-pipe"></path>
                    <path d="M 120 60 L 250 60" class="rk-water flow-active" id="flowP1"></path>
                    <circle cx="140" cy="60" r="8" fill="#0d9488" class="rk-valve" id="valve1"></circle>
                    <text x="260" y="64" font-size="12" font-weight="bold" fill="#334155">Salon</text>

                    <path d="M 120 100 L 250 100" class="rk-pipe"></path>
                    <path d="M 120 100 L 250 100" class="rk-water flow-active" id="flowP2"></path>
                    <circle cx="140" cy="100" r="8" fill="#0d9488" class="rk-valve" id="valve2"></circle>
                    <text x="260" y="104" font-size="12" font-weight="bold" fill="#334155">Sypialnia</text>

                    <path d="M 120 140 L 250 140" class="rk-pipe"></path>
                    <path d="M 120 140 L 250 140" class="rk-water flow-active" id="flowP3"></path>
                    <circle cx="140" cy="140" r="8" fill="#0d9488"></circle>
                    <text x="260" y="144" font-size="12" font-weight="bold" fill="#334155">Łazienka</text>
                </svg>

                <div class="rk-status-alert" id="statusAlert">System zbilansowany</div>
            </div>
        </div>
    </div>

    <div class="rk-mod-content">
        <h3>Dlaczego Tryb Stałociśnieniowy (CP) to jedyny wybór?</h3>
        <p>Dla instalacji ogrzewania podłogowego jedynym prawidłowym trybem pracy pompy elektronicznej jest tryb stałociśnieniowy (oznaczany jako <strong>CP – Constant Pressure</strong>). Urządzenie utrzymuje w nim stałą wysokość podnoszenia (ciśnienie) niezależnie od zmian natężenia przepływu, które są naturalnie wywoływane zamykaniem się <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> na rozdzielaczu.</p>
        
        <div class="rk-grid-text">
            <div class="rk-text-box">
                <h4 style="margin: 0 0 10px 0; color: var(--rk-mod-teal);">Mechanika w Trybie CP (Prawidłowa)</h4>
                <p style="font-size: 14px; margin: 0;">Gdy <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostat pokojowy</a> zamknie obieg nagrzanego salonu, pompa natychmiast wyczuwa wzrost oporów. Zmniejsza swoje obroty i pobór prądu (np. do 6W), ale <strong>utrzymuje zadane ciśnienie</strong>. Woda płynie z pełną prędkością przez łazienkę.</p>
            </div>
            <div class="rk-text-box box-error">
                <h4 style="margin: 0 0 10px 0; color: var(--rk-mod-red);">Mechanika w Trybie PP (Błąd)</h4>
                <p style="font-size: 14px; margin: 0;">Wybór trybu proporcjonalnego (PP) jest błędem. Gdy salon się zamyka, pompa sztucznie obniża ciśnienie hydrauliczne w całym układzie. Prowadzi to do drastycznego spowolnienia przepływu i wychłodzenia podłogi np. w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Controls
    const modeRadios = document.querySelectorAll('input[name="pumpMode"]');
    const toggle1 = document.getElementById('rkToggle1');
    const toggle2 = document.getElementById('rkToggle2');
    
    // Status Text
    const stat1 = document.getElementById('statT1');
    const stat2 = document.getElementById('statT2');
    const alertBox = document.getElementById('statusAlert');
    
    // Metrics
    const valPress = document.getElementById('valPress');
    const valPow = document.getElementById('valPow');
    
    // SVG Elements
    const flowMain = document.getElementById('flowMain');
    const flowP1 = document.getElementById('flowP1');
    const flowP2 = document.getElementById('flowP2');
    const flowP3 = document.getElementById('flowP3');
    const valve1 = document.getElementById('valve1');
    const valve2 = document.getElementById('valve2');

    function updateSim() {
        const mode = document.querySelector('input[name="pumpMode"]:checked').value;
        const v1Closed = toggle1.checked;
        const v2Closed = toggle2.checked;
        
        let openCount = 3;
        if(v1Closed) openCount--;
        if(v2Closed) openCount--;

        // UI Updates for Toggles
        if(v1Closed) {
            stat1.textContent = 'Zamknięty (Osiągnięto temp.)';
            stat1.style.color = '#64748b';
            valve1.style.transform = 'scale(0.3)';
            valve1.style.fill = '#ef4444';
            flowP1.className.baseVal = 'rk-water flow-stopped';
        } else {
            stat1.textContent = 'Grzeje (Zawór otwarty)';
            stat1.style.color = '#0d9488';
            valve1.style.transform = 'scale(1)';
            valve1.style.fill = '#0d9488';
            flowP1.className.baseVal = 'rk-water flow-active';
        }

        if(v2Closed) {
            stat2.textContent = 'Zamknięty (Osiągnięto temp.)';
            stat2.style.color = '#64748b';
            valve2.style.transform = 'scale(0.3)';
            valve2.style.fill = '#ef4444';
            flowP2.className.baseVal = 'rk-water flow-stopped';
        } else {
            stat2.textContent = 'Grzeje (Zawór otwarty)';
            stat2.style.color = '#0d9488';
            valve2.style.transform = 'scale(1)';
            valve2.style.fill = '#0d9488';
            flowP2.className.baseVal = 'rk-water flow-active';
        }

        // Core Simulation Logic
        if(openCount === 3) {
            valPress.textContent = '2.5 m';
            valPress.style.color = '#0f172a';
            valPow.textContent = '22 W';
            flowP3.className.baseVal = 'rk-water flow-active';
            flowMain.className.baseVal = 'rk-water flow-active';
            
            alertBox.textContent = 'Układ zbilansowany (Wszystko otwarte)';
            alertBox.style.background = 'var(--rk-mod-teal-light)';
            alertBox.style.color = 'var(--rk-mod-teal-dark)';
        } 
        else if (mode === 'CP') {
            // Constant Pressure Mode
            valPress.textContent = '2.5 m'; // Stays constant
            valPress.style.color = '#0f172a';
            valPow.textContent = openCount === 2 ? '14 W' : '6 W'; // Power drops adaptively
            flowP3.className.baseVal = 'rk-water flow-active'; // Łazienka still gets full flow
            flowMain.className.baseVal = 'rk-water flow-active';
            
            alertBox.textContent = 'CP: Łazienka dogrzewana poprawnie';
            alertBox.style.background = 'var(--rk-mod-teal-light)';
            alertBox.style.color = 'var(--rk-mod-teal-dark)';
        }
        else if (mode === 'PP') {
            // Proportional Pressure Mode
            valPress.textContent = openCount === 2 ? '1.5 m' : '0.8 m'; // Pressure drops!
            valPress.style.color = '#ef4444';
            valPow.textContent = openCount === 2 ? '10 W' : '4 W'; 
            
            // Flow in remaining loop suffers
            if(openCount === 1) {
                flowP3.className.baseVal = 'rk-water flow-slow';
                flowMain.className.baseVal = 'rk-water flow-slow';
                alertBox.textContent = 'BŁĄD PP: Łazienka niedogrzana! (Spadek ciśnienia)';
                alertBox.style.background = 'var(--rk-mod-red-light)';
                alertBox.style.color = 'var(--rk-mod-red)';
            } else {
                flowP3.className.baseVal = 'rk-water flow-active';
                flowMain.className.baseVal = 'rk-water flow-active';
                alertBox.textContent = 'PP: Spadek ciśnienia. Słabszy przepływ.';
                alertBox.style.background = '#fef3c7';
                alertBox.style.color = '#b45309';
            }
        }
    }

    // Event Listeners
    modeRadios.forEach(r => r.addEventListener('change', updateSim));
    toggle1.addEventListener('change', updateSim);
    toggle2.addEventListener('change', updateSim);

    // Init
    updateSim();
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-tryby-pracy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jaki tryb pracy pompy elektronicznej wybrać: Stałociśnieniowy (CP) czy Proporcjonalny (PP)?",
    "description": "Techniczne porównanie trybów pracy pomp obiegowych (CP vs PP). Dowiedz się, dlaczego tryb proporcjonalny powoduje niedogrzewanie pomieszczeń ze sterowaniem strefowym.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-tryby-pracy",
    "name": "Charakterystyki Pracy Pomp Obiegowych (CP vs PP) 2026",
    "description": "Zestawienie parametrów ciśnienia i przepływu dla inteligentnych pomp obiegowych w układach z dławieniem termostatycznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb stałociśnieniowy pompy",
      "tryb proporcjonalny podłogówka",
      "zamykanie siłowników termoelektrycznych",
      "spadek ciśnienia w instalacji",
      "niedogrzana łazienka"
    ],
    "measurementTechnique": "Symulacja zmian ciśnienia tłoczenia [m H2O] i poboru mocy [W] w zależności od ilości otwartych zaworów na belce rozdzielacza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Tryb CP (Constant Pressure): Utrzymuje stałe ciśnienie przy zmniejszonym przepływie, idealny dla podłogówki.",
        "Tryb PP (Proportional Pressure): Redukuje ciśnienie wraz ze spadkiem przepływu, powodując zaburzenia hydrauliczne i niedogrzewanie pętli."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-tryby-pracy",
    "name": "Symulator Hydrauliczny Trybów CP/PP",
    "description": "Narzędzie interaktywne ilustrujące wpływ zamykania siłowników termoelektrycznych na parametry przepływu i ciśnienia w zależności od zadanego algorytmu pompy.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-con-dark: #0f172a;
    --rk-con-text: #334155;
    --rk-con-bg: #f8fafc;
    --rk-con-surface: #ffffff;
    --rk-con-border: #e2e8f0;
    
    /* State Colors */
    --rk-state-weak: #0284c7;   /* Niebieski - niedogrzanie */
    --rk-state-opt: #10b981;    /* Zielony - idealnie */
    --rk-state-strong: #ef4444; /* Czerwony - przeciążenie */
}

.rk-con-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-con-surface);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-con-border);
    overflow: hidden;
}

/* Tagi SEO */
.rk-con-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: #e2e8f0;
    color: var(--rk-con-dark);
}

/* Nagłówek */
.rk-con-header {
    padding: 25px 40px 30px;
    text-align: center;
    border-bottom: 1px solid var(--rk-con-border);
}

.rk-con-header h2 {
    font-size: 30px;
    font-weight: 900;
    color: var(--rk-con-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-con-header p {
    font-size: 16px;
    color: var(--rk-con-text);
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Interaktywny Symulator - Obszar Roboczy */
.rk-con-app-area {
    background: linear-gradient(180deg, var(--rk-con-bg) 0%, #ffffff 100%);
    padding: 40px;
}

/* Suwak (Slider) */
.rk-sim-slider-box {
    max-width: 600px;
    margin: 0 auto 40px;
    background: var(--rk-con-surface);
    padding: 25px 35px;
    border-radius: 20px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-con-border);
    text-align: center;
}

.rk-slider-title {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-con-dark);
    margin-bottom: 25px;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-state-opt);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    border: 4px solid #ffffff;
    transition: background 0.3s, transform 0.1s;
}

.rk-range-input::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-state-opt);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    border: 4px solid #ffffff;
    transition: background 0.3s, transform 0.1s;
}

.rk-range-input:active::-webkit-slider-thumb { transform: scale(1.1); }
.rk-range-input:active::-moz-range-thumb { transform: scale(1.1); }

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

/* Wizualizacja SVG */
.rk-con-visual {
    position: relative;
    width: 100%;
    max-width: 400px;
    height: 180px;
    margin: 0 auto 40px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-con-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rk-vis-status-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    transition: background-color 0.3s;
}

/* Animacje SVG zależne od stanu */
.rk-svg-pipe { stroke: #cbd5e1; stroke-width: 12; stroke-linecap: round; fill: none; transition: stroke 0.3s; }
.rk-svg-flow { stroke-width: 6; stroke-linecap: round; fill: none; stroke-dasharray: 15 15; transition: stroke 0.3s; }

/* Stany Wizualizatora */
.state-1 .rk-vis-status-badge { background: var(--rk-state-weak); }
.state-1 .rk-svg-pipe { stroke: #e0f2fe; }
.state-1 .rk-svg-flow { stroke: var(--rk-state-weak); animation: flowAnim 4s linear infinite; }
.state-1 .rk-svg-crack { opacity: 1; stroke-dasharray: 100; animation: drawCrack 2s forwards; }
.state-1 .rk-svg-wave { opacity: 0; }

.state-2 .rk-vis-status-badge { background: var(--rk-state-opt); }
.state-2 .rk-svg-pipe { stroke: #dcfce7; }
.state-2 .rk-svg-flow { stroke: var(--rk-state-opt); animation: flowAnim 1.5s linear infinite; }
.state-2 .rk-svg-crack { opacity: 0; }
.state-2 .rk-svg-wave { opacity: 0; }

.state-3 .rk-vis-status-badge { background: var(--rk-state-strong); }
.state-3 .rk-svg-pipe { stroke: #fee2e2; animation: shakePipe 0.5s infinite; }
.state-3 .rk-svg-flow { stroke: var(--rk-state-strong); animation: flowAnim 0.3s linear infinite; }
.state-3 .rk-svg-crack { opacity: 0; }
.state-3 .rk-svg-wave { opacity: 1; animation: pulseWave 0.5s infinite; }

@keyframes flowAnim { to { stroke-dashoffset: -60; } }
@keyframes drawCrack { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes shakePipe { 0%, 100% { transform: translateY(0); } 25% { transform: translateY(-2px); } 75% { transform: translateY(2px); } }
@keyframes pulseWave { 0% { opacity: 0.3; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.3; transform: scale(0.9); } }

/* Karty Konsekwencji - Kafelki Grid */
.rk-con-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-con-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-con-border);
    border-top: 4px solid var(--rk-state-opt); /* Dynamiczny kolor */
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.rk-con-card.fade-in {
    animation: cardFadeIn 0.4s ease-out forwards;
}

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

.rk-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    background: #f1f5f9;
    color: var(--rk-con-dark);
    transition: all 0.3s;
}

.rk-con-card h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-con-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-con-card p {
    font-size: 14px;
    color: var(--rk-con-text);
    line-height: 1.6;
    margin: 0;
}

.rk-con-card a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 768px) {
    .rk-con-cards { grid-template-columns: 1fr; }
    .rk-con-header { padding: 25px 20px; }
    .rk-con-header h2 { font-size: 24px; }
    .rk-con-app-area { padding: 25px 20px; }
    .rk-sim-slider-box { padding: 20px; }
}
</style>

<div class="rk-con-container" id="rkConsequenceApp">
    <div class="rk-con-tags">
        <span class="rk-mat-tag"># skutki przewymiarowania pompy</span>
        <span class="rk-mat-tag"># taktowanie pompy ciepła</span>
        <span class="rk-mat-tag"># niedogrzewanie strefowe</span>
        <span class="rk-mat-tag"># kawitacja w instalacji</span>
    </div>

    <div class="rk-con-header">
        <h2>Czym grozi zły dobór pompy obiegowej?</h2>
        <p>Konsekwencje błędnego doboru pompy obiegowej przekładają się bezpośrednio na straty finansowe, uciążliwy hałas w domu oraz drastyczne skrócenie żywotności samej wylewki i armatury. Przesuń suwak i zobacz skutki.</p>
    </div>

    <div class="rk-con-app-area">
        
        <div class="rk-sim-slider-box">
            <div class="rk-slider-title">Wydajność Pompy Obiegowej</div>
            <input type="range" min="1" max="3" step="1" value="2" class="rk-range-input" id="rkPumpSlider">
            <div class="rk-slider-labels">
                <span style="color: var(--rk-state-weak);">Za słaba</span>
                <span style="color: var(--rk-state-opt);">Optymalna</span>
                <span style="color: var(--rk-state-strong);">Za mocna</span>
            </div>
        </div>

        <div class="rk-con-visual state-2" id="rkSvgStage">
            <div class="rk-vis-status-badge" id="rkStatusBadge">Zrównoważona</div>
            <svg width="250" height="100" viewBox="0 0 250 100">
                <path d="M 20 50 Q 125 20 230 50" class="rk-svg-pipe" id="rkPipeLine"/>
                <path d="M 20 50 Q 125 20 230 50" class="rk-svg-flow" id="rkWaterFlow"/>
                
                <path d="M 110 10 L 120 30 L 115 45 L 125 60" stroke="#0f172a" stroke-width="2" fill="none" class="rk-svg-crack" opacity="0"/>
                
                <path d="M 125 0 A 20 20 0 0 1 145 20 M 125 -10 A 30 30 0 0 1 155 20" stroke="#ef4444" stroke-width="2" fill="none" class="rk-svg-wave" opacity="0" transform="translate(0, 15)"/>
            </svg>
        </div>

        <div class="rk-con-cards" id="rkCardsGrid">
            <div class="rk-con-card" id="rkCard1" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon1" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <h3 id="rkTitle1">Idealny przepływ</h3>
                <p id="rkText1">Przepływy na rotametrach stabilne (1,5 &#8211; 2,5 l/min). Równomierne oddawanie ciepła w każdym pomieszczeniu.</p>
            </div>

            <div class="rk-con-card" id="rkCard2" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon2" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h3 id="rkTitle2">Bezpieczna wylewka</h3>
                <p id="rkText2">Prawidłowa Delta T zapobiega naprężeniom termicznym. Jastrych pracuje bezpiecznie wzdłuż wyznaczonych dylatacji.</p>
            </div>

            <div class="rk-con-card" id="rkCard3" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon3" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3 id="rkTitle3">Wysoka sprawność (COP)</h3>
                <p id="rkText3">Źródło ciepła pracuje w optymalnych, długich cyklach. Niskie rachunki za energię elektryczną.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkPumpSlider');
    const svgStage = document.getElementById('rkSvgStage');
    const statusBadge = document.getElementById('rkStatusBadge');
    
    // Elementy Kart
    const cards = [document.getElementById('rkCard1'), document.getElementById('rkCard2'), document.getElementById('rkCard3')];
    const icons = [document.getElementById('rkIcon1'), document.getElementById('rkIcon2'), document.getElementById('rkIcon3')];
    const titles = [document.getElementById('rkTitle1'), document.getElementById('rkTitle2'), document.getElementById('rkTitle3')];
    const texts = [document.getElementById('rkText1'), document.getElementById('rkText2'), document.getElementById('rkText3')];

    // Baza danych dla stanów (Invisible Data logic)
    const simData = {
        "1": {
            color: "#0284c7",
            bg: "#e0f2fe",
            badge: "Niedowymiarowana",
            iconSvg: '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            content: [
                { title: "Zjawisko niedogrzewania", text: "Przepływ na rotametrach spada poniżej projektowych 1,0 l/min. Najdalsze pokoje i łazienki pozostają niedogrzane." },
                { title: "Szok termiczny wylewki", text: 'Wzrost <a href="https://projekt-ogrzewania.pl/spadek-temperatury-dt-roznica-miedzy-temperatura-zasilania-a-powrotu/">delty temperatur ponad krytyczne 10 K</a> wywołuje potężne naprężenia termiczne i pękanie wylewki.' },
                { title: "Taktowanie pompy ciepła", text: "Zbyt mały przepływ uniemożliwia oddanie mocy. Pompa ciepła zgłasza błąd wysokiego ciśnienia (HP) i co chwilę się wyłącza." }
            ]
        },
        "2": {
            color: "#10b981",
            bg: "#dcfce7",
            badge: "Zrównoważona",
            iconSvg: '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',
            content: [
                { title: "Idealny przepływ", text: "Przepływy na rotametrach stabilne (1,5 - 2,5 l/min). Równomierne oddawanie ciepła w każdym pomieszczeniu." },
                { title: "Bezpieczna wylewka", text: 'Prawidłowa Delta T zapobiega naprężeniom. <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Jastrych betonowy</a> pracuje bezpiecznie wzdłuż wyznaczonych dylatacji.' },
                { title: "Wysoka sprawność (COP)", text: "Źródło ciepła pracuje w optymalnych, długich cyklach bez wywoływania błędów. Gwarancja niskich rachunków." }
            ]
        },
        "3": {
            color: "#ef4444",
            bg: "#fee2e2",
            badge: "Przewymiarowana",
            iconSvg: '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            content: [
                { title: "Kawitacja i uciążliwy hałas", text: "Przekroczenie prędkości 0,6 m/s generuje głośne szumy i buczenie w szafkach rozdzielaczowych. Brak komfortu akustycznego." },
                { title: "Erozja ścierna rur PEX", text: 'Potężna turbulencja zrywa gniazda zaworów i powoduje wymywanie <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">wewnętrznej warstwy EVOH</a> w rurach.' },
                { title: "Finansowe marnotrawstwo", text: "Za duża pompa pobiera stale o 40–60 W więcej energii niż powinna, co generuje stratę rzędu 120 PLN rocznie na samym prądzie." }
            ]
        }
    };

    function updateSimulation(val) {
        const data = simData[val];
        
        // Aktualizacja SVG Stage
        svgStage.className = `rk-con-visual state-${val}`;
        statusBadge.textContent = data.badge;
        
        // Aktualizacja Kolorów Suwaka (dynamiczny thumb zrealizowany w CSS root variables logicznie, tu wymuszamy styl)
        slider.style.background = `linear-gradient(to right, ${data.color} 0%, ${data.color} ${(val-1)*50}%, #cbd5e1 ${(val-1)*50}%, #cbd5e1 100%)`;

        // Aktualizacja Kart z efektem Fade
        cards.forEach((card, index) => {
            // Restart animacji
            card.classList.remove('fade-in');
            void card.offsetWidth; // trigger reflow
            
            // Wgrywanie danych
            card.style.borderTopColor = data.color;
            icons[index].style.background = data.bg;
            icons[index].style.color = data.color;
            icons[index].innerHTML = data.iconSvg;
            titles[index].textContent = data.content[index].title;
            texts[index].innerHTML = data.content[index].text; // innerHTML bo mamy linki
            
            // Odpal animację
            card.classList.add('fade-in');
        });
    }

    slider.addEventListener('input', (e) => {
        updateSimulation(e.target.value);
    });

    // Inicjalizacja
    updateSimulation(slider.value);
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-konsekwencje",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Czym grozi zły dobór pompy obiegowej? Konsekwencje niedowymiarowania i przewymiarowania",
    "description": "Zrozum hydrauliczne i finansowe skutki instalacji zbyt słabej (niedogrzewanie) lub zbyt mocnej (kawitacja) pompy w układzie ogrzewania podłogowego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-konsekwencje",
    "name": "Parametry Krytyczne Pracy Pompy Obiegowej 2026",
    "description": "Dane opisujące wpływ skrajnych nastaw wydajności pompy obiegowej na fizykę zładu grzewczego i żywotność podzespołów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki przewymiarowania pompy",
      "taktowanie pompy ciepła",
      "prędkość przepływu w rurach pex",
      "niedogrzewanie strefowe podłogówki",
      "kawitacja w instalacji grzewczej"
    ],
    "measurementTechnique": "Modelowanie wpływu niedoboru przepływu (<1.0 l/min) i nadmiaru przepływu (>0.6 m/s) na strukturę wylewki, warstwę EVOH i pobór energii.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Niedowymiarowanie: Skutkuje deltą T > 10K, pękaniem jastrychu i błędami HP pompy ciepła.",
        "Przewymiarowanie: Generuje przepływ powyżej 0.6 m/s, prowadząc do kawitacji, erozji warstwy EVOH i strat rzędu 120 PLN/rok."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-konsekwencje",
    "name": "Symulator Skutków Doboru Pompy",
    "description": "Aplikacja edukacyjna z interaktywnym suwakiem, pozwalająca symulować i w czasie rzeczywistym odczytywać skutki instalacji nieodpowiedniej pompy w obwodach płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-slate: #334155;
    --rk-err-bg: #f8fafc;
    --rk-err-card: #ffffff;
    --rk-err-danger: #ef4444;
    --rk-err-danger-light: #fef2f2;
    --rk-err-warn: #f59e0b;
    --rk-err-border: #e2e8f0;
    --rk-err-blue: #0284c7;
    --rk-err-blue-light: #f0f9ff;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-err-header {
    padding: 35px 40px 25px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-err-header p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Layout Górny (Grid) */
.rk-err-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-err-bg);
}

/* Kolumna Lewa - Menu Błędów */
.rk-err-menu {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-right: 1px solid var(--rk-err-border);
    background: var(--rk-err-card);
}

.rk-err-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px;
    border: 2px solid transparent;
    border-radius: 16px;
    background: var(--rk-err-bg);
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.rk-err-btn:hover {
    background: var(--rk-err-blue-light);
}

.rk-err-btn.active {
    background: var(--rk-err-danger-light);
    border-color: var(--rk-err-danger);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.1);
}

.rk-err-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #e2e8f0;
    color: var(--rk-err-slate);
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-err-btn.active .rk-err-icon {
    background: var(--rk-err-danger);
    color: #ffffff;
}

.rk-err-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.3;
}

.rk-err-btn.active .rk-err-title {
    color: var(--rk-err-danger);
}

/* Kolumna Prawa - Wizualizator SVG */
.rk-err-visual {
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    min-height: 250px;
}

.rk-svg-stage {
    width: 100%;
    max-width: 320px;
    height: auto;
}

/* Animacje SVG */
.rk-anim-fast { animation: spinRotor 0.3s linear infinite; stroke: var(--rk-err-danger); }
.rk-anim-jammed { animation: shakeRotor 0.5s ease-in-out infinite; stroke: var(--rk-err-slate); }
.rk-anim-friction { animation: spinRotor 2s linear infinite; stroke: var(--rk-err-warn); filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.6)); }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes shakeRotor { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 75% { transform: rotate(-10deg); } }
@keyframes flowDirt { 0% { transform: translateX(0); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateX(120px); opacity: 0; } }

.rk-dirt-particle { opacity: 0; }
.show-dirt .rk-dirt-particle { animation: flowDirt 1.5s linear infinite; fill: #78350f; }
.show-dirt .rk-dirt-particle:nth-child(2) { animation-delay: 0.5s; }
.show-dirt .rk-dirt-particle:nth-child(3) { animation-delay: 1s; }

.rk-valve-indicator { opacity: 0; transition: opacity 0.3s; }
.show-valves-missing .rk-valve-indicator { opacity: 1; }

.rk-friction-ring { opacity: 0; transform-origin: 150px 75px; }
.show-friction .rk-friction-ring { opacity: 1; animation: pulseRing 1s ease-out infinite; stroke: var(--rk-err-warn); }
@keyframes pulseRing { 0% { transform: scale(0.8); opacity: 0.8; } 100% { transform: scale(1.5); opacity: 0; } }

/* Treść Detalu - PEŁNA SZEROKOŚĆ (zmiana strukturalna) */
.rk-err-content-box {
    padding: 40px;
    background: var(--rk-err-bg);
    border-top: 1px solid var(--rk-err-border);
}

.rk-err-panel {
    display: none;
    animation: fadeInPanel 0.4s ease-out;
}

.rk-err-panel.active {
    display: block;
}

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

.rk-err-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-panel h3::before {
    content: '!';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: var(--rk-err-danger);
    color: white;
    font-size: 15px;
    border-radius: 6px;
}

.rk-err-panel p {
    font-size: 15px;
    color: var(--rk-err-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
    max-width: 850px; /* Optymalizacja czytelności na pełnej szerokości */
}

.rk-err-panel a {
    color: var(--rk-err-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(2, 132, 199, 0.2);
    transition: border-color 0.2s;
}

.rk-err-panel a:hover {
    border-color: var(--rk-err-blue);
}

.rk-consequence {
    margin-top: 25px;
    padding: 18px 25px;
    background: #ffffff;
    border-left: 4px solid var(--rk-err-danger);
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    max-width: 850px;
}

.rk-consequence strong {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--rk-err-danger);
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.rk-consequence span {
    font-size: 15px;
    color: var(--rk-err-dark);
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-err-menu { border-right: none; border-bottom: 1px solid var(--rk-err-border); flex-direction: row; flex-wrap: wrap; }
    .rk-err-btn { flex: 1 1 calc(50% - 5px); padding: 12px; gap: 10px; }
    .rk-err-icon { width: 32px; height: 32px; }
    .rk-err-title { font-size: 12px; }
    .rk-err-header { padding: 25px 20px; }
    .rk-err-header h2 { font-size: 22px; }
    .rk-err-content-box { padding: 30px 20px; }
    .rk-err-visual { padding: 20px; min-height: 200px; }
}
</style>

<div class="rk-err-container" id="rkErrorSimulator">
    
    <div class="rk-err-header">
        <h2>Jakie są najczęstsze błędy instalatorów przy montażu i konfiguracji pomp obiegowych?</h2>
        <p>Najczęstsze awarie pomp obiegowych wynikają z braku weryfikacji parametrów hydraulicznych oraz ignorowania podstawowych zasad czystości zładu wodnego. Wybierz symulację i zobacz konsekwencje.</p>
    </div>

    <div class="rk-err-grid">
        <div class="rk-err-menu">
            <button class="rk-err-btn active" data-target="err-gear">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg></div>
                <h4 class="rk-err-title">Fabryczny bieg 3</h4>
            </button>
            <button class="rk-err-btn" data-target="err-valves">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line></svg></div>
                <h4 class="rk-err-title">Brak zaworów odcinających</h4>
            </button>
            <button class="rk-err-btn" data-target="err-dirt">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></div>
                <h4 class="rk-err-title">Zabrudzony zład wodny</h4>
            </button>
            <button class="rk-err-btn" data-target="err-air">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <h4 class="rk-err-title">Brak odpowietrzenia</h4>
            </button>
        </div>

        <div class="rk-err-visual">
            <svg class="rk-svg-stage" viewBox="0 0 300 150" preserveAspectRatio="xMidYMid meet" id="svgStage">
                <rect x="20" y="60" width="260" height="30" fill="#cbd5e1" rx="4"></rect>
                <rect x="20" y="60" width="260" height="4" fill="#94a3b8"></rect>
                
                <g class="rk-valve-indicator">
                    <line x1="60" y1="40" x2="80" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="80" y1="40" x2="60" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="220" y1="40" x2="240" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="240" y1="40" x2="220" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                </g>

                <g class="rk-dirt-group">
                    <circle cx="30" cy="75" r="4" class="rk-dirt-particle"></circle>
                    <circle cx="20" cy="80" r="3" class="rk-dirt-particle"></circle>
                    <circle cx="10" cy="70" r="5" class="rk-dirt-particle"></circle>
                </g>

                <circle cx="150" cy="75" r="45" fill="#1e293b"></circle>
                <circle cx="150" cy="75" r="35" fill="#334155"></circle>
                
                <circle cx="150" cy="75" r="20" fill="none" stroke-width="4" class="rk-friction-ring"></circle>
                <circle cx="150" cy="75" r="30" fill="none" stroke-width="2" class="rk-friction-ring" style="animation-delay: 0.3s;"></circle>

                <g style="transform-origin: 150px 75px;" id="svgRotor" class="rk-anim-fast">
                    <line x1="150" y1="45" x2="150" y2="105" stroke-width="8" stroke-linecap="round"></line>
                    <line x1="120" y1="75" x2="180" y2="75" stroke-width="8" stroke-linecap="round"></line>
                    <circle cx="150" cy="75" r="8" fill="#ffffff"></circle>
                </g>

                <rect x="135" y="125" width="30" height="20" rx="4" fill="#0f172a"></rect>
                <text x="150" y="139" fill="#ef4444" font-size="12" font-family="monospace" font-weight="bold" text-anchor="middle" id="svgDisplay">45W</text>
            </svg>
        </div>
    </div>

    <div class="rk-err-content-box">
        <div class="rk-err-panel active" id="err-gear">
            <h3>Zostawienie fabrycznego biegu (Bieg 3)</h3>
            <p>Instalatorzy po montażu uruchamiają pompę na maksymalnych obrotach, aby szybko odpowietrzyć układ, zapominając o przełączeniu urządzenia w tryb <strong>AUTO</strong> lub <strong>Stałociśnieniowy</strong>.</p>
            <p>Skutkuje to ciągłym poborem maksymalnej mocy przez urządzenie, ignorując całkowicie zalety silników adaptacyjnych.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Ciągły pobór np. 45 W zamiast 8 W przez cały rok. Generowanie szumów w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">instalacji podłogowej</a>.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-valves">
            <h3>Montaż pompy bez odcinających zaworów</h3>
            <p>Brak zaworów kulowych ze śrubunkami tuż przed i tuż za pompą obiegową. Jest to oszczędność rzędu kilkudziesięciu złotych, która mści się przy pierwszej konserwacji.</p>
            <p>Uniemożliwia to szybki demontaż urządzenia lub czyszczenie filtra siatkowego bez integracji w zład całej instalacji.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Konieczność spuszczania kilkuset litrów <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wody demineralizowanej z inhibitorem korozji</a> z całego układu, aby wyczyścić filtr lub wymienić pompę.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-dirt">
            <h3>Uruchomienie w brudnej instalacji</h3>
            <p>Zaniechanie płukania zładu przed rozruchem to proszenie się o kłopoty. Pozostałości po montażu, takie jak opiłki tworzywa sztucznego z kalibratora rur PEX czy resztki pakuł uszczelniających, trafiają swobodnie do obiegu.</p>
            <p>Zanieczyszczenia są następnie zasysane prosto do precyzyjnej komory wirnika nowej pompy.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Permanentne zablokowanie mechaniczne i przepalenie stojana przy pierwszym uruchomieniu pompy. Błąd ten automatycznie skutkuje odmową naprawy gwarancyjnej.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-air">
            <h3>Brak odpowietrzenia przed startem</h3>
            <p>Nowoczesne pompy posiadają wprawdzie funkcję automatycznego odpowietrzania, jednak przy całkowicie pierwszym napełnianiu ręczne poluzowanie śruby czołowej wału jest absolutnie kluczowe.</p>
            <p>Woda stanowi naturalną poduszkę poślizgową dla ceramicznych łożysk w pompach bezdławnicowych. Jej brak to destrukcja mechaniczna.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Tarcie suchych łożysk powodujące ich natychmiastowe uszkodzenie, zablokowanie urządzenia oraz głośne <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawy zapowietrzenia</a>.</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const errorBtns = document.querySelectorAll('.rk-err-btn');
    const panels = document.querySelectorAll('.rk-err-panel');
    const svgStage = document.getElementById('svgStage');
    const svgRotor = document.getElementById('svgRotor');
    const svgDisplay = document.getElementById('svgDisplay');

    function resetSVG() {
        svgStage.classList.remove('show-valves-missing', 'show-dirt', 'show-friction');
        svgRotor.className.baseVal = '';
        svgDisplay.textContent = '--W';
        svgDisplay.setAttribute('fill', '#94a3b8');
    }

    errorBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            errorBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            const targetId = this.getAttribute('data-target');
            panels.forEach(p => p.classList.remove('active'));
            document.getElementById(targetId).classList.add('active');

            resetSVG();
            
            if (targetId === 'err-gear') {
                svgRotor.className.baseVal = 'rk-anim-fast';
                svgDisplay.textContent = '45W';
                svgDisplay.setAttribute('fill', '#ef4444');
            } 
            else if (targetId === 'err-valves') {
                svgStage.classList.add('show-valves-missing');
                svgRotor.className.baseVal = 'rk-anim-fast';
                svgRotor.style.stroke = '#38bdf8';
                svgDisplay.textContent = '8W';
                svgDisplay.setAttribute('fill', '#38bdf8');
            }
            else if (targetId === 'err-dirt') {
                svgStage.classList.add('show-dirt');
                svgRotor.className.baseVal = 'rk-anim-jammed';
                svgDisplay.textContent = 'ERR';
                svgDisplay.setAttribute('fill', '#f59e0b');
            }
            else if (targetId === 'err-air') {
                svgStage.classList.add('show-friction');
                svgRotor.className.baseVal = 'rk-anim-friction';
                svgDisplay.textContent = '12W';
                svgDisplay.setAttribute('fill', '#f59e0b');
            }
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jakie są najczęstsze błędy instalatorów przy montażu i konfiguracji pomp obiegowych?",
    "description": "Zestawienie najgroźniejszych błędów wykonawczych: od braku odpowietrzenia, przez złe nastawy biegów, po brak płukania instalacji. Zobacz interaktywną diagnostykę.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-bledy",
    "name": "Wskaźnik Awaryjności Pomp Obiegowych 2026",
    "description": "Klasyfikacja uszkodzeń pomp obiegowych wynikająca z zaniedbań montażowych i braku weryfikacji hydraulicznej zładu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy montażu ogrzewania podłogowego",
      "ustawienie pompy obiegowej na 3 bieg",
      "brak zaworów przy pompie",
      "płukanie instalacji podłogówki",
      "odpowietrzanie pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wpływu zanieczyszczeń mechanicznych, braku armatury odcinającej oraz błędnych nastaw sterownika na żywotność urządzenia.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ciągła praca na 3 biegu (straty 45W).",
        "Brak zaworów - konieczność zrzutu wody demineralizowanej.",
        "Opiłki i pakuły blokujące precyzyjny wirnik.",
        "Suche łożyska z powodu zaniechania odpowietrzenia ręcznego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-bledy",
    "name": "Symulator Diagnostyczny Błędów Pompy",
    "description": "Interaktywne narzędzie wizualizujące fizyczne skutki braku płukania zładu, zastosowania niewłaściwych nastaw i braku zaworów odcinających w układzie hydraulicznym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-prj-dark: #0f172a;
    --rk-prj-blue: #2563eb;
    --rk-prj-light: #eff6ff;
    --rk-prj-accent: #f59e0b;
    --rk-prj-green: #059669;
    --rk-prj-border: #cbd5e1;
    --rk-prj-bg: #ffffff;
    --rk-prj-text: #334155;
}

.rk-prj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-prj-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.3);
    overflow: hidden;
}

/* Tagi Długi Ogon */
.rk-prj-tags {
    padding: 25px 35px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
}

.rk-mat-tag {
    background: var(--rk-prj-light);
    color: var(--rk-prj-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid rgba(37, 99, 235, 0.2);
    text-transform: lowercase;
}

/* Nagłówek */
.rk-prj-header {
    padding: 25px 35px;
}

.rk-prj-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-prj-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-prj-header p {
    font-size: 16px;
    color: var(--rk-prj-text);
    line-height: 1.7;
    margin: 0;
}

/* Sekcja Interaktywna - Podział 2 kolumny */
.rk-prj-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--rk-prj-border);
    border-bottom: 1px solid var(--rk-prj-border);
}

/* Lewa Kolumna - Schemat zależności */
.rk-prj-flow {
    padding: 35px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-prj-border);
}

.rk-prj-flow h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-prj-dark);
    margin: 0 0 25px 0;
}

.rk-flow-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
}

.rk-flow-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 17px;
    top: 40px;
    bottom: -20px;
    width: 2px;
    background: var(--rk-prj-blue);
    opacity: 0.2;
}

.rk-flow-number {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--rk-prj-blue);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
    z-index: 1;
}

.rk-flow-content h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-prj-dark);
}

.rk-flow-content p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-prj-text);
    line-height: 1.5;
}

.rk-flow-content a {
    color: var(--rk-prj-blue);
    text-decoration: none;
    font-weight: 700;
}

.rk-flow-result {
    margin-top: 30px;
    padding: 15px;
    background: var(--rk-prj-dark);
    border-radius: 12px;
    color: white;
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Prawa Kolumna - Symulator */
.rk-prj-simulator {
    padding: 35px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.rk-sim-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-prj-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Custom Controls */
.rk-sim-control {
    margin-bottom: 25px;
}

.rk-sim-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-prj-text);
    margin-bottom: 10px;
}

.rk-radio-group {
    display: flex;
    gap: 10px;
}

.rk-radio-btn {
    flex: 1;
    position: relative;
}

.rk-radio-btn input {
    display: none;
}

.rk-radio-label {
    display: block;
    text-align: center;
    padding: 12px;
    background: var(--rk-prj-light);
    border: 2px solid transparent;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    color: var(--rk-prj-text);
    cursor: pointer;
    transition: all 0.2s;
}

.rk-radio-btn input:checked + .rk-radio-label {
    background: white;
    border-color: var(--rk-prj-blue);
    color: var(--rk-prj-blue);
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.1);
}

/* SVG Animacja */
.rk-sim-visual {
    margin-top: auto;
    padding: 20px;
    background: var(--rk-prj-light);
    border-radius: 16px;
    text-align: center;
    border: 1px solid rgba(37, 99, 235, 0.1);
}

.rk-live-stats {
    display: flex;
    justify-content: space-around;
    margin-bottom: 15px;
}

.rk-stat-box {
    text-align: center;
}

.rk-stat-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-prj-blue);
    font-variant-numeric: tabular-nums;
}

.rk-stat-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-prj-text);
    text-transform: uppercase;
}

/* SVG Pipe */
.rk-pipe-svg {
    width: 100%;
    height: 60px;
}

.rk-pipe-path {
    stroke-dasharray: 10;
    animation: flowAnim 2s linear infinite;
}

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

/* Tekst podsumowujący */
.rk-prj-summary {
    padding: 30px 35px;
    background: #ffffff;
}

.rk-prj-summary p {
    font-size: 15px;
    color: var(--rk-prj-text);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-prj-summary strong {
    color: var(--rk-prj-dark);
}

/* CTA Masive */
.rk-prj-cta-box {
    padding: 40px 35px;
    background: linear-gradient(135deg, var(--rk-prj-dark) 0%, #1e293b 100%);
    text-align: center;
}

.rk-prj-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
}

.rk-prj-cta-text {
    font-size: 16px;
    color: #94a3b8;
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-btn-project {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-prj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-project:hover {
    transform: translateY(-4px) scale(1.02);
    background: #1d4ed8;
    box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.6);
}

.rk-btn-project svg {
    transition: transform 0.3s;
}

.rk-btn-project:hover svg {
    transform: translateX(6px);
}

@media (max-width: 768px) {
    .rk-prj-grid { grid-template-columns: 1fr; }
    .rk-prj-flow { border-right: none; border-bottom: 1px solid var(--rk-prj-border); padding: 25px; }
    .rk-prj-simulator, .rk-prj-header, .rk-prj-summary, .rk-prj-cta-box, .rk-prj-tags { padding: 25px; }
    .rk-btn-project { width: 100%; padding: 18px 20px; font-size: 16px; }
    .rk-prj-header h2 { font-size: 24px; }
}
</style>

<div class="rk-prj-container" id="rkProjectIntegrator">
    <div class="rk-prj-tags">
        <span class="rk-mat-tag"># projekt ogrzewania podłogowego z pompą ciepła</span>
        <span class="rk-mat-tag"># obliczenia strat ciśnienia</span>
        <span class="rk-mat-tag"># rozstaw rur a wydajność pompy</span>
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
    </div>

    <div class="rk-prj-header">
        <h2>Jak dobór pompy wpływa na profesjonalny projekt ogrzewania podłogowego?</h2>
        <p>Wybór i parametry pompy obiegowej są ściśle powiązane z kluczowymi elementami dokumentacji technicznej. Pompa nie istnieje w próżni – jej punkt pracy jest bezpośrednią wypadkową konkretnych, twardych wyliczeń inżynierskich dla Twojego budynku.</p>
    </div>

    <div class="rk-prj-grid">
        <div class="rk-prj-flow">
            <h3>Architektura profesjonalnego doboru</h3>
            
            <div class="rk-flow-step">
                <div class="rk-flow-number">1</div>
                <div class="rk-flow-content">
                    <h4><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">Obliczenia OZC (PN-EN 12831)</a></h4>
                    <p>Definiują całkowite zapotrzebowanie na moc grzewczą [kW]. To fundament do określenia ilości ciepła, jaką woda musi dostarczyć.</p>
                </div>
            </div>

            <div class="rk-flow-step">
                <div class="rk-flow-number">2</div>
                <div class="rk-flow-content">
                    <h4><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w pętlach</a></h4>
                    <p>Decyduje o wymaganej temperaturze zasilania i bezpośrednio przekłada się na wielkość przepływów (l/min) na rotametrach.</p>
                </div>
            </div>

            <div class="rk-flow-step">
                <div class="rk-flow-number">3</div>
                <div class="rk-flow-content">
                    <h4>Geometria i układ pętli</h4>
                    <p>Długość rur i ilość zagięć generuje sumaryczne opory w Paskalach (Pa). To one wymuszają wysokość podnoszenia pompy.</p>
                </div>
            </div>

            <div class="rk-flow-result">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                <div style="font-weight: 800; font-size: 15px;">WYNIK: Optymalny punkt roboczy (Q i H)</div>
            </div>
        </div>

        <div class="rk-prj-simulator">
            <h3 class="rk-sim-title">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>
                Symulator Zależności Projektowych
            </h3>

            <div class="rk-sim-control">
                <span class="rk-sim-label">Rozstaw rur (gęstość):</span>
                <div class="rk-radio-group">
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-spacing" value="10" checked>
                        <span class="rk-radio-label">Co 10 cm (Gęsto)</span>
                    </label>
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-spacing" value="15">
                        <span class="rk-radio-label">Co 15 cm (Rzadko)</span>
                    </label>
                </div>
            </div>

            <div class="rk-sim-control">
                <span class="rk-sim-label">Okładzina podłogowa (Opór cieplny R):</span>
                <div class="rk-radio-group">
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-floor" value="tiles" checked>
                        <span class="rk-radio-label">Płytki (0,02 m2K/W)</span>
                    </label>
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-floor" value="laminate">
                        <span class="rk-radio-label">Panele (0,08 m2K/W)</span>
                    </label>
                </div>
            </div>

            <div class="rk-sim-visual">
                <div class="rk-live-stats">
                    <div class="rk-stat-box">
                        <div class="rk-stat-lbl">Opory hydrauliczne</div>
                        <div class="rk-stat-val" id="rk-out-h">2.4 m</div>
                    </div>
                    <div class="rk-stat-box">
                        <div class="rk-stat-lbl">Przepływ na rotametrze</div>
                        <div class="rk-stat-val" id="rk-out-q">1.8 l/min</div>
                    </div>
                </div>
                <svg class="rk-pipe-svg" viewBox="0 0 300 60" preserveAspectRatio="none">
                    <path d="M10,30 Q75,10 150,30 T290,30" fill="none" stroke="#cbd5e1" stroke-width="8" stroke-linecap="round"/>
                    <path d="M10,30 Q75,10 150,30 T290,30" fill="none" stroke="#2563eb" stroke-width="4" stroke-linecap="round" class="rk-pipe-path" id="rk-svg-flow"/>
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-prj-summary">
        <p>Gęstość rozstawu rur (np. co 10 cm w strefach brzegowych i łazienkach, co 15 cm w salonach) determinuje łączną długość rur, a tym samym bezpośrednio wpływa na opory hydrauliczne, które pompa musi pokonać.</p>
        <p>Projektant, znając opór cieplny okładziny podłogowej (np. płytki ceramiczne o <strong>R = 0,02 m2K/W</strong> lub panele o <strong>R = 0,08 m2K/W</strong>) oraz planowaną <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">grubość wylewki jastrychowej</a> (np. 65 mm), precyzyjnie wylicza wymaganą temperaturę zasilania.</p>
        <p>Te dane pozwalają na określenie optymalnego przepływu cząstkowego, co daje końcową wartość wydajności pompy. <strong>Projekt instalacji eliminuje zgubne dobieranie pompy „na oko”</strong> i chroni Inwestora przed kosztownym przewymiarowaniem lub brakiem komfortu cieplnego zimą.</p>
    </div>

    <div class="rk-prj-cta-box">
        <h3 class="rk-prj-cta-title">Przestań zgadywać. Zainwestuj w inżynierię.</h3>
        <p class="rk-prj-cta-text">Złe wyliczenia to zimna podłoga i pompa pobierająca 400% więcej prądu niż powinna. Zamów kompletny projekt i zyskaj gwarancję perfekcyjnie zbilansowanego układu hydraulicznego na dekady.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-project">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const spaceRadios = document.querySelectorAll('input[name="rk-spacing"]');
    const floorRadios = document.querySelectorAll('input[name="rk-floor"]');
    const outH = document.getElementById('rk-out-h');
    const outQ = document.getElementById('rk-out-q');
    const svgFlow = document.getElementById('rk-svg-flow');

    function calculateSimulation() {
        let spaceVal = document.querySelector('input[name="rk-spacing"]:checked').value;
        let floorVal = document.querySelector('input[name="rk-floor"]:checked').value;

        let resH = 2.0; // Base head
        let resQ = 1.5; // Base flow
        let animSpeed = 2; // SVG animation duration in seconds

        // Logika obliczeniowa symulatora
        if (spaceVal === "10") {
            // Gęsty rozstaw = więcej rur = większe opory, ale niższa temperatura i mniejszy przepływ na obieg
            resH += 0.8;
            resQ -= 0.3;
        } else if (spaceVal === "15") {
            // Rzadszy rozstaw = mniejsze opory, ale wymaga większego przepływu by oddać moc
            resH -= 0.4;
            resQ += 0.5;
        }

        if (floorVal === "laminate") {
            // Panele izolują, więc układ potrzebuje znacznie większego przepływu i wyższej delty/temperatury
            resQ += 0.8;
            resH += 0.3;
            animSpeed = 0.8; // Fast flow required
        } else {
            // Płytki dobrze przewodzą
            animSpeed = 2.0; // Normal flow
        }

        // Formatowanie i aktualizacja UI
        outH.textContent = resH.toFixed(1) + " m";
        outQ.textContent = resQ.toFixed(1) + " l/min";
        svgFlow.style.animationDuration = animSpeed + "s";
    }

    spaceRadios.forEach(r => r.addEventListener('change', calculateSimulation));
    floorRadios.forEach(r => r.addEventListener('change', calculateSimulation));
    
    // Initial calculate
    calculateSimulation();
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobór pompy wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Zrozumienie ścisłej korelacji pomiędzy obliczeniami OZC, rozstawem rur grzewczych a wymaganymi parametrami pompy obiegowej w nowoczesnej podłogówce.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Wpływ parametrów projektu na dobór pompy obiegowej 2026",
    "description": "Zestawienie relacji hydraulicznych pomiędzy gęstością rozstawu rur, oporem cieplnym okładzin podłogowych a ostatecznym przepływem i oporem pompy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "obliczenia strat ciśnienia",
      "rozstaw rur a wydajność pompy",
      "opór cieplny paneli a podłogówka",
      "dobór pompy obiegowej do podłogówki"
    ],
    "measurementTechnique": "Algorytm inżynierski wyznaczający przepływy i straty ciśnienia na podstawie wytycznych normy PN-EN 12831 oraz oporów R posadzki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obliczenia OZC jako fundament określenia mocy grzewczej [kW].",
        "Rozstaw rur kształtujący opory hydrauliczne pętli.",
        "Wpływ okładziny: płytki ceramiczne (0,02 m2K/W) vs panele (0,08 m2K/W) na przepływy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Zależności Projektowych Podłogówki",
    "description": "Narzędzie interaktywne ilustrujące zmiany oporów hydraulicznych (m H2O) i przepływu (l/min) w zależności od wybranego rozstawu rur oraz zastosowanej okładziny podłogowej.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-slate: #475569;
    --rk-case-bg: #f8fafc;
    --rk-case-card: #ffffff;
    --rk-case-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-case-blue: #0ea5e9;
    --rk-case-blue-light: #e0f2fe;
    --rk-case-red: #ef4444;
    --rk-case-red-light: #fee2e2;
    --rk-case-green: #10b981;
    --rk-case-green-light: #dcfce7;
    --rk-case-gold: #f59e0b;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Tagi Long Tail */
.rk-case-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-case-dark);
}

.rk-mat-tag {
    background: rgba(255,255,255,0.1);
    color: var(--rk-case-blue-light);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(224, 242, 254, 0.2);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-case-blue-light);
    color: var(--rk-case-dark);
}

/* Nagłówek */
.rk-case-header {
    padding: 25px 40px 30px;
    background: var(--rk-case-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-gold);
}

.rk-case-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-case-header p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

/* Ekspert Block */
.rk-case-expert {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 40px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-expert-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--rk-case-blue);
    flex-shrink: 0;
}

.rk-expert-quote {
    position: relative;
}

.rk-expert-quote p {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-case-dark);
    font-style: italic;
    margin: 0 0 8px 0;
    line-height: 1.5;
}

.rk-expert-name {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Symulator - Przełącznik Przed/Po */
.rk-case-simulator {
    padding: 40px;
    background: var(--rk-case-bg);
}

.rk-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

.rk-state-toggle {
    display: flex;
    background: #e2e8f0;
    border-radius: 16px;
    padding: 6px;
    position: relative;
    width: 100%;
    max-width: 500px;
}

.rk-state-toggle input { display: none; }

.rk-toggle-lbl {
    flex: 1;
    text-align: center;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-slate);
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}

.rk-state-toggle input:checked + .rk-toggle-lbl {
    color: #ffffff;
}

.rk-toggle-glider {
    position: absolute;
    top: 6px; left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-case-red);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1;
}

#stateAfter:checked ~ .rk-toggle-glider {
    transform: translateX(100%);
    background: var(--rk-case-green);
}

/* Grid Danych */
.rk-data-tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-tile {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.4s ease;
}

.rk-tile-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-case-slate);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rk-tile-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-case-dark);
    transition: color 0.4s;
}

.rk-tile-desc {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 5px;
    font-weight: 500;
}

/* Wizualizacja SVG */
.rk-case-visual {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-case-border);
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    transition: border-color 0.4s;
}

.rk-svg-box {
    width: 200px;
    flex-shrink: 0;
}

.rk-case-story {
    flex: 1;
}

.rk-case-story h3 {
    font-size: 20px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--rk-case-dark);
    transition: color 0.4s;
}

.rk-case-story p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-case-slate);
    margin: 0;
}

/* Stany Wizualne - Dynamiczne klasy */
.state-before .rk-tile-val.dynamic { color: var(--rk-case-red); }
.state-before .rk-case-visual { border-top: 4px solid var(--rk-case-red); }
.state-before .svg-dial { stroke: var(--rk-case-red); stroke-dasharray: 100 100; transition: stroke-dasharray 1s ease-in-out; }
.state-before .svg-waves { stroke: var(--rk-case-red); opacity: 1; animation: pulseWave 0.5s infinite; }

.state-after .rk-tile-val.dynamic { color: var(--rk-case-green); }
.state-after .rk-case-visual { border-top: 4px solid var(--rk-case-green); }
.state-after .svg-dial { stroke: var(--rk-case-green); stroke-dasharray: 20 180; transition: stroke-dasharray 1s ease-in-out; }
.state-after .svg-waves { stroke: var(--rk-case-green); opacity: 0; }

@keyframes pulseWave {
    0% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(0.9); opacity: 0.5; }
}

@media (max-width: 800px) {
    .rk-data-tiles { grid-template-columns: 1fr 1fr; }
    .rk-case-visual { flex-direction: column; text-align: center; }
    .rk-case-expert { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
    .rk-data-tiles { grid-template-columns: 1fr; }
    .rk-toggle-lbl { font-size: 13px; padding: 12px 10px; }
}
</style>

<div class="rk-case-container" id="rkCaseApp">
    
    <div class="rk-case-tags">
        <span class="rk-mat-tag"># modernizacja ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># wymiana pompy obiegowej w starym domu</span>
        <span class="rk-mat-tag"># opory hydrauliczne w starych rurach</span>
        <span class="rk-mat-tag"># zużycie prądu przez pompę obiegową</span>
    </div>

    <div class="rk-case-header">
        <h2>Case Study: 140 m² z lat 70. – Dlaczego nowa podłogówka nie grzała?</h2>
        <p>Poznaj historię Pana Dawida z Poznania, który zmodernizował dom, wyrzucił grzejniki, wylał nowe jastrychy, ale zostawił &#8222;dobrą, starą pompę&#8221; z kotłowni. Zobacz, jak wyliczenia hydrauliczne uratowały tę inwestycję.</p>
    </div>

    <div class="rk-case-expert">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Audyt Instalacji" class="rk-expert-photo">
        <div class="rk-expert-quote">
            <p>&#8222;To klasyczny błąd przy termomodernizacjach. Inwestorzy ładują dziesiątki tysięcy w pompę ciepła i nową wylewkę, ale zostawiają starą pompę 3-biegową, bo 'przecież działa&#8217;. Stara pompa nie radzi sobie z ogromnymi oporami gęsto ułożonych rur podłogówki, dławi przepływ i zżera prąd.&#8221;</p>
            <div class="rk-expert-name">Robert Kucharski – Audyt i Projekt OZC</div>
        </div>
    </div>

    <div class="rk-case-simulator">
        
        <div class="rk-toggle-wrapper">
            <div class="rk-state-toggle">
                <input type="radio" name="caseState" id="stateBefore" value="before" checked>
                <label for="stateBefore" class="rk-toggle-lbl">Przed Audytem Roberta</label>
                
                <input type="radio" name="caseState" id="stateAfter" value="after">
                <label for="stateAfter" class="rk-toggle-lbl">Po Doborze Inżynierskim</label>
                
                <div class="rk-toggle-glider"></div>
            </div>
        </div>

        <div class="rk-data-tiles state-before" id="rkTileGroup">
            <div class="rk-tile">
                <div class="rk-tile-title">Pompa Obiegowa</div>
                <div class="rk-tile-val" id="valPump" style="font-size: 18px;">Stary Typ (AC)</div>
                <div class="rk-tile-desc" id="descPump">3 biegi stałe</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Pobór Mocy</div>
                <div class="rk-tile-val dynamic" id="valPower">85 W</div>
                <div class="rk-tile-desc" id="descPower">Praca ciągła</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Koszty Energii (Rok)</div>
                <div class="rk-tile-val dynamic" id="valCost">~326 PLN</div>
                <div class="rk-tile-desc">Sezon grzewczy</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Komfort Cieplny</div>
                <div class="rk-tile-val dynamic" id="valComfort" style="font-size: 18px;">Niedogrzanie</div>
                <div class="rk-tile-desc" id="descComfort">Chłodna łazienka</div>
            </div>
        </div>

        <div class="rk-case-visual state-before" id="rkVisualBox">
            <div class="rk-svg-box">
                <!-- SVG Dashboard Pompy -->
                <svg viewBox="0 0 100 100" width="100%" height="100%">
                    <!-- Tło i obudowa -->
                    <circle cx="50" cy="50" r="45" fill="#f8fafc" stroke="#e2e8f0" stroke-width="2"/>
                    
                    <!-- Skala mocy -->
                    <path d="M 20 80 A 40 40 0 1 1 80 80" fill="none" stroke="#cbd5e1" stroke-width="8" stroke-linecap="round"/>
                    <path d="M 20 80 A 40 40 0 1 1 80 80" fill="none" class="svg-dial" stroke-width="8" stroke-linecap="round"/>
                    
                    <!-- Fale dźwiękowe (Hałas/Kawitacja) -->
                    <g class="svg-waves" style="transform-origin: 50px 50px;">
                        <path d="M 10 50 Q -10 50 10 30" fill="none" stroke-width="3" stroke-linecap="round"/>
                        <path d="M 90 50 Q 110 50 90 30" fill="none" stroke-width="3" stroke-linecap="round"/>
                    </g>
                    
                    <text x="50" y="55" font-family="monospace" font-weight="bold" font-size="20" text-anchor="middle" fill="#0f172a" id="svgWattText">85W</text>
                    <text x="50" y="70" font-family="sans-serif" font-weight="bold" font-size="8" text-anchor="middle" fill="#64748b" id="svgStatusText">HAŁAS</text>
                </svg>
            </div>
            
            <div class="rk-case-story">
                <h3 id="storyTitle">Hałas w rurach i zimne strefy brzegowe</h3>
                <p id="storyText">Pan Dawid pozostawił starą pompę węzłową. Urządzenie tłoczyło wodę na sztywnym 3 biegu, pobierając aż 85W. Z powodu wysokich oporów hydraulicznych gęstej podłogówki (rury układane co 10 cm), pompa nie dawała rady &#8222;przepchnąć&#8221; wody do najdalszej dobudówki, a wysoka prędkość w pobliżu rozdzielacza powodowała irytujący szum kawitacyjny nocą.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const radios = document.querySelectorAll('input[name="caseState"]');
    
    // UI Elements
    const tileGroup = document.getElementById('rkTileGroup');
    const visualBox = document.getElementById('rkVisualBox');
    
    // Data Elements
    const valPump = document.getElementById('valPump');
    const descPump = document.getElementById('descPump');
    const valPower = document.getElementById('valPower');
    const descPower = document.getElementById('descPower');
    const valCost = document.getElementById('valCost');
    const valComfort = document.getElementById('valComfort');
    const descComfort = document.getElementById('descComfort');
    
    const storyTitle = document.getElementById('storyTitle');
    const storyText = document.getElementById('storyText');
    
    const svgWattText = document.getElementById('svgWattText');
    const svgStatusText = document.getElementById('svgStatusText');

    const stateData = {
        before: {
            pump: "Stary Typ (AC)", dPump: "3 biegi stałe",
            power: "85 W", dPower: "Praca ciągła",
            cost: "~326 PLN",
            comfort: "Niedogrzanie", dComfort: "Zimna dobudówka",
            title: "Hałas w rurach i zimne strefy brzegowe",
            text: "Pan Dawid pozostawił starą pompę węzłową. Urządzenie tłoczyło wodę na sztywnym 3 biegu, pobierając aż 85W. Z powodu wysokich oporów hydraulicznych gęstej podłogówki (rury układane co 10 cm), pompa nie dawała rady przepchnąć czynnika do najdalszej dobudówki, a nadmiar ciśnienia przy rozdzielaczu powodował irytujący szum kawitacyjny nocą.",
            svgW: "85W", svgS: "HAŁAS"
        },
        after: {
            pump: "Nowy Typ (EC)", dPump: "AUTOADAPT",
            power: "12 W", dPower: "Praca adaptacyjna",
            cost: "~46 PLN",
            comfort: "Idealny", dComfort: "Równe temperatury",
            title: "Cisza, oszczędność i równomierne ciepło",
            text: "Po audycie, wyliczyliśmy dokładne opory hydrauliczne instalacji (H) oraz wymagany przepływ (Q). Wymiana na nowoczesną pompę z silnikiem EC i trybem stałociśnieniowym (CP) całkowicie wyeliminowała szumy. Pompa adaptuje się do zamykających się termostatów, pobierając zaledwie 12W prądu, a woda w końcu dociera do każdego pomieszczenia.",
            svgW: "12W", svgS: "AUTO"
        }
    };

    radios.forEach(radio => {
        radio.addEventListener('change', function() {
            const state = this.value;
            const data = stateData[state];

            // Change Classes for Colors/Animations
            tileGroup.className = `rk-data-tiles state-${state}`;
            visualBox.className = `rk-case-visual state-${state}`;

            // Update Data
            valPump.textContent = data.pump;
            descPump.textContent = data.dPump;
            valPower.textContent = data.power;
            descPower.textContent = data.dPower;
            valCost.textContent = data.cost;
            valComfort.textContent = data.comfort;
            descComfort.textContent = data.dComfort;
            
            storyTitle.textContent = data.title;
            storyText.textContent = data.text;
            
            svgWattText.textContent = data.svgW;
            svgStatusText.textContent = data.svgS;
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: 140 m² z lat 70. – Dlaczego nowa podłogówka nie grzała?",
    "description": "Praktyczne studium przypadku (modernizacja domu 140m2 w Poznaniu). Zobacz, jak inżynierski dobór i wymiana starej pompy AC na energooszczędną pompę EC rozwiązały problem niedogrzania i wysokich rachunków.",
    "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/",
      "jobTitle": "Ekspert HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-casestudy",
    "name": "Porównanie parametrów po termomodernizacji (Pompa AC vs EC)",
    "description": "Zestawienie empirycznych danych eksploatacyjnych po audycie inżynierskim. Wymiana nieefektywnego urządzenia węzłowego na model adaptacyjny w domu 140m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "modernizacja ogrzewania podłogowego",
      "wymiana pompy obiegowej w starym domu",
      "opory hydrauliczne w starych rurach",
      "zużycie prądu przez pompę obiegową",
      "pompa energooszczędna do podłogówki"
    ],
    "measurementTechnique": "Pomiary poboru mocy elektrycznej oraz identyfikacja stref niedogrzania spowodowanych spadkiem ciśnienia w pętli krytycznej przed i po montażu nowej armatury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przed audytem: Pompa AC pobierała 85W, roczny koszt ~326 PLN, brak dopływu czynnika do stref brzegowych.",
        "Po audycie: Pompa EC z autoadaptacją pobiera 12W, roczny koszt ~46 PLN, pełne zrównoważenie hydrauliczne."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-casestudy",
    "name": "Symulator Efektów Termomodernizacji",
    "description": "Interaktywny interfejs pozwalający na przełączanie między stanami 'przed' i 'po' wymianie pompy obiegowej, ilustrujący bezpośrednie korzyści finansowe i akustyczne.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-panel: #1e293b;
    --rk-auth-bg: #ffffff;
    --rk-auth-surface: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-muted: #64748b;
    
    --rk-auth-blue: #0284c7;
    --rk-auth-gold: #eab308;
    --rk-auth-fb: #1877F2;
    --rk-auth-li: #0A66C2;
}

.rk-auth-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Header Area */
.rk-auth-header {
    background: var(--rk-auth-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.rk-auth-header-text h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 8px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-auth-header-text p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    font-weight: 500;
}

.rk-auth-trust-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid rgba(234, 179, 8, 0.3);
    color: var(--rk-auth-gold);
    padding: 10px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    flex-shrink: 0;
}

/* Main Layout Grid */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-auth-bg);
}

/* Left Sidebar: Profile */
.rk-auth-profile {
    background: var(--rk-auth-surface);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.1);
}

.rk-auth-name {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
}

.rk-auth-title {
    font-size: 14px;
    color: var(--rk-auth-blue);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-auth-socials {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rk-social-btn.fb { background: var(--rk-auth-fb); }
.rk-social-btn.fb:hover { background: #166fe5; }
.rk-social-btn.li { background: var(--rk-auth-li); }
.rk-social-btn.li:hover { background: #0959aa; }

/* Right Content Area */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

/* Cytat (Hook) */
.rk-auth-quote-box {
    padding: 35px 40px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    line-height: 0;
    opacity: 0.2;
    margin-bottom: -15px;
    display: block;
    font-family: serif;
}

.rk-auth-quote-text {
    font-size: 19px;
    font-weight: 700;
    color: var(--rk-auth-dark);
    line-height: 1.5;
    margin: 0;
    font-style: italic;
}

/* Navigation Tabs */
.rk-auth-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-auth-border);
    background: var(--rk-auth-surface);
}

.rk-auth-tab {
    flex: 1;
    padding: 18px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-auth-muted);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-auth-tab:hover {
    color: var(--rk-auth-dark);
    background: #f1f5f9;
}

.rk-auth-tab.active {
    color: var(--rk-auth-blue);
    border-bottom-color: var(--rk-auth-blue);
    background: #ffffff;
}

/* Tab Panels */
.rk-auth-panel {
    padding: 40px;
    display: none;
}

.rk-auth-panel.active {
    display: block;
}

.rk-auth-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 15px 0;
}

.rk-auth-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    margin: 0 0 15px 0;
}

.rk-auth-panel p:last-child { margin-bottom: 0; }

.rk-auth-panel a {
    color: var(--rk-auth-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.rk-auth-panel a:hover {
    border-color: var(--rk-auth-blue);
}

/* Stats Grid in Panel 2 */
.rk-auth-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 25px;
}

.rk-stat-box {
    background: var(--rk-auth-surface);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-auth-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rk-auth-border);
    flex-shrink: 0;
}

.rk-stat-info { display: flex; flex-direction: column; }

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    line-height: 1.2;
}

.rk-stat-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-auth-muted);
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 850px) {
    .rk-auth-grid { grid-template-columns: 1fr; }
    .rk-auth-header { flex-direction: column; text-align: center; padding: 30px 25px; }
    .rk-auth-trust-badge { width: 100%; justify-content: center; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 25px; }
    .rk-auth-socials { flex-direction: row; }
    .rk-auth-tabs { flex-direction: column; background: #ffffff; }
    .rk-auth-tab { border-bottom: none; border-left: 4px solid transparent; justify-content: flex-start; padding: 15px 25px; }
    .rk-auth-tab.active { border-left-color: var(--rk-auth-blue); border-bottom-color: transparent; background: var(--rk-auth-surface); }
    .rk-auth-quote-box { padding: 25px; }
    .rk-auth-panel { padding: 30px 25px; }
    .rk-auth-stats { grid-template-columns: 1fr; }
}
</style>

<div class="rk-auth-container">
    
    <div class="rk-auth-header">
        <div class="rk-auth-header-text">
            <h2>Ekspert HVAC Robert Kucharski: Dobór pompy to inżynieria, nie zgadywanka</h2>
            <p>Nie powielam instalatorskich mitów. Zobacz, kto odpowiada za wiedzę techniczną i obliczenia w tym artykule.</p>
        </div>
        <div class="rk-auth-trust-badge">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Weryfikacja HVAC
        </div>
    </div>

    <div class="rk-auth-grid">
        
        <div class="rk-auth-profile">
            <div class="rk-auth-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            </div>
            
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-title">Inżynier &amp; Specjalista HVAC</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn fb">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Projekt Ogrzewania
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn li">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn
                </a>
            </div>
        </div>

        <div class="rk-auth-content">
            
            <div class="rk-auth-quote-box">
                <span class="rk-auth-quote-mark">&#8222;</span>
                <p class="rk-auth-quote-text">
                    Nigdy nie kupuj pompy obiegowej &#8222;na zapas&#8221;. Przewymiarowana pompa to hałas, kawitacja i marnowanie prądu. Niedowymiarowana to zimna podłoga. Matematyka układu wybacza znacznie mniej niż wylewka betonowa – tutaj liczą się twarde obliczenia oporów, a nie przypuszczenia instalatora.
                </p>
            </div>

            <div class="rk-auth-tabs">
                <button class="rk-auth-tab active" data-panel="omnie">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                    O Mnie
                </button>
                <button class="rk-auth-tab" data-panel="liczby">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Fakty i Liczby
                </button>
                <button class="rk-auth-tab" data-panel="filozofia">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                    Filozofia Projektowa
                </button>
            </div>

            <div class="rk-auth-panel active" id="panel-omnie">
                <h3>Praktyka wygrywa z teorią</h3>
                <p>
                    Projektowanie systemów ogrzewania to czysta matematyka i hydraulika. Od lat doradzam inwestorom, audytuję błędy wykonawcze na placach budowy i optymalizuję pracę źródeł ciepła. Oprócz działalności projektowej, zarządzam również portalami remont.biz.pl oraz <a sobir.pl, gdzie dzielę się konkretną, twardą wiedzą.
                </p>
                <p>
                    Wiem dokładnie, ile kosztuje inwestora niewiedza. W swoich projektach łączę rygorystyczne normy inżynierskie z bezkompromisowym pragmatyzmem, udowadniając, że odpowiednio zbilansowany zład wody to gwarancja spokoju na dekady.
                </p>
            </div>

            <div class="rk-auth-panel" id="panel-liczby">
                <h3>Instalacje oparte na twardych danych</h3>
                <p>Każdy opór hydrauliczny w rurze, każdy zakręt i przepływ na rotametrze mają gigantyczne znaczenie dla żywotności pompy. Moje podejście opiera się wyłącznie na wyliczeniach.</p>
                
                <div class="rk-auth-stats">
                    <div class="rk-stat-box">
                        <div class="rk-stat-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        </div>
                        <div class="rk-stat-info">
                            <div class="rk-stat-val">1000+</div>
                            <div class="rk-stat-label">Wykonanych Projektów OZC</div>
                        </div>
                    </div>
                    
                    <div class="rk-stat-box">
                        <div class="rk-stat-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <div class="rk-stat-info">
                            <div class="rk-stat-val">3700+</div>
                            <div class="rk-stat-label">Aktywnych Obserwatorów</div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-auth-panel" id="panel-filozofia">
                <h3>Bezbłędny system zaczyna się na papierze</h3>
                <p>
                    Odrzucam dobieranie urządzeń na zasadzie &#8222;zawsze tak montujemy i działa&#8221;. Brak analizy krzywych ciśnienia (H) i wydajności (Q) to najczęstsza przyczyna awarii silników EC i głośnej pracy instalacji.
                </p>
                <p>
                    Wszystkie algorytmy i artykuły techniczne, które znajdziesz na tej stronie, bazują na obowiązujących normach projektowych (m.in. <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a> i PN-EN 12831). Zapewnia to pełną zgodność prawną i maksymalizuje sprawność energetyczną Twojego domu.
                </p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-auth-tab');
    const panels = document.querySelectorAll('.rk-auth-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Show corresponding panel
            const target = this.getAttribute('data-panel');
            document.getElementById('panel-' + target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Ekspert HVAC Robert Kucharski: Dobór pompy to inżynieria, nie zgadywanka",
    "description": "Profil ekspercki Roberta Kucharskiego, inżyniera HVAC weryfikującego błędy hydrauliczne oraz dobór parametrów ciśnienia i przepływu w instalacjach płaszczyznowych.",
    "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/",
      "jobTitle": "Specjalista HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-autor",
    "name": "Baza kompetencji inżynierskich HVAC - Robert Kucharski",
    "description": "Zestawienie twardych statystyk i doświadczenia w zakresie normatywnego projektowania hydrauliki instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej",
      "obliczenia oporów hydraulicznych",
      "norma PN-EN 1264 podłogówka",
      "inżynier hvac robert kucharski",
      "audyt instalacji grzewczej"
    ],
    "measurementTechnique": "Weryfikacja doświadczenia na bazie ponad 1000 zrealizowanych i zoptymalizowanych projektów OZC oraz sieci zaufania online.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zrealizowane projekty instalacji płaszczyznowych i doborów hydraulicznych: 1000+",
        "Społeczność ekspercka: Zaufanie ponad 3700 obserwatorów.",
        "Metodologia: Odrzucenie dobierania sprzętu na zapas na rzecz rygorystycznych obliczeń strat ciśnienia i przepływu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-autor",
    "name": "Statyczny Profil E-E-A-T Autora",
    "description": "Moduł weryfikujący autorytet inżynierski twórcy artykułu, integrujący bezpośredni cytat (hook), portfolio oraz potwierdzenie zastosowania norm technicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-faq-dark: #1e293b;
    --rk-faq-primary: #3b82f6;
    --rk-faq-accent: #8b5cf6;
    --rk-faq-bg: #ffffff;
    --rk-faq-surface: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
    --rk-faq-danger: #ef4444;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 24px;
    box-shadow: 0 10px 30px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-faq-top {
    padding: 40px 50px;
    background: linear-gradient(145deg, var(--rk-faq-surface) 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-faq-border);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-faq-top h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.rk-faq-top p {
    font-size: 16px;
    color: var(--rk-faq-text);
    margin: 0;
    max-width: 750px;
    line-height: 1.6;
}

/* Master Switch */
.rk-faq-master-control {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-faq-bg);
    padding: 12px 24px;
    border-radius: 12px;
    border: 1px solid var(--rk-faq-border);
    align-self: flex-start;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: border-color 0.3s;
}

.rk-faq-master-control:hover {
    border-color: var(--rk-faq-primary);
}

.rk-faq-master-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-faq-dark);
}

.rk-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 24px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 18px; width: 18px;
    left: 3px; bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider { background-color: var(--rk-faq-primary); }
input:checked + .rk-slider:before { transform: translateX(20px); }

/* Lista FAQ */
.rk-faq-list {
    padding: 20px 50px 40px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-primary);
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.1);
}

.rk-faq-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    cursor: pointer;
    user-select: none;
    background: transparent;
    transition: background 0.3s;
}

.rk-faq-header:hover {
    background: var(--rk-faq-surface);
}

.rk-faq-question-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--rk-faq-surface);
    color: var(--rk-faq-primary);
    flex-shrink: 0;
    transition: all 0.3s;
}

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

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

.rk-faq-header h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
}

.rk-faq-chevron {
    color: #94a3b8;
    transition: transform 0.3s;
}

.rk-faq-item.active .rk-faq-chevron {
    transform: rotate(180deg);
    color: var(--rk-faq-primary);
}

.rk-faq-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-content {
    padding: 0 25px 25px 82px; /* Wyrównanie do tekstu, ominięcie ikony */
}

.rk-faq-content p {
    font-size: 15px;
    color: var(--rk-faq-text);
    line-height: 1.7;
    margin: 0;
}

.rk-faq-content a {
    color: var(--rk-faq-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(59, 130, 246, 0.2);
    transition: border-color 0.2s;
}

.rk-faq-content a:hover {
    border-color: var(--rk-faq-primary);
}

@media (max-width: 768px) {
    .rk-faq-top { padding: 30px 20px; }
    .rk-faq-top h2 { font-size: 26px; }
    .rk-faq-list { padding: 15px 20px 30px; gap: 10px; }
    .rk-faq-header { padding: 15px; }
    .rk-faq-content { padding: 0 15px 20px 15px; }
    .rk-faq-question-box { gap: 12px; }
    .rk-faq-header h3 { font-size: 15px; }
}
</style>

<div class="rk-faq-container" id="rkFaqApp">
    <div class="rk-faq-top">
        <h2>FAQ – Najczęściej zadawane pytania dotyczące pomp obiegowych</h2>
        <p>Baza wiedzy diagnostycznej. Eksperckie, techniczne odpowiedzi na najczęstsze problemy z przepływem, trybami pracy i integracją pomp cyrkulacyjnych w płaszczyznowych systemach grzewczych.</p>
        
        <label class="rk-faq-master-control">
            <span class="rk-faq-master-label">Rozwiń wszystkie odpowiedzi</span>
            <div class="rk-switch">
                <input type="checkbox" id="rkToggleAllFaq">
                <span class="rk-slider"></span>
            </div>
        </label>
    </div>

    <div class="rk-faq-list">
        
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon danger-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    </div>
                    <h3>Czy pompa obiegowa do podłogówki może pracować na trybie proporcjonalnym (PP)?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p><strong>Nie, praca pompy w trybie proporcjonalnym (PP) jest kardynalnym błędem wykonawczym.</strong> W tym trybie zamknięcie części pętli grzewczych powoduje obniżenie ciśnienia przez pompę, co skutkuje drastycznym spadkiem przepływów w pozostałych, otwartych obiegach i niedogrzaniem pomieszczeń.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    </div>
                    <h3>Jaki przepływ na rotametrach powinna zapewnić pompa obiegowa?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Prawidłowy przepływ dla standardowych pętli o długości 70–90 metrów wynosi <strong>od 1,5 do 2,5 litra na minutę (l/min)</strong>. Wartości te muszą wynikać bezpośrednio z projektu hydraulicznego i być precyzyjnie wyregulowane na belce rozdzielacza za pomocą <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path></svg>
                    </div>
                    <h3>Dlaczego pompa obiegowa podłogówki buczy i głośno pracuje?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Główną przyczyną głośnej pracy jest <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzenie układu</a> lub zjawisko kawitacji wywołane zbyt niskim ciśnieniem statycznym w instalacji (poniżej 1,0 bar). Innym powodem może być zablokowanie wirnika przez osad magnetyczny w wyniku braku filtra magnetycznego w układzie.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h4l2-9 4 18 2-9h4"></path><path d="M12 2v2"></path><path d="M12 20v2"></path></svg>
                    </div>
                    <h3>Czy pompa wbudowana w pompę ciepła wystarczy do obsłużenia podłogówki?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>W budynkach o powierzchni do 120 m² ze sprzyjającą architekturą hydrauliczną <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> ze zintegrowaną pompą cyrkulacyjną zazwyczaj jest wystarczająca. Przy większych metrażach lub skomplikowanych układach kaskadowych konieczne jest zastosowanie <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a> i zewnętrznej pompy obiegowej.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    </div>
                    <h3>Jak sprawdzić, czy elektroniczna pompa obiegowa działa prawidłowo?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Prawidłowe działanie poznasz po stabilnym wskazaniu aktualnego poboru mocy (wyrażonego w Watach na wyświetlaczu) oraz braku drgań. Dodatkowo rura zasilająca za pompą powinna osiągnąć temperaturę zgodną z nastawą na <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworze mieszającym</a> w czasie kilkunastu minut od startu.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-faq-item');
    const toggleAllCheckbox = document.getElementById('rkToggleAllFaq');

    // Obsługa pojedynczych akordeonów
    faqItems.forEach(item => {
        const header = item.querySelector('.rk-faq-header');
        const body = item.querySelector('.rk-faq-body');

        header.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            if (isActive) {
                item.classList.remove('active');
                body.style.maxHeight = '0px';
            } else {
                item.classList.add('active');
                body.style.maxHeight = body.scrollHeight + "px";
            }
            updateMasterSwitchState();
        });
    });

    // Obsługa przełącznika "Rozwiń wszystkie"
    toggleAllCheckbox.addEventListener('change', function() {
        const isChecked = this.checked;
        
        faqItems.forEach(item => {
            const body = item.querySelector('.rk-faq-body');
            if (isChecked) {
                item.classList.add('active');
                body.style.maxHeight = body.scrollHeight + "px";
            } else {
                item.classList.remove('active');
                body.style.maxHeight = '0px';
            }
        });
    });

    // Funkcja aktualizująca stan przełącznika głównego
    function updateMasterSwitchState() {
        const allActive = Array.from(faqItems).every(item => item.classList.contains('active'));
        toggleAllCheckbox.checked = allActive;
    }
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania dotyczące pomp obiegowych",
    "description": "Eksperckie odpowiedzi na najczęstsze problemy z pompami obiegowymi w systemach ogrzewania podłogowego. Diagnostyka, tryby pracy i ustawienia.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Diagnostyczna Pomp Obiegowych 2026",
    "description": "Zbiór typowych awarii, optymalnych parametrów przepływu i konfiguracji hydraulicznych dla układów płaszczyznowych ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb proporcjonalny a stałociśnieniowy",
      "przepływ na rotametrach podłogówki",
      "dlaczego pompa obiegowa buczy",
      "pompa obiegowa a pompa ciepła",
      "diagnostyka pompy ogrzewania podłogowego"
    ],
    "measurementTechnique": "Analiza objawów akustycznych i termicznych w odniesieniu do nastaw hydraulicznych na rozdzielaczu podłogowym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja trybu PP (błąd) vs CP (prawidłowy)",
        "Kontrola przepływów nominalnych (1,5 - 2,5 l/min)",
        "Diagnostyka kawitacji i zapowietrzenia zładu",
        "Zależność wbudowanej pompy obiegowej od powierzchni budynku"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Asystent Diagnostyki Pomp",
    "description": "Moduł typu Accordion FAQ pozwalający użytkownikowi na szybkie filtrowanie i odczytywanie rozwiązań najczęstszych problemów hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy pompa obiegowa do podłogówki może pracować na trybie proporcjonalnym (PP)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, praca pompy w trybie proporcjonalnym (PP) jest kardynalnym błędem wykonawczym. W tym trybie zamknięcie części pętli grzewczych powoduje obniżenie ciśnienia przez pompę, co skutkuje drastycznym spadkiem przepływów w pozostałych, otwartych obiegach i niedogrzaniem pomieszczeń."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki przepływ na rotametrach powinna zapewnić pompa obiegowa?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowy przepływ dla standardowych pętli o długości 70–90 metrów wynosi od 1,5 do 2,5 litra na minutę (l/min). Wartości te muszą wynikać bezpośrednio z projektu hydraulicznego i być precyzyjnie wyregulowane na belce rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego pompa obiegowa podłogówki buczy i głośno pracuje?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Główną przyczyną głośnej pracy jest zapowietrzenie układu lub zjawisko kawitacji wywołane zbyt niskim ciśnieniem statycznym w instalacji (poniżej 1,0 bar). Innym powodem może być zablokowanie wirnika przez osad magnetyczny w wyniku braku filtra."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa wbudowana w pompę ciepła wystarczy do obsłużenia podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W budynkach o powierzchni do 120 m² ze sprzyjającą architekturą hydrauliczną pompa fabryczna zazwyczaj jest wystarczająca. Przy większych metrażach lub skomplikowanych układach kaskadowych konieczne jest zastosowanie sprzęgła hydraulicznego i zewnętrznej pompy."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy elektroniczna pompa obiegowa działa prawidłowo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowe działanie poznasz po stabilnym wskazaniu aktualnego poboru mocy (wyrażonego w Watach na wyświetlaczu) oraz braku drgań. Dodatkowo rura zasilająca za pompą powinna osiągnąć zadaną temperaturę w czasie kilkunastu minut od startu."
        }
      }
    ]
  }
]
</script>



<style>
:root {
    --rk-pmp-dark: #1e293b;
    --rk-pmp-blue: #0284c7;
    --rk-pmp-accent: #38bdf8;
    --rk-pmp-green: #10b981;
    --rk-pmp-red: #ef4444;
    --rk-pmp-gray: #64748b;
    --rk-pmp-bg: #f8fafc;
    --rk-pmp-card: #ffffff;
    --rk-pmp-border: #e2e8f0;
}

.rk-pmp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pmp-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-pmp-border);
    overflow: hidden;
}

/* Tagi Długi Ogon */
.rk-tags-row {
    padding: 20px 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: rgba(2, 132, 199, 0.08);
    color: var(--rk-pmp-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(2, 132, 199, 0.15);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-pmp-blue);
    color: #ffffff;
}

/* Nagłówek i Wstęp */
.rk-pmp-header {
    padding: 30px 40px;
    text-align: center;
    border-bottom: 1px solid var(--rk-pmp-border);
}

.rk-pmp-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-pmp-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-pmp-header p {
    font-size: 16px;
    color: var(--rk-pmp-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Panel */
.rk-pmp-dashboard {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: var(--rk-pmp-bg);
    border-bottom: 1px solid var(--rk-pmp-border);
}

.rk-pmp-controls {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--rk-pmp-card);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-pmp-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    cursor: pointer;
    transition: all 0.2s;
}

.rk-toggle-row:hover {
    border-color: var(--rk-pmp-accent);
}

.rk-toggle-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-pmp-dark);
}

/* Switch CSS */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 28px;
}
.rk-switch input { opacity: 0; width: 0; height: 0; }
.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}
.rk-slider:before {
    position: absolute;
    content: "";
    height: 20px; width: 20px;
    left: 4px; bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
input:checked + .rk-slider { background-color: var(--rk-pmp-green); }
input:checked + .rk-slider:before { transform: translateX(22px); }

/* SVG Visualizer */
.rk-pmp-visual {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--rk-pmp-border);
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
}

.rk-pmp-svg-box {
    position: relative;
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-svg-rotor {
    transform-origin: center;
    transition: all 0.5s ease;
}

.anim-spin-slow { animation: pmpSpin 8s linear infinite; }
.anim-spin-fast { animation: pmpSpin 1.5s linear infinite; }
.color-off { stroke: #94a3b8; }
.color-on { stroke: var(--rk-pmp-green); filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.4)); }

@keyframes pmpSpin { 100% { transform: rotate(360deg); } }

.rk-status-badge {
    padding: 8px 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: #e2e8f0;
    color: var(--rk-pmp-gray);
    transition: all 0.3s;
}

.rk-status-badge.status-ready {
    background: var(--rk-pmp-green);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
}

/* Grid Detali */
.rk-pmp-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 40px;
}

.rk-detail-card {
    background: var(--rk-pmp-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-pmp-border);
}

.rk-detail-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-pmp-dark);
    margin: 0 0 12px 0;
}

.rk-detail-card h3 svg { color: var(--rk-pmp-blue); }

.rk-detail-card p {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

.rk-detail-card a {
    color: var(--rk-pmp-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(2, 132, 199, 0.2);
    transition: border-color 0.2s;
}

.rk-detail-card a:hover { border-color: var(--rk-pmp-blue); }

@media (max-width: 768px) {
    .rk-pmp-dashboard { grid-template-columns: 1fr; }
    .rk-pmp-visual { border-left: none; border-top: 1px solid var(--rk-pmp-border); padding: 30px; }
    .rk-pmp-details { grid-template-columns: 1fr; padding: 25px; gap: 15px; }
    .rk-pmp-controls { padding: 25px; }
    .rk-pmp-header { padding: 25px 20px; }
    .rk-pmp-header h2 { font-size: 24px; }
}
</style>

<div class="rk-pmp-container" id="pmp-configurator-app">
    
    <div class="rk-tags-row">
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># współczynnik efektywności energetycznej eei</span>
        <span class="rk-mat-tag"># tryb stałociśnieniowy pompy</span>
        <span class="rk-mat-tag"># straty ciśnienia w instalacji</span>
    </div>

    <div class="rk-pmp-header">
        <h2>Podsumowanie – Kryteria wyboru niezawodnej pompy obiegowej</h2>
        <p>Wybór pompy obiegowej do instalacji ogrzewania podłogowego musi być podyktowany wyłącznie rzetelną analizą inżynierską, a nie pozorną oszczędnością przy zakupie. Uruchom weryfikator i sprawdź kluczowe parametry.</p>
    </div>

    <div class="rk-pmp-dashboard">
        <div class="rk-pmp-controls">
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Zgodność z dyrektywą ErP (EEI ≤ 0,20)</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Tryb stałociśnieniowy (CP) i wyświetlacz</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Korpus z żeliwa i wał ceramiczny</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Zgodność z projektem hydraulicznym</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
        </div>

        <div class="rk-pmp-visual">
            <div class="rk-pmp-svg-box">
                <svg viewBox="0 0 100 100" fill="none">
                    <circle cx="50" cy="50" r="45" stroke="#cbd5e1" stroke-width="4" fill="#ffffff"/>
                    <circle cx="50" cy="50" r="35" stroke="#e2e8f0" stroke-width="8" />
                    <g class="rk-svg-rotor anim-spin-slow color-off" id="pmpRotor">
                        <line x1="50" y1="15" x2="50" y2="85" stroke-width="6" stroke-linecap="round"/>
                        <line x1="15" y1="50" x2="85" y2="50" stroke-width="6" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="8" fill="currentColor" />
                    </g>
                    <rect x="35" y="40" width="30" height="20" rx="4" fill="#1e293b" />
                    <text x="50" y="54" fill="#38bdf8" font-size="10" font-family="monospace" font-weight="bold" text-anchor="middle" id="pmpWattage">&#8212; W</text>
                </svg>
            </div>
            <div class="rk-status-badge" id="pmpStatusText">Urządzenie amatorskie</div>
        </div>
    </div>

    <div class="rk-pmp-details">
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                Zgodność z dyrektywą ErP
            </h3>
            <p>Urządzenie musi posiadać współczynnik efektywności energetycznej <strong>EEI ≤ 0,20</strong>. Spełnienie tego warunku gwarantuje minimalny pobór prądu na poziomie zaledwie kilku watów podczas inteligentnej pracy adaptacyjnej.</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                Wielofunkcyjność elektroniki
            </h3>
            <p>Solidna pompa musi oferować dedykowany tryb stałociśnieniowy (<strong>CP</strong>), niezbędny przy sterowaniu strefowym, oraz czytelny wyświetlacz informujący o aktualnym przepływie [m³/h] i poborze mocy [W].</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Wysoka jakość materiałowa
            </h3>
            <p>Korpus wykonany z ciężkiego żeliwa z powłoką kataforetyczną oraz precyzyjny wał ceramiczny z nowoczesnymi łożyskami. To zestawienie gwarantuje cichą i bezawaryjną pracę przez minimum <strong>10–15 lat</strong>.</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                Oparcie na dokumentacji
            </h3>
            <p>Zakup musi być bezwzględnie potwierdzony obliczeniami za pomocą <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatora doboru pompy obiegowej</a>, w oparciu o wyliczone <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">zapotrzebowanie cieplne OZC</a>. Eliminuje to ryzyko błędów hydraulicznych.</p>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie – Kryteria wyboru niezawodnej pompy obiegowej",
    "description": "Zestawienie rygorystycznych kryteriów inżynierskich doboru energooszczędnej pompy obiegowej do ogrzewania podłogowego. Sprawdź parametry techniczne przed zakupem.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Standardy Techniczne Pomp Obiegowych 2026",
    "description": "Specyfikacja techniczna i minimalne wymogi materiałowo-elektroniczne dla pomp cyrkulacyjnych w płaszczyznowych systemach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej do podłogówki",
      "współczynnik efektywności energetycznej eei",
      "tryb stałociśnieniowy cp pompy",
      "obliczenia strat ciśnienia w instalacji",
      "jakość pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wskaźnika EEI z dyrektywy ErP, krzywych podnoszenia oraz oporów hydraulicznych rurociągów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "EEI ≤ 0,20 - gwarancja energooszczędności",
        "Tryb CP (Constant Pressure) - dla systemów ze sterowaniem strefowym",
        "Żeliwo kataforetyczne i wał ceramiczny - żywotność 10-15 lat",
        "Weryfikacja mocy w odniesieniu do projektu OZC"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Interaktywny Weryfikator Klasy Pompy Obiegowej",
    "description": "Narzędzie symulacyjne pozwalające na ocenę jakości wybranej pompy obiegowej poprzez weryfikację czterech kluczowych kryteriów inżynierskich.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const checkboxes = document.querySelectorAll('.pmp-req-check');
    const rotor = document.getElementById('pmpRotor');
    const statusText = document.getElementById('pmpStatusText');
    const wattageDisplay = document.getElementById('pmpWattage');

    function updatePumpStatus() {
        let checkedCount = 0;
        checkboxes.forEach(cb => { if(cb.checked) checkedCount++; });

        if (checkedCount === 0) {
            statusText.textContent = 'Urządzenie amatorskie';
            statusText.className = 'rk-status-badge';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-slow color-off';
            wattageDisplay.textContent = '-- W';
            wattageDisplay.setAttribute('fill', '#64748b');
        } else if (checkedCount > 0 && checkedCount < 4) {
            statusText.textContent = `Weryfikacja: ${checkedCount}/4 kryteriów`;
            statusText.className = 'rk-status-badge';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-slow color-on';
            wattageDisplay.textContent = `${45 - (checkedCount * 10)} W`;
            wattageDisplay.setAttribute('fill', '#38bdf8');
        } else if (checkedCount === 4) {
            statusText.textContent = 'Klasa: Inżynierska (Zatwierdzona)';
            statusText.className = 'rk-status-badge status-ready';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-fast color-on';
            wattageDisplay.textContent = '6 W';
            wattageDisplay.setAttribute('fill', '#10b981');
        }
    }

    checkboxes.forEach(cb => {
        cb.addEventListener('change', updatePumpStatus);
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-slate: #475569;
    --rk-dl-bg: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #e2e8f0;
    
    /* Kolory Akcentujące */
    --rk-dl-blue: #2563eb;
    --rk-dl-pdf: #ef4444; /* Czerwony dla PDF */
    --rk-dl-img: #10b981; /* Zielony dla WebP */
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Tagi Long Tail */
.rk-dl-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-dl-card);
}

.rk-mat-tag {
    background: var(--rk-dl-bg);
    color: var(--rk-dl-slate);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--rk-dl-border);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-dl-slate);
    color: #ffffff;
}

/* Nagłówek */
.rk-dl-header {
    padding: 25px 40px 30px;
    background: var(--rk-dl-card);
    color: var(--rk-dl-dark);
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-dl-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-dl-header p {
    font-size: 15px;
    color: var(--rk-dl-slate);
    margin: 0;
    line-height: 1.6;
    max-width: 800px;
}

/* Układ główny - Grid */
.rk-dl-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-dl-bg);
}

/* Lewa Kolumna - Podgląd Infografiki */
.rk-dl-preview-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--rk-dl-border);
}

.rk-preview-box {
    width: 100%;
    max-width: 320px;
    background: #ffffff;
    border: 8px solid #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    overflow: hidden;
    position: relative;
}

.rk-preview-box img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
}

.rk-preview-label {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 900;
    color: var(--rk-dl-slate);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Prawa Kolumna - Przyciski Pobierania */
.rk-dl-actions-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-action-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 10px 0;
}

.rk-action-desc {
    font-size: 14px;
    color: var(--rk-dl-slate);
    margin: 0 0 20px 0;
    line-height: 1.6;
}

.rk-btn-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-btn-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-btn-card.pdf:hover { border-color: var(--rk-dl-pdf); }
.rk-btn-card.img:hover { border-color: var(--rk-dl-img); }

.rk-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    flex-shrink: 0;
}

.rk-btn-card.pdf .rk-btn-icon { background: #fef2f2; color: var(--rk-dl-pdf); }
.rk-btn-card.img .rk-btn-icon { background: #f0fdf4; color: var(--rk-dl-img); }

.rk-btn-content {
    display: flex;
    flex-direction: column;
}

.rk-btn-headline {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 4px 0;
}

.rk-btn-sub {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-dl-slate);
    margin: 0;
}

/* Stopka z Copyright */
.rk-dl-footer {
    background: #ffffff;
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 40px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-footer-shield {
    color: var(--rk-dl-slate);
    margin-top: 2px;
    flex-shrink: 0;
}

.rk-footer-copy {
    font-size: 12px;
    font-weight: 500;
    color: var(--rk-dl-slate);
    line-height: 1.6;
    margin: 0;
}

.rk-footer-copy strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-dl-layout { grid-template-columns: 1fr; }
    .rk-dl-preview-area { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px 20px; }
    .rk-dl-actions-area { padding: 30px 20px; }
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-tags { padding: 20px 20px 0; }
    .rk-dl-footer { padding: 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<div class="rk-dl-container">
    
    <div class="rk-dl-tags">
        <span class="rk-mat-tag"># schemat podłączenia pompy obiegowej pdf</span>
        <span class="rk-mat-tag"># infografika instalacja ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># instrukcja montażu pompy obiegowej do pobrania</span>
        <span class="rk-mat-tag"># układ mieszający podłogówki schemat</span>
    </div>

    <div class="rk-dl-header">
        <h2>Materiały techniczne do pobrania</h2>
        <p>Pobierz przygotowaną przeze mnie infografikę w wysokiej rozdzielczości. Zawiera ona przekrój najważniejszych wytycznych projektowych i montażowych dla pomp obiegowych.</p>
    </div>

    <div class="rk-dl-layout">
        <div class="rk-dl-preview-area">
            <div class="rk-preview-box">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.webp" alt="Infografika - Pompa obiegowa w instalacji ogrzewania podłogowego" loading="lazy">
            </div>
            <div class="rk-preview-label">Podgląd Dokumentu</div>
        </div>

        <div class="rk-dl-actions-area">
            <h3 class="rk-action-title">Wybierz format pliku</h3>
            <p class="rk-action-desc">Dokumentacja jest dostępna w formacie wektorowym (PDF do druku) oraz w lekkim formacie graficznym (WebP do podglądu na telefonie).</p>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.pdf" target="_blank" class="rk-btn-card pdf">
                <div class="rk-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M12 18v-6"></path><path d="M9 15l3 3 3-3"></path></svg>
                </div>
                <div class="rk-btn-content">
                    <h4 class="rk-btn-headline">Pobierz plik PDF</h4>
                    <p class="rk-btn-sub">Wysoka jakość • Wersja do druku</p>
                </div>
            </a>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.webp" target="_blank" class="rk-btn-card img">
                <div class="rk-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                </div>
                <div class="rk-btn-content">
                    <h4 class="rk-btn-headline">Wyświetl obraz WebP</h4>
                    <p class="rk-btn-sub">Lekki plik • Podgląd w przeglądarce</p>
                </div>
            </a>
        </div>
    </div>

    <div class="rk-dl-footer">
        <div class="rk-footer-shield">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
        </div>
        <p class="rk-footer-copy">
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong> Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku. Chronione prawem autorskim.
        </p>
    </div>

</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Materiały techniczne do pobrania: Schematy i wytyczne pomp obiegowych",
    "description": "Pobierz darmową infografikę w formacie PDF oraz WebP zawierającą techniczne zasady doboru, trybów pracy oraz montażu pompy obiegowej w ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Infografika techniczna: Pompa obiegowa w podłogówce",
    "description": "Zestawienie graficzne schematów montażowych, wzorów obliczeniowych (Q i H) oraz charakterystyk trybów pracy (CP/PP) do pobrania w formacie PDF i WebP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat podłączenia pompy obiegowej pdf",
      "infografika instalacja ogrzewania podłogowego",
      "instrukcja montażu pompy obiegowej do pobrania",
      "układ mieszający podłogówki schemat",
      "jak podłączyć pompę podłogówki pdf"
    ],
    "measurementTechnique": "Synteza wiedzy inżynierskiej z normy PN-EN 1264 zaprezentowana w formie zoptymalizowanej infografiki 2D.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik PDF: Format wektorowy przeznaczony do wydruku przez instalatorów (Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.pdf).",
        "Plik WebP: Skompresowany format rastrowy do podglądu bezpośrednio w przeglądarkach na urządzeniach mobilnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-repozytorium",
    "name": "Interfejs Repozytorium Dokumentacji HVAC",
    "description": "Statyczny interfejs graficzny ułatwiający użytkownikom szybki podgląd i pobieranie dokumentacji technicznej w preferowanym formacie z zachowaniem ochrony praw autorskich.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
