-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
209 lines (167 loc) · 9.08 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
IMPLEMENTACION DE UN DAC (BluePill no cuenta con DAC)
-----------------------------------------------------
Generar una salida PWM + filtro pasa bajos. Tener en cuenta la frecuencia
del PWM y la frecuencia de corte del filtro para la tasa de bits maxima del
PWM en nuestra placa BluePill. A su vez la salida este MCU tiene una salida
logica de 3.3V, por lo que el filtro debera tener una ganacia, dependiendo
de la Vgs Threshold del mosfet
SOLUCION IMPLEMENTADA:
Se utliza un Filtro Activo tipo Bessel de 2do Orden con una
ganancia de 1.51
http://sim.okawa-denshi.jp/en/OPseikiLowkeisan.htm
Manejo de un LCD [ HECHO ]
-------------------------
Se usara un lcd de un Nokia 3310
Control de el mofet que activa el Cooler Fan, driving
-----------------------------------------------------
Como la salida logica del STM32 es 3.3V, tendria que cambiar este IRF540N
por un 2N7002, por ejemplo. Revisar cuanto consume el cooler!!!
SOLUCION IMPLEMENTADA:
Se implementa un driver simple mediante un transistor NPN
https://www.laboratoriogluon.com/controlar-mosfets-de-potencia-irfz44n-con-3-3v/
Sensores de Tension de la Bateria
---------------------------------
Se utliza un divisor resistivo
SOLUCION IMPLEMENTADA:
Para calcularla see toma el valor de la tension a
1V y luego para calcular la V se utiliza la
relacion:
V = ADC_V_ACTUAL / ADC_1V
Sensor de corriente ASC712
--------------------------
La tensión de salida (Vout) del ACS712-05B se puede calcular utilizando la
siguiente fórmula:
Vout = Vcc/2 + (Sensibilidad x Corriente)
donde Vcc es la tensión de alimentación del sensor (que es de 5V en este caso),
Sensibilidad es la sensibilidad del sensor (que es de 0,185 V/A para el ACS712-05B) y
Corriente es la corriente que se está midiendo.
Si asumimos que la tensión de alimentación es de 5V, la fórmula se convierte en:
Vout = 2,5V + (0,185V/A x Corriente)
Para una corriente de 5A, la tensión de salida sería:
Vout = 2,5V + (0,185V/A x 5A)
Vout = 2,5V + 0,925V
Vout = 3,425V
SOLUCION IMPLEMENTADA:
Se toma el valor de la corriente a 0A y luego como
referencia, la de 1A. Luego para calcular la I se
utiliza la relacion:
I = (ADC_I_ACTUAL-ADC_0A) / (ADC_1A-ADC_0A)
Sensor de Temperatura LM35
--------------------------
Rango de salida: de 0 a 1.5V maximo, en la configuracion basica (2 a 150ºC)
NO haria falta un conversor de niveles 3.3 a 5V
http://www.ocfreaks.com/interfacing-lm35-sensor-lpc2148/
Interrupciones del PWM cuando se usa tone()
-------------------------------------------
Al invocar la función tone() de Arduino y mientras se tiene activa otra
salida PWM, se observa que se produce una interrupción en la salida de
dicho pin.
SOLUCION:
Se implemento una funcion tone() personalizada, utilizando el TIM2,
canal 2, perteneciente al gpio PA1
Interfaz
--------
Estando apagado(a la espera)
Mostrar la corriente de Carga deseada
Estando encendido
* Mostrar de alguna manera (por presion larga del boton, por ejemplo),
la corriente de salida seleccionada
* Posibilidad de modificar dicha corriente de salida
SOLUCION IMPLEMENTADA:
Al girar el Encoder, se modificara
automaticamente el nuevo Setpoint. No hace
falta presionar el boton. Por ahora :|
EEPROM
------
Guardar el ultimo valor de corriente utilizado. De este modo en la proxima
encendida ya podemos recuperarlo facilmente.
Se urilizara la implementacion de Arduino, EEPROM.h
Salida PWM multiple para el control de dos mosfet
-------------------------------------------------
La idea es poder extender el rango de corriente de salida, pero por la
utilizacion de dos MOSFET de modo que la corriente quede divida y por lo
tanto cada uno calentara menos
SOLUCION IMPLEMENTADA:
Se utliza dutycyle fijo en el segundo MOSFET, a la
mitad del setpoint.
ampereSetpoint = dutyCycleToAmpere(dutyCycle);
Output2 = ampereToDutycycle(ampereSetpoint/2, MOSFET2);
Ver estado de la Tension de Entrada
-----------------------------------
Esto es para no arrancar el PID si todavia no se conecto la BATERIA/FUENTE
Si el PID se sigue calculando en ausencia de Tension, cuando conectamos la
bateria, la carga consume el maximo ya que estuvo intentando subirla,
maximo PID.
Pulsacion larga para reiniciar parametros
-----------------------------------------
Una pulsacion larga me reinicia los contadores de Tiempo, Wh y mAh
Alarmas por caida en la fuente a testear
----------------------------------------
Indicar si la fuente cae demasiado, por debajo de un 15% por ejemplo, en su
tension de salida. Esto para indicar la calidad y si cumple con los
parametros de salida indicadas.
dutyCycle a Amperes
-------------------
Cuando se setea el nuevo setpoint por medio del encoder, la conversion
deveria ser en funcion del ACS712?????
selecciono corriente -> convierto a ADC -> convierto a dutyCycle
Agregar Modos de funcionamiento
-------------------------------
Por ejemplo:
Corriente constante por un determinado Tiempo
Whatts constantes
Medicion de mAh de una bateria
Reaccion frente a pulsos de corriente, para ver si cae la Vin
En Modo Potencia constate, que deberia hacer?:
* Configurar el *encoder* para tener nuevo rango de limites
Si considero que voy a medir un maximo de 100W y con una resolucion
de 0.1W, por ejemplo, entonces mis limites serian de 0 a 1000.
* Modificar la variables de control dependiendo del tipo de MODO
seleccionado.
Ahora el Input seria la tension y corriente (potencia) leidas en cada
ciclo. A su vez el Setpoint sera la Potencia deseada. En tanto el
Output seguira siendo dutyCycle ya que es el unico parametro que se
puede controlar para controlar la corriente.
Tener en cuenta que en este caso variaran tanto la tension como la
la corriente al mismo tiempo(en el mejor de los casos solo variara
uno, dependiendo del tipo de fuente). Por lo que el Setpoint debera
ajustarse continuamente ya que solo podemos controla la corriente.
* Modo Inteligente (Prueba de carga)
Con este modo se intentaria comprobar el valor de corriente maxima
entregada por una fuente.
En dicho modo se deberia ir subiendo, desde 0 por ejemplo, la
corriente hasta que veamos que la fuente cae por debajo de un 10/15%
de su valor nominal
Formas en que se muestra la Corriente [HECHO]
-------------------------------------
Para corriente menor a 1A, 1000mA, se deberia mostrar otra escala
por ejemplo: en lugar de mostrar 0.15A se deberia mostrar 150mA
Notificacion cuando se conecta/desconecta la fuente/bateria estando Menu activo
-------------------------------------------------------------------------------
Resulta molesto la notificacion de "No battery" cuando se ingresa a la
configuracion.
En caso de ingresar al Menu, deberia inabilitarse las notificaciones hasta
que se sale de dicho Menu.
Solo voy a mostrar la notificacion de Bateria desconectada, cuando no
este dentro del Menu
Limite inferior, V min, de descarga
-----------------------------------
El limte inferior de descarga es para no dañar las baterias, ya que si
bajan por debajo de 2.7V, por ejemplo, podrian dañarse.
Tambien si se quiere poner otro limite seguro de caida tension, en fuentes
o baterias.
Al iniciar, girando el Encoder seleccionamos para setear la V min o la
Corriente de Carga. Para configurar el parametro deseado hacemos un
click, corto, movemos el encoder para setear el valor y por ultimo
hacemos otro click corto para volver a la seleccion de configuracion.
Una vez seteado los dos parametros o solo el deseado, hacemos un click
Largo para continuar y arrancar el proceso.
En caso de NO querer modificar ninguno de los paramtros en el arranque,
solo basta con hacer un Click Largo y ya podemos iniciar el proceso
normalmente.
Si quisieramos modificar la V min cuando el proceso ya esta en
funcionamiento, solo debemos entrar al Menu, con Doble click, y ahi
vamos a "Configurar" y seleccionamos "V minimo" para modificarlo.
Al iniciar, ya configurado los parametros iniciales, o no, y estando el
proceso apagado, se mostrara los limtes configurados de Tension y
Corriente en colores invertidos.