TinyCamML / Boron

Boron code to send data from OpenMV -> Cloud
MIT License
0 stars 1 forks source link

Determine power supply/supplies for OpenMV and Boron #13

Open SUPScientist opened 1 year ago

SUPScientist commented 1 year ago

OpenMV may require higher voltage than Boron (3.6–5 V for OpenMV; Boron runs on 3.7 V nominal LiPo). Currently running both off USB but will need to resolve this for field deployment later.

BentleySettin commented 1 year ago

All pins are 5V toleran with a 3.3V output.

https://docs.openmv.io/openmvcam/quickref.html

SUPScientist commented 1 year ago

5V tolerant and 3.3V output refers to GPIOs (https://en.wikipedia.org/wiki/General-purpose_input/output). Not power supplies. So you still need to find a solution for powering the two boards. Would be useful to know what the prior team did for this.

ebgoldstein commented 1 year ago

@rtmccune - do you know what the senior design team did to power both of the boards they used (sparrow & openMV)?

rtmccune commented 12 months ago

I'm not sure that the other team actually successfully powered them together. If they did, I unfortunately can't confirm how they powered them.

BentleySettin commented 11 months ago

Update: With the additional wire from Boron A0 to OpenMV P2 there is successfull cycling between waking up and going to sleep from both devices. However OpenMV is not writing across the uart anymore.

An issue I am seeing is that the openMV is only running when I have it plugged into my computer. It does not work when I have it powered by battery and voltage in from Boron. Possibly a power supply issue.

Within the loop I added blue led on and off after it decides and prints flood or no flood. I am continuously getting the blue led on and off which tells me it is running through the whole loop and should be printing across UART. I have seen some openmv forums where it will not print when connected to USB, however, I still think the main issue is power because all code is the same from when it was successfully printing.

REPOSTING HERE

SUPScientist commented 11 months ago

Please provide links to the firmware for both devices as well as a wiring diagram.

BentleySettin commented 11 months ago

@SUPScientist

here is an updated wiring diagram: https://github.com/TinyCamML/Boron-and-OpenMV-Basics/commit/5239b899f7bda7c0124e40373bb376fd98cf16cf

I am looking for firmware links.

SUPScientist commented 11 months ago

This helps. Re:

I am looking for firmware links.

Please get into the habit of always knowing and being able to immediately link to firmware or other design files corresponding to challenges you're having. This requires regular committing/pushing to the repo. It is good practice both because it forces you to keep the repos up to date and also because it allows others (e.g., me, @ebgoldstein, @anardek) to chime in with more specific guidance.

This next comment might be too tangential to be worth including in this thread, but, now that I'm seeing how this project is unfolding, I'm of the opinion that it'd make sense to have all Boron and OpenMV code in one repository under two separate subdirectories and for the maintainer (you) to ensure that the firmware for both devices is kept in sync at all times. Other required design files (e.g., wiring diagrams) would fit nicely other subdirectories. I think @ebgoldstein recommends different repos for different devices, but there's some diverging of code and approach happening that is starting to confuse things here, in my opinion.

Individual repos (with code for both OpenMV and Boron) could pertain to specific tests in my way of (mentally) organizing this project. E.g., a repo that has all required code just for the UART comms (no sleep/wakeup/cell comms/etc.) that you could always easily return to if you needed that code.

SUPScientist commented 11 months ago

Now getting back to the actual specific problem:

An issue I am seeing is that the openMV is only running when I have it plugged into my computer. It does not work when I have it powered by battery and voltage in from Boron. Possibly a power supply issue.

I agree with your assessment. Look at your wiring diagram and the very first post that I made in this issue. There's a difference that is potentially (I might say highly likely!) significant.

BentleySettin commented 11 months ago

Okay I will build a new repository today to consolidate code and firmware for both devices (using subdirectories)!

And okay. I have VIN connected to Boron and a battery plugged in when trying to run the code. I need to add on circuit diagram that I am using a battery on the openMV.

SUPScientist commented 11 months ago

So two separate power inputs to the OpenMV? I'm not sure how it handles that.

Two separate 3.7 V batteries and a shared ground ought to work for now, but don't share another line intended for power (VIN) if you're powering off of two batteries.

BentleySettin commented 11 months ago

Okay, so when I am running now I could leave the Boron plugged in to USB (so I can see the serial terminal), and use the battery on openMV cam without VIN input as it may not know how to handle two separate power inputs.

Am I understanding what you are saying correctly?

BentleySettin commented 11 months ago

Firmware Githubs:

OpenMV v.4.0.14: https://github.com/openmv/openmv-ide/releases/ Boron v.4.2.0: https://github.com/particle-iot/device-os/releases/tag/v4.2.0

SUPScientist commented 11 months ago

Those are the system firmwares; I meant your firmware (like the .ino and .py files that you wrote, compiled, flashed) :wink:

SUPScientist commented 11 months ago

Okay, so when I am running now I could leave the Boron plugged in to USB (so I can see the serial terminal), and use the battery on openMV cam without VIN input as it may not know how to handle two separate power inputs.

Sounds correct

BentleySettin commented 11 months ago

oopsie :) Here is my firmware

https://github.com/TinyCamML/Boron/commit/a2757442529b6ae0b95f75d95e70f6c9df81e414

https://github.com/TinyCamML/OMVmodel/commit/aeeb494a62d77ec100895ad152d8dadbaa6e63a1

SUPScientist commented 9 months ago

The current power solution is the following:

To do:

BentleySettin commented 8 months ago

@ebgoldstein

Hey Evan! A few LED questions in regard to OpenMV. I recently have recieved blue blinking from the OpenMV which I am doing some more reading on now.

I have also recieved issues of when I plug the Boron to USB with a battery and connect that power to VIN of openMV there is an odd red/yellow light that stays there and will flicker every once and a while. Do you think this is not recieving enough power?

SUPScientist commented 8 months ago

The original post describing this issue notes the required power for the OpenMV so I don't think this is a surprise. We've been cheating the power issue by using a single LiPo battery that, when fully charged, has a voltage well above the OpenMV's required input, but it's not surprising that we're seeing strange behavior suggesting insufficient power when we know that LiPos discharge to < 3.6 V. I'm not convinced that this is the only issue, but it's not unlikely that it's related.

Test: Since hooking the OpenMV up to USB when plugged into a laptop may change its behavior (i.e., driven by the IDE vs. driven by flashed firmware), you could test this by using a USB cable to power the OpenMV where the USB cable is plugged into the wall (via a standard charging brick like for a mobile phone). Just make sure that you (1) disconnect the wire that provides power to the VIN on OpenMV but (2) keep the wire that shares the ground across Boron and OpenMV.

BentleySettin commented 8 months ago

@SUPScientist Will do. Do you have a block in your office? Cannot find one in the lab.

I changed the wires too and the blue stopped flashing, seemed like a connection issue based on forums.

SUPScientist commented 8 months ago

Ordered 2 of these to supply 5 V and significant battery capacity to both Boron and OpenMV: https://voltaicsystems.com/5-watt-5-volt-35wh-solar-system/.

Changes needed: