| @@ -1,14 +1,38 @@ | |||
| To ensure that the design method resulted in a functional system, a prototype will be build from the current state of the design. | |||
| Although the development resulted in only a partial design, I determined that a prototype is more valuable than repeating the development cycle for the next feature. | |||
| For the construction of the prototype \ac{ots}-parts are used as much as possible and the mechanical linkages of the SCARA will be printed. | |||
| To write characters on a whiteboard; drivers and controlloop are implemented in software. | |||
| %&tex | |||
| To validate the dynamical and mechanical models, I will build a prototype of the current design. | |||
| For the mechanical design, the CAD model is used to print the custom parts. | |||
| Other components, such as steppers, microcontroller, screws and miscellaneous electronics, are ordered. | |||
| To test the dynamics, the steppers and servo have to be actuated. | |||
| To achieve this actuation a control law is written in software. | |||
| \subsection{Mechanical Construction} | |||
| With the 3D printed parts the SCARA was easy to construct. | |||
| The diameter of the holes in the parts were printed slightly undersized. | |||
| This was on purpose, such that the holes can be drilled to the specified size. | |||
| To connect the bodies on the joints, a bolt with washers is used. | |||
| Although this is clearly not the ideal technique to build joints, it was by far the easiest option. | |||
| During assembly I noticed that the bolts of a joint and those that hold the stepper motor in place collided. | |||
| This was possible because the bolts were not included in the CAD-model. | |||
| In hindsight this should have been included. | |||
| Fortunately there was enough clearance to mount the SCARA slightly further on the axle. | |||
| Resulting in an operating SCARA without having to redesign the mechanics. | |||
| \subsection{Control of the SCARA} | |||
| Although the focus of the design plan was specifically not the software, it still forms a important part of the development. | |||
| To run the hardware, I chose for for a STM32 \ac{mcu}. This is a powerfull processor with sufficient IO available. | |||
| RIOT-OS was chosen as an operating system due to prior experience and available support. | |||
| To be able to write characters on the board the following tasks have to be implemented in software: | |||
| \begin{itemize} | |||
| \item Driver for the stepper controller | |||
| \item Driver for servo motor | |||
| \item Control/Path planning | |||
| \end{itemize} | |||
| \subsection{Implementing Behavior} | |||
| Now with a physical SCARA, the last step is to implement the behavior. | |||
| The stepper motors are powered via a stepper controller. | |||
| The path planning for the SCARA and the operation of the stepper controller is implemented on a \ac{mcu}. | |||
| The stepper controller chip can be configured over UART and has two simple IO pins for step and direction signal. | |||
| To simplify the control, the software driver configures the stepper controller and includes functions to move the stepper motor to a certain angle. | |||
| Meaning that the feedforward control of the steppers is handled by the software driver class. | |||
| The angle of the servo motor is controlled by the duty cycle of a \SI{50}{\hertz} PWM signal. | |||
| The PWM signal generation is offloaded to the IO peripherals and the software driver has a toggle function to lift the marker from the board. | |||
| Most of the code for the software driver was already available as a module in RIOT-OS. | |||