{"id":2651,"date":"2026-10-18T03:31:42","date_gmt":"2026-10-18T03:31:42","guid":{"rendered":"http:\/\/ritoks.com\/"},"modified":"2026-10-18T03:31:42","modified_gmt":"2026-10-18T03:31:42","slug":"battery-monitor-coulomb-counting-drift","status":"publish","type":"post","link":"https:\/\/ritoks.com\/hi\/battery-monitor-coulomb-counting-drift\/","title":{"rendered":"Battery Monitor State of Charge: Why Coulomb Counting Can Drift"},"content":{"rendered":"<h2 class=\"wp-block-heading\">A state estimate needs a starting point<\/h2>\n<p class=\"wp-block-paragraph\">Battery monitor coulomb counting drift happens when small measurement or model errors accumulate as the monitor integrates current over time. State of charge is an estimate referenced to an initial condition and an assumed available capacity. A shunt current reading alone does not independently establish the battery&#8217;s remaining usable capacity or its state of health.<\/p>\n<p class=\"wp-block-paragraph\">For a storage integrator, the useful question is why the estimate gradually becomes inconsistent with a known operating condition. The answer may involve current offset, an incorrect capacity setting, an unmeasured current path, charging-efficiency assumptions or missing synchronization. Those possibilities need different evidence. Repeatedly forcing the display to a convenient percentage does not identify which one is present.<\/p>\n<p class=\"wp-block-paragraph\">\u0926 <a href=\"https:\/\/ritoks.com\/hi\/products\/bm500-battery-shunt-monitoring-modules\/\">BM500 battery shunt monitoring module page<\/a> is the appropriate product destination for an inquiry, but the exact supplied algorithm and configuration procedure must be confirmed in its documentation. The manufacturer examples in this guide explain general estimation principles. They do not establish that BM500 implements another manufacturer&#8217;s features or synchronization rules.<\/p>\n<h2 class=\"wp-block-heading\">Separate current measurement from capacity estimation<\/h2>\n<p class=\"wp-block-paragraph\">Coulomb counting sums charge flowing through the measured boundary. When current is expressed in amperes and elapsed time in hours, the integral is expressed in ampere-hours. The monitor can compare that accumulated charge with a configured capacity, subject to its algorithm. It still needs a starting estimate because the current history begins at a particular time rather than at the battery&#8217;s manufacture.<\/p>\n<p class=\"wp-block-paragraph\">Consider a sealed container with a flow meter at its outlet. Counting outflow tells you how much has left since counting started, but it does not reveal the original contents unless you know the starting level. A battery is more complex because charging losses, temperature, aging and load conditions can affect the relationship between counted charge and usable capacity. The analogy explains the missing starting information, not the battery&#8217;s electrochemistry.<\/p>\n<p class=\"wp-block-paragraph\">\u0926 <a href=\"https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/operation.html\" target=\"_blank\" rel=\"noopener\">Victron SmartShunt operation manual<\/a> describes current measurement, charge accumulation and synchronization for its own product. This is primary evidence for a documented implementation. Its settings should not be transferred to another monitor or battery simply because the display also includes a state-of-charge field.<\/p>\n<p class=\"wp-block-paragraph\">Keep separate records for instantaneous current, accumulated ampere-hours, estimated state of charge and measured battery voltage. They answer different questions. Current explains the present flow; accumulated charge describes measured history; state of charge adds assumptions; voltage provides another observation whose interpretation depends on operating conditions and chemistry.<\/p>\n<h2 class=\"wp-block-heading\">See how a small offset accumulates<\/h2>\n<p class=\"wp-block-paragraph\">Assume a hypothetical monitor has a constant positive current-reading error of 0.05 A during a period in which the real current is zero. Over 24 hours, it would accumulate 1.2 Ah of apparent charge flow: 0.05 A multiplied by 24 h. Over seven such days, the arithmetic reaches 8.4 Ah. These are teaching assumptions, not accuracy claims for any listed monitor.<\/p>\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Hypothetical elapsed time<\/th>\n<th align=\"right\">Assumed constant current error<\/th>\n<th align=\"right\">Accumulated charge error<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>1 hour<\/td>\n<td align=\"right\">0.05 A<\/td>\n<td align=\"right\">0.05 Ah<\/td>\n<\/tr>\n<tr>\n<td>24 hours<\/td>\n<td align=\"right\">0.05 A<\/td>\n<td align=\"right\">1.2 Ah<\/td>\n<\/tr>\n<tr>\n<td>168 hours<\/td>\n<td align=\"right\">0.05 A<\/td>\n<td align=\"right\">8.4 Ah<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n<p class=\"wp-block-paragraph\">A small error can therefore look unimportant on a live current display while becoming important in a long integration window. The sign of the error matters: an apparent charging bias and an apparent discharge bias move the estimate in opposite directions. Actual algorithms may include deadbands, corrections or synchronization, so this linear example is a diagnostic concept rather than a prediction of real device behavior.<\/p>\n<p class=\"wp-block-paragraph\">Do not convert the accumulated error into a universal percentage without a stated capacity and algorithm. A percentage estimate uses a denominator, and that denominator may itself be uncertain. Nor does a mismatch after storage automatically prove sensor offset. Self-discharge, auxiliary consumption outside the measured boundary and the last valid starting state can produce different discrepancies.<\/p>\n<figure data-spectra-id=\"spectra-cb396765-781e-4aef-bc5e-b6bc139a7a74\" class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"1050\" src=\"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01.webp\" alt=\"Small offset, accumulated charge error\" class=\"wp-image-2649\" srcset=\"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01.webp 1400w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01-300x225.webp 300w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01-1024x768.webp 1024w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01-768x576.webp 768w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01-16x12.webp 16w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-01-600x450.webp 600w\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" \/><figcaption class=\"wp-element-caption\">Hypothetical0.05A offset integrates to8.4Ah over168h; no product accuracy claim.<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">Check whether every relevant current crosses the boundary<\/h2>\n<p class=\"wp-block-paragraph\">A monitor can integrate only the current it observes. If a charger or load has a path that bypasses the measuring boundary, the accumulated history omits that flow. A wiring diagram review should therefore identify every intended charging and discharging path, auxiliary branch and connection to other equipment. This is a boundary audit, not a generic instruction to rewire a battery system.<\/p>\n<p class=\"wp-block-paragraph\">Use the exact monitor and installation documentation to review that boundary with a qualified installer. Keep the diagram revision and the actual connection evidence together. An apparently idle system may contain small monitoring, protection or control loads. Turning off the main inverter does not by itself prove that current is zero.<\/p>\n<p class=\"wp-block-paragraph\">To investigate offset, obtain a valid zero-current condition using the product&#8217;s approved procedure. The <a href=\"https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/all-features-and-settings.html\" target=\"_blank\" rel=\"noopener\">SmartShunt settings manual<\/a> explicitly treats zero-current calibration as a specific procedure requiring certainty that actual current is absent. That condition is important; copying its physical procedure to a different product would not be justified.<\/p>\n<p class=\"wp-block-paragraph\">If an independent instrument is used for comparison, record its resolution, uncertainty and measurement location. A disagreement between two low-current readings can be inconclusive when either instrument is near its useful resolution. Preserve the original observation before changing calibration so the maintenance record does not lose the evidence that prompted the investigation.<\/p>\n<h2 class=\"wp-block-heading\">Review capacity and algorithm settings as a group<\/h2>\n<p class=\"wp-block-paragraph\">Configured capacity is a model input, not a capacity test result. A nominal nameplate value may be an appropriate initial setting under the manufacturer&#8217;s instructions, but it does not prove present usable capacity under every temperature or duty cycle. An aged battery and a new battery can share a label while producing different usable energy in the application.<\/p>\n<p class=\"wp-block-paragraph\">Ask which capacity definition the monitor expects, how that value is updated, and whether charge efficiency or load-related adjustments exist. Record the battery chemistry, configuration, documented capacity basis and relevant operating conditions. Confirm whether the selected monitor estimates charge, energy, runtime or some combination. Those functions should not be inferred from a screen label.<\/p>\n<p class=\"wp-block-paragraph\">Changes to several settings at once make diagnosis harder. If capacity, zero calibration and synchronization are all altered before a comparison test, an improved display cannot identify which change mattered. Choose a documented reason for each change, save the previous values, and record the test that checks the result. Configuration history is part of the technical evidence.<\/p>\n<p class=\"wp-block-paragraph\">Do not substitute a monitoring module for the battery management system&#8217;s protective functions. A state estimate, an alarm output and a BMS protection decision are different roles. Confirm their interfaces and responsibilities in the system design rather than assuming that any device displaying battery percentage provides charge termination or fault protection.<\/p>\n<figure data-spectra-id=\"spectra-ba6a9473-4a64-42bd-9bff-e7697a905d59\" class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"1050\" src=\"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02.webp\" alt=\"Inputs behind a state estimate\" class=\"wp-image-2650\" srcset=\"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02.webp 1400w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02-300x225.webp 300w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02-1024x768.webp 1024w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02-768x576.webp 768w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02-16x12.webp 16w, https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-body-02-600x450.webp 600w\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" \/><figcaption class=\"wp-element-caption\">Initial reference, capacity assumptions, measured boundary and current error influence the estimate.<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">Synchronization resets the reference, not the battery<\/h2>\n<p class=\"wp-block-paragraph\">Synchronization aligns the estimated state with a known reference condition recognized by the monitor. A documented full-charge condition can provide such a reference for some algorithms. The exact criteria may involve voltage, current, time and configuration. They need to match the battery and charging system, and they must come from the selected monitor&#8217;s manual.<\/p>\n<p class=\"wp-block-paragraph\">For SmartShunt, the manufacturer describes its own automatic and manual synchronization behavior. That documentation is useful evidence that synchronization is an algorithm event with defined conditions. It does not create a universal rule that any battery above a particular voltage is full. Chemistry, charge stage, concurrent loads and measurement location affect interpretation.<\/p>\n<p class=\"wp-block-paragraph\">Distinguish a missed synchronization from an incorrect synchronization. In the first case, the estimate continues from an old reference. In the second, it may reset confidently to a reference that was not actually reached. Both can yield a misleading percentage, but their event logs and charging observations differ. Ask the monitor to expose the relevant event history when that capability is documented.<\/p>\n<p class=\"wp-block-paragraph\">Manual synchronization should follow a verified reference condition. Forcing the display to full simply because a charger has stopped or the battery voltage looks high can conceal an unresolved issue. A maintenance report should explain why the reference was accepted and what independent observations supported it.<\/p>\n<h2 class=\"wp-block-heading\">Build a useful drift investigation record<\/h2>\n<p class=\"wp-block-paragraph\">Start the record with monitor model, firmware where available, battery identity, chemistry, connection diagram and configuration export. Add the last known synchronization event and the evidence for it. Then capture time-stamped current, voltage, accumulated charge and state estimate across a relevant operating period. Keep charger status and major load changes beside the measurements.<\/p>\n<p class=\"wp-block-paragraph\">Classify the observed pattern before selecting a corrective action. A steadily changing estimate during confirmed zero current suggests a different investigation from a jump after reset, an error after a bypassed charger event or a mismatch only at high load. The pattern narrows the question; it does not establish the cause without the supporting checks.<\/p>\n<p class=\"wp-block-paragraph\">For a procurement inquiry, request the exact BM500 algorithm description, capacity-setting method, current-measurement limits, zero-calibration procedure, synchronization behavior and available diagnostic outputs. Provide the battery arrangement and operating cycle. Ask which capabilities are documented for the ordered configuration and leave absent functions unresolved.<\/p>\n<p class=\"wp-block-paragraph\">An effective monitor handoff explains how the percentage was produced, when its reference was established and which currents were included. That is more useful than a reassuring display alone. It lets operators interpret drift as a traceable estimation problem and keeps capacity testing, battery health assessment and protective control in their proper roles.<\/p>\n<h3 class=\"wp-block-heading\">Source notes<\/h3>\n<ul class=\"wp-block-list\">\n<li>Victron Energy. SmartShunt operation manual. Retrieved2026-09-30: <a href=\"https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/operation.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/operation.html<\/a><\/li>\n<li>Victron Energy. SmartShunt all features and settings. Retrieved2026-09-30: <a href=\"https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/all-features-and-settings.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.victronenergy.com\/media\/pg\/SmartShunt\/en\/all-features-and-settings.html<\/a><\/li>\n<li>RITOKS. BM500 Battery Shunt Monitoring Modules. Retrieved2026-09-30: <a href=\"https:\/\/ritoks.com\/hi\/products\/bm500-battery-shunt-monitoring-modules\/\">https:\/\/ritoks.com\/products\/bm500-battery-shunt-monitoring-modules\/<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Battery monitor coulomb counting drift happens when small measurement or model errors accumulate as the monitor integrates current over time. State of charge is an estimate referenced to an initial condition and an assumed available capacity.<\/p>","protected":false},"author":1,"featured_media":2648,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ritoks_resource_detail_renderer":"viox","ritoks_resource_product_cat_term_id":88,"footnotes":""},"categories":[68],"tags":[],"class_list":["post-2651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electrical-measurement-monitoring"],"acf":[],"spectra_blocks_featured_image_url":{"thumbnail":{"url":"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-hero-01-150x150.webp","width":150,"height":150},"medium":{"url":"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-hero-01-300x169.webp","width":300,"height":169},"medium_large":{"url":"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-hero-01-768x432.webp","width":768,"height":432},"large":{"url":"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-hero-01-1024x576.webp","width":1024,"height":576},"full":{"url":"https:\/\/ritoks.com\/wp-content\/uploads\/2026\/10\/battery-monitor-coulomb-counting-drift-hero-01.webp","width":1600,"height":900}},"spectra_blocks_author_info":{"display_name":"RITOKS","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/6d7d0fc73468198f994ab13ef6eb6558c53b6ed1ad86364d5165efe8bdf8eb4a?s=96&d=mm&r=g","author_link":"https:\/\/ritoks.com\/hi\/author\/dazzlingwqbgmail-com\/","description":""},"_links":{"self":[{"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/posts\/2651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/comments?post=2651"}],"version-history":[{"count":1,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/posts\/2651\/revisions"}],"predecessor-version":[{"id":2652,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/posts\/2651\/revisions\/2652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/media\/2648"}],"wp:attachment":[{"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/media?parent=2651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/categories?post=2651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ritoks.com\/hi\/wp-json\/wp\/v2\/tags?post=2651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}