This commit is contained in:
Rene Hopf
2015-02-02 11:40:50 +01:00
parent bd3dd60a20
commit 0cf99a5ea9

View File

@@ -106,33 +106,38 @@ void link_pid(){
set_hal_pin("pid0.volt", 60.0);
set_hal_pin("p2uvw0.poles", 1.0);
set_hal_pin("pid0.enable", 1.0);
}
void link_ac_sync_res(){
link_pid();
// cmd
link_hal_pins("enc0.pos0", "net0.cmd");
// fb
link_hal_pins("res0.pos", "net0.fb");
}
void link_ac_sync_enc(){
link_pid();
// cmd
link_hal_pins("enc0.pos0", "net0.cmd");
link_hal_pins("pid0.pwm_cmd", "cauto0.pwm_in");
link_hal_pins("cauto0.pwm_out", "p2uvw0.pwm");
// magpos
link_hal_pins("cauto0.mag_pos_out", "p2uvw0.magpos");
link_hal_pins("enc0.pos1", "cauto0.fb_in");
link_hal_pins("cauto0.fb_out", "net0.fb");
}
void link_ac_sync_res(){
link_pid();
link_hal_pins("enc0.pos0", "net0.cmd");
link_hal_pins("res0.pos", "cauto0.fb_in");
}
void link_ac_sync_enc(){
link_pid();
link_hal_pins("enc0.pos0", "net0.cmd");
link_hal_pins("enc0.pos1", "cauto0.fb_in");
}
void set_bosch(){
link_ac_sync_res();
// pole count
set_hal_pin("auto0.pole_count", 4.0);
set_hal_pin("cauto0.pole_count", 4.0);
// auto time
set_hal_pin("cauto0.time", 0.5);
// auto scale
set_hal_pin("cauto0.scale", 0.6);
set_hal_pin("pderiv0.in_lp", 1);
set_hal_pin("pderiv0.out_lp", 1);
@@ -156,6 +161,50 @@ void set_bosch(){
set_hal_pin("pid0.vel_max", 1000.0 / 60.0 * 2.0 * M_PI);
set_hal_pin("pid0.acc_max", 1000.0 / 60.0 * 2.0 * M_PI / 0.005);
}
void set_festo(){
link_ac_sync_res();
set_hal_pin("enc0.res0", 2000.0);
set_hal_pin("res0.enable", 1.0);
set_hal_pin("pderiv0.in_lp", 1);
set_hal_pin("pderiv0.out_lp", 1);
set_hal_pin("pderiv0.vel_max", 13000.0 / 60.0 * 2.0 * M_PI);
set_hal_pin("pderiv0.acc_max", 13000.0 / 60.0 * 2.0 * M_PI / 0.005);
// fb
set_hal_pin("res0.enable", 1.0);
set_hal_pin("pderiv1.in_lp", 1);
set_hal_pin("pderiv1.out_lp", 1);
set_hal_pin("pderiv1.vel_max", 13000.0 / 60.0 * 2.0 * M_PI);
set_hal_pin("pderiv1.acc_max", 13000.0 / 60.0 * 2.0 * M_PI / 0.005);
set_hal_pin("pderiv0.out_lp", 0.5);
// pole count
set_hal_pin("cauto0.pole_count", 4.0);
// auto time
set_hal_pin("cauto0.time", 0.5);
// auto scale
set_hal_pin("cauto0.scale", 0.6);
// pid
set_hal_pin("pid0.pos_p", 35.0);
set_hal_pin("pid0.vel_p", 1.0);
set_hal_pin("pid0.vel_i", 50.0);
set_hal_pin("pid0.pos_lp", 1.0);
set_hal_pin("pid0.force_p", 1.0);
set_hal_pin("pid0.cur_ind", 2.34);
set_hal_pin("pid0.pos_lp", 1.0);
set_hal_pin("pid0.vel_lp", 1.0);
set_hal_pin("pid0.cur_ff", 28.0);//dc wicklungswiederstand
set_hal_pin("pid0.vel_d", 0.0);
set_hal_pin("pid0.vel_max", 13000.0 / 60.0 * 2.0 * M_PI);
set_hal_pin("pid0.acc_max", 13000.0 / 60.0 * 2.0 * M_PI / 0.005);
}
void set_manutec(){
link_ac_sync_enc();
@@ -329,7 +378,8 @@ int main(void)
TIM_Cmd(TIM4, ENABLE);//PWM
set_bergerlahr();
//set_bergerlahr();
set_festo();
link_hal_pins("cauto0.ready", "led0.g");
link_hal_pins("cauto0.start", "led0.r");
//link_hal_pins("led0.g", "test0.test2");