mc_drv.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define BUSY   1
#define Clear_EXT1()   ;
#define Clear_EXT10()   ;
#define Clear_EXT2()   ;
#define Clear_EXT3()   ;
#define Clear_EXT4()   ;
#define Clear_EXT5()   ;
#define Clear_EXT6()   ;
#define Clear_EXT7()   ;
#define Clear_EXT8()   ;
#define Clear_EXT9()   ;
#define Clear_Port_Q1()   ;
#define Clear_Port_Q2()   ;
#define Clear_Port_Q3()   ;
#define Clear_Port_Q4()   ;
#define Clear_Port_Q5()   ;
#define Clear_Port_Q6()   ;
#define CONV_CURRENT   2
#define CONV_INIT   0
#define CONV_POT   1
#define Disable_over_current()   ;
#define Enable_over_current()   ;
#define FREE   0
#define Get_EXT1()   ;
#define Get_EXT10()   ;
#define Get_EXT2()   ;
#define Get_EXT3()   ;
#define Get_EXT4()   ;
#define Get_EXT5()   ;
#define Get_EXT6()   ;
#define Get_EXT7()   ;
#define Get_EXT8()   ;
#define Get_EXT9()   ;
#define HALL_A()   (2);
#define HALL_B()   (2);
#define HALL_C()   (2);
#define HALL_SENSOR_VALUE()   (1);
#define OUTPUT_ACTIVE_HIGH   ;
#define OUTPUT_ACTIVE_LOW   ;
#define output_disconnected   0x01
#define PRESC_DIV_BY_16   ;
#define PRESC_DIV_BY_4   ;
#define PRESC_DIV_BY_64   ;
#define PRESC_NODIV   ;
#define PSC_CENTERED   ;
#define PSC_FOUR_RAMP   ;
#define PSC_ONE_RAMP   ;
#define PSC_TWO_RAMP   ;
#define RAMP_MODE_NUMBER   PSC_CENTERED
#define RELEASE_PLOCK   ;
#define Set_EXT1()   ;
#define Set_EXT10()   ;
#define Set_EXT2()   ;
#define Set_EXT3()   ;
#define Set_EXT4()   ;
#define Set_EXT5()   ;
#define Set_EXT6()   ;
#define Set_EXT7()   ;
#define Set_EXT8()   ;
#define Set_EXT9()   ;
#define Set_none()   ;
#define SET_PLOCK   ;
#define Set_Port_Q2()   ;
#define Set_Port_Q4()   ;
#define Set_Port_Q6()   ;
#define Set_Q1Q4()   ;
#define Set_Q1Q6()   ;
#define Set_Q3Q2()   ;
#define Set_Q3Q6()   ;
#define Set_Q5Q2()   ;
#define Set_Q5Q4()   ;
#define Set_timer_data_register_to_zero()   (TCNT0=0x00)
#define switch_OFF_LED()   ;
#define switch_ON_LED()   ;
#define Toggle_EXT2()   ;

Functions

void mc_ADC_Scheduler (void)
 Launch the sampling procedure to get current value.
void mc_disable_during_inrush (void)
 the purpose of this function is to disable
the overcurrent detection during startup (inrush current)

void mc_duty_cycle (U8 level)
 External interruption Sensor (A) mode toggle.
void mc_estimation_speed (void)
 Timer0 Overflow for speed measurement.
U8 mc_Get_Current (void)
U8 mc_get_hall (void)
 Get the value of hall sensors (1 to 6).
U8 mc_Get_Potentiometer (void)
void mc_init_HW (void)
 init HW
void mc_init_timer0 (void)
 Launch the regulation loop (see main.c) .
void mc_init_timer1 (void)
 timer 1 Configuration Use to generate a 250us activation for sampling speed regulation
void mc_inrush_task (void)
 the purpose of this function is to manage the delay
used when the overcurrent detection is disabled

void mc_set_Over_Current (U8 Level)
 Set the Over Current threshold.
void mc_switch_commutation (U8 position)
 Set the Switching Commutation value on outputs according to sensor or estimation position.
void PSC0_Init (unsigned int OCRnRB, unsigned int OCRnSB, unsigned int OCRnRA, unsigned int OCRnSA)
 Initialization of PWM generator PSC0.
void PSC1_Init (unsigned int OCRnRB, unsigned int OCRnSB, unsigned int OCRnRA, unsigned int OCRnSA)
 Initialization of PWM generator PSC1.
void PSC2_Init (unsigned int OCRnRB, unsigned int OCRnSB, unsigned int OCRnRA, unsigned int OCRnSA)
 Initialization of PWM generator PSC2.


Define Documentation

#define BUSY   1

Definition at line 120 of file mc_drv.h.

 
#define Clear_EXT1 (  )     ;

Definition at line 82 of file mc_drv.h.

 
#define Clear_EXT10 (  )     ;

Definition at line 101 of file mc_drv.h.

 
#define Clear_EXT2 (  )     ;

Definition at line 84 of file mc_drv.h.

 
#define Clear_EXT3 (  )     ;

Definition at line 87 of file mc_drv.h.

Referenced by mc_regulation_loop().

 
#define Clear_EXT4 (  )     ;

Definition at line 89 of file mc_drv.h.

 
#define Clear_EXT5 (  )     ;

Definition at line 91 of file mc_drv.h.

 
#define Clear_EXT6 (  )     ;

Definition at line 93 of file mc_drv.h.

 
#define Clear_EXT7 (  )     ;

Definition at line 95 of file mc_drv.h.

 
#define Clear_EXT8 (  )     ;

Definition at line 97 of file mc_drv.h.

 
#define Clear_EXT9 (  )     ;

Definition at line 99 of file mc_drv.h.

 
#define Clear_Port_Q1 (  )     ;

Definition at line 51 of file mc_drv.h.

 
#define Clear_Port_Q2 (  )     ;

Definition at line 54 of file mc_drv.h.

 
#define Clear_Port_Q3 (  )     ;

Definition at line 52 of file mc_drv.h.

 
#define Clear_Port_Q4 (  )     ;

Definition at line 55 of file mc_drv.h.

 
#define Clear_Port_Q5 (  )     ;

Definition at line 53 of file mc_drv.h.

 
#define Clear_Port_Q6 (  )     ;

Definition at line 56 of file mc_drv.h.

#define CONV_CURRENT   2

Definition at line 117 of file mc_drv.h.

#define CONV_INIT   0

Definition at line 115 of file mc_drv.h.

#define CONV_POT   1

Definition at line 116 of file mc_drv.h.

 
#define Disable_over_current (  )     ;

Definition at line 41 of file mc_drv.h.

 
#define Enable_over_current (  )     ;

Definition at line 40 of file mc_drv.h.

#define FREE   0

Definition at line 119 of file mc_drv.h.

 
#define Get_EXT1 (  )     ;

Definition at line 103 of file mc_drv.h.

 
#define Get_EXT10 (  )     ;

Definition at line 112 of file mc_drv.h.

 
#define Get_EXT2 (  )     ;

Definition at line 104 of file mc_drv.h.

 
#define Get_EXT3 (  )     ;

Definition at line 105 of file mc_drv.h.

 
#define Get_EXT4 (  )     ;

Definition at line 106 of file mc_drv.h.

 
#define Get_EXT5 (  )     ;

Definition at line 107 of file mc_drv.h.

 
#define Get_EXT6 (  )     ;

Definition at line 108 of file mc_drv.h.

 
#define Get_EXT7 (  )     ;

Definition at line 109 of file mc_drv.h.

 
#define Get_EXT8 (  )     ;

Definition at line 110 of file mc_drv.h.

 
#define Get_EXT9 (  )     ;

Definition at line 111 of file mc_drv.h.

 
#define HALL_A (  )     (2);

Definition at line 44 of file mc_drv.h.

 
#define HALL_B (  )     (2);

Definition at line 45 of file mc_drv.h.

 
#define HALL_C (  )     (2);

Definition at line 46 of file mc_drv.h.

 
#define HALL_SENSOR_VALUE (  )     (1);

Definition at line 49 of file mc_drv.h.

Referenced by mc_get_hall().

#define OUTPUT_ACTIVE_HIGH   ;

Definition at line 37 of file mc_drv.h.

#define OUTPUT_ACTIVE_LOW   ;

Definition at line 38 of file mc_drv.h.

#define output_disconnected   0x01

Definition at line 16 of file mc_drv.h.

#define PRESC_DIV_BY_16   ;

Definition at line 34 of file mc_drv.h.

#define PRESC_DIV_BY_4   ;

Definition at line 33 of file mc_drv.h.

#define PRESC_DIV_BY_64   ;

Definition at line 35 of file mc_drv.h.

#define PRESC_NODIV   ;

Definition at line 32 of file mc_drv.h.

#define PSC_CENTERED   ;

Definition at line 25 of file mc_drv.h.

#define PSC_FOUR_RAMP   ;

Definition at line 24 of file mc_drv.h.

#define PSC_ONE_RAMP   ;

Definition at line 22 of file mc_drv.h.

#define PSC_TWO_RAMP   ;

Definition at line 23 of file mc_drv.h.

#define RAMP_MODE_NUMBER   PSC_CENTERED

Definition at line 27 of file mc_drv.h.

#define RELEASE_PLOCK   ;

Definition at line 30 of file mc_drv.h.

 
#define Set_EXT1 (  )     ;

Definition at line 81 of file mc_drv.h.

 
#define Set_EXT10 (  )     ;

Definition at line 100 of file mc_drv.h.

 
#define Set_EXT2 (  )     ;

Definition at line 83 of file mc_drv.h.

 
#define Set_EXT3 (  )     ;

Definition at line 86 of file mc_drv.h.

Referenced by mc_regulation_loop().

 
#define Set_EXT4 (  )     ;

Definition at line 88 of file mc_drv.h.

 
#define Set_EXT5 (  )     ;

Definition at line 90 of file mc_drv.h.

 
#define Set_EXT6 (  )     ;

Definition at line 92 of file mc_drv.h.

 
#define Set_EXT7 (  )     ;

Definition at line 94 of file mc_drv.h.

 
#define Set_EXT8 (  )     ;

Definition at line 96 of file mc_drv.h.

 
#define Set_EXT9 (  )     ;

Definition at line 98 of file mc_drv.h.

 
#define Set_none (  )     ;

Definition at line 62 of file mc_drv.h.

#define SET_PLOCK   ;

Definition at line 29 of file mc_drv.h.

 
#define Set_Port_Q2 (  )     ;

Definition at line 57 of file mc_drv.h.

 
#define Set_Port_Q4 (  )     ;

Definition at line 58 of file mc_drv.h.

 
#define Set_Port_Q6 (  )     ;

Definition at line 59 of file mc_drv.h.

 
#define Set_Q1Q4 (  )     ;

Definition at line 64 of file mc_drv.h.

 
#define Set_Q1Q6 (  )     ;

Definition at line 66 of file mc_drv.h.

 
#define Set_Q3Q2 (  )     ;

Definition at line 68 of file mc_drv.h.

 
#define Set_Q3Q6 (  )     ;

Definition at line 70 of file mc_drv.h.

 
#define Set_Q5Q2 (  )     ;

Definition at line 72 of file mc_drv.h.

 
#define Set_Q5Q4 (  )     ;

Definition at line 74 of file mc_drv.h.

 
#define Set_timer_data_register_to_zero (  )     (TCNT0=0x00)

Definition at line 19 of file mc_drv.h.

 
#define switch_OFF_LED (  )     ;

Definition at line 78 of file mc_drv.h.

 
#define switch_ON_LED (  )     ;

Definition at line 77 of file mc_drv.h.

 
#define Toggle_EXT2 (  )     ;

Definition at line 85 of file mc_drv.h.


Function Documentation

void mc_ADC_Scheduler ( void   ) 

Launch the sampling procedure to get current value.

Precondition:
amplifier and IT initialization
Postcondition:
Set the End Of Conversion flag Launch the scheduler for the ADC
Precondition:
none
Postcondition:
Get Channel 6 and 12 results for Potentiometer and current values.

Definition at line 296 of file mc_drv.c.

00297 {
00298 }

void mc_disable_during_inrush ( void   ) 

the purpose of this function is to disable
the overcurrent detection during startup (inrush current)

Definition at line 315 of file mc_drv.c.

Referenced by mci_retry_run(), and mci_run().

00316 {
00317 }

void mc_duty_cycle ( U8  level  ) 

External interruption Sensor (A) mode toggle.

Precondition:
configuration of external interruption (initialization)
Postcondition:
New value in Hall variable External interruption Hall Sensor (B) mode toggle
Precondition:
configuration of external interruption (initialization)
Postcondition:
New value in Hall variable External interruption Hall Sensor (C) mode toggle
Precondition:
configuration of external interruption (initialization)
Postcondition:
New value in Hall variable Set the duty cycle values in the PSC according to the value calculate by the regulation loop

Definition at line 180 of file mc_drv.c.

Referenced by mci_retry_run(), and mci_run().

00181 {
00182 }

void mc_estimation_speed ( void   ) 

Timer0 Overflow for speed measurement.

Precondition:
configuration of timer 0
Postcondition:
generate an overflow when the motor turns too slowly estimation speed
Precondition:
configuration of timer 0
and define or not AVERAGE_SPEED_MEASURE in config_motor.h
Postcondition:
new value for real speed

Definition at line 265 of file mc_drv.c.

00266 {
00267 }

U8 mc_Get_Current ( void   ) 

U8 mc_get_hall ( void   ) 

Get the value of hall sensors (1 to 6).

Parameters:
return an unsigned char value of hall sensor
Precondition:
configuration of port PB and PD
Postcondition:
new value of position

Definition at line 119 of file mc_drv.c.

References HALL_SENSOR_VALUE.

Referenced by mci_retry_run(), and mci_run().

00120 {
00121   return HALL_SENSOR_VALUE();
00122 }

U8 mc_Get_Potentiometer ( void   ) 

void mc_init_HW ( void   ) 

init HW

Precondition:
none
Postcondition:
initialization of hardware

Definition at line 53 of file mc_drv.c.

Referenced by mc_init().

00055 {
00056  
00057 }

void mc_init_timer0 ( void   ) 

Launch the regulation loop (see main.c) .

Precondition:
configuration of timer 1 registers
Postcondition:
g_tick use in main.c for regulation loop Timer 0 Configuration The timer 0 is used to generate an IT when an overflow occurs
Precondition:
None
Postcondition:
Timer0 initialized.

Definition at line 239 of file mc_drv.c.

00240 {
00241 }

void mc_init_timer1 ( void   ) 

timer 1 Configuration Use to generate a 250us activation for sampling speed regulation

Precondition:
None
Postcondition:
An interrupt all 256us

Definition at line 206 of file mc_drv.c.

00207 {
00208 }

void mc_inrush_task ( void   ) 

the purpose of this function is to manage the delay
used when the overcurrent detection is disabled

Definition at line 321 of file mc_drv.c.

00322 { 
00323 }

void mc_set_Over_Current ( U8  Level  ) 

Set the Over Current threshold.

Precondition:
DAC initialization
Postcondition:
the Over Current threshold is set.

Definition at line 309 of file mc_drv.c.

00310 {
00311 }

void mc_switch_commutation ( U8  position  ) 

Set the Switching Commutation value on outputs according to sensor or estimation position.

Parameters:
position (1 to 6) and direction (FORWARD or BACKWARD)

Definition at line 190 of file mc_drv.c.

Referenced by mci_retry_run(), and mci_run().

00191 {
00192 }

void PSC0_Init ( unsigned int  OCRnRB,
unsigned int  OCRnSB,
unsigned int  OCRnRA,
unsigned int  OCRnSA 
)

Initialization of PWM generator PSC0.

Definition at line 77 of file mc_drv.c.

00081 {
00082 }

void PSC1_Init ( unsigned int  OCRnRB,
unsigned int  OCRnSB,
unsigned int  OCRnRA,
unsigned int  OCRnSA 
)

Initialization of PWM generator PSC1.

Definition at line 87 of file mc_drv.c.

00091 {
00092 }

void PSC2_Init ( unsigned int  OCRnRB,
unsigned int  OCRnSB,
unsigned int  OCRnRA,
unsigned int  OCRnSA 
)

Initialization of PWM generator PSC2.

Definition at line 98 of file mc_drv.c.

00102 {
00103 }


Generated on Wed Oct 22 16:03:26 2008 for AVR496 : Atmel BLDC control on ATAVRMC301 with ATtiny861 by  doxygen 1.5.7.1