Top.Mail.Ru
Уведомления
Очистить все

[Решено] ваттметр stm32f103

(@ixar88)
New member

Добрый день .Начал работу над ваттметром для фиксации количества энергии . как ваты  преобразовать в ватт*ч ??

Как я понимаю нужно настроить  таймер и для сложение замеров нужно складывать и сохранять .Можете подсказать как реализовать эту затею .

 

 

while (1)

{

HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&adc, 5); // стартуем АЦП

 

float A ;

float B ;

float C ;

float D ;

float E ;

float AB= 0;

float CD= 0;

 

A =(adc[2]*(3.3/4095));

B =(adc[3]*(3.3/4095));    //напряжение

C =(adc[4]*(3.3/4095));

D =(adc[0]*(3.3/4095));

E =(adc[1]*(3.3/4095));

 

AB=(A*B);  //ватты 1

CD=C*D;    // ватты 2

 

snprintf(trans_str1, 63, "%.2fV", A);

snprintf(trans_str2, 63, "%.2fA", B);

snprintf(trans_str3, 63, "%.2fV", C);

snprintf(trans_str4, 63, "%.2fA", D);

snprintf(trans_str5, 63, "%f" , E);

snprintf(trans_str6, 63, "%.2fW", AB);

snprintf(trans_str7, 63, "%.2fW", CD);

 

//ВРЕМЯ

HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); // RTC_FORMAT_BIN , RTC_FORMAT_BCD

snprintf(trans_strT, 63, "Time %d:%d:%d", sTime.Hours, sTime.Minutes, sTime.Seconds);

 

 

 

//Отображене времени

 

ILI9341_WriteString(2, 8, trans_strT ,Font_16x26, ILI9341_WHITE, ILI9341_BLACK);

//1

ILI9341_WriteString(2, 51, trans_str1 ,Font_16x26, ILI9341_COLOR565(0,128,128), ILI9341_BLACK);

ILI9341_WriteString(120, 51,trans_str2,Font_16x26, ILI9341_YELLOW, ILI9341_BLACK);

Цитата
Создатель темы Размещено : 02.02.2024 23:57
Поделиться: