|Product Performed to Expectations:||9|
|Specifications were sufficient to design with:||8|
|Demo Software was of good quality:||10|
|Product was easy to use:||9|
|Support materials were available:||8|
|The price to performance ratio was good:||9|
|TotalScore:||53 / 60|
My name is Carlo Russo and I am testing the kit: Trinamic TMC2300 EVAL KIT (2-PH Stepper Motor). It is my first participation in a roadtest so any advice you can give me is welcome in order to improve my exposure skills.
The kit arrived a few days after the communication that I had been chosen as a road tester. It is composed of several components which, on visual inspection, are of excellent workmanship. There are three electronic boards made with high quality components and even the USB C cable in the package is of excellent workmanship. The package also included a 4-wire bipolar stepper motor already equipped with a terminal suitable for a simple and quick connection to the control board and an additional 4-pole terminal.
As specified in my request to be a road tester, the purpose of my test is to introduce students of my class to stepper motors.
I teach in an Italian high school and I deal with Telecommunication Systems and Networks and, among the didactic activities I carry out several activities using electronic boards (usually Arduino), sensors and small actuators to create simple systems. The aim I pursue is to give students a good knowledge of IoT and technologies related to Robotics. We use to work with motors to make small robots but we never used stepper motors. TRINAMIC gave me the opportunity to be able to work with cutting-edge cards on stepper motors in order to be able to create systems with control and precision regarding speed and position that are difficult to obtain from other types of motors.
The activities carried out on the kit were varied and began after an introductory lesson on stepper motors and their characteristics. My intention was to use the kit for laboratory activities once a week, assigning different groups of students to different tasks. Unfortunately, the advent of Coronavirus has slowed down my plans a little. Schools have been closed in Italy for many days and I have had to complete and test many of the experiences myself. Next year we will start from the experiences I am about to describe in order to proceed in the study and optimal use of this technology.
The TMC2300-EVAL kit allows you to explore all functions of the TMC2300-LA. The TMC2300-EVAL-KIT is a set of one MCU board Landungsbrücke, an Eselsbrücke bridge board and one TMC2300-EVAL driver board. It allows for a quick and simple start within only minutes to make your motor turning, while still providing full access to all registers and full functionality and diagnostics.
Each of these has a good supply of information on the TRINAMIC website.
The first card is the: TMCL2300-EVAL
For diagnosis, all signals between MCU and TMC2300 are accessible with probes on the bridge board. TMC2300-EVAL can be used with or without the Landungsbrücke MCU board.
As for the development software, comprehensive sample code can be found in Trinamics Technology Access Package TTAP.
The second card is “Landungsbrücke”. It is the connection between a desktop computer and Trinamic’s Chip solutions. Just connect the desired board combination and start to discover Trinamic’s unique features.
The heart of the Landungsbrücke is a Freescale MK20 cortex M4 processor. A single firmware design covers all evaluation boards of the Trinamic evaluation system. Users can download the latest revisions, modify the firmware or create their own and easily update it via USB. The code of the Landungsbrücke is open source for download.
The third board is called “Eselsbrücke”. The Eselsbrücke is a connector board for Trinamic’s evaluation board system. With probes on the "Eselsbrücke" bridge board, all signals between MCU and corresponding evaluation board are accessible. Therefore, it allows quick and simple diagnosis for your application.
The first practical activity carried out on the kit was to download the datasheets of the three cards and analyze them. The website (https://www.trinamic.com/) is very well organized and the information is easy to find.The installation of the software did not require major difficulties.TCML-IDE is a software that is distributed in three different formats:
1. TMCL IDE 220.127.116.11 Setup (for Windows)
2. TMCL IDE 18.104.22.168 no install (portable version for Windows)3. TMCL IDE 22.214.171.124 Linux (for Linux O.S.)To facilitate the portability of the IDE between the machines in the laboratory, we have chosen to use the portable version that has not given any problems on PC with Windows 8.1.
The TMCL-IDE includes the following:
The initial setup was quite fast and without any setbacks. There are also videos in TRINAMIC sites that are very helpful, although related to other TRINAMIC products, making it easier to understand the possibilities offered by the kit in question.
The graphical interface is very rich in information, in fact there are many windows that can be used to analyze instant by instant everything that happens in the card.
The first times that you work on this program, the very high amount of information that it makes available to the user can create a bit of bewilderment for the user but after a while, it is possible to organize the windows necessary for our activities to make immediately usable during program execution.
A pop-up at the start of the program warns the user that the card is in standby (this condition is also indicated by the lighting up of the red LED relating to error situations). It can be activated, after setting the maximum current in the motor, by clicking on the VIO/NSTDBY pin.
The connected devices window or Tool Tree, shows information related to the connected device.The information we find are:
The Chip Click window is instead used to configure the voltage and therefore the behavior of some pins of the TMC 2300 chip by means of simple clicks. On each of the configurable pins a voltage VCC, or the GND ground or can be left floating.
The second practical activity carried out using the kit was the installation and configuration of the basic scheme in which the stepper motor is controlled directly from the PC, thanks to the TCML-IDE program and the TRINAMIC cards.
The students already knew about DC motors and had used them in simple robotic applications with Arduino. When they saw the operation of the stepper motor they were very impressed both by the jerky motion with which it proceeds and by the intense torque it manages to exert.
The first laboratory experience was spent piloting the motor with the graphic interface of the TMCL-IDE.
Especially at low speeds, the difference between a stepper motor and a DC motor has been remarkable. An optical count of the steps was also made by which we calculated the amplitude of the single step.
Tests were then performed using the position-based control, both considering relative and absolute position. The students were very impressed with the precision with which the motor returned to its starting position even after thousands of steps taken.
The measurements were made without using sophisticated tools since the aim was not so much to assess the accuracy of the kit cards as to make students know a technology that they had only seen on books and that allows you to solve problems that with the use of DC motors cannot be properly managed unless using additional sensors.
The third activity carried out by the students was to create a simple C program that could manage the command board without using the TMCL-IDE software.
Obviously the purpose was limited to executing a few instructions but I thought it was necessary not so much to create software capable of managing all the instructions of the TMCL language but to show students how it is possible to interface with a control board using the correct language and syntax through a serial channel.
The starting point was offered to us by TRINAMIC itself thanks to a C code as simple as it is efficient, found at the link: https://www.trinamic.com/fileadmin/assets/Support/Software/.
A simple C code was created which, at startup, allows the user to choose which instruction to send to the control board and with what parameters. Everything was done at the command line, without spending energy to create a graphical interface.
Commands such as ROR (Rotate Right), ROL (Rotate Left) and MST (Motor Stop) have been implemented very easily simply by analyzing the syntax of TMCL commands derived from a manual of the TMCL language.
Some problems have been encountered in the implementation of the code necessary to activate the card, or to bring the voltage on the VIO / NSTDBY pin to VCC.
The difficulties encountered by students in activating the chip were resolved by observing the TMCL-IDE logs in correspondence with the board startup instruction.
From reading the values of the datagram associated with the desired operation, the students traced the precise syntax of the command which, in the manual, was unclear and obtained the correct functioning of the code.
The fourth "challenge" that I proposed to my students was to make sure that the speed of the stepper motor depended on an external quantity, for example, a temperature, a distance, etc.
The aim I wanted to achieve was to simulate an IoT system that had to control a stepper motor based on the values read by a sensor.
To complicate matters a bit I have imposed that the exchange of information between the sensor and the control board should take place via wifi.
Also, in this case, the students tried to reuse knowledge already acquired in previous laboratory activities and decided to use an ultrasonic sensor configured to measure distances as the source of the control signal.
As for the transmission of values using the wifi network, a simple WeMOS D1 card was used to create a very light web server in which to periodically publish the distance value read by the ultrasonic sensor.
A C++ code based on that produced in the previous experience periodically reads the distance value and varies the speed according to the value received.
Obviously this experiment, although not having its own utility, was very interesting because it forced the students to choose the hardware and software components necessary to create a real IoT system by adapting different technologies in order to make them communicate with each other. The solution found, although not particularly elegant, is however functional.
In this project, we have created a small web server with a WeMOS D1 card, thanks to which the distance detected by an ultrasound sensor is published every second. The value, detected by a C application, is used to manage the speed of the stepper motor. In particular, we calculated the value to be assigned to the speed through a simple mathematical law.
Once the speed has been calculated, the value is sent to the stepper motor control board using the classic datagram built by the C program according to the syntax of the TMCL language.
With this simple example the speed of the stepper motor varies according to the distance between the ultrasonic sensor and an obstacle.
The purpose of the simple example is to see how to interface the motor to an external card, simulating a usual situation in the IoT.