Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: LEX_Threaded_Programming
Heater.h
- Committer:
- omatthews
- Date:
- 2019-07-18
- Revision:
- 6:71d9c10fca4a
- Parent:
- 4:29ffcc7b410e
File content as of revision 6:71d9c10fca4a:
/*------------------------------------------------------------------------------
Library header file for heater operations
Date: 16/07/2018
------------------------------------------------------------------------------*/
#ifndef Heater_H
#define Heater_H
#include "mbed.h"
#include "ADS8568_ADC.h"
#define MEAS_DELAY 50 // measurement delay for ADC
#define N_ROLL_AVG 2 // rolling average for R values
#define ALL_CH 15 //value of convst bus to read all chanels simultaneosly
class Heater
{
//This class provides the interface through which each heater can be controlled
public:
/** Constructor
* @param i_port, the port for the current in the ADC
* @param v_port, the port for the voltage in the ADC
* @param drive, the motor drive
* @param R_ref, the target value for R
*/
Heater(int i_port, int v_port, PwmOut drive, float corr_grad, float corr_int, float R_ref = 1);
//Public member functions
void read();
void hold(int hold_time);
void ramp_R(int ramp_time, float R_final, float R_start);
void ramp_T(int ramp_time, float T_final, float T_start);
//Conversions between temperature and resistance
float R_to_T(float R);
float T_to_R(float T);
//Getters and setters
void Set_T_ref(float T);
void Set_R_ref(float R);
int Get_i();
int Get_v();
float Get_R();
float Get_T();
void turn_on();
void turn_off();
protected:
int curr;
int v;
float R;
float R_ref;
int i_port;
int v_port;
PwmOut drive;
//Heater correlations give temperature for a given resistance (assume linear relationship)
float corr_grad;
float corr_int;
};
#endif