4 Steuerungsphase III (SpeedDown)

Diese Phase beginnt mit der ,,Programmierung'' der Drehwinkel-Endposition im Ouput Compare Register 1B (OCR1B). Danach erfolgt die konstante Geschwindigkeitsabnahme, bis der in der ,,SpeedGoUp'' Phase ermittelte Wert rot_contrl_minimum erreicht ist. Der Mechanismus ist identisch mit dem in Phase I beschriebenen, nur, dass hier die Geschwindigkeit abnimmt, bis der o. g. Endwert ,,rot_contrl_minimum'' erreicht ist.

Da der Anstieg der Geschwindigkeit in der Phase I (SpeedGoUp) auf Grund der notwendigen Massenbeschleunigung und Haftreibung länger dauert als die Geschwindigkeitsabnahme in der Phase III (SpeedDown), verwenden die beiden Phasen unterschiedliche ,,Beschleunigungswerte''. Diese Schleifen-Verzögerungswerte für die Geschwindigkeitsänderung sind in den Konstanten Speedup_MSecs und SlowdownMSecs in der Datei inc/constants.inc definiert.

Mit dieser Maßnahme soll sicher gestellt werden, dass die ,,SpeedDown'' Phase nicht länger dauert als die ,,GoUp'' Phase und damit quasi ,,zu spät'' (d.h. nach Erreichen der Endposition) in die ,,SpeedSlow'' Phase übergehen würde. Eine zusätzlich Sicherheitsabfrage nach der ,,SpeedDown'' Phase sorgt im Extremfall dafür, dass die ,,SpeedSlow'' Phase übersprungen und eine Art ,,Notabschaltung'' eingeleitet wird.

	; ....................................................................
	; PHASE III: speed slowdown
	skip_speed_high:
	  LDSWR REG_A, rot_angle_preset   ; store req. position (with overflow)
	  SBIWR REG_A, 1                  ; decr. by 1
	  brcc  store_counter
	  ADIWR REG_A, RotationOver       ; correction if underflow       
	; ....................................................................
	store_counter:                    ; write end position value to OCR1B
	  rcall setup_counter_value       ; and start steps counting process
	  rcall phase_speed_down          ; lower speed until rot_contrl_minimum
	                                  ; value is reached
	  AFTER_POSITION skip_speed_slow  ; emergency exit - should never occur
	; slow rotation until target      ; move in slow speed to target position 

gerhard.reithofer@tech-edv.co.at