HobbyKing.com New Products Flash Sale
Reply
Thread Tools
Old Feb 13, 2013, 01:58 AM
Sea Dragon-Lover
Umi_Ryuzuki's Avatar
PDX, OR
Joined Dec 2002
10,361 Posts
Discussion
ASD Schottel mixer

We know it can be done... How do we do it.

Essentially an ESC, and Rudder mixer where the initial movement of
the joystick will direct the steering, via stepper motor, and any increase in
the throw will apply throttle. This creates 360 steering and throttle by
mixing the two channels of any single joystick.


Simple two channel stick movement including steering and throttle mix.

Modellschottelsteuerung gekoppelt ( vernetzt ) angesteuert (1 min 28 sec)



Now make that two boards, and two sticks...



Funktionsweise Modellschottellsteuerung einzeln angesteuert (0 min 37 sec)


These were videos for Kagelmacher - Modellbau, his website is back up and
running, but the control boards and stepper motors are not in the offering at this time.
.
.
.
Now if I can just get beyond blinking LED in my understanding in programming.

Umi_Ryuzuki is offline Find More Posts by Umi_Ryuzuki
Last edited by Umi_Ryuzuki; Feb 14, 2013 at 02:18 AM.
Reply With Quote
Sign up now
to remove ads between posts
Old Feb 13, 2013, 12:03 PM
Registered User
tweety777's Avatar
Vlaardingen, The Netherlands
Joined Nov 2008
1,345 Posts
Nice!!

At this point I'm starting to think again about making my own transmitter based on the software which I'm already making, but translate that for use on a tablet and build some controls like the real ship (same principal of propulsion though not designed for towing but for maintaining position and thus for manoeuvrability).
In that case I would have 2 or 3 360 degrees rotatable throttle controls.
The 3rd one would be for controlling the Seven Atlantic just as accurate as I can with Well Enhancer though I'd need to think that through quite a bit more...
The tablet would be used to display current propulsion status (percentage of engine power, angle of the thrusters) and for controlling the other functions.

Greetings Josse
tweety777 is offline Find More Posts by tweety777
Reply With Quote
Old Feb 13, 2013, 09:22 PM
---o-O-o---
blutoh's Avatar
United States, NJ, Livingston
Joined Mar 2012
1,603 Posts
Hi Umi,

This is an interesting application, both mechanically and electronically. I have been giving it some thought since I first read your post earlier today. So first things first, are the z drives readily availble? The only ones I know about (very little about) are the Graupner units. But It seems that no one has stock, and Graupner is in re-org. I know Phoneman2005 is designing a z drive, but not sure when they will be availble. But anyway, lets assume that some form of Zdrive will be available on the market. How do you envision them being controlled? One conventional joystick for each drive, with separate throttle on each stick, or one single joystick like a computer stick with top hat and twist control? The first option will be easiest to implement. Basic first option (and least costly) would be to take the servo ouput from the conventional receiver and feed it into a microcontroller like Arduino to capture stick movedment and positions. Then, based on that, translate that data into control movement using software library. We know that the drive direction is controlled by stepper motors rather than conventional servos, as they spin a full 360 degrees. That can be readily controlled by an interface board hooked to the Arduino as well. Finding the right interface boards and software library will be the first steps. I don't currently have an Arduino available but will be getting one soon. I will start doing some investigating to see what I can find. What do you currently have in the way of hardware and software, i.e. which Arduino board, any I/O or interface board, etc etc. ? It will be more efficient if we are all on the same page, not trying to do this with differnet versions of hardware. Let me know.
In the mean time, maybe Massey or Beer Gnome can load these up and do some experimenting?

Pete

EDIT: Found some links with related info


Reading the receiver stick position


Reading servo signals

Powering servos from outside the Arduino board
blutoh is offline Find More Posts by blutoh
Last edited by blutoh; Feb 13, 2013 at 10:36 PM.
Reply With Quote
Old Feb 14, 2013, 02:22 AM
Sea Dragon-Lover
Umi_Ryuzuki's Avatar
PDX, OR
Joined Dec 2002
10,361 Posts
Currently these are the higher end Z drive available.

Kagelmacher - Modellbau
http://www.kagelmacher-modellbau.de/...riebe/Antriebe

But for testing, I can use some of my old Graupner drives, or even a mock up.

I have been browsing how to read PPM signals, and trying to determine whether
an additional board is required ot drive a stepper motor.

I think to working it out to interpret a basic two channel joystick is a good place to start.
Umi_Ryuzuki is offline Find More Posts by Umi_Ryuzuki
Reply With Quote
Old Feb 14, 2013, 09:17 AM
---o-O-o---
blutoh's Avatar
United States, NJ, Livingston
Joined Mar 2012
1,603 Posts
Quote:
Originally Posted by Umi_Ryuzuki View Post
Currently these are the higher end Z drive available.

I have been browsing how to read PPM signals, and trying to determine whether
an additional board is required ot drive a stepper motor.

I think to working it out to interpret a basic two channel joystick is a good place to start.
OK, got it. So let's noodle thru this, here is a first draft at a simple workflow:
  • Continuos loop that reads the PPM directly from the receiver (see my previous post for some links on this step)
  • Processes the data from the throttle channel and react to it by addressing speed change. We could just pass this thru to the ESC or have the Arduino handle it thu a motor controller. I don't yet understand how throttle gets mixed with rudder, If it doesn't, then no need to even capture this channel, correct?
  • Processes the data from the rudder channel and reacts to it by turning the stepper motor a proportional amount to the stick movement

Looks like stepper motors have 5 or 6 wires depending on whether they are bipolar or unipolar design. For the arduino to properly control a stepper motor we would need at the minimum an intergrated circuit. But there are stepper motor shields that will allow the arduino to control multiple stepper motors and include all the other necessary parts, here's an example. This will make life a lot easier than designing one from scratch.

The code to control a stepper motor needs to handle three variables:
  • direction to turn the motor
  • speed to trun the motor at
  • the number of steps (determined by the degrees per step of the motor)

Here is some sample code for controlling steppers.

OK, time for you and everyone else to review this and poke holes in it. I want to make sure it's correct at a high level before going into any detail.

Pete
blutoh is offline Find More Posts by blutoh
Reply With Quote
Old Feb 14, 2013, 10:31 AM
---o-O-o---
blutoh's Avatar
United States, NJ, Livingston
Joined Mar 2012
1,603 Posts
Umi,

Josse just started a thread on the details of his Well Enhancer automation project in this forum. He is using Z drives and is way ahead of us on the learning curve. Hopefully we can leverage some of the ground work he has done to hive us a leg up on this.

Pete
blutoh is offline Find More Posts by blutoh
Reply With Quote
Old Feb 14, 2013, 11:44 AM
Registered User
Ariel WA
Joined Apr 2005
341 Posts
UMI and I have talked about this in the past. A computer programmer friend and I are working on controlling z drives.

Will be watching this thread.

Dave
Phoneman2005 is offline Find More Posts by Phoneman2005
Reply With Quote
Old Feb 14, 2013, 11:46 AM
---o-O-o---
blutoh's Avatar
United States, NJ, Livingston
Joined Mar 2012
1,603 Posts
So Dave,

Is there need to "mix" throttle with rudder, or are they 2 sepeate and distinct functions?

Pete
blutoh is offline Find More Posts by blutoh
Reply With Quote
Old Feb 14, 2013, 12:05 PM
Registered User
Ariel WA
Joined Apr 2005
341 Posts
The way we are thinking is left joystick controls port drive and right controls stbd drive.

When a joy stick is moved off center the first few degrees of deflection is received by the Arduino. the arduino then determines the direction and number of steps to move a stepper motor so the drive points in the direction wanted. Next as the joy stick is moved further the arduino outputs motor start and speed. As joy stick is moved further off center speed increases. If you then rotate the joy stick in a circular movement the drive will follow. There are no wires in the Xmitter to get wound up so you can go around and around.

Because steppers can loose steps it will be necessary to set up a home switch so every time the joy stick is centered the drive will home to the ahead direction.

Dave
Phoneman2005 is offline Find More Posts by Phoneman2005
Reply With Quote
Old Feb 14, 2013, 12:37 PM
Registered User
tweety777's Avatar
Vlaardingen, The Netherlands
Joined Nov 2008
1,345 Posts
Quote:
Originally Posted by blutoh View Post
Umi,

Josse just started a thread on the details of his Well Enhancer automation project in this forum. He is using Z drives and is way ahead of us on the learning curve. Hopefully we can leverage some of the ground work he has done to hive us a leg up on this.

Pete
Hi Pete,

I happened to have a flying start myself, my Arduino program is made by a friend so I had that part sorted out.
Then I happen to have a father who programs for a living so he helped me with the first steps for getting the software right, at least enough to get going.
Since a few weeks ago I've started reading "Programming for dummies", a very good book in plain Dutch in my case explaining how programming works in a way everyone can understand it.
They start out with programs like "look, it works"...
Good fun at times though one can learn a lot from it.
It also doesn't really focus on any particular code (like C++, FreePascal, REALbasic, LibertyBASIC), it just explains how to start and thereby mentioning the differences in several codes just to give you something to start with.

Greetings Josse
tweety777 is offline Find More Posts by tweety777
Reply With Quote
Old Feb 14, 2013, 12:54 PM
---o-O-o---
blutoh's Avatar
United States, NJ, Livingston
Joined Mar 2012
1,603 Posts
Hi Josse,

I do it for a living too, but what I am trying to do is wrap my arms around the hardware abstraction. The projects I do for work are all business applications, so there is hardly any interaction with hardware in that domain. I have a good grasp of the coding, but there are many differnt hardware interface libraries out there, and I/O boards. The trick is finding the right combination that works together, right?

Pete
blutoh is offline Find More Posts by blutoh
Last edited by blutoh; Feb 14, 2013 at 01:04 PM.
Reply With Quote
Old Feb 14, 2013, 01:10 PM
Registered User
tweety777's Avatar
Vlaardingen, The Netherlands
Joined Nov 2008
1,345 Posts
Hi Pete,

You certainly have a point there.
I'm hoping to get my remaining Arduinos in tomorrow, then I can start looking for how to make the stepper motors work and when I adjusted the software to it I'll upload my coding.

Greetings Josse
tweety777 is offline Find More Posts by tweety777
Reply With Quote
Old Feb 14, 2013, 02:00 PM
Sea Dragon-Lover
Umi_Ryuzuki's Avatar
PDX, OR
Joined Dec 2002
10,361 Posts
I am sincerely language handicapped in electronics.

However, if a stepper motor needs a "home" button, or signal, then that should be
progammed to be the Neutral value of the Tx/Rx pulse or signal. So if a pulse command
to a servo changes from 1.0ms to 2.0ms, then 1.5ms being the neutral should be the
"home" command.

Sort of:
If signal1== 1.5ms, and signal2==1.5ms, then Stepper motor == Home

Does that even make any sense?



Also of note...
http://www.rcgroups.com/forums/showthread.php?t=1648040
Umi_Ryuzuki is offline Find More Posts by Umi_Ryuzuki
Reply With Quote
Old Feb 14, 2013, 02:14 PM
Registered User
Ariel WA
Joined Apr 2005
341 Posts
When the stick is returned to center the control will return the drive to the ahead position or home. Now if for some reason when you were out doing course changes and the stepper motor lost some steps when you return to center the drive would be off by the number of lost steps.
So you write a routine that when you return home the system looks for a home switch on the Z drive that tells the system that the drive is now where it should be.
This keeps every thing where it should be so you do not have the vessel going where it should not.

Dave
Phoneman2005 is offline Find More Posts by Phoneman2005
Reply With Quote
Old Feb 15, 2013, 02:40 AM
Registered User
Joined Jun 2011
223 Posts
Hi,
The idea of a home switch or index reference location is important on a stepper motor, especially if underpowered for the application. Any obstruction to the drive will see the delivered steps stalled and the rotor bearing will be less than expected. Unlike a servo the stepper has no concept of a center position unless an indexing sensor or optical encoder is used to actually determine movement and not simply drive steps.

A small unipolar motor is probably the easiest to work with and only needs 4 modest logic level FETs to drive a motor or if the rating is low then a Darlington driver IC like a ULN2803 may suffice.
The simplest mode to code is the full step single phase ripple however the torque is quite low and it's better to use full step 2 phase. Half step or microstepping is an overkill for such an application and mainly used for very fine positioning.

If you check on eBay there are heaps of small steppers with driver boards for sale at around $3-5. These are 5V types and used for aircon vent adjusters. They are geared down 64:1 so may be a tad slow but high torque.

Typical code to rotate would be something like this.

For n=0 To 254 'total 255x (3,6,12,9)
PORTB=3 'drive 1, 2 high
DelayMS m
PORTB=6 'drive 2, 4 high
DelayMS m
PORTB=12 'drive 4, 8 high
DelayMS m
PORTB=9 'drive 8, 1 high
DelayMS m
Next n 'end of loops

I know there are 360 degree servos (1 turn) but I never thought about the need to rotate past 360. It would seem too convenient. I think I have one somewhere so will hunt it out and try. Otherwise a small stepper and a micro of your choice. I use PICs and cut my teeth on steppers with a fairly grunty robot using 2 NMEA23 motors directly driving 5" wheels.

Cheers,
David
KiwiDavid is offline Find More Posts by KiwiDavid
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Sold DENON DN-X800 DJ Mixer (FS or Trade) Boomkidd Non R/C Items (FS/W) 6 Feb 20, 2013 04:01 PM
Wanted gws V-tail mixer lov2fly Aircraft - General - Radio Equipment (FS/W) 0 Jan 11, 2013 08:44 PM
Discussion ASD carb issues zen3 Engines 6 Feb 22, 2010 10:19 AM