Jump to content

Recommended Posts

Posted (edited)

IMPORTANT NOTE:

 

This build log is a title change from the previous title "Arduino Rowing Mechanism for RC Galley". The log was originally opened to record my progress on making a servo-driven mechanism to move banks of oars in a realistic manner, for the purposes of building an RC Roman galley, propelled by her oars, at 1/32 scale. An Arduino "Uno" interfaces to the RC Rcvr and four servos which drive the oars on two sides, with author-written software to control the oars according to the "throttle" and "rudder" signals from the Rc Transmitter. Software was developed using the Arduino "Integrated Development Environment" (IDE) and a prototype test jig containing several oars per side. The log got pretty long in the end; readers interested only in the actual ship development should jump to post 164 on pg 6, bypassing the tangled history of the software and rowing mechanism development. Those who might be interested can read the initial pages.

 

***************************************************************************************************************************************

***************************************************************************************************************************************

 

START OF ORIGINAL BUILD LOG:

 

Lately I have become interested in ancient Greek and Roman galleys, and have been toying with the idea of making one for RC. When I saw Richard Braithwaite's demo mechanism I became even more intrigued with the idea.

 

As opposed to using electric motor(s) and some sort of mechanical drive with pulleys and chains I thought a better way might be to use hobby servos for the job; one servo driving the forward/backward sweep and a second driving the up/down motion of the oar loom beam (per side). And rather than having a four channel set and continuously twiddling the sticks to make the oars row, it seems an ideal application for an Arduino microcontroller running custom software. In this scheme, the Receiver output servo signals for "throttle" and "rudder" are connected directly to, and read by, the Arduino. The rudder signal is also connected to the rudder servo via a y-harness. Arduino software controls the four oar drive servos.

 

This servo-driven scheme has several advantages over electric motor mechanical drive: 

 

(1) Since software is driving all four servos, it is simple to keep them all moving in sync, whether going forward, backward, or reversing oars on one side during a turn, at any given speed,

 

(2) Software can use the "rudder" input to decide when to move the two sides differently; for example a slight course correction can be ignored (by the oar servos); a middling rudder angle could halt the oars in the water on the inside of the turn; a large rudder angle could reverse the oars on the inside of the turn (while keeping the start and end of the stroke synchronized on both sides).

 

  (3) When slow speed is desired, the software can shorten the stroke as opposed to an electric motor drive which still executes a full stroke making it look like the oarsmen are stretching right out and pulling back, all in slow motion.

 

(4) Software can provide a slight pause at the end of each power and return stroke, as would occur naturally as the oarsmen absorb then reverse the inertia of the oars.

 

(5) Software can make the return portion of the stroke faster than the power portion to better represent actual rowing.

 

The shape of the overall stroke is formed by the dynamic relative movements of the sweep and lift servos; any shape can be formed, eg rectangular, oval, eliptical, circular, by performing a bit of math in software to calculate the next servo position writes.

 

In short, the oars can be made to do whatever one wants, and is capable of writing code for.

 

I decided to build a test jig for code development. Each side of the jig has 5 oars in a bireme arrangement; I'm thinking of making either a Quadrireme (88 oars in two remes of 22 each side), or a sextere (120 oars in two remes of 30 each side). See Michael Pitassi's book "Roman Warships".

 

Here are a few photos.......

 

Each side's "platform" slides on two Slim-Line drawer slides which only occupy 3/8" of vertical space. Much less than ServoCity's X-beam with mini rollers etc which was my first idea. The vertical chunks of wood at the platform ends are dadoed to let the oar beam slide up and down; the ends of the oar beams I wrapped in packing tape to make them "slippery". In an actual model I'd replace these with ServoCity's SS shafts and linear bearings. The dummy oars pass through a "hull section" which defines the spacing between the two remes' "tholes".

P1010345.thumb.JPG.5224eba7f140f0a2b6c34e39006a08fa.JPG

 

Here we see the two servos which drive the platforms back and forth.

P1010346.thumb.JPG.0a11b77f88248ac4564b89d3719419ad.JPG

 

Here we can just see the two servos which drive the oar beams up and down.

P1010343.thumb.JPG.87524096b8d55c02002f4b9b048689e2.JPG

 

 

P1010347.thumb.JPG.bf18358cf07dad958d087ccfcb76cfb0.JPG

 

Here is the Arduino board, and a prototyping board which will be mounted on it and contain connectors for the receiver inputs, servo outputs, etc.

P1010348.thumb.JPG.055a8ba503763cacba154cbc2fde7f88.JPG

 

My simple two-channel RC set can only drive one side right now, without the Arduino. Tried to upload a video but no joy; will try again later.

 

Edited by Ian_Grant
spelling
Posted (edited)

I've already learned how critical the geometry is, just from building this jig. I drew a scale diagram but I'll need to be even more careful next time. This jig does not have the upper oars at quite a steep enough angle for their blades to reach the same presumptive waterline as the lower oars. In an actual model I would put a servo at each end of each beam, connected on a Y-harness, for the up/down drive. A servo in the middle works well enough for the jig.  Also, I did not get the full extent of the sweep I planned for because my servos move less than 90 degrees overall at least with my ancient 75 MHz setup. I do have a newer 2.4 GHz transmitter, but no receiver as it was built into my ARF airplane.

 

The big question is: how much power is actually required on the sweep to move a model. This jig just uses standard futaba servos.  Would they be enough to overcome the resistance of the hull's skin against the water? Don't really know, might need a giant scale servo or maybe just a standard sail-arm servo.

 

With only servo drive the boat cannot be too large. I'd love to build a sextere with its two archery towers but this is a broad, deep ship whose model would probably need a lot of ballast to load to waterline. That would be a lot of inertia to overcome.

 

The jig as built requires a beam at the waterline of 7 inches. I figure I could lose 1/2" overall off the oar beams by changing the mounting of the lower oars. This jig has oar looms of 2.5"; if I could reduce that without overloading the servos that would reduce the ship's beam too, perhaps significantly.

 

A quadrireme at 1/32 scale would have waterline beam 6.75" (9" overall) and length about 4'-6", draft 1.7" which sounds reasonable.

 

A sextere at 1/48 scale would have waterline beam 8" (8-1/2" overall) and length about 3'-10", draft 2.1" which might be a lot of displacement to ballast.

 

Most of the hull amidships would be the "engine room" filled with the moving oar beams and oar looms. There could be no lateral hull bracing in this area. Further, any deck beams will have to be removable to allow "engine" repairs and maintenance.  I'm assuming I could fit batteries, receiver, arduino near the stem, and rudder servo at the stern of course.

 

Note that I haven't built an RC boat in 40 years, or skinned a hull in individual planks in, well, ever! And plans for these ships are non-existent. Pitassi gives the engine room cross section, and top views of deck outline and waterline, but that's about it. Would have to merge Olympias's stem and stern onto this, somehow.

 

Lots to think about.

 

Edited by Ian_Grant
typos
Posted

The connections in life are often interesting. I finally got my head around Fusion 360 (CAD software) through reading a tutorial in an Australian magazine called Diyode. The title is a play on words, the mag is aimed at electronics hobbyists with a heavy focus on arduino. I know absolutely nothing about electronics or arduino’s, the former especially is a dark art to me, but some of the little projects they describe piqued my interest and one day I may try getting over my mental block with things electronic. Now, this project sounds REALLY interesting Ian. Even as a dry land model imagine how fun it would be to, on the hour, have the oars slowly do a synchronised, Mexican wave type rotation🤪. Extrapolate further - the victory’s gunports open and the guns roll out one by one. Incidentally, this is where 3D becomes really useful - you can design all the parts and then have the movement simulated before you commit to anything.

Kevin

 

https://www.ebay.co.uk/usr/ktl_model_shop

 

Current projects:

HMS Victory 1:100 (Heller / Scratch, kind of active, depending on the alignment of the planets)

https://modelshipworld.com/topic/23247-hms-victory-by-kevin-the-lubber-heller-1100-plastic-with-3d-printed-additions/

 

Cutty Sark 1:96 (More scratch than Revell, parked for now)

https://modelshipworld.com/topic/30964-cutty-sark-by-kevin-the-lubber-revell-196

 

Soleil Royal 1:100 (Heller..... and probably some bashing. The one I'm not supposed to be working on yet)

https://modelshipworld.com/topic/36944-le-soleil-royal-by-kevin-the-lubber-heller-1100-plastic/

 

Posted

Now you did it Ian! We have been thinking about a project my grandson needs to accomplish for a college course and i had thought about an approach (of utilizing the controller boards) as part of a solution I might suggest to him. I will definetly being following your progress. My question at the moment is what are you driving these boards with in terms of code (source, lower level, what)?

Joe

Posted

Ian, to get the motion to approximate the real thing, you might like to look at the sea-trials of the trireme reconstruction Olympias in 1990 -

 

I've seen RC galleys with an oar action which is nothing like this - with the oars on the back-stroke going right up in the air. As you can see on the video, in reality they almost skim the water.

 

I hope this is of service to you.

 

Steven 

Posted

I might just follow along with this too, I really enjoy the inventive side of model building

  • 2 weeks later...
Posted (edited)
On 7/16/2021 at 8:05 PM, Thistle17 said:

Now you did it Ian! We have been thinking about a project my grandson needs to accomplish for a college course and i had thought about an approach (of utilizing the controller boards) as part of a solution I might suggest to him. I will definetly being following your progress. My question at the moment is what are you driving these boards with in terms of code (source, lower level, what)?

Joe

I'm just using standard Arduino language commands, which are based on the "C" language, and the Arduino "integrated development environment" (IDE). The great advantage of the Arduino language is that you can write programs without having to understand and control all the register bits in the microcontroller, and more especially how to use all the timers. For example, the "pulseIn" command returns the duration of a pulse occurring at a specified input pin in microseconds; the compiler handles setting up a timer to count clock cycles during the pulse. For another example, the SERVO library provides the writeMicroseconds command which outputs a pulse of specified length on a specified pin i.e. to a waiting servo; the compiler picks a timer and sets it up to time out after the desired pulse length. In fact, using the servo library one can control up to 12 servos with the compiler employing only a single timer.

 

I won't need to worry about timers at all, because I know that each time the program receives and measures the "throttle" and "rudder" pulses from the RC Receiver,  20 msec has elapsed since the previous pulses. I can derive the stroke cycle timing in terms of "number of 50Hz RC cycles elapsed". I think 🤪.

 

You can find a list of the standard Arduino commands at  https://www.arduino.cc/reference/en/ . Arduino provides a free development environment which one uses to write, compile, and easily download programs to the target board.

Edited by Ian_Grant
Posted (edited)
On 7/16/2021 at 5:42 PM, Kevin-the-lubber said:

The connections in life are often interesting. I finally got my head around Fusion 360 (CAD software) through reading a tutorial in an Australian magazine called Diyode. The title is a play on words, the mag is aimed at electronics hobbyists with a heavy focus on arduino. I know absolutely nothing about electronics or arduino’s, the former especially is a dark art to me, but some of the little projects they describe piqued my interest and one day I may try getting over my mental block with things electronic. Now, this project sounds REALLY interesting Ian. Even as a dry land model imagine how fun it would be to, on the hour, have the oars slowly do a synchronised, Mexican wave type rotation🤪. Extrapolate further - the victory’s gunports open and the guns roll out one by one. Incidentally, this is where 3D becomes really useful - you can design all the parts and then have the movement simulated before you commit to anything.

Funny you should mention Fusion360. I've only used tinkerCAD which seems to be at a rather "for children" level. There really are no accurate plans extant for any ancient galley; having purchased both "Age of the Galley" and "Roman Warships" I am amazed at how little we actually know. Knowledge of Roman galleys is gleaned from coins, a few uncovered fresco paintings in Pompeii or Herculaneum, and some stone relief carvings on Trajan's Column among others. That's it; that's all. Contemporary historians never seemed to include descriptions when mentioning galleys, assuming their contemporary audience had actually seen them already. "Roman Warships" provides an "educated guess" at the various ships but drawings are pretty much limited to a side view, top view, and single cross section in the "engine room". Oh, and they're about 4" or 5" long.

 

Anyway I was wondering how to modify and marry the bow and stern lines from "Olympias" (as an approximation) to Pitakis's extended engine room cross section and Fusion360 came up in my thoughts. But what a learning curve!  Oh, for my old drafting machine and table.........

Edited by Ian_Grant
Posted
On 7/17/2021 at 3:45 AM, Louie da fly said:

Ian, to get the motion to approximate the real thing, you might like to look at the sea-trials of the trireme reconstruction Olympias in 1990 -

 

I've seen RC galleys with an oar action which is nothing like this - with the oars on the back-stroke going right up in the air. As you can see on the video, in reality they almost skim the water.

 

I hope this is of service to you.

 

Steven 

Thanks Steven, I saw this before but you are right, the stroke is very flat. If this project proceeds to fruition, I expect to be modifying the oar code pool-side during trials to get the shape right, and also to decide at what point the rudder needs the assistance of stopped or backward-going oars on one side.

Posted (edited)

I have been wondering how to construct oar ports on a real model. Wouldn't want the oars rubbing away at the necessarily thin skin and making the holes ever bigger! My current idea is a drilled hole, with a suitably dimensioned brass "chicken wire staple" for the oar to rub against. Real galleys apparently lashed the oar to a single thole pin, but this doesn't seem practical in a working model. The lower reme's ports need to be pretty snug because their scale freeboard will be less than one inch from the water - remember, literally whole fleets of these things were sunk by sudden storms.

 

Here is a brief video showing movement of the mechanism. As I said before, with my two channel RC set I can only power one side; that's where the Arduino comes in!  The last part is me trying to row by twiddling both sticks, not very successfully. Arduino will provide consistent motion.

 

Next step is to go to Digikey and order the servo connectors I will need for the Arduino daughter board, plus I think some DIP switches in case I need a "Cal" test case or whatever. I was also thinking of using the 3-position switch channel on my nicer 2.4G RC transmitter as an "over-ride" with its three positions  (a) stopping all oars in water, (b) allowing oars to row normally according to throttle and rudder signals, (c) stopping all oars out of the water. But for that I would need to buy a new 2.4G Rcvr unit of 4 or 6 channels.

 

https://www.youtube.com/watch?v=ivhx3jbQ4p8

 

Let me know if this link works or not  😉

Edited by Ian_Grant
Posted

Most of this is over my head - RC is a totally unknown field to me. (In my view anything more complex than a waterwheel is an instrument of the devil).

 

The action looks good. The only comment I can make is that lower bank oarports apparently had leather sheaths to keep the water out. I'd intended to put them on my dromon, but (a) I never got round to it and (b) they wouldn't have been visible anyway. But you might consider it for your own model, which is at a larger scale than my own. I doubt that you could use leather, but perhaps thin vinyl or something similar?

 

Steven

 

 

Posted (edited)

Hi Steven,  yes they used sheaths as you describe, apparently called "askomata". I wondered about doing something similar, but how to attach to hull in some way to allow replacement, also there would be 44 or 60 of them....😅.....plus the oar slides back and forth a little through the stroke as distance to loom mounting point varies.........something like the rubber bulb on an eye dropper comes to mind 🤪😵........trying to think of something.....

 

By the way, your dromon is AWESOME!!!! Love the scenic backdrop!

Edited by Ian_Grant
Posted

Thanks Ian for your response. I will follow up on your Arduino site. We have been working with a CNC dedicated arduino board which accepts G code. Somehow I just couldn't get off that avenue of thought. Our Arduino accepts serial positioning and speed commands only, no aritmetic or logical operations. These are fascinating devices.

Joe

Posted

F360 - yes, quite a learning curve and, in my case anyway, sometimes very frustrating. And to be honest, I think this project is probably towards the higher end of using it. Tinkercad is really quite good for a lot of stuff but not something this complex.

Kevin

 

https://www.ebay.co.uk/usr/ktl_model_shop

 

Current projects:

HMS Victory 1:100 (Heller / Scratch, kind of active, depending on the alignment of the planets)

https://modelshipworld.com/topic/23247-hms-victory-by-kevin-the-lubber-heller-1100-plastic-with-3d-printed-additions/

 

Cutty Sark 1:96 (More scratch than Revell, parked for now)

https://modelshipworld.com/topic/30964-cutty-sark-by-kevin-the-lubber-revell-196

 

Soleil Royal 1:100 (Heller..... and probably some bashing. The one I'm not supposed to be working on yet)

https://modelshipworld.com/topic/36944-le-soleil-royal-by-kevin-the-lubber-heller-1100-plastic/

 

Posted

I know these are terribly historically incorrect but if you're more interested in reliable buoyancy something like these will, at least, give you something to think about

 

 

https://www.ebay.com.au/itm/140352884990

 

 

 

 

 

Posted (edited)

Aha almost back to bit banging I see! I now understand. I put in some time in the 70s with Intel assembly language so Addunio language is easy to understand. I will pursue with my grandson after i figure out the tools needed. Thanks again and will follow on with you.

Joe 

Edited by Thistle17
Posted
Posted
13 hours ago, Bedford said:

I know these are terribly historically incorrect but if you're more interested in reliable buoyancy something like these will, at least, give you something to think about

 

 

https://www.ebay.com.au/itm/140352884990

 

 

 

 

 

Thanks Bedford, that's very interesting and perhaps I could cut them shorter since the oars only move about 1/4" along their axis!

Posted
3 hours ago, Thistle17 said:

Aha almost back to bit banging I see! I now understand. I put in some time in the 70s with Intel assembly language so iAddunio language is easy to understand. I will pursue with my grandson after i figure out the tools needed. Thanks again and will follow on with you.

Joe 

Yes, I shudder at the memory of writing in assembler at university 😬

Posted
14 hours ago, Kevin-the-lubber said:

F360 - yes, quite a learning curve and, in my case anyway, sometimes very frustrating. And to be honest, I think this project is probably towards the higher end of using it. Tinkercad is really quite good for a lot of stuff but not something this complex.

I have never had a lot of patience with computer applications and their idiosyncratic user interfaces, the creators just didn't seem to think like me; in fact I nearly quit engineering in the late 80's to pursue a cabinetmaking certificate once PC's landed on all our desks. Lost the "creative" feel when switching from drawing schematics on vellum with pencils to sitting with slumped shoulders clicking away on a mouse 😒.

 

And what goes around comes around - after my Nortel layoff they paid for career consultant time for us, and it quickly became apparent I had a greater aptitude for skilled trades all along , no surprise really......

Posted

For me it was almost the exact opposite. I did an apprenticeship and spent the next 10 years being paid a pittance as a sheetmetalworker/welder, realising I had already reached the ceiling, pay-wise, by the age of 30. CNC had come into play by then and, while I could see that it was going to take all the fun out of the job, I found it interesting, especially the programming. I left the trade not long after but still draw on the skills, always have done, but had I remained I’d have wanted to get into CAD as I much preferred designing (problem solving) than making! I guess for me F360 + resin printing is a marriage made in heaven.

Kevin

 

https://www.ebay.co.uk/usr/ktl_model_shop

 

Current projects:

HMS Victory 1:100 (Heller / Scratch, kind of active, depending on the alignment of the planets)

https://modelshipworld.com/topic/23247-hms-victory-by-kevin-the-lubber-heller-1100-plastic-with-3d-printed-additions/

 

Cutty Sark 1:96 (More scratch than Revell, parked for now)

https://modelshipworld.com/topic/30964-cutty-sark-by-kevin-the-lubber-revell-196

 

Soleil Royal 1:100 (Heller..... and probably some bashing. The one I'm not supposed to be working on yet)

https://modelshipworld.com/topic/36944-le-soleil-royal-by-kevin-the-lubber-heller-1100-plastic/

 

Posted

Just had a thought, Normal servos are very noisy and using a rotating drive will give non-linear movement to the sweep motion.

 

The stroke will accelerate as it nears mid point and decelerate after. Normally not that noticeable but with long oars it could be very apparent.

 

Are you aware of linear servos? They are quieter and constant speed. I have included a video clip of one brand, they have different sizes and 3 different speed options.

 

 

  • 2 weeks later...
Posted (edited)

Hi Bedford,   thanks for the idea!  Yes I saw linear servos on ServoCity's web site before.  What put me off were the prices on their only Linear Servo line at the time: US$300 apiece!!!!! 😒.  Plus they need 12V.  That said, you are right even this small demo jig is very noisy!  If I can convince myself that this thing is feasible I will take another look at these new Hitec linears, at least for the sweep motion. I think I am limited to rotary for the up/down motion just because of space limitations in the proposed hull. One thing I do notice in the video, though, is that they're quite slow.

 

I have just screwed the servos down on the jig, without the little rubber mounting pads, so perhaps the entire assembly is acting like a piano sound board? I must add the rubber in and see if the noise reduces. Perhaps an actual hull would muffle it somewhat? Perhaps I could enclose them in a padded waterproof box using those rubbery pushrod doo-dads you pointed out earlier?

Edited by Ian_Grant
Posted (edited)

Some slight progress to report:  Components received from Digikey and soldered onto Arduino daughter board. It took me a while to find a layout which best takes advantage of the copper connections on the board. I included four fuses to protect the oar servos; optional jumpers to bypass each fuse (for the demo jig if not the actual ship); a quad DIP switch for future contingencies; a little decoupling for each servo supply. The large DIP header is for battery supply for servos, which is independent of the Arduino +5V rail. A 9V battery will supply the pittance of current required by the Arduino (which regulates down to +5V) as well as the RC Receiver, via its servo connection wires to the Arduino.

 

I have not yet soldered hook-up wire to make the connections; that will have to be after we return from camping up by Lake Superior next week.

800

Edited by Ian_Grant
Posted

Yes they are a bit pricey and slow. If you look at the speed though, you're talking a huge amount of leverage i the oars so a couple of seconds to send the handle an inch sends the blade quite a distance.

Posted (edited)

That's true - with high thrust I could shorten the loom of the oars and achieve a full sweep in less distance hence less time. Might need carbon fiber oars though, to handle the stress point at the thole....😁

 

The US$100 linear 3050 moves 1.2" in 1 second with 6.8 lbs thrust. That's about what I'd like to achieve as a highest "ramming speed" sweep time. I could set the loom length such that 1.2" gives the full sweep. As a bonus, shorter looms reduces internal width of machinery which increases space for the battery and ballast along the keel.

 

On the other hand a CDN$60 Futaba FUTS3305 dual ball-bearing high torque servo provides 7.7 lb-in and moves in half the time. Not that I need any faster, but assuming I get 120 degrees out of the servo a 0.7" arm would give me 1.2" of sweep at 11 lbs thrust.

 

Some study required to find the best solution........🤔

Edited by Ian_Grant

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...