Chapter IV Proposed model for microcontroller based monitoring and control
4.3 Control system design and implementation
4.3.1 Tracker Controller
4.3.1.5 Finite state machine (FSM) controller approaches
Our primary choice has fallen over a finite state machine controller (FSMC), and addressing the control design of the tracking subsystem as a single controller (in lieu of 2). Many different scenarios were considered for the FSM implementation, which range from simpler to more complex approaches. However, only 3 of the possible scenarios were eventually found to be appropriate for a straightforward and gradual FSM design and implementation. They are presented and discussed gradually in the controller block diagrams that follow in next sections.
4.3.1.5.1 FSM based tetra-directional On/Off tracker controller
The first scenario is depicted in Figure 37, which is a FSM based four-directional On/Off controller, a multiple inputs and multiple outputs (MIMO) controller. It is a unique controller for both the hour and the declination axis tracker motions.
Figure 37 – Diagram of the FSM based tetra-directional On/Off tracker controller HourSeekError, DeclSeekError
HourStayError, DeclSeekError Gap or TrackStep parameters:
Declination axis angle
Hour axis angle
Finite State Machine based 4-directional
On/Off controller
+ Setpoint Hour angle -
Hour angle error
Actual hour angle
DC motor driver
Hour axis motor Declination axis motor
Actual declination angle +
Setpoint Declination
angle -
Declination angle error
Forward Reverse Motor select
Plant: Tracker assembly
Where, HourStayError or DeclStayError is the magnitude of the tracking step (should be not greater than half the collector’s acceptance angle) and SeekError is half the size of the On/Off differential gap, which is the allowed error when seeking the set point. SeekError should be less than or equal to StayError. The direction variables (forward, reverse, motor select) are as discussed in section 4.3.1.3 a) and b) detailed in tables 4.1 and 4.2. The actual angle is the measured value of either the hour or the declination angle.
However, for a straightforward presentation of the controller scenarios, we depict a simplified diagram shown in Figure 38, below:
4.3.1.5.2 FSM-PID tetra-directional tracker controller
The second scenario, shown in Figure 39, is motivated by the fact that an On/Off controller is prone to errors (as discussed in sections 2.2.3.1 and 2.2.3.2). So, from the first scenario (Figure 37 and Figure 38) we derived the second one, consisting of the addition of a PID block, to control the speed at which the tracker approaches a certain set point angle in the selected axis. The PID components (discussed in section 2.2.3.3) will add efficiency by conveniently producing a speed according to the error between the set point and the actual angle.
Figure 38 – Simpified diagram of the FSM based tetra-directional On/Off tracker controller of the previous figure.
Figure 39 - Finite State Machine - PID tetra-directional tracker controller.
2
2 Plant: Tracker assembly
DC motor driver Hour axis motor Declination axis
motor 2
2 Setpoint angles:
(Hour/Decl.)
Direction:
Fwd, Rev, MSel Finite State Machine
based 4-directional On/Off controller
+ -
Errors (HourError / DeclError)
Actual angles (Hour / Declination)
3 Gap or TrackStep parameters:
SeekError, StayError 4
Hour and decli- nation axes angles motor
Hour and declination axes angles Setpoint angles
(Hour / Decl.)
Plant: Tracker assembly
DC motor driver Hour axis motor Declination axis
motor Direction:
Fwd, Rev, MSel Finite State Machine
controller
+
-
3 Gap or TrackStep parameters:
SeekError, StayError 4
Digital PID controller Speed (PWM)
Actual angles (Hour / Declination) Errors (HourError / DeclError)
2 2
2 1
2
4.3.1.5.3 Fuzzy finite state machine - PID tetra-directional tracker controller
After the PID enhancements introduced in the second scenario (Figure 39), the resulting tracking system may still be subject to possible inaccuracies and oscillations on seeking the set point, due to the following possible factors:
(a)The crisp nature of the set point and measured variables along with the crisp nature of the FSM boolean inferencing mechanism;
(b)The variation and non-linearity of the mechanical load, caused by:
(i) the displacement and variation of the concentrator’s centre of gravity with respect to the supporting structure;
(ii) mechanical imperfections (lack of cleanliness, unevenness and rusting) of the motion transmission system, as well as
(iii) sudden and unpredictable changes of the environment conditions (like the wind);
(c)Poorly defined PID gains: When a process model is not defined the PID gains have to be determined experimentally, which is not straightforward and subject to errors, moreover,
(d)Large PID gains may be good for large errors but improper for small ones (this could be overcome if the gains could be adjusted on the fly). Also, the fitness of the PID gains may also be compromised by the variability and non-linearity of the mechanical load, as discussed above.
The list above, suggested enhancing the previous approach by incorporating a fuzzy functionality. This can be achieved by (among other ways) turning the simple FSM controller into a fuzzy FSM (FFSM). See section 2.2.3.6 for an introduction to fuzzy logic controllers.
Figure 40 presents the FFSM approach (the 3rd scenario). A fuzzy functionality would avoid oscillation around the set point, due to the non crisp nature of the fuzzified inputs along with the fuzzy inferencing mechanism (as opposed to the Boolean inferencing mechanism of a simple FSM). For instance, a value slightly above or slightly below the desired seeking set point position, will still be considered equal to the desired position.
On the other hand, as can be seen in the Figure 40, with the use of a fuzzy approach, the real time adjustment of the PID gains (or directly the speed itself), discussed above, can also be addressed (see the red arrows from the FFSMC block to the PID block).
Figure 40 - Fuzzy Finite State Machine - PID tetra-directional tracker controller.
2 3
Speed (PWM) Kp, Ki, Kd
(fuzzy tuned)
DC motor driver
Hour axis motor Declination axis
motor
Hour and declination axes angles
Plant: Tracker assembly Fuzzy Finite State
Machine controller
+
-
3
Digital PID controller
Direction:
Fwd, Rev, MSel Fuzzy membership parameters:
SeekError, StayError 4
Setpoint angles (Hour / Decl.)
Actual angles (Hour / Declination) Errors (HourError / DeclError)
2 2
2
Speed
Tracker controller SolarTech’s ST-RTOP Supervisory Control
Parameters:
SeekError, StayError
Direction:
Fwd, Rvs, MSel
Hour and declination axes angles
-
Actual angles (Hour / Declination)
DC motor driver
Hour axis motor Declination axis
motor +
Set point angles (Hour / Decl.)
Set active Controller
Errors
FSM-PID Controller FSM-On/Off
Controller
FFSM-PID Controller
4.3.1.6 Controller Choice and Implementation: FSM-On/Off Tracker Controller Based on the discussion above, it was decided to design a control system in such a manner, that incorporates all the above strategies. Figure 41 illustrates the integrated control. In this way, it is possible to implement each approach independently. The overall operator or controller (this could be a high level program) can choose the control algorithm to use. This is indicated by the dashed semicircular arrow in Figure 41 resembling a rotary switch.
This approach of design also facilitates the implementation of the simplest scheme first and more advanced algorithms can be added at later stages as and when required.