ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    I2C reading of 12S battery

    Support Request Format for Best Results
    3
    19
    99
    Loading More Posts
    • 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.
    • Eric KatzfeyE
      Eric Katzfey ModalAI Team @Nikos Mavr
      last edited by

      @Nikos-Mavr Once you get the signals figured out I added i2cdetect to px4 so you can scan the buses and see if your device is detected. Some rudimentary instructions are here: https://docs.modalai.com/voxl-px4-dev-build-guide/#i2c-debugging. You will need the latest voxl-px4 which is here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-px4_1.14.0-2.0.135-202603171827_arm64.deb

      Nikos MavrN 1 Reply Last reply Reply Quote 0
      • Nikos MavrN
        Nikos Mavr @Eric Katzfey
        last edited by

        @Eric-Katzfey Yes, that worked, identified bus 4 channel 41. No while INA228 is enabled, I am not sure whether I should change the power_manager in voxl-px4.conf to NONE or EXTERNAL.

        Eric KatzfeyE 2 Replies Last reply Reply Quote 0
        • Nikos MavrN
          Nikos Mavr @Vinny
          last edited by

          @Vinny !Untitled.jpg

          VinnyV 1 Reply Last reply Reply Quote 0
          • VinnyV
            Vinny ModalAI Team @Nikos Mavr
            last edited by

            Thanks @Nikos-Mavr for the drawing, that helped.
            The thing to be careful about is the I2C voltage levels.
            https://docs.modalai.com/voxl2-connectors/
            b1885549-f182-4e2e-97fb-a1b7bde1413a-image.png

            J19 port I2C's are set to 3.3V with on-board pullups. So, I'm not sure what the 12S module I2C levels are, but be sure they are either (3.3V) or (set by host, i.e.: no pulls on the battery side)

            I'm not sure what voltage is feeding into this portion... make sure it is limited to 6S:
            b4114148-d9ec-4c33-8631-54512996cc2d-image.png

            Now that Eric has given you a bunch of guidance, let us know if there are still problems overall.

            Thanks!

            Nikos MavrN 1 Reply Last reply Reply Quote 0
            • Eric KatzfeyE
              Eric Katzfey ModalAI Team @Nikos Mavr
              last edited by Eric Katzfey

              @Nikos-Mavr Okay, great, so the I2C is working then. But address 0x41 is an INA226, not an INA228. The PX4 driver indicates that an INA228 has an address of 0x45. And the Holybro data sheet for the PM02D indicates that the lower voltage one for up to 6S battery uses the INA226 while the higher voltage one for up to 12S. Am I reading that correctly? Regardless, it doesn't matter how you set POWER_MANAGER in voxl-px4.conf because that just determines whether it will start the voxlpm driver. But, probably best to set it to EXTERNAL for now. The bigger issue is that the drivers for INA226 and INA228 are not in the image. So they need to be added to the image and then started in the voxl-px4-start startup script located in /usr/bin.

              1 Reply Last reply Reply Quote 0
              • Eric KatzfeyE
                Eric Katzfey ModalAI Team @Nikos Mavr
                last edited by

                @Nikos-Mavr I added the ina226 and ina228 drivers into the build. Updated build can be found here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-px4_1.14.0-2.0.136-202603180951_arm64.deb

                To try it out use the command qshell ina226 start -X -b 4 or qshell ina228 start -X -b 4 from the px4 command line to see if the driver sees your device.

                Nikos MavrN 1 Reply Last reply Reply Quote 0
                • Nikos MavrN
                  Nikos Mavr @Vinny
                  last edited by

                  @Vinny yes I removed the level shifter for that setup and yes the voltage drops to 3s for the highlighted area.

                  1 Reply Last reply Reply Quote 0
                  • Nikos MavrN
                    Nikos Mavr @Eric Katzfey
                    last edited by

                    @Eric-Katzfey
                    Thank you for your constant help. Unfortunately, this is what I get with this package with both command and even when I am trying to scan i2c now.
                    pxh> qshell ina226 start -X -b 4
                    INFO [qshell] Send cmd: 'ina226 start -X -b 4'
                    ERROR [uORB] Error Sending [qshell_req] topic data over comm_channel
                    ERROR [qshell] command timed out
                    ERROR [qshell] Command failed

                    Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                    • Eric KatzfeyE
                      Eric Katzfey ModalAI Team @Nikos Mavr
                      last edited by

                      @Nikos-Mavr Can you reboot, try the command again, and send the entire output of PX4 so that I can see the entire startup process?

                      Nikos MavrN 2 Replies Last reply Reply Quote 0
                      • Nikos MavrN
                        Nikos Mavr @Eric Katzfey
                        last edited by

                        @Eric-Katzfey 1.jpg 2.jpg

                        1 Reply Last reply Reply Quote 0
                        • Nikos MavrN
                          Nikos Mavr @Eric Katzfey
                          last edited by

                          @Eric-Katzfey upgraded to latest SDK now it is smooth
                          pxh> qshell ina226 start -X -b 4
                          INFO [qshell] Send cmd: 'ina226 start -X -b 4'
                          INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          INFO [muorb] [qshell] qshell gotten: ina226 start -X -b 4
                          INFO [muorb] [qshell] arg0 = 'ina226'
                          INFO [muorb] [qshell] arg1 = 'start'
                          INFO [muorb] [qshell] arg2 = '-X'
                          INFO [muorb] [qshell] arg3 = '-b'
                          INFO [muorb] [qshell] arg4 = '4'
                          INFO [muorb] [drivers__device] *** I2C Device ID 0xd04121 13648161
                          INFO [uORB] Marking DeviceNode(battery_status) as advertised in process_remote_topic
                          INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 4
                          INFO [muorb] ina226 #0 on I2C bus 4
                          INFO [muorb] (external)
                          INFO [muorb] address 0x41
                          INFO [muorb]

                          INFO [muorb] [qshell] Ok executing command: ina226 start -X -b 4
                          INFO [qshell] qshell return value timestamp: 1170693307, local time: 1170694295

                          Nikos MavrN 1 Reply Last reply Reply Quote 0
                          • Nikos MavrN
                            Nikos Mavr @Nikos Mavr
                            last edited by

                            @Nikos-Mavr Oh wow, it works now. Thank you for your help. By the way during this process my tp link antenna stopped responding and when I do voxl-wifi it says wifi devices not detected, while the device works for other PCS and voxl recognizes other USB devices. Are there any ideas why?

                            Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                            • Eric KatzfeyE
                              Eric Katzfey ModalAI Team @Nikos Mavr
                              last edited by

                              @Nikos-Mavr You're welcome! And can you please start a new forum post for this new issue? Thanks!

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Powered by NodeBB | Contributors