|
The software has a ton to do with the power draw, because I control when everything is on or off
Real programmers use butterflies
|
|
|
|
|
IKWYM. Back in the 80's I worked on a financial calculator which used a NEC V20 (CMOS 8088) and had a 4x20 line LCD. We arranged that it spent most of its time sleeping, only waking up when a key was pressed and caused an interrupt. This allowed it to run for days on the then common NiCd battery packs we were using. If we didn't put it to sleep, it ran for about an hour or so, tops.
|
|
|
|
|
honey the codewitch wrote: it can't always afford to be written in such a way that it's compartmentalized and abstracted out, so the blast radius of a design change tends to be pretty large. Upvoted for eloquence
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
Whenever anyone tells you not to worry you should insist that they explain why you shouldn't worry. If they can't explain why then they are either hiding something from you or they are drunk on a culture of not worrying when really they should. Don't let them keep you in the dark because that will cause you a lot of worry. If disaster strikes then saying that they told you not to worry about it is going to sound a bit lame.
|
|
|
|
|
honey the codewitch wrote: the blast radius of a design change tends to be pretty large.
I laughed out loud when I read this snippet. I want to use it the next time my boss asks for something to be done in a questionable way.
|
|
|
|
|
Look at your power supply design. Consider replacing LDOs with DC-DC converters.
Don't forget electrical emissions requirements if you make this change. Buck converters radiate out their inputs.
|
|
|
|
|
For the prototype at the very least, we're stuck using devkits that have the MCU and supporting circuitry on one board, so there's no changing out components. At least not yet. Besides, I don't think changing to DC-DC converters or whatever is going to give me a 25-30% reduction in power, and I need at least that, I think.
Real programmers use butterflies
|
|
|
|
|
Depends. Dropping USB 5V to 3.3 with a linear throws away 1/3 of the power as heat (67% efficient).
A good switcher can provide 90%+ efficiencies. They can also operate off lower voltages, like 3.7V lithium ion cells supply. 2.5V to 5.5V input range, 3.3V out. I use them in my designs. If you want a specific recommendation, list the specs you need to meet. Analog Devices and TI both have excellent options. Analog Devices has all of Linear Techs IP. Those guys make some amazing parts, especially if you need low noise.
Big thing for LDOs is input ripple rejection. TI's TSP7A family LDO's reject input ripple out past 2 MHz. Analog Devices has a similar (better) part, but it costs 2-3 times as much.
|
|
|
|
|
I do not know what that project is about but maybe he is planning to use a solar panel charging the battery?! Many IoT projects go that route and 0.33A at 5V is achievable with a small one.
As for the display there is always e-paper displays but those are slow updating and very expensive, specially for one as large as you describe. And probably it works differently from your current one. I personally never worked with one.
|
|
|
|
|
I have several e-paper displays that I bought when I wrote GFX - the library I use in this project for making my displays work. My library works fine with e-paper displays and the only thing I'd have to change on the non-animated screens is adding suspend and resume calls around my drawing code to make sure the draws weren't committed to the framebuffer over several update cycles.
On the animated end it could work using partial refresh that some displays support but in my experience, using that heavily makes the display end up "muddy"
The solar panel isn't realistic for this device for a number of technical and non-technical reasons. The end client didn't even want an antenna for the wireless comms - we have to make do with the integrated internal one.
I've given it some thought. Someone else the other day presented some encouraging numbers in terms of what my expected battery life would be at my current draw, and it's a lot better than I had expected so this might not even be an issue. If it is, I think I can do a couple of hardware and software tweaks to help out.
One big thing would be wiring the INT pin from the RA8875 controller up to the MCU (it's currently n/c) and assigning an interrupt on that to wake it up. Then I can just put the entire thing to sleep once the screen is drawn. This works for every screen except the one screen that's animated real time
Another would be screen dimming or blanking, since that monster draws over .20 of that I think. I have to play with that though, and I don't know how realistic it is for our application - depends on how unobtrusive I could make it, but I also don't know how effective it will be given how people will use it.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: using partial refresh ... heavily makes the display end up "muddy"
You can probably easily solve that by using a MPEG tactic. Every N frames, refresh the entire screen.
honey the codewitch wrote: The end client AKA god . Enough said
honey the codewitch wrote: Someone else the other day presented some encouraging numbers in terms of what my expected battery life would be at my current draw
If you are referring to Jörgen Andersson's answer, I saw it. I agree with him. Assuming 5V/0.33A, gives less than 2W. If your currently working on a off-the-shelf board, which usually are designed to be friendly and use USB power (5V), that might mean that maybe the components actually work at 3.3V or 3.7V and that will be the voltage of the final product. That would make it perfect for a small battery like an action camera one or from a phone (think small nokia phone before microsoft).
honey the codewitch wrote: screen dimming or blanking
Depending on refresh rate and on what is actually displayed, you can use interlacing too, if the screen supports it. Every other frame update only the even or odd rows/columns. This works well for slow changing images on fast refresh displays with small enough (size) pixels. Every N frames, refresh the entire screen as above.
honey the codewitch wrote: GFX - the library I use in this project
I have the article open in a tab but haven't had the time to read it thoroughly. Seems to be a great library so Congratulations and Thank You for sharing it with us. Even if I end up never using it, I am sure I will learn something from it
|
|
|
|
|
ElectronProgrammer wrote: You can probably easily solve that by using a MPEG tactic. Every N frames, refresh the entire screen.
Initially my drivers did that for you automatically, but after awhile it doesn't seem to help on the displays I've tried. I have to "wash" the display by filling and clearing the whole thing several times before it will go back to normal and that takes forever.
ElectronProgrammer wrote: Depending on refresh rate and on what is actually displayed, you can use interlacing too, if the screen supports it. Every other frame update only the even or odd rows/columns. This works well for slow changing images on fast refresh displays with small enough (size) pixels. Every N frames, refresh the entire screen as above.
That's probably not very practical in this case. The hardware doesn't do it, and even if I did something like that in software, the display is already half the speed of other major displays out there. Worse, it has *more* pixels so the problem is compounded. You can already sort of see the screens draw - it's just barely this side of acceptable in that regard. I don't have wiggle room to make it any less snappy, and the draws aren't fast enough for me to do software interleaving if that would even help.
ElectronProgrammer wrote: Seems to be a great library so Congratulations and Thank You for sharing it with us.
Thanks. It's one of my better submissions here, and now that I'm using it commercially it's not going away any time soon. It has at least 30 stars on github and people on the reddit esp32 forum follow its updates so I know it's getting used.
Also by now I've banged on it enough that it's relatively stable, although I always recommend going to github for the latest bits, as I only back-update the codeproject codebase as time allows so it gets to be as much as two weeks out of date some times when I'm making changes. That's not so common anymore now that the codebase has matriculated, but it's always a possibility going forward.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: But my client is like, "don't worry about it right now"
that always sends a shutter down my spine, we get paid to worry about that stuff, that's the very nature of engineering anything.
honey the codewitch wrote: With IoT code, it can't always afford to be written in such a way that it's compartmentalized and abstracted out,
you're right about that, most standard devs don't understand this concept when every byte of space and every tick of the processer needs to be accounted for.
I feel your pain on this. whenever I get a chance to work on projects like this, it's super fun and challenging, but explaining these issues to others not in the know can be super difficult.
|
|
|
|
|
Hi All,
Just Got an email from Deeksha Shenoy to tell me an article I wrote has been updated. I didn't do any updates and the only thing I can see that has changed (I think) is box with some shading has been put around some Highlighted Text (not an issue). I think it's a little odd to alter something without telling them first?
|
|
|
|
|
Deeksha is paid to do it - she might have corrected spelling, or reformatted something, is all.
She edits mine all the time and never changes the meaning, just makes little improvements.
If you open the article to read, there is a "Revisions" option on the left hand side. If you compare her version with yours you can see exactly what she did and roll it back if you are unhappy.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I agree. That has pissed me off too on more than one occasion...
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
Our apologies. Our policy is that all articles will be edited "one day." However, we've encountered authors that don't want their articles edited at all. If you'd like to be on that list, please let me know. Or, if you'd like to simply be emailed first, we can do that too.
Thanks,
Sean Ewington
CodeProject
|
|
|
|
|
Thanks, It's been up some time (at least 4 years!). I have no objections, I was more worried someone was noising around using my ID...
|
|
|
|
|
Dine out, stout one! The King of Hollywood was tireless! (13)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
modified 24-Nov-21 3:50am.
|
|
|
|
|
|
And you are up tomorrow!
Care to explain for the others?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Dine out (anag) Inde
stout: fat
one I
King of Hollywood gable
"Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
Dat's de bunny!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Pete,
I shouldn't have taken the crossword puzzle, I will be celebrating Thanksgiving with my family. Could you be the setter for tomorrow?
Thanks
|
|
|
|
|
No worries David
"Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|