From 0b5dc619a6b3a11f019d5453763bed160c0d56e3 Mon Sep 17 00:00:00 2001 From: Eggert Jung Date: Mon, 5 Sep 2022 17:09:24 +0200 Subject: [PATCH] changes for 1:5 gear instead of 1:10 --- spule.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/spule.c b/spule.c index bb85245..eafe9cf 100644 --- a/spule.c +++ b/spule.c @@ -13,7 +13,7 @@ volatile uint16_t windings_wakeup = 0; int32_t spule_trans_pos = 0; uint8_t spule_trans_homed = 0; -#define TRANS_ROT_FACTOR 0.07 +#define TRANS_ROT_FACTOR 0.14 void timer1_init() { @@ -104,12 +104,12 @@ void do_spule(){ //if(tmp < -7500/abzug_speed/2) // tmp = -7500/abzug_speed/2; //printf("temp2: %d\n", tmp); - if(p < 0.75) - p = 0.75; - if(p > 1.5) - p = 1.5; + if(p < 0.5) + p = 0.5; + if(p > 2) + p = 2; - uint16_t base_speed = (7500/abzug_speed); + uint16_t base_speed = (14000/abzug_speed); uint16_t ctrl_speed = base_speed * p; if(ctrl_speed <= 70) @@ -118,8 +118,6 @@ void do_spule(){ ICR5 = ctrl_speed; OCR5C = ICR5/2; - //printf("icr: %d\n", ICR5); - ICR1 = ICR5/TRANS_ROT_FACTOR; OCR1A = ICR1/2; @@ -158,7 +156,7 @@ ISR(TIMER5_OVF_vect) { //PORTH &= ~(1<<5); static uint16_t steps = 0; steps++; - if(steps == 50000){ + if(steps == 25000){ windings++; steps=0; printf("windungen: %d\t", windings);