|
| MeanFilter< long > | meanFilter (5) |
| |
| MeanFilter< long > | meanFilter2 (40) |
| |
| MeanFilter< long > | meanFilter3 (10) |
| |
| MeanFilter< long > | meanFilter4 (10) |
| |
| void | findingSlowSensor2 () |
| | Esta funcion continua con el proceso de calibracion una vez que el brazo 2 esta cerca del sensor hall. More...
|
| |
| void | findingSlowSensor1 () |
| | Esta funcion continua con el proceso de calibracion una vez que el brazo 1 esta cerca del sensor hall. More...
|
| |
| void | findingSlowSensor2Negative () |
| | Esta funcion continua con el proceso de calibracion una vez que el brazo 2 esta cerca del sensor hall, esta version de la funcion contempla el polo negativo del iman DESCRIPCION GENERAL Inicia moviendose 100 pasos en sentido antihorario Regresa en sentido horario hasta que es detectado por el sensor Continua moviendose en sentido horario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2_r[] Regresa el brazo en sentido antihorario hasta que es detectado por el sensor Continua moviendose en sentido antihorario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2[] La grafica de ambos vectores es de forma gaussiana por lo cual se determina un limite del rango de busqueda en ambas funciones, dicho rango se establecio como los valores mayores al 90% del valor maximo encontrado. More...
|
| |
| void | findingSlowSensor1Negative () |
| | Esta funcion continua con el proceso de calibracion una vez que el brazo 1 esta cerca del sensor hall, esta version de la funcion contempla el polo negativo del iman DESCRIPCION GENERAL Inicia moviendo el brazo uno 80 pasos en sentido antihorario para salir por completo del rango del sensor Comienza a tomar mediciones del sensor en cada paso que avanza en sentido horario hasta llenar el vector value[] Durante el llenado del vector tambien se determina el valor maximo entre todos los elementos del vector La grafica de los datos tiene forma gaussiana por lo cual se determina un limite del rango en cual se buscara el punto medio de la funcion, dicho rango se establecio como los valores mayores al 90% del valor maximo encontrado. More...
|
| |
| void | configTimerForMovement () |
| |
| void | move (int pasos, int motor_d, int Speed) |
| | Esta funcion perimite mover los motores de manera controlada mediante numero de pasos. More...
|
| |
| int | zero_Hall1 (void) |
| | Esta funcion determina el nivel de referencia a partir del cual se considera la deteccion de campo magnetico. More...
|
| |
| int | zero_Hall2 (void) |
| | Esta funcion determina el nivel de referencia a partir del cual se considera la deteccion de campo magnetico. More...
|
| |
| int | Pole1 (void) |
| | Esta funcion determina el polo del campo magnetico correspondiente al iman que interacciona con el brazo 1. More...
|
| |
| int | Pole2 (void) |
| | Esta funcion determina el polo del campo magnetico correspondiente al iman que interacciona con el brazo 2. More...
|
| |
| int | Check_ini (void) |
| | Esta funcion verifica si ya se han almacenado en la EEPROM las variables iniciales necesarias para en funcionamiento del sistema, lo cual solo es posible cuando se programa por primera vez la ESP32 o despues de un reset completo del sistema. More...
|
| |
| void IRAM_ATTR | onTimer () |
| |
| void | verif_cal_positiveb1 (void) |
| | Esta funcion se utiliza entre programas para verificar que la siguiente secuencia iniciara en el punto cero. More...
|
| |
| void | verif_cal_positiveb2 (void) |
| | Esta funcion se utiliza entre programas para verificar que la siguiente secuencia iniciara en el punto cero. More...
|
| |
| void | verif_cal_negativeb1 (void) |
| | Esta funcion se utiliza entre programas para verificar que la siguiente secuencia iniciara en el punto cero. More...
|
| |
| void | verif_cal_negativeb2 (void) |
| | Esta funcion se utiliza entre programas para verificar que la siguiente secuencia iniciara en el punto cero. More...
|
| |
| void findingSlowSensor1Negative |
( |
| ) |
|
Esta funcion continua con el proceso de calibracion una vez que el brazo 1 esta cerca del sensor hall, esta version de la funcion contempla el polo negativo del iman DESCRIPCION GENERAL Inicia moviendo el brazo uno 80 pasos en sentido antihorario para salir por completo del rango del sensor Comienza a tomar mediciones del sensor en cada paso que avanza en sentido horario hasta llenar el vector value[] Durante el llenado del vector tambien se determina el valor maximo entre todos los elementos del vector La grafica de los datos tiene forma gaussiana por lo cual se determina un limite del rango en cual se buscara el punto medio de la funcion, dicho rango se establecio como los valores mayores al 90% del valor maximo encontrado.
Se determinan los pasos correspondientes a el limite derecho y el limite izquierdo de la funcion Se calculan los pasos necesarios para llegar al punto medio del sensor
- Parameters
-
| value[] | En este vector se alamacenan los valores obtenidos del sensor Hall. |
| limit | En esta variable se define el limite del intervalo en el cual se buscara el punto medio de los datos almacenados en el vector value. |
| steps_ini | Almacena el numero de pasos para llegar al inicio del intervalo de busqueda. |
| steps_fin | Almacena el numero de pasos para llegar al fin del intervalo de busqueda. |
| pas | Esta variable almacena los pasos necesarios para posicionar el brazo 1 al centro del sensor hall. |
| void findingSlowSensor2 |
( |
| ) |
|
Esta funcion continua con el proceso de calibracion una vez que el brazo 2 esta cerca del sensor hall.
DESCRIPCION GENERAL Inicia moviendose 100 pasos en sentido antihorario Regresa en sentido horario hasta que es detectado por el sensor Continua moviendose en sentido horario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2_r[] Regresa el brazo en sentido antihorario hasta que es detectado por el sensor Continua moviendose en sentido antihorario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2[] La grafica de ambos vectores es de forma gaussiana por lo cual se determina un limite del rango de busqueda en ambas funciones, dicho rango se establecio como los valores mayores al 90% del valor maximo encontrado. Se determinan los pasos correspondientes a el limite derecho y el limite izquierdo de ambas funciones y se usa el limite derecho de la funcion dos y el limite izquierdo de la funcion uno para encontrar el punto medio. Se calculan los pasos necesarios para llegar al punto medio del sensor
- Parameters
-
| value2[] | En este vector se alamacenan los valores obtenidos del sensor Hall. |
| limit | En esta variable se define el limite del intervalo en el cual se buscara el punto medio de los datos almacenados en el vector value. |
| steps_ini | Almacena el numero de pasos para llegar al inicio del intervalo de busqueda. |
| steps_fin | Almacena el numero de pasos para llegar al fin del intervalo de busqueda. |
| pas | Esta variable almacena los pasos necesarios para posicionar el brazo 2 al centro del sensor hall. |
| void findingSlowSensor2Negative |
( |
| ) |
|
Esta funcion continua con el proceso de calibracion una vez que el brazo 2 esta cerca del sensor hall, esta version de la funcion contempla el polo negativo del iman DESCRIPCION GENERAL Inicia moviendose 100 pasos en sentido antihorario Regresa en sentido horario hasta que es detectado por el sensor Continua moviendose en sentido horario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2_r[] Regresa el brazo en sentido antihorario hasta que es detectado por el sensor Continua moviendose en sentido antihorario hasta completar 600 pasos, en cada paso toma la medicion del sensor y este dato se almacena en el vector value2[] La grafica de ambos vectores es de forma gaussiana por lo cual se determina un limite del rango de busqueda en ambas funciones, dicho rango se establecio como los valores mayores al 90% del valor maximo encontrado.
Se determinan los pasos correspondientes a el limite derecho y el limite izquierdo de ambas funciones y se usa el limite derecho de la funcion dos y el limite izquierdo de la funcion uno para encontrar el punto medio. Se calculan los pasos necesarios para llegar al punto medio del sensor
- Parameters
-
| value2[] | En este vector se alamacenan los valores obtenidos del sensor Hall. |
| limit | En esta variable se define el limite del intervalo en el cual se buscara el punto medio de los datos almacenados en el vector value. |
| steps_ini | Almacena el numero de pasos para llegar al inicio del intervalo de busqueda. |
| steps_fin | Almacena el numero de pasos para llegar al fin del intervalo de busqueda. |
| pas | Esta variable almacena los pasos necesarios para posicionar el brazo 2 al centro del sensor hall. |
Esta funcion determina el polo del campo magnetico correspondiente al iman que interacciona con el brazo 1.
DESCRIPCION GFENERAL Antes de entrar a esta funcion el brazo ya se encuentra posicionado correctamente al inicio del sensor Para determinar el polo se avanzan 100 pasos para que al retornar el movimiento el brazo termine en la mis ma posicion en la que inicio. Al retornar el sentido horario almacena el valor maximo y el valor minimo que haya obtenidode las mediciones tomadas en cada paso, este valor se obtiene como un valor absoluto respecto del nivel cero, el cual para este punto del programa ya se conoce. finalmente se compara el valor maximo absoluto obtenido y el valor minimo absoluto obtenido, si el maximo absoluto es mayor que el minimo absoluto se determina que le polo es positivo, en cambio si sucede de forma contraria se determina que el polo es negativo.
- Parameters
-
| vect_Pole1 | Se almacenan un conjunto de datos correspondientes a un barrido del brazo1 por debajo del sensor de efecto Hall. |
- Returns
- Retorna un 1 si se determina que el polo positivo y un 0 si el polo es negativo.
Esta funcion determina el polo del campo magnetico correspondiente al iman que interacciona con el brazo 2.
DESCRIPCION GFENERAL Antes de entrar a esta funcion el brazo ya se encuentra posicionado correctamente al inicio del sensor Para determinar el polo se avanzan 800 pasos para que al retornar el movimiento el brazo termine en la mis ma posicion en la que inicio. Al retornar el sentido horario almacena el valor maximo y el valor minimo que haya obtenidode las mediciones tomadas en cada paso, este valor se obtiene como un valor absoluto respecto del nivel cero, el cual para este punto del programa ya se conoce. finalmente se compara el valor maximo absoluto obtenido y el valor minimo absoluto obtenido, si el maximo absoluto es mayor que el minimo absoluto se determina que le polo es positivo, en cambio si sucede de forma contraria se determina que el polo es negativo.
- Parameters
-
| vect_Pole2 | Se almacenan un conjunto de datos correspondientes a un barrido del brazo2 por debajo del sensor de efecto Hall. |
- Returns
- Retorna un 1 si se determina que el polo positivo y un 0 si el polo es negativo.
Esta funcion determina el nivel de referencia a partir del cual se considera la deteccion de campo magnetico.
DESCRIPCION GENERAL Esta funcion inicia moviendo el brazo en sentido antihorario usando la funcion configTimerForMovement y sensando el DIAG_PIN en caso de que el brazo colisione, si colisiona el brazo 1 regresa 300 pasos y el brazo 2 baja a 90 grados para evitar la colision. Si el brazo logra finalizar el primer movimiento sin colisionar regresa 800 pasos e inicia el algoritmo para determinar el nivel cero del sensor. Se toman 5 muestras en angulos distintos, la primera muestra se toma desde donde quedo posicionado el brazo, posteriormente se mueve 10 grados en sentido horario para tomar la segunda muestra, se mueve 10 grados en sentido horario para la tercera medicion, regresa 30 grados en sentido antihorario para la cuarta medicion y avanza 10 grados mas para tomar la quita medicion. En cada una de las 5 muestras se toman 5 mediciones filtradas de las cuales se obtienen el valor maximo, el valor minimo, el valor promedio y un valor al que se le determino como valor similitud ya que es comparado con cada promedio de las 5 muestras tomadas a diferentes algulos y se almacena el contador de cuantos valores son similares al de la muestra analizada. Finalmente se determina que si 3 muestras o mas son similares se ha hallado el valor cero del sensor el cual se almacena en una variable global y se retorna un 1 para indicar que no es necesario repetir el procedimiento.
- Parameters
-
| level_zero1 | esta variable global almacena el nivel de referencia para el sensor Hall 1. |
- Returns
- Retorna un 1 si el calculo del nivel de referencia se obtuvo correctamente, en caso contrario retorna un 0 para repetir de proceso de busqueda del nivel de referencia.
Esta funcion determina el nivel de referencia a partir del cual se considera la deteccion de campo magnetico.
DESCRIPCION GENERAL Esta funcion inicia moviendo el brazo en sentido antihorario usando la funcion configTimerForMovement y sensando el DIAG_PIN en caso de que el brazo colisione, si colisiona el brazo 1 regresa 300 pasos y el brazo 2 baja a 90 grados para evitar la colision. Si el brazo logra finalizar el primer movimiento sin colisionar regresa 800 pasos e inicia el algoritmo para determinar el nivel cero del sensor. Se toman 5 muestras en angulos distintos, la primera muestra se toma desde donde quedo posicionado el brazo, posteriormente se mueve 10 grados en sentido horario para tomar la segunda muestra, se mueve 10 grados en sentido horario para la tercera medicion, regresa 30 grados en sentido antihorario para la cuarta medicion y avanza 10 grados mas para tomar la quita medicion. En cada una de las 5 muestras se toman 5 mediciones filtradas de las cuales se obtienen el valor maximo, el valor minimo, el valor promedio y un valor al que se le determino como valor similitud ya que es comparado con cada promedio de las 5 muestras tomadas a diferentes algulos y se almacena el contador de cuantos valores son similares al de la muestra analizada. Finalmente se determina que si 3 muestras o mas son similares se ha hallado el valor cero del sensor el cual se almacena en una variable global y se retorna un 1 para indicar que no es necesario repetir el procedimiento.
- Parameters
-
| level_zero2 | esta variable global almacena el nivel de referencia para el sensor Hall 2. |
- Returns
- Retorna un 1 si el calculo del nivel de referencia se obtuvo correctamente, en caso contrario retorna un 0 para repetir de proceso de busqueda del nivel de referencia.