History of the project
When my brother and me were young we built small model boats. While my interests tended more to computer hardware my brother stayed at this area. Finally, it was only a natural conclusion to make a combination of both things.
What is the job of such a board computer?
The model boat for which this system was developed for was (or is) a two-engine boat with two 7.5ccm combustion motors. These motors are basically independent and drive two independent propellors. Both motors are equipped with electric starter motors controllable via the remote control. This allows to restart the motors without the need to touch the boat.
The most interesting jobs initially planned to be performed by the computer are:
- RPM (Revolutions per Minute; also called Revs) measurement of the engines. That’s one essential job required for the most other things. For the first we used light barriers with infrared light to measure the RPMs. But because of big troubles with dirt and oil we changed to HALL-effect sensors in combination with permanent magnets that worked very well even under worst environmental conditions.
- Engine Syncronizing System (ESS). Stearing both motors with only one joystick is not trivial. Because both engines don’t behave exactly in the same way it’s not enough to provide the throttle-servo with the same signal. This will not lead to identical RPMs for both engines and the boat won’t drive straight forward. This in turn requires activities by the conventional stearing system.
The ESS is responsible to keep both engines at exactly the same RPM level. Of course, finally this is not the only prerequisite to drive straight forward. There are also other factors like wind, waves, and waterflow that have influence on direction. However, it’s one point and it was just interesting to see how it works.
- Automatic Engine Tuning System. Usually combustion engines don’t have only a throttle “input”. There’s at least one regulator intended to adjust the amount of fuel (Methanol+Nitromethane+Oil) to be mixed with air. This tuning system was intended for automatic adjustment of the mix so that the engine delivers always optimal power.
- Starter Control System. The electric starting motors are also controlled by the board computer. This is for safety reasons to not destroy the starter motors. In our concrete application they have drawn about 8Amperes from a 15Volts power supply. In some cases they are not able to get the combustion engines turning and they draw even more current in this case. Therefore the board computer is responsible for stopping the electric motors after a certain time when the combustion engine has not reached a certain threshold of rotations per minute.
The picture below shows the core processor board.
It is made completely by hand – especially making the vias was a terrible soldering job …
The formfactor of the board is a little bit strange because it had to fit into the bow-section of the boat.
The following components can be seen there:
- Rockwell R65C02 CPU (down-left)
- 2x Rockwell R65C22 Versatile Interface Adapter (VIA)
- 32kB RAM (above CPU)
- 16kB ROM (above RAM)
- GAL16V8 for address decoding (top-left)
- 4MHz oscillator (top-right)
The large connector at the right side contains a lot of I/O lines that are connected to other supplemental boards.
The smaller connector is used to control an alphanumeric LC Display (LTN211, 2 lines each 16 characters).
I wrote a small realtime operating system for this computer. This OS is able to handle several pseudo-concurrent operations and the I/O system (maily the LC Display handling). The OS I used in my DAT Recorder is based on this Operating System but has got a lot of improvements.
Status (What is really working?)
Three major functions are implemented for now:
- RPM measurement with maximum function
- starter engine handling
- servo signal decoding (pulse width received by the remote control receiver)
- servo signal generation (creation of a specific pulse width)
- forwarding of one incoming throttle signal to both throttle servos of the combustion engines
The most interesting functions such as engine syncronization and tuning were never implemented. There are several reasons for this.
One problem was the reliability of the combustion engines. At that time we built this boat we had not that much money to buy very expensive engines. I don’t know the situation today, but one should invest about 250 – 500 Euros in a good model combustion engine. Because the engines we used made a lot of troubles it was sometimes very difficult to get both engines running in a well state to make some tests.
Another problem was the reliability of the board computer itself. Although this is not completely true. The computer itself is running very well under laboratory conditions. But the electrical system of the boat caused sometimes system crashes. This is because I made the mistake to not make an optical isolation of the computer from other peripheral devices. So especially the starting process of the main engines often led into a crash of the computer because of heavy electrical bus instabilities (and there was nothing like a watch dog timer …). Even a separate computer power supply has brought no major advantages. There’s still a common ground and the computer controls more or less directly some servos and relais.
Since around 1995 this project is standing still and it is unclear whether it will be continued. There are several ideas in my mind for improvement of a lot of things and there’s enough money available to invest in very good combustion engines and a new professional hardware. Also I collected a lot of experience in hardware design meanwhile. However, there are a lot of other projects and time is the problem. Also my brother is working on a real sailing yacht now rather than on model ships.
Today one would choose a microcontroller or DSP with lots of things integrated rather than building such a system out of “discrete” components.
For questions and comments send your emails to Mario.Trams@digital-force.net