Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

power meter

AC power meter based on STM32 ADC

  • Setlect a ADC and enable 2 channel, v and i.
  • Set number of conversion to 2.
  • Set enable scan conversion.
  • Set disable continous conversion.
  • Set disable discontinous conversion.
  • Set disable DMA continous conversion.
  • Set end of single conversion.
  • Select trigger out event a timer for external trigger.
  • Select trigger rising edge.
  • Select both ranks with correct channel.
  • Set enable DMA normal mode.
  • Set internal clock for selected timer.
  • Set update event on trigger evnet selection on timer configuration menu.
  • Add library on project.
  • Configure "pmeterConfig.h".
  • Put "pmeter_callback()" in adc dma callback.
  • Call "pmeter_init(timer freq: ex:32, calibration data from eeprom)".
  • Put "pmeter_loop()" in infinite loop.
  • before using, you should be calibrate.
  • Call "pmeter_calib_step1_..." to "pmeter_calib_step4_..." and store the calibration data "pmeter.calib".
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
  pmeter_callback();
}

void main()
{
  pmeter_calib_t calib;
  ...
  // load calibration data from eeprom to calib struct
  ...
  pmeter_init(32, calib);
  while(1)
  {
    pmeter_loop();
  }
}

Releases

Sponsor this project

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.