cancel
Showing results for 
Search instead for 
Did you mean: 

Internal ADC questions on stm32h750

MikeB1283
Associate

Hello,

I am using an stm32h750. I have an ADC group that includes 4 inputs from GPIO ports and the 3 internal ADCs (VBAT, CPU Temp, Reference Voltage). It's set up with DMA. The conversions run at 150hz.

We use a coincell battery voltage as input to VBAT. The 150hz frequency of voltage reading is causing it to drain too quickly. The request is that this voltage is read much less frequently (like a few times a day)

I'm brainstorming solutions. My original thought was to just remove VBAT from the ADC group and read it directly at application level, but I didn't know it was an internal ADC at that point, so I don't think this is possible?

Second thought, after searching the forum, was to use injection mode. But, unless I'm misunderstanding, this is only possible at the group level, not individual channel? Am I wrong here?

My final dirty idea was to configure my ADC group normally at startup, get a good VBAT value, reconfigure the group without VBAT (I did this by disabling DMA, reconfiguring ADC group without VBAT, then starting DMA again), let that run for a long time, then reconfigure it with VBAT for a short time, etc

I implemented my final solution, but it didn't seem to have any impact on current draw. My question is - is my approach even viable? Maybe I just implemented it incorrectly?

Thanks in advanced for any support

1 ACCEPTED SOLUTION

Accepted Solutions
STOne-32
ST Employee

Dear @MikeB1283 ,

Welcome in our community ! 

A quick comment, if you can check this : 

IMG_6319.jpeg

 Hope it helps you .

Cheers,

STOne-32

View solution in original post

2 REPLIES 2
STOne-32
ST Employee

Dear @MikeB1283 ,

Welcome in our community ! 

A quick comment, if you can check this : 

IMG_6319.jpeg

 Hope it helps you .

Cheers,

STOne-32

MikeB1283
Associate

Hello @STOne-32 ! Thank you so much. I was actually looking at this signal at some point. I tried clearing it but didn't see it have any affect initially. I believe I was looking in the wrong spot. Now that I'm looking in the right spot, I believe it is performing as I'd hope. Thanks again. This is solved.