Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. Battery percentage gone wild [SOLVED]

Battery percentage gone wild [SOLVED]

Scheduled Pinned Locked Moved Troubleshooting
27 Posts 6 Posters 2.8k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • gohanG Offline
    gohanG Offline
    gohan
    Mod
    wrote on last edited by
    #7

    He is using internal reference

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Strixx
      wrote on last edited by
      #8

      @zboblamont Yes. 3V Mini Pro
      @gohan Yes. 0.1uF capacitor.
      @rozpruwacz Internal reference 1.1V. Have a external divider exactly as the example schematics on the home page, to get maximal 1.1 V with two AA batteries.

      As a first step I am trying to understand how the batteryPcnt can ever be higher than 100. With my code that should be impossible. Even if i put 5V on A0.

      vBat should never be able to be higher than v_MAX
      and therefore batteryPcnt should never be able to be higher than 100.

      zboblamontZ 1 Reply Last reply
      0
      • S Strixx

        @zboblamont Yes. 3V Mini Pro
        @gohan Yes. 0.1uF capacitor.
        @rozpruwacz Internal reference 1.1V. Have a external divider exactly as the example schematics on the home page, to get maximal 1.1 V with two AA batteries.

        As a first step I am trying to understand how the batteryPcnt can ever be higher than 100. With my code that should be impossible. Even if i put 5V on A0.

        vBat should never be able to be higher than v_MAX
        and therefore batteryPcnt should never be able to be higher than 100.

        zboblamontZ Offline
        zboblamontZ Offline
        zboblamont
        wrote on last edited by
        #9

        @strixx What does your #ifdef MY_DEBUG sequence spit out?

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Strixx
          wrote on last edited by
          #10

          @zboblamont Nothing strange. sensorValues between 800 and 1023, and correct corresponding vBat and batteryPcnt according to my formulas. But that's when I have the serial programmer connected.
          I don't know how to get the serial output from debug without having it connected.
          The strange values only appear when on battery.

          zboblamontZ 1 Reply Last reply
          0
          • S Strixx

            @zboblamont Nothing strange. sensorValues between 800 and 1023, and correct corresponding vBat and batteryPcnt according to my formulas. But that's when I have the serial programmer connected.
            I don't know how to get the serial output from debug without having it connected.
            The strange values only appear when on battery.

            zboblamontZ Offline
            zboblamontZ Offline
            zboblamont
            wrote on last edited by
            #11

            @strixx I think you can disconnect power from the FTDI to the board and leave the battery connected, so long as gnd etc remain connected from FTDI...
            Perhaps somebody can correct me if I'm wrong...

            1 Reply Last reply
            0
            • gohanG Offline
              gohanG Offline
              gohan
              Mod
              wrote on last edited by
              #12

              yes, just unplug the vcc cable

              1 Reply Last reply
              1
              • K Offline
                K Offline
                kimot
                wrote on last edited by
                #13

                I always think about this battery percentage. Where it gives its limits.
                Then I see some project - "NodeManager"
                GitHub
                And there was some functions :

                 // [11] the expected vcc when the batter is fully discharged, used to calculate the percentage (default: 2.7)
                      void setBatteryMin(float value);
                      // [12] the expected vcc when the batter is fully charged, used to calculate the percentage (default: 3.3)```
                zboblamontZ 1 Reply Last reply
                0
                • gohanG Offline
                  gohanG Offline
                  gohan
                  Mod
                  wrote on last edited by
                  #14

                  as @sundberg84 made in his examples I do an average of the last 4 battery readings

                  1 Reply Last reply
                  0
                  • K kimot

                    I always think about this battery percentage. Where it gives its limits.
                    Then I see some project - "NodeManager"
                    GitHub
                    And there was some functions :

                     // [11] the expected vcc when the batter is fully discharged, used to calculate the percentage (default: 2.7)
                          void setBatteryMin(float value);
                          // [12] the expected vcc when the batter is fully charged, used to calculate the percentage (default: 3.3)```
                    zboblamontZ Offline
                    zboblamontZ Offline
                    zboblamont
                    wrote on last edited by
                    #15

                    @kimot If there were a problem with the sketch it would equally apply when the ftdi is connected with the sensors connected.
                    I believe that is why @sundberg84 suggested measuring the voltage at A0... ;)

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      Strixx
                      wrote on last edited by
                      #16

                      @zboblamont
                      The voltage at A0 is at steady 0,8V with batteries.
                      Which should give sensor value 744.
                      The voltage of the two batteries is 2,88V.

                      But as I wrote earlier it must be so that my multimeters internal resistance is not high enough. And is messing up the divider when measuring.
                      The calculated voltage at A0 should be 0,89V
                      Which should give sensorValue 828

                      My sensors right now is reporting 100% then 253% and now 236%.

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        Strixx
                        wrote on last edited by
                        #17

                        @gohan Cant unplug the Vcc from FTDI. Not without cutting the pin on my Mini.
                        And it will not help do average from 4 or even 10 readings. It will still show a messed up percentage. Non of the readings is below 100%

                        1 Reply Last reply
                        0
                        • gohanG Offline
                          gohanG Offline
                          gohan
                          Mod
                          wrote on last edited by
                          #18

                          use jumper wires

                          1 Reply Last reply
                          2
                          • S Offline
                            S Offline
                            Strixx
                            wrote on last edited by
                            #19

                            @gohan Thinking outside the box... :joy: will do..

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Strixx
                              wrote on last edited by
                              #20

                              Ok. So connecting the node to serial interface, but without power from it. And power from same batteries.
                              The calculations is correct and multimeter is not measuring correct.

                              This is debug out put:
                              First loop:

                              Sensor value: 1023
                              Battery Voltage: 3.30 V
                              Battery percent: 100 %
                              

                              Second and the following loops:

                              Sensor value: 877
                              Battery Voltage: 2.83 V
                              Battery percent: 21 %
                              

                              So back to square one. When serial output is connected it works perfect.
                              When disconnected it starts reporting all messed up readings!

                              1 Reply Last reply
                              0
                              • gohanG Offline
                                gohanG Offline
                                gohan
                                Mod
                                wrote on last edited by
                                #21

                                Do you have an ldo voltage regulator? Maybe you could try 3 batteries for 4.5v output and use a linear regulator to have 3.3v or use 2 fully charged alkaline and power node without booster, as it could be the booster a bit too noisy.
                                My personal favorite solution is using a single LiFePo4 AA battery and vcc library, no buck/booster and voltage divider, everything much simpler

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  Strixx
                                  wrote on last edited by
                                  #22

                                  @gohan No regulator except the built in on the card. I also tried with two new AA and when not reporting crazy values it is reporting 74% correlating to calculated vBat of 3,14 and the actual voltage 3,24.
                                  So again; working just fine.

                                  1 Reply Last reply
                                  0
                                  • gohanG Offline
                                    gohanG Offline
                                    gohan
                                    Mod
                                    wrote on last edited by
                                    #23

                                    I meant if you have one regulator to try, I think there may be something related to the booster. Try also a bigger capacitor on the booster output, and a big ceramic one if you have on the vcc of arduino

                                    S zboblamontZ 2 Replies Last reply
                                    0
                                    • gohanG gohan

                                      I meant if you have one regulator to try, I think there may be something related to the booster. Try also a bigger capacitor on the booster output, and a big ceramic one if you have on the vcc of arduino

                                      S Offline
                                      S Offline
                                      Strixx
                                      wrote on last edited by
                                      #24

                                      @gohan Well. I think I have found the problem. Investigating now. I will get back during the day when I have tested some more times.

                                      1 Reply Last reply
                                      1
                                      • gohanG gohan

                                        I meant if you have one regulator to try, I think there may be something related to the booster. Try also a bigger capacitor on the booster output, and a big ceramic one if you have on the vcc of arduino

                                        zboblamontZ Offline
                                        zboblamontZ Offline
                                        zboblamont
                                        wrote on last edited by
                                        #25

                                        @gohan Something doesn't make sense here, if the onboard voltage regulator is removed and battery power is connected to Vcc via a booster it should provide a constant supply.
                                        If the divider to A0 is fed with the raw battery supply, it should be relatively constant although decaying over time.
                                        Something is wrong with the circuit I suspect....

                                        S 1 Reply Last reply
                                        1
                                        • zboblamontZ zboblamont

                                          @gohan Something doesn't make sense here, if the onboard voltage regulator is removed and battery power is connected to Vcc via a booster it should provide a constant supply.
                                          If the divider to A0 is fed with the raw battery supply, it should be relatively constant although decaying over time.
                                          Something is wrong with the circuit I suspect....

                                          S Offline
                                          S Offline
                                          Strixx
                                          wrote on last edited by
                                          #26

                                          @zboblamont Yes. It looks like bad wiring. I am testing right now. And it looks like my Arduino clone has some bad markings of the pins.... I am documenting and posting the solution (if it is what I am suspecting right now) later today. Right now I am doing test cycles while doing some paid work.. :-)

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          29

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular