test4

Dependencies:   mbed BufferedSerial LS7366LIB2 FastPWM

Committer:
gohgwaja
Date:
Mon May 11 08:47:18 2020 +0000
Revision:
0:7cff999a7f5c
Child:
1:7b5469bf5994
hahaha

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gohgwaja 0:7cff999a7f5c 1 #ifndef _MAIN_H_
gohgwaja 0:7cff999a7f5c 2 #define _MAIN_H_
gohgwaja 0:7cff999a7f5c 3 int button_offset_posion[6]={0,};
gohgwaja 0:7cff999a7f5c 4 bool encoder_check[6]={false,false,false,false,false,false};
gohgwaja 0:7cff999a7f5c 5 bool motor_onoff[6]={true,true,true,true,true,true};
gohgwaja 0:7cff999a7f5c 6 int encoder_data[6]={0,0,0,0,0,0};
gohgwaja 0:7cff999a7f5c 7
gohgwaja 0:7cff999a7f5c 8 double Speed_Pgain[6]={ 3,
gohgwaja 0:7cff999a7f5c 9 3,
gohgwaja 0:7cff999a7f5c 10 3,
gohgwaja 0:7cff999a7f5c 11 3,
gohgwaja 0:7cff999a7f5c 12 3,
gohgwaja 0:7cff999a7f5c 13 3};
gohgwaja 0:7cff999a7f5c 14
gohgwaja 0:7cff999a7f5c 15 double Speed_Igain[6]={ 0.01,
gohgwaja 0:7cff999a7f5c 16 0.01,
gohgwaja 0:7cff999a7f5c 17 0.01,
gohgwaja 0:7cff999a7f5c 18 0.01,
gohgwaja 0:7cff999a7f5c 19 0.01,
gohgwaja 0:7cff999a7f5c 20 0.01};
gohgwaja 0:7cff999a7f5c 21
gohgwaja 0:7cff999a7f5c 22 double position_Pgain[6]
gohgwaja 0:7cff999a7f5c 23 ={ 10,
gohgwaja 0:7cff999a7f5c 24 10,
gohgwaja 0:7cff999a7f5c 25 10,
gohgwaja 0:7cff999a7f5c 26 10,
gohgwaja 0:7cff999a7f5c 27 10,
gohgwaja 0:7cff999a7f5c 28 10};
gohgwaja 0:7cff999a7f5c 29
gohgwaja 0:7cff999a7f5c 30 double Position_input_filter[6]
gohgwaja 0:7cff999a7f5c 31 ={ 0.05,
gohgwaja 0:7cff999a7f5c 32 0.05,
gohgwaja 0:7cff999a7f5c 33 0.05,
gohgwaja 0:7cff999a7f5c 34 0.05,
gohgwaja 0:7cff999a7f5c 35 0.05,
gohgwaja 0:7cff999a7f5c 36 0.05};
gohgwaja 0:7cff999a7f5c 37 double Speed_I_input_filter[6]
gohgwaja 0:7cff999a7f5c 38 ={ 0.1,
gohgwaja 0:7cff999a7f5c 39 0.1,
gohgwaja 0:7cff999a7f5c 40 0.1,
gohgwaja 0:7cff999a7f5c 41 0.1,
gohgwaja 0:7cff999a7f5c 42 0.1,
gohgwaja 0:7cff999a7f5c 43 0.1};
gohgwaja 0:7cff999a7f5c 44
gohgwaja 0:7cff999a7f5c 45 double offset[6]={ 1500,
gohgwaja 0:7cff999a7f5c 46 1500,
gohgwaja 0:7cff999a7f5c 47 1500,
gohgwaja 0:7cff999a7f5c 48 1500,
gohgwaja 0:7cff999a7f5c 49 1500,
gohgwaja 0:7cff999a7f5c 50 1500};
gohgwaja 0:7cff999a7f5c 51
gohgwaja 0:7cff999a7f5c 52
gohgwaja 0:7cff999a7f5c 53 // SPI
gohgwaja 0:7cff999a7f5c 54 #define SPI_MOSI1 PA_7
gohgwaja 0:7cff999a7f5c 55 #define SPI_MISO1 PA_6
gohgwaja 0:7cff999a7f5c 56 #define SPI_SCK1 PA_5
gohgwaja 0:7cff999a7f5c 57
gohgwaja 0:7cff999a7f5c 58 // Encoder
gohgwaja 0:7cff999a7f5c 59 #define ENCODER_CS1 PB_0
gohgwaja 0:7cff999a7f5c 60 #define ENCODER_CS2 PC_1
gohgwaja 0:7cff999a7f5c 61 #define ENCODER_CS3 PC_0
gohgwaja 0:7cff999a7f5c 62 #define ENCODER_CS4 PB_15
gohgwaja 0:7cff999a7f5c 63 #define ENCODER_CS5 PB_14
gohgwaja 0:7cff999a7f5c 64 #define ENCODER_CS6 PB_13
gohgwaja 0:7cff999a7f5c 65
gohgwaja 0:7cff999a7f5c 66 // Limit switch
gohgwaja 0:7cff999a7f5c 67 #define LIMIT_SW1 PC_3
gohgwaja 0:7cff999a7f5c 68 #define LIMIT_SW2 PC_2
gohgwaja 0:7cff999a7f5c 69 #define LIMIT_SW3 PC_5
gohgwaja 0:7cff999a7f5c 70 #define LIMIT_SW4 PC_9
gohgwaja 0:7cff999a7f5c 71 #define LIMIT_SW5 PC_6
gohgwaja 0:7cff999a7f5c 72 #define LIMIT_SW6 PC_8
gohgwaja 0:7cff999a7f5c 73
gohgwaja 0:7cff999a7f5c 74 // Motor
gohgwaja 0:7cff999a7f5c 75 #define MOTOR_PWM1 PA_15
gohgwaja 0:7cff999a7f5c 76 #define MOTOR_PWM2 PA_9
gohgwaja 0:7cff999a7f5c 77 #define MOTOR_PWM3 PA_8
gohgwaja 0:7cff999a7f5c 78 #define MOTOR_PWM4 PB_10
gohgwaja 0:7cff999a7f5c 79 #define MOTOR_PWM5 PB_3
gohgwaja 0:7cff999a7f5c 80 #define MOTOR_PWM6 PA_10
gohgwaja 0:7cff999a7f5c 81 #define MOTOR_PWM7 PB_11
gohgwaja 0:7cff999a7f5c 82
gohgwaja 0:7cff999a7f5c 83 #include "flash.h"
gohgwaja 0:7cff999a7f5c 84 #include "spi_setup.h"
gohgwaja 0:7cff999a7f5c 85 #include "pc_serial.h"
gohgwaja 0:7cff999a7f5c 86 #include "motor.h"
gohgwaja 0:7cff999a7f5c 87 #include "encoder.h"
gohgwaja 0:7cff999a7f5c 88 #include "speed_pid.h"
gohgwaja 0:7cff999a7f5c 89 #include "target_position_cal.h"
gohgwaja 0:7cff999a7f5c 90 #include "Position.h"
gohgwaja 0:7cff999a7f5c 91 #include "limit.h"
gohgwaja 0:7cff999a7f5c 92 #include "button.h"
gohgwaja 0:7cff999a7f5c 93
gohgwaja 0:7cff999a7f5c 94
gohgwaja 0:7cff999a7f5c 95 void board_init()
gohgwaja 0:7cff999a7f5c 96 {
gohgwaja 0:7cff999a7f5c 97 Serial_Init();
gohgwaja 0:7cff999a7f5c 98 if(Flash_Head_Check() == true)
gohgwaja 0:7cff999a7f5c 99 {
gohgwaja 0:7cff999a7f5c 100 for(int i = 1; i < 7; i++)
gohgwaja 0:7cff999a7f5c 101 {
gohgwaja 0:7cff999a7f5c 102 set_data[i * 10] = (double)Read_Flash(i * 40);
gohgwaja 0:7cff999a7f5c 103 set_data[i * 10 + 1] = (double)Read_Flash(i * 40 + 4);
gohgwaja 0:7cff999a7f5c 104 set_data[i * 10 + 2] = (double)Read_Flash(i * 40 + 8);
gohgwaja 0:7cff999a7f5c 105 set_data[i * 10 + 3] = (double)Read_Flash(i * 40 + 12);
gohgwaja 0:7cff999a7f5c 106 set_data[i * 10 + 4] = (double)Read_Flash(i * 40 + 16);
gohgwaja 0:7cff999a7f5c 107 set_data[i * 10 + 5] = (double)Read_Flash(i * 40 + 20);
gohgwaja 0:7cff999a7f5c 108 }
gohgwaja 0:7cff999a7f5c 109 }
gohgwaja 0:7cff999a7f5c 110 else
gohgwaja 0:7cff999a7f5c 111 {
gohgwaja 0:7cff999a7f5c 112 for(int i=0;i<6;i++)
gohgwaja 0:7cff999a7f5c 113 {
gohgwaja 0:7cff999a7f5c 114 set_data[(i+1)*10+0]=Speed_Pgain[i];
gohgwaja 0:7cff999a7f5c 115 set_data[(i+1)*10+1]=Speed_Igain[i];
gohgwaja 0:7cff999a7f5c 116 set_data[(i+1)*10+2]=position_Pgain[i];
gohgwaja 0:7cff999a7f5c 117 set_data[(i+1)*10+3]=Position_input_filter[i];
gohgwaja 0:7cff999a7f5c 118 set_data[(i+1)*10+4]=Speed_I_input_filter[i];
gohgwaja 0:7cff999a7f5c 119 set_data[(i+1)*10+5]=offset[i];
gohgwaja 0:7cff999a7f5c 120 }
gohgwaja 0:7cff999a7f5c 121 }
gohgwaja 0:7cff999a7f5c 122
gohgwaja 0:7cff999a7f5c 123 limit_init();
gohgwaja 0:7cff999a7f5c 124 spi_init();
gohgwaja 0:7cff999a7f5c 125 motor_init();
gohgwaja 0:7cff999a7f5c 126 Serial_Init();
gohgwaja 0:7cff999a7f5c 127
gohgwaja 0:7cff999a7f5c 128 }
gohgwaja 0:7cff999a7f5c 129
gohgwaja 0:7cff999a7f5c 130 #endif