{"id":471,"date":"2023-07-31T07:19:00","date_gmt":"2023-07-31T07:19:00","guid":{"rendered":"https:\/\/copperfiction.com\/?p=471"},"modified":"2026-04-09T21:50:29","modified_gmt":"2026-04-09T21:50:29","slug":"fan-control-via-differential-pressure-measurement","status":"publish","type":"post","link":"https:\/\/copperfiction.com\/index.php\/2023\/07\/31\/fan-control-via-differential-pressure-measurement\/","title":{"rendered":"[028] FAN CONTROL VIA DIFFERENTIAL PRESSURE"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"400\" src=\"https:\/\/copperfiction.com\/wp-content\/uploads\/2026\/04\/image1-11.png\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/copperfiction.com\/wp-content\/uploads\/2026\/04\/image1-11.png 900w, https:\/\/copperfiction.com\/wp-content\/uploads\/2026\/04\/image1-11-300x133.png 300w, https:\/\/copperfiction.com\/wp-content\/uploads\/2026\/04\/image1-11-768x341.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>On paper: read a sensor, drive a fan, close the loop. In practice, it&#8217;s a lot more interesting than that.<\/p>\n\n\n\n<p>The differential pressure sensor outputs an analog voltage proportional to the pressure difference across its two ports. Picking the right sensor range is already a meaningful decision \u2014 too wide and you lose resolution, too narrow and you saturate on the first transient.<\/p>\n\n\n\n<p>The analog front end needed real attention: RC low-pass filter at the ADC input, proper decoupling on the sensor supply. The STM32F030F4P6 \u2014 a small Cortex-M0 in a TSSOP-20 package \u2014 handles acquisition and the discrete PID. A few details make all the difference: integral anti-windup, a sampling period matched to the system dynamics, filtered derivative. Tuning was done experimentally \u2014 P first, then I, then D only when needed. A classic project, but a genuinely instructive one.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On paper: read a sensor, drive a fan, close the loop. In practice, it&#8217;s a lot more interesting than that. The differential pressure sensor outputs an analog voltage proportional to the pressure difference across its two ports. Picking the right sensor range is already a meaningful decision \u2014 too wide and you lose resolution, too &#8230; <a title=\"[028] FAN CONTROL VIA DIFFERENTIAL PRESSURE\" class=\"read-more\" href=\"https:\/\/copperfiction.com\/index.php\/2023\/07\/31\/fan-control-via-differential-pressure-measurement\/\" aria-label=\"Read more about [028] FAN CONTROL VIA DIFFERENTIAL PRESSURE\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68],"tags":[70,71,69],"class_list":["post-471","post","type-post","status-publish","format-standard","hentry","category-68","tag-analog-control","tag-regulation","tag-stm32f030f4p6"],"_links":{"self":[{"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/posts\/471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/comments?post=471"}],"version-history":[{"count":6,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/posts\/471\/revisions"}],"predecessor-version":[{"id":636,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/posts\/471\/revisions\/636"}],"wp:attachment":[{"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/media?parent=471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/categories?post=471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/copperfiction.com\/index.php\/wp-json\/wp\/v2\/tags?post=471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}