Tester for Metz MECATRONIC RC servo 190/18

I am currently working on the restoration of a Metz MECATRON ‘BABY’ radio remote control. For testing and commissioning the rowing machine, I didn’t want to switch on the entire remote control every time, so I built a simple tester.

This tester reproduces the output of the receiver 191/S – a relay with a switching contact – with a corresponding button. Thus, the function of the rowing machine, which depends on the control panel used, can then be tested.

In my case, the control panel 1 is inserted; the following switch rhythm is realized according to the user manual:

  • Transmitter key pressed: Rudder left as long as button remains pressed
  • Press the transmitter button briefly (approx. 0.4 seconds), release briefly (approx. 0.4 seconds) and hold down: Rudder on the right, as long as the button is pressed the second time.
  • After letting go of the transmitter button, the rudder always goes neutral by itself.

In the setup presented here, of course, the transmitter button corresponds to the button.

The tester can be easily mounted on a laboratory circuit board and the wiring effort is minimal. As can be seen in the picture, I realized the required 7-pin plug for connection with the rowing machine by inserting soldering nails into a 7-pin tube socket.

Joystick RC with Spektrum DXe transmitter

Overview

This article shows how a Spectrum DXe remote control transmitter can be used with the help of a USB2PPM adapter and a notebook to fly a quadcopter with a joystick. This application is particularly interesting in that it allows you to check the almost delay-free command processing.

The project includes the following steps:

  • Preparation of the remote control transmitter
  • Building of the USB2PPM Adapter
  • Download the Joystick2PPM program
  • Settings and commissioning

In addition to the remote control transmitter, PC or notebook with Windows 10, USB2PPM adapter and joystick, a trainer cable is required to connect the remote control transmitter to the USB2PMM as well as a USB cable.

Preparation of the remote control transmitter

The spectrum DXe remote control transmitter is controlled by the teacher/student jack on the back of the transmitter. An external PPM signal can be fed into this jack – usually from a second transmitter, the student transmitter. The jack is a 3.5 mm standard jack and the cable connection is made via a corresponding mono-aux cable.

In order for the teacher to be able to take control quickly at any time, the student’s signal is only transmitted as long as the teacher pushes the bind / panic button. This practical implementation of the teacher-student operation naturally makes it difficult to take over the transmitter permanently, since you probably cannot or do not want to manually push the button down while flying.

Therefore, I have installed an additional switch in my Spectrum DXe in order to be able to permanently switch the remote control transmitter to student operation. Although the installation is simple, you should only consider it if you accept the likely loss of the warranty.

Installation of the additional switch for permanent student operation

The housing is opened as described in the manual. In the back half of the transmitter housing there is already a hole at the ideal position, which is covered from the outside by a sticker (see red arrow in the picture).

Expose the hole and insert the additional switch (see details).

The wiring is done in such a way that the Bind/Panik/Trainerbutton is shunted (see picture). For this purpose, a short piece of wire is soldered to the small printed circuit board.

I then attached a small arrow on the outside so that I always know in which mode the transmitter would be currently (see picture).

Building of the USB2PPM Adapter

The USB2PPM is built according to the construction instructions, but the last step (soldering the three-pole PIN header for the PPM signal) is omitted. Instead, a 3.5 mm jack is placed in the experimental field of the printed circuit board (see picture) to connect to the Spectrum DXe.

Adaption USB2PPM for Spektrum DXe

With this, all hardware bits and pieces for setting up the remote control are ready.

Download the Joystick2PPM program

The Joystick2PPM program takes over the evaluation of the joystick positions and the conversion into corresponding commands to the USB2PPM. This in turn generates the PPM pulse frame as an input signal for the remote control transmitter.

The Joystick2PPM program is open source and can be downloaded from the USB2PPM controller page. It is a Java program that only needs to be unzipped; an installation is not required. However, in some cases, the Java runtime may still need to be installed.

Settings and commissioning

Now connect the USB2PPM adapter and joystick to your PC. When connected for the first time, Windows 10 will automatically install drivers and associate the adapter with a COM port. After completing the driver installation, start the program Joystick2PPM by calling the Start-Windows Batch File (start x64.bat for a 64 bit system or start x86.bat at 32 bit).

Next, you would configure the joystick and assign channels of the remote control to the individual controls. To do this, switch to the tab labeled with the designator of your joystick.

First, you would assign “Throttle” to the “Slider”. To do this, click on the “+ button” in front of “Slider” and a selection window will pop up. Please confirm the assignment.

The assignment of the other channels is then analogous by selecting the + button. In my case, I placed the Y axis on channel 2, the X axis on channel 3, and the rotation on channel 4.

Select the COM port of the USB2PMM under “Port Settings” and click on the “Connect” button. If you still have the command window open, you will see the commands that are transmitted cyclically to the USB2PPM adapter.

Now turn on your transmitter and make sure that the transmitter is “paired” with the remote control model (trainer switch to “off”). Now, without turning off the remote control transmitter, connect the USB2PPM adapter using the training cable with the remote control transmitter. After turning on the trainer switch, you can remotely control your model with the joystick. If necessary, you can perform the trimming for the individual channels and a possible servo direction reversal on the PC.

 

Arduino Pic Programmer

Overview

If you would search the internet you will find quite some DIY pic programmers. However, those designs often either require a true serial or parallel port instead of an easily available USB port or are designed around a pre-programmed controller assuming access to a programmer.

A compelling alternative would be the use of an Arduino as in the ArdPicProg. Load the Arduino sketch, the host program and add a prototype shield with a very limited number of additional components to build your pic programmer. This programmer features also a ICD connector and an RJ-11 jack (ICD2) interface. The complete project including hard- and software is open source and is released under the GNU General Public License Version 3. You can build your own ArdPicProg by using the especially designed PCB.

The complete setup and the application of the ArdPicProg is described in more detail in the User’s Guide.

Host-Software for ArdPicProg

For programming a pic controller a host software would be required. You can select between two options: the terminal program “Ardpicprog” or the “Arduino Pic Programmer” (ArdPicProgHost) with a Windows based graphical user interface. The source code for both programs is Open Source and would be available for download on github.

Arduino Pic Programmer (ArdPicProgHost)

This windows application offers a modern and intuitive way of programming a pic controller.

Controllers which are supported by the Arduino Pic programmer can be read, erased, and written. The user interface and the program options are also described in the User’s Guide.

ArdPicProgHost was programmed with Microsoft VB2010 Express and is released under a GNU General Public License Version 3. The source code is provided through a github repository. The executable (Release 0.2.7) can be downloaded here:

The software does not require any installation. After downloading and unzipping the program can be executed right away.

PicProgHost (terminal program)

You could also employ the host application “PicProgHost” for programming pic controllers which offers a terminal interface. The application is based on the open source Ardpicprog host software you would find on the ArdpicProg project pages. These pages also provide for a suitable documentation of the program operation.

The original source code has been migrated to a Qt 5 environment and the most recent version is now capable of handling COM ports > 9. The can be downloaded here:>

The source code is available on github. The line commands are fully backwards compatible to Ardpicprog – therefore please refer to the ArdPicProg project pages for more information.

There is no program installation required. The user interface is also described in the User’s Guide.

Arduino sketch “ProgramPic”

The “ProgramPic” Sketch which is required for using the Arduino ArdPicProg shield is released under a GNU General Public License Version 3 The sketch is provided through the ProgramPic github repository.

ArdPicProg printed circuit board

The ArdPicProg PCB is available in the shop.

RC with your web browser – more intuitive and more agile

In previous blogs related to RC with a web browser I presented solutions which were suited for simple and none time critical applications due to the user interface and the system response time.

The initial concept of a button based user control was relatively slow because the web page had to be re-transmitted and rebuild on the client side after each user interaction.

The improved “joystick”-based interface was already deploying AJAX to improve the system agility. However, in order to initiate a command you would have to touch the screen and to stop the movement you would have to touch the screen at another location which is not very intuitive. You would probably expect a movement to last as long as you touch the screen.

The latest version of httpRC presented here does address both requirements based on a button based UI: a command is executed only as long as you touch it in a very agile way.

The source code for the ESP8266-01 is provided through github and the programming itself can be done via the programming adapter described earlier.

Additional information regarding the receiver kit you would find on the respective PiKoder page.

Control your Ardupilot Mega Rover with your Android Smartphone (III)

Overview

The Ardupilot Mega (APM) and other flight controllers are frequently controlled by a PPM stream rather than the parallel input per channel which I described in part 1 of this blog. The new PiKoder/PPM wRX receiver with its PPM frame output brings this capability to you. The connection between the receiver and the flight controller is reduced to a single 3 strand cable as shown in the featured image.

Description

The PiKoder/PPM wRX receiver will be controlled by the udpRC4UGV App as described in part 2 of this blog.

The feature set of the app has been extended to allow you to freely determine the position of the direction and throttle channel within the PPM frame through the app preferences.

To change the channel setting please select the respective preference and enter the channel number (1 .. 8). E.g. the APM Rover configuration features direction on channel 1 and throttle on channel 3.

Please note that setting the APM’s input mode from parallel to PPM requires a jumper between channel 2 and channel 3 input as shown below.

Control your Ardupilot Mega Rover with your Android Smartphone (II)

Overview

As already indicated in the previous blog on the topic “Ardupilot Mega Rover with the smartphone remote control“, now, after some further work on the topic, a new Android(TM) app “udpRC4UGV” with rover-specific functions is available. The most important enhancements are the selection of the flight mode and the toggling of channel 7 making a number of APM special functions available.

Description

As outlined in the previous blog a PiKoder/SSC wRX receiver replaces the standard RC receiver in the rover. The smartphone RC uses WLAN for command transmission: the PiKoder does offer an access point (AP) to which the smartphone will connect.

The remote control app offers a variety of user interfaces: from simple key control to a virtual joystick to an accelerometer-based option.

In addition to the general controls for remote control, each user interface also offers the possibility to choose the flight mode. In addition, channel 7 can be triggered via the “CH7” button (for example, in LEARNING mode, the current position is saved as a waypoint).

The app is available free of charge from the Google Play Store. The User Manual can be downloaded from the PiKoder website; it describes not only the program operation in detail, but also the hardware setup.

Ardupilot Mega Rover remotely controlled with smartphone

Overview

In the standard setup of the Ardupilot Mega (APM) for Rovers you would deploy a conventional RC for manual control: the RC receiver feeds the input channels of the APM with PWM signals for Rover movement and for executing special functions such as switching flight modes.

If you replace the conventional remote control receiver with a PiKoder receiver such as the WLAN receiver PiKoder/SSC wRX, then the Ardupilot can be controlled via a smartphone, for example in the rover configuration. As an user interface, either the Android remote control apps udpRC or picCAR can be used for this application or the browser interfacedescribed in the previous article.

Setting up the rover

First, the APM is loaded with the Mission Planner with the ROVER configuration; a further adjustment of the parameters was not necessary in my case.

The following image shows the very simple hardware setup.

The PiKoder – channel 1 is connected to the APM input 1 (steering) and the PiKoder – channel 2 to the input 3 (throttle). The standard rover wiring is used at the output side (steering servo on channel 1, ESC with BEC on channel 3). In this configuration, the Ardupilot takes over the power supply of the receiver.

The Ardupilot does not respond to PWM signals that are below or exceeding the typical range of approx. 1,000 – 2,000 µs. Therefore, the minimum and maximum values of the pulse values of the PiKoder/SSC have to be adjusted, as shown in the following figure.

For this purpose, the PiKoder Control Center (PCC) is used as described in the User’s Manual for the PiKoder/SSC wRX.

This completes the set up; the function of the apps is described in the user manuals.

Outlook

The implementation of further configurations and functions has now been done and incorporated into the Android app udpRC4UGV, which is described in the continuation of this blog.

Since both the apps are open source and the receiver protocol is disclosed, you can of course also make your own modifications and extensions.

RC model control with web browser – improved user interface

A few days ago I came across the ESP8266 MikroE Buggy project.

In this project, a web server is implemented on the ESP8266 – similar to my blog Model Remote Control with Web browser. Using this concept, a browser based (and therefore operating system neutral) radio control could be easily made available. In this project, especially the HTML5 based user interface implementing a joystick caught my attention.

The software is open source and so I was able to change the program for use with a PiKoder/SSC wRX. Additionally, I adapted the code for controlling a ‘normal’ car or boat (one channel for speed, one channel for direction). The customized source code is available in a github repository.

The programming of the ESP8266 is also described in the web browser model remote control blog. An additional feature of the ESP8266 MikroE Buggy project is that the Arduino file system is used. The installation and use is described here.

Digital and precise servo tester

Overview

The servo tester presented here is equipped with a PIC controller to provide for very accurate pulse generation (pulse width: 1 ms – 2 ms) especially in comparison with a simpler construction with RC links. For this purpose, the internal oscillator is used, which is specified in the selected range of the supply voltage with an accuracy of 1 %.

Furthermore, the servo tester is characterized by the fact that, in contrast to other simpler digital devices, the supply voltage range is specified form 4.8 V – 6 V. With this, the servo tester can also be connected to the BEC connection of a speed controller. The polarity of the pulse for servo control can be adjusted by hardware (jumper setting).

In addition, the Servo Tester enables the use of servos for other applications, such as for rotating and panning surveillance cameras.

Circuit

The circuit is based on the PIC12F675, which controls the servo tester. The supply voltage of the controller is lowered to 3.3 V by a corresponding controller; this ensures the highest accuracy of the internal oscillator on the one hand and the large supply voltage range of the tester on the other hand.

However, this approach requires a driver transistor Q1, which performs the level adjustment to control the servo. The supply voltage of the servo is directly looped through, so that servos or motor controllers can be tested either with the already existing battery / BEC supply by the speed controller or by means of an additional power supply (in this configuration it must be ensured that no power is provided via the servo plug).

The jumper JP3 determines the polarity of the control pulse for the servo. Please note that the LED is a bi-color LED.

Operation

The operation is simple and intuitive. The servo tester has two different operating modes: the manual mode, in which the servo is controlled by a rotary knob P1 and the neutral position can be adjusted and the exercise mode, in which the servo is continuosly moving between the end points. The change between the two operating modes is carried out by pressing the button S1. The LED will indicate the active mode of the servo tester.

After switching on, the device is in manual mode and the servo position is adjusted by rotation of the potentiometer P1. In the pulse area outside the window of 1.45 ms and 1.55 ms, the LED lights up in green. To move the servo to the neutral position, the color of the LED within the window of 1.45 – 1.55 ms changes to yellow or both colors of the LED light up and when the neutral position of 1.5 ms is reached, red is finally displayed; no button has to be pressed and both hands are free to perform adjustment work if necessary.

The Exercise Mode offers two speeds to choose from. The LED flashes red in this mode and shows which speed was selected via its flashing frequency (0.25 s corresponding to 2 x flashing/second or 15 s (correspondingly once 2 s on, then 2 s off) from final rash to final rash). The speed is switched by turning the potentiometer: if a pulse length greater than 1.5 ms is set, then the Exercise Mode is selected at high speed, otherwise the servo is controlled slowly.

Software Download

The firmware for the servo tester (Release 1.0) is freeware, which can be used without restrictions for private, non-commercial purposes according to the underlying End User License Agreement (EULA).

Servotester kit and components

In my shop you will find a complete kit for the tester.

Joystick controls eight servos

Overview

In the field of robotics, there is more often the need to control several servos, e.g. when realizing a robot arm. A joystick is a suitable control element, because the variety of axes / degrees of freedom allows efficient control over many channels.

This article introduces a PC-based solution for controlling up to eight servos with a joystick. The mapping of the joystick channels and switches on the servo channels is done flexibly in the configuration interface of the software. The actual pulse generation for the servos is carried out by a PiKoder Serial Servo Controller connected to the PC via a USB interface. With a PiKoder/SSC a control accuracy of 1 microsecond can be achieved.

Setup

The setup is ideally done with the help of a PiKoder/SSC evaluation board and with a standard USB adapter.

The PiKoder is supplied with power via the USB cable. Since the USB interface cannot provide enough power for the servos, those must be feed with an independent voltage source via the respective header. In order to prevent balancing currents that could damage the PC, the jumper must not be plugged into the PiKoder circuit board under any circumstances. Further information can be found in the User Manual of the PiKoder/SSC and PiKoder/SSC-HP.

Connection of the USB cable to the PiKoder/SSC-HP Evaluation Board – please note that the jumper must not be plugged in

Software

The Joystick2SSC program is open source (Java) and can be found on github, the directly executable program with all required modules can be downloaded here as a .zip file.

All files are extracted and copied to the destination directory; an installation of the program is not required. The program starts by double-clicking start.x86.bat (in a 32-bit system) or start.x64.bat in a 64-bit system.

After the software is started, the main screen appears.

Main screen Joystick2SSC

To configure the servo channels, select the tab labeling your connected joystick.

Assignment of joystick channels / switches to servo channels

Here you can now make the necessary settings. Then return to the start screen and connect to the PiKoder/SSC via Connect. The bars on the right side of the screen allow you to track the positioning and output values of each channel.