diff --git a/abzug.c b/abzug.c index f14202d..6d564e6 100644 --- a/abzug.c +++ b/abzug.c @@ -15,14 +15,14 @@ void timer3_init() } -void send_info(void); +void send_settings(void); void do_abzug(){ if (read_Input(BTN_ABZUG_EIN, RISING)) { TCCR3B |= _BV(CS31); set_Output(LED_ABZUG, ON); #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } @@ -30,7 +30,7 @@ void do_abzug(){ TCCR3B &= ~(_BV(CS31)); set_Output(LED_ABZUG, OFF); #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } @@ -40,7 +40,7 @@ void do_abzug(){ else abzug_speed = 1000; #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } @@ -50,7 +50,7 @@ void do_abzug(){ else abzug_speed = 10; #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } @@ -60,7 +60,7 @@ void do_abzug(){ else abzug_speed = 1000; #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } @@ -70,7 +70,7 @@ void do_abzug(){ else abzug_speed = 10; #if PLC_MQTT_ENABLED - send_info(); + send_settings(); #endif } diff --git a/kraftsensor.c b/kraftsensor.c index 0009332..79b43b5 100644 --- a/kraftsensor.c +++ b/kraftsensor.c @@ -36,7 +36,7 @@ void do_kraftsensor(){ readReg(1,0,2); if(wait_receive(2, m_data, 100)){ kraftsensor_valid = 0; - printf("modbus error\n\r"); + //printf("modbus error\n\r"); } else{ kraftsensor_valid = 1; @@ -50,12 +50,12 @@ void do_kraftsensor(){ if(abs(kraftsensor_read - old_value) > 10000){ if(abs(last_read - kraftsensor_read) > 10000){ kraftsensor_value = old_value; - printf("delta: %d\tvalue:%ld\n", kraftsensor_read - old_value, kraftsensor_read); - printf("spike\n"); + //printf("delta: %ld\tvalue:%ld\n", kraftsensor_read - old_value, kraftsensor_read); + //printf("spike\n"); } else{ kraftsensor_value = kraftsensor_read; - printf("jump\n"); + //printf("jump\n"); } } else{ @@ -117,5 +117,7 @@ void writeReg(uint8_t slaveid, uint16_t address, uint16_t value) { } ISR(TIMER2_COMPA_vect) { //this ISR is called 9765.625 times per second + //PORTH &= ~(1<<5); modbusTickTimer(); + //PORTH |= (1<<5); } diff --git a/main.c b/main.c index 4dd8c28..70c2782 100644 --- a/main.c +++ b/main.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #include @@ -71,19 +72,10 @@ static void avr_init() return; } -void send_info(void){ +// send processvalues that are constantly changing +void send_values(void){ char msg[10]; - /* Abzug */ - sprintf(msg, "%d", abzug_speed); - mqtt_pub(&mqtt_client, "/Filamentanlage/05_Abzug/state/abzug/speed", msg, strlen(msg)); - - if(TCCR3B & (1< 20){ @@ -217,7 +231,8 @@ int main() // send misc info if(millis() - timer_send_info > 200){ timer_send_info += 200; - send_info(); + send_values(); + //send_info(); // 27ms every 200ms } #endif @@ -229,10 +244,10 @@ int main() #if PLC_MQTT_ENABLED ioHelperSetBit(outStates, LED_BUS_OK, 1); ioHelperSetOuts(); - MQTTYield(&mqtt_client, 10); //blocking call + MQTTYield(&mqtt_client, 1); //blocking call ioHelperSetBit(outStates, LED_BUS_OK, 0); #endif - ioHelperSetOuts(); + ioHelperSetOuts(); //40us } return 0; } diff --git a/pid_controller.h b/pid_controller.h index 25118b9..6580365 100644 --- a/pid_controller.h +++ b/pid_controller.h @@ -25,7 +25,7 @@ typedef struct { } PID_vars; -#define PID_VARS_INIT(x) PID_vars x = {.Kp=1.3,.Ki=0.00,.Kd=0.0,.output_max=20000.0, \ +#define PID_VARS_INIT(x) PID_vars x = {.Kp=1.5,.Ki=0.00,.Kd=0.0,.output_max=20000.0, \ .output_min=-20000.0,._integral_sum=0.0,._prev_err=0.0,._dt=1.0} /* Function Prototypes */ diff --git a/spule.c b/spule.c index b2a8432..560b747 100644 --- a/spule.c +++ b/spule.c @@ -39,8 +39,19 @@ void timer5_init() TIMSK5 |= 1<