Skip to content
This repository was archived by the owner on Apr 24, 2022. It is now read-only.

Commit ca78034

Browse files
author
leofdss
committed
biblioteca
1 parent d12f5c6 commit ca78034

File tree

5 files changed

+111
-99
lines changed

5 files changed

+111
-99
lines changed

.vscode/tasks.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
{
77
"label": "echo",
88
"type": "shell",
9-
"command": "gcc -o executavel main.c -lm",
9+
"command": "gcc -o executavel potencia.c main.c -lm",
1010
"group": {
1111
"kind": "build",
1212
"isDefault": true

executavel

32 Bytes
Binary file not shown.

main.c

+3-98
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,12 @@
11
#include <stdlib.h>
22
#include <stdio.h>
33
#include <math.h>
4-
5-
#define true 1
6-
#define false 0
7-
#define pi 3.14159265359
8-
9-
typedef struct fp FatorPotencia;
10-
struct fp
11-
{
12-
float valor;
13-
int atrasado;
14-
};
15-
16-
typedef struct pc PotenciaComplexa;
17-
struct pc
18-
{
19-
float ativa; // W potencia consumida
20-
float reativa; // VAR (L)
21-
float aparente; // VA
22-
float angulo; //
23-
};
24-
25-
typedef struct m Motor;
26-
struct m
27-
{
28-
float potencia; // Potencia em HP
29-
float frequencia; // Hz
30-
float tensao; // V RMS
31-
float capacitor; // uF
32-
float rendimento; // %
33-
float corrente[2]; // A
34-
FatorPotencia fatorPotencia;
35-
PotenciaComplexa potenciaComplexa;
36-
};
37-
38-
Motor dados()
39-
{
40-
Motor motor;
41-
42-
printf("---------------Correção de fator de potência par 1---------------\n\n");
43-
44-
printf("Qual a potencia do motor? (HP) \n");
45-
scanf("%f", &motor.potencia);
46-
47-
printf("Qual o fator de potencia do motor? \n");
48-
scanf("%f", &motor.fatorPotencia.valor);
49-
50-
printf("1 para fator de potencia atrasado e um 0 para adiantado \n");
51-
scanf("%i", &motor.fatorPotencia.atrasado);
52-
53-
printf("Qual e a tensao do motor? (V RMS)\n");
54-
scanf("%f", &motor.tensao);
55-
56-
printf("Qual a frequencia? (Hz)\n");
57-
scanf("%f", &motor.frequencia);
58-
59-
printf("Qual o eficiencia do motor? (%)\n");
60-
scanf("%f", &motor.rendimento);
61-
62-
return motor;
63-
}
64-
65-
Motor processamentoDados(Motor motor)
66-
{
67-
int sinal, sinal2;
68-
69-
if (motor.fatorPotencia.atrasado = 1)
70-
sinal = 1;
71-
else
72-
sinal = -1;
73-
74-
motor.potenciaComplexa.angulo = sinal * (180 / pi) * acos(motor.fatorPotencia.valor);
75-
76-
motor.potenciaComplexa.ativa = motor.potencia * 746 / (motor.rendimento / 100);
77-
motor.potenciaComplexa.aparente = motor.potenciaComplexa.ativa / motor.fatorPotencia.valor;
78-
motor.potenciaComplexa.reativa = motor.potenciaComplexa.ativa * tan(motor.potenciaComplexa.angulo * (pi / 180));
79-
80-
motor.capacitor = pow(10, 6) * motor.potenciaComplexa.ativa *
81-
(tan(motor.potenciaComplexa.angulo * (pi / 180))) /
82-
(2 * pi * motor.frequencia * pow(motor.tensao, 2));
83-
84-
motor.corrente[0] = motor.potenciaComplexa.ativa / (motor.tensao * motor.fatorPotencia.valor);
85-
motor.corrente[1] = -1 * motor.potenciaComplexa.angulo;
86-
87-
return motor;
88-
}
89-
90-
void print(Motor motor)
91-
{
92-
system("clear");
93-
printf("---------------resultado---------------\n\n");
94-
printf("Potencia consumida: %.2f W\n", motor.potenciaComplexa.ativa);
95-
printf("Angulo: %.2f̣°\n", motor.potenciaComplexa.angulo);
96-
printf("Potencia aparente: %.2f VA\n", motor.potenciaComplexa.aparente);
97-
printf("Potencia reativa %.2f VAR (L)\n", motor.potenciaComplexa.reativa);
98-
printf("Corrente: %.2f L %.2f A\n",motor.corrente[0], motor.corrente[1]);
99-
printf("Capacitor: %.2f uF\n", motor.capacitor);
100-
}
4+
#include "potencia.h"
1015

1026
int main()
1037
{
104-
Motor motor = dados();
8+
Motor motor;
9+
motor = dados();
10510
motor = processamentoDados(motor);
10611
print(motor);
10712
return 0;

potencia.c

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#define true 1
2+
#define false 0
3+
#define pi 3.14159265359
4+
#include "potencia.h"
5+
6+
7+
Motor dados()
8+
{
9+
Motor motor;
10+
11+
printf("---------------Correção de fator de potência par 1---------------\n\n");
12+
13+
printf("Qual a potencia do motor? (HP) \n");
14+
scanf("%f", &motor.potencia);
15+
16+
printf("Qual o fator de potencia do motor? \n");
17+
scanf("%f", &motor.fatorPotencia.valor);
18+
19+
printf("1 para fator de potencia atrasado e um 0 para adiantado \n");
20+
scanf("%i", &motor.fatorPotencia.atrasado);
21+
22+
printf("Qual e a tensao do motor? (V RMS)\n");
23+
scanf("%f", &motor.tensao);
24+
25+
printf("Qual a frequencia? (Hz)\n");
26+
scanf("%f", &motor.frequencia);
27+
28+
printf("Qual o eficiencia do motor? (%)\n");
29+
scanf("%f", &motor.rendimento);
30+
31+
return motor;
32+
}
33+
34+
Motor processamentoDados(Motor motor)
35+
{
36+
int sinal, sinal2;
37+
38+
if (motor.fatorPotencia.atrasado = 1)
39+
sinal = 1;
40+
else
41+
sinal = -1;
42+
43+
motor.potenciaComplexa.angulo = sinal * (180 / pi) * acos(motor.fatorPotencia.valor);
44+
45+
motor.potenciaComplexa.ativa = motor.potencia * 746 / (motor.rendimento / 100);
46+
motor.potenciaComplexa.aparente = motor.potenciaComplexa.ativa / motor.fatorPotencia.valor;
47+
motor.potenciaComplexa.reativa = motor.potenciaComplexa.ativa * tan(motor.potenciaComplexa.angulo * (pi / 180));
48+
49+
motor.capacitor = pow(10, 6) * motor.potenciaComplexa.ativa *
50+
(tan(motor.potenciaComplexa.angulo * (pi / 180))) /
51+
(2 * pi * motor.frequencia * pow(motor.tensao, 2));
52+
53+
motor.corrente[0] = motor.potenciaComplexa.ativa / (motor.tensao * motor.fatorPotencia.valor);
54+
motor.corrente[1] = -1 * motor.potenciaComplexa.angulo;
55+
56+
return motor;
57+
}
58+
59+
void print(Motor motor)
60+
{
61+
system("clear");
62+
printf("---------------resultado---------------\n\n");
63+
printf("Potencia consumida: %.2f W\n", motor.potenciaComplexa.ativa);
64+
printf("Angulo: %.2f̣°\n", motor.potenciaComplexa.angulo);
65+
printf("Potencia aparente: %.2f VA\n", motor.potenciaComplexa.aparente);
66+
printf("Potencia reativa %.2f VAR (L)\n", motor.potenciaComplexa.reativa);
67+
printf("Corrente: %.2f L %.2f A\n",motor.corrente[0], motor.corrente[1]);
68+
printf("Capacitor: %.2f uF\n", motor.capacitor);
69+
}

potencia.h

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
typedef struct fp FatorPotencia;
2+
struct fp
3+
{
4+
float valor;
5+
int atrasado;
6+
};
7+
8+
typedef struct pc PotenciaComplexa;
9+
struct pc
10+
{
11+
float ativa; // W potencia consumida
12+
float reativa; // VAR (L)
13+
float aparente; // VA
14+
float angulo; //
15+
};
16+
17+
typedef struct m Motor;
18+
struct m
19+
{
20+
float potencia; // Potencia em HP
21+
float frequencia; // Hz
22+
float tensao; // V RMS
23+
float capacitor; // uF
24+
float rendimento; // %
25+
float corrente[2]; // A
26+
FatorPotencia fatorPotencia;
27+
PotenciaComplexa potenciaComplexa;
28+
};
29+
30+
31+
#define true 1
32+
#define false 0
33+
#define pi 3.14159265359
34+
35+
36+
Motor dados();
37+
Motor processamentoDados(Motor motor);
38+
void print(Motor motor);

0 commit comments

Comments
 (0)