Voltaic 0.6 Watt Panel for BORON

@chip,

Are you using the API or the old PMIC calls?

I am using the API except for that one issue - pmic.disableCharging() - which should have been in the new API but missed the LTS 2.x train.

Here is where I set the powerManagment API based on utility power or Solar:

// Power Management function
int setPowerConfig() {
  SystemPowerConfiguration conf;
  System.setPowerConfiguration(SystemPowerConfiguration());  // To restore the default configuration
  if (sysStatus.solarPowerMode) {
    conf.powerSourceMaxCurrent(900) // Set maximum current the power source can provide (applies only when powered through VIN)
        .powerSourceMinVoltage(5080) // Set minimum voltage the power source can provide (applies only when powered through VIN)
        .batteryChargeCurrent(1024) // Set battery charge current
        .batteryChargeVoltage(4208) // Set battery termination voltage
        .feature(SystemPowerFeature::USE_VIN_SETTINGS_WITH_USB_HOST); // For the cases where the device is powered through VIN
                                                                     // but the USB cable is connected to a USB host, this feature flag
                                                                     // enforces the voltage/current limits specified in the configuration
                                                                     // (where by default the device would be thinking that it's powered by the USB Host)
    int res = System.setPowerConfiguration(conf); // returns SYSTEM_ERROR_NONE (0) in case of success
    return res;
  }
  else  {
    conf.powerSourceMaxCurrent(900)                                   // default is 900mA 
        .powerSourceMinVoltage(4208)                                  // This is the default value for the Boron
        .batteryChargeCurrent(900)                                    // higher charge current from DC-IN when not solar powered
        .batteryChargeVoltage(4112)                                   // default is 4.112V termination voltage
        .feature(SystemPowerFeature::USE_VIN_SETTINGS_WITH_USB_HOST) ;
    int res = System.setPowerConfiguration(conf); // returns SYSTEM_ERROR_NONE (0) in case of success
    return res;
  }
}

Hope this helps,

Chip

1 Like

Thanks @chipmc

Are you using a 3.5W panel?
I think that will “solve” most of my issues… but that 1.2W panel is such a nice size.

@SammyG ,

Yes, I use the Voltaic 3.5W / 6V panels. They are not cheap but it sure beats have a battery go dead. I am also limiting charging if it is too hot or cold and winter can be tough.

The only change for your panel would be the current limit though so it is worth a try.

Good luck,

Chip

I used to use those. They’re nice panels. Unfortunately they are difficult to mount to the box, I’m trying to ship my product without the need for an external solar mount.

Also, even with my 3.5W panel, this boron is still acting up and will not charge.

UPDATE

Ok, so this is with the 3.5W voltaic panel.

Even with the following code called in void setup(), the calls are not kicking in. I am still reading voltages in the high 6’s. Charge light just blinking.

PMIC pmic;
...
...

//this is called in setup()
void batt_settings_B(){ 

  conf.feature(SystemPowerFeature::DISABLE);
  System.setPowerConfiguration(conf);
  pmic.begin();
  pmic.setInputVoltageLimit(5080);
  pmic.setInputCurrentLimit(1024) ;        
  pmic.setChargeVoltage(4112);            
  pmic.setChargeCurrent(0, 0, 1, 0, 0, 0); //1024mA
  pmic.enableBuck();
  pmic.enableCharging();
} 

@Rftop, when I connect the panel to the USB port with my hacked Micro USB cable (data wires tied together or separated), same issues.

Another thing, this boron will have the charge light blinking even while pugged into my Mac via usb.

So I have 3 borons here on my desk. One of them works even with the 0.6W panel, but the other TWO now are acting like this. So this isn’t exactly an isolated incident.

So the two lame borons exhibit the following behavior.
Note: both running deviceOS2.0.1

  1. They do not respond to either the Power Manger API calls, or the old school PMIC calls.
    We know this because the solar panels will go well above the max 5.080v specified. Verified with an INA219.
  2. This issue appears with a 0.6W panel, 1.2W panel, and a 3.5W panel.
  3. They will not even charge from a usb power source. They will turn on, but the charge light will not be illuminated besides blinking once per second.

I don’t want to be that guy but this stuff never happen with the electrons.

I am happy to send one of the funky borons to anybody who is interested in helping me solve this.

Hi all, I’m having a similar problem on the field where the pmic latches into the 1hz blinking state, it’s not a solar application, just has a really nice 5v supply. We’ve seen similar errors in the past ocasionally, but due to the storm down south, a bunch of our devices lost power for a week or so… they ran their batteries super low and when they booted back up a few of them got stuck in this 1hz blink state, luckily a coworker is down there today so he can re-start them(which seems to work).

I’m wondering if you’ve tried calling disableCharging then enableCharging in you’re setup function? if you shut it down/disable it and re-enable it on every boot then maybe it’ll un latch from that state?? We boot/shut down our devices very regularly, but this doesen’t un-latch pmic, only unplugging the battery does because this restarts the pmic chip as well… but there must be some way to restart the pmic and clear the error from i2c?

I’m not sure, I’m draining a battery here so I can test this out better on monday, although it’s a hard thing to replicate really. if anybody can give this a go and let me know that’d be great- :slight_smile: thx

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.