A quick question about helicopter rotor thrust for new idea

Hi guys, a quick hypothetical question. ^___^

What would happen if I were to connect the outputs of ESCs in parallel?
I read about how if that was done with voltage regulators, you’d get unequal current outputs, they would work against each other, etc. and I was wondering if this was the same for the BEC on the ESC?

Thanks. ^___^

AKdaBAOUS

BECs and ESCs are also voltage regulators, you’d have the same problems.

Alan KM6VV

Ah cool, thanks. :mrgreen:

I have just recently brought this to power my quad.
ebay.co.uk/itm/330862856772? … 1497.l2649

EDIT
sorry just read your post again…

Yeah I was thinking of going for one of those for powering the ESCs but I ended up making a power distribution board. ^____^

yes. an option i considered. but im lazy. lol

Hahaha, fair enough. :laughing: :mrgreen:

Hey everyone! ^___^

Just some more updates on the Flying Hexapod project.
Well, first thing’s first; I’ve come up with a name for the robot, I call it - Red Nova!
What do you guys think?

Moving on, a few things I should mention.
I decided to go for a 4S Li-Po Life battery pack since I wanted to get as much thrust as possible for the robot. That being said, due to a minor “hiccup” during the design stages, I might have kinda read the dimensions wrong and it turns out that if I use 12” propellers, I’ll only have about 1-1.5cm of clearance between the rotating propellers so I decided to downsize slightly so I’ll be using 11” propellers now. ^___^

Just a few things about the brackets, etc. of the robot which should clear up questions about the missing parts. ^___^
I only had 4 servo brackets made originally which is why the middle 2 are missing - I’ve put an order in for the missing ones. I would have put the remainder of the motors onto the robot but I seem to have misplaced my allen key after doing the first one and I’m still trying to find it.
I have finalised the design for the docking system and I’ll be cutting those parts out soon.

Um…yes, that’s more or less it at the moment. I’ll post some more updates soon. :mrgreen:
Until then, enjoy the photos! (^0^)/

AKdaBAOUS

P.S. A quick question - does anything look odd with they way the propeller is mounted?

Very nice… :wink:

You will need to balance the prop to eliminate all vibrations.
And put the prop sit on the bottom of the motor (Closer to the motor = less vibrations)

Cool, thanks for the info! :mrgreen:

Ah yes, I had a feeling it was meant to be like that - I must have used the wrong spacer thingy. ^___^

I have 6 hs645mg servos for sale at £90. Thats £15 per servo!
Auction has ended but items are still avaliable. ?.
viewtopic.php?f=23&t=8650
Making great progress, and loving the name…
8)

Thanks. :mrgreen:

Thanks for the link - I shall PM you. ^___^

Hi guys! ^___^

So some of the robot brackets I had made arrived yesterday afternoon and I assembled what I could - just missing some bits and pieces from the docking system for it to be able to work in ‘Flying’ Mode.

I would like to apologise if you find the following news disappointing but I’m planning on putting this project on hold for a bit so I can work more on my coding skills since they are pretty weak. :frowning:
I’ll be back to this project as soon as I’m satisfied that I’ve reached a decent level. ^____^
I’ll be doing little pieces here and there and I’ll post them here but nothing major for the time being. :wink:

You can find photos below - Enjoy! :mrgreen:

AKdaBAOUS

P.S. Um, just a quick question …
I was reading about how you can connect two Arduinos together via the serial port so they can talk to each other - so am I right in thinking that if one of those boards was connected to joysticks/buttons and the other was used for controlling servos, etc. then by replacing the serial connection with something wireless (i.e. a bluetooth module or XBEE), I would essentially have a wireless remote control for the board?

Thanks! :mrgreen:

Its all looking oh so nice. Very professional build. :wink:
Really excited to see your next developments.
Sorry to hear things will be quite for a while, but its good the progress will continue.

To answer your question in the quickest way… yes you can do that with two arduinos.

Hahaha thanks! :mrgreen:

When you say quickest way, I’m guessing there are some kind of complications along the way?

I think those complication is directed at ones experiance. Personally I dont have all the knowledge of the “hows”. I just know it can be done.
Eric and I was talking about a similar thing by where we were going to build a new controller using an arduino to transmit the signals another arduino acting as the receiver.

Well I’ll give it a try and I’ll post my progress here. ^____^
It’ll be great coding practice too! :mrgreen:

Hi guys! ^___^

As I mentioned before, I was going to work on my coding skills, etc. so I thought I’d try my hand at making a basic wireless remote control for my robots (well, mainly for Red Nova ) using an ATmega328 (with the Arduino UNO bootloader).

So far, I have a basic design for the controller case and I’ll be using a circuit board I made to test out all the code before I make a simpler one for the controller.

Um …
Yep well this is the basic design for the controller - I originally intended to use two mini joysticks I found lying around but the touch screen uses up 4 of the 6 analogue pins with the other 2 being used for I2C on this board so I’ll have to stick to one and a variety of push buttons. :unamused:
I still have to change the design to the new idea so I’ll upload an updated one soon.

When I say ‘graphical UI’, it’ll pretty much be just the screen changing images depending on which sector of the touch screen is pressed. :mrgreen:

Now onto the “test” board …

The board is composed of two sections; the ATmega328 (Master) IC and then the 12 Channel Servo Controller (Slave) IC. I thought it’d be better if I had all the I/O pins on the ATmega free for sensors, displays, etc. and then used the controller IC for the PWMs.

(1) - Sockets for sensors (or other small boards) with connected headers which allow pins on the board to be connected to various parts of the circuit via jumper cables.

(2) - 3.3V/5V lines - the jumper is currently set to 5V.

(3) - The 3.3V Regulator.

(4) - The I2C (SDA/SCL) lines.

I’ve just connected the touch screen up to the controller and it works pretty well (although I’ve read that they aren’t all that accurate but I’m not going to be doing anything super precise so it’s okay ^___^). The touch screen seems to have some ‘idle values’ so it’ll display random co-ordinates even though nothing is coming into contact with it; I need to find a way to get rid of that … Any suggestions?

You might have some questions about the power wiring for the board - long story short, I wanted to power the board using the output from one of my ESCs so I designed the board so that the GND for the ATmega IC connects to the negative for the battery (via the terminal block in the bottom right) so I have to connect both leads of my battery pack to power the board - the small one going to the ESC which then powers the board via the black and white cables (white being +5V) and the bigger one going into the terminal block - effort. :laughing:
Oh, and sorry about the mess on the desk - I haven’t had a chance to clean it up.
I would have uploaded a video of the touch screen but it’s just a bunch of numbers on the Serial Monitor so it kinda seems pointless.

Um … oh yes, here are the parts I’m currently using (I still need to order the display):

2.2” LCD Display (with microSD breakout) - hobbytronics.co.uk/lcd/tft-lcd-2-2
Nintendo DS Touchscreen - hobbytronics.co.uk/lcd/nintendo-touch-screen
Touchscreen Breakout Board - hobbytronics.co.uk/lcd/nintendo-connector-breakout

You can find the code for it below:

[code]// Last Modified: April 5th 2013
// Description: Basic reading and displaying of values from a Touch Screen.
// Pin Mappings (Arduino - Breakout Board):
// A0 - Y1
// A1 - X2
// A2 - Y2
// A3 - X1

void setup()
{
}

int x_coordinate, y_coordinate = 0;

// Returns the value for the X-Axis.
int read_X()
{
int x_value = 0;

pinMode (A0, INPUT); // (Pin 23 on the ATmega328).
pinMode (A1, OUTPUT); // (Pin 24 on the ATmega328).
pinMode (A2, INPUT); // (Pin 25 on the ATmega328).
pinMode (A3, OUTPUT); // (Pin 26 on the ATmega328).

digitalWrite (A1, LOW);
digitalWrite (A3, HIGH);

delay (5);

x_value = analogRead (0);
return x_value;
}

// Returns the value for the Y-Axis.
int read_Y()
{
int y_value = 0;

pinMode (A0, OUTPUT); // (Pin 23 on the ATmega328).
pinMode (A1, INPUT); // (Pin 24 on the ATmega328).
pinMode (A2, OUTPUT); // (Pin 25 on the ATmega328).
pinMode (A3, INPUT); // (Pin 26 on the ATmega328).

digitalWrite (A0, LOW);
digitalWrite (A2, HIGH);

delay (5);

y_value = analogRead (1);
return y_value;
}

void loop()
{
Serial.begin(9600);

Serial.println ("x = ");
x_coordinate = read_X();
Serial.println (x_coordinate, DEC);

Serial.println ("y = ");
y_coordinate = read_Y();
Serial.println (y_coordinate, DEC);

delay (250);
}[/code]

That’s about it really … I’ll work on some kind of calibration for the touch screen and see if I can set it up to recognise some preset drawings (i.e. basic shapes, numbers, etc.). ^___^

AKdaBAOUS

Just a small update:

I managed to get rid of the idle values - turned out that they were above 860 which was the area very close to the edge of the screen so I just set it so it would read values equal to or below 850 and now it’s cool. ^___^

AKdaBAOUS

Hi guys! ^____^

Sorry it’s been quite a while since I made a post - I’ve got a pretty final design idea for the remote control but unfortunately, my mini display hasn’t arrived yet (hopefully sometime this week) and due to this, I can’t produce any accurate final designs. :frowning:
I have, however, decided to move the remote’s design in a different direction - I’ve removed the touch screen from the design for this version of the remote to allow for the addition of an extra joystick controller as well as a left and right trigger.
My second design idea involves creating a basic watch-like remote control which the user could easily strap to his wrist (approximate dimensions at the moment are 70mm x 50mm). This design features the touch screen along with four small buttons along the side and a 4 (or 5 depending of whether or not your joystick has a select button) pin socket somewhere on the rim which would allow for the connection of a single joystick and the LCD display as a standard. I’m afraid I don’t have much time now to draw up nice versions of the design (the end of the Semester coming up and work is being pilled on along with revision for exams, etc.) but I’ll try to post some neat sketches of it when I get a chance. :wink:

I’ve been experimenting with the dual joysticks (I found a pair of these in one of my component trays) and I’ve got them working and displaying values on the serial monitor (the code can be found below). The push buttons are also working and I’ve got an idea on how I can create the trigger buttons so yes, just the display left and then I should be able to stick it all together. :mrgreen:

I also had some new 45 degree leg brackets 3D printed - these are much stronger and provide a lot more stability to the design. I’m also going to be re-designing the main body to try to make it as small as possible and with the help of these new brackets, that should quite easily be possible. :smiley:

That’s it for now I’m afraid, I’ll post some more updates once the display arrives and I’ve got it up and running. ^___^

[code]// Title: Joystick Reading.
// Description: Reading values from the LEFT & RIGHT joysticks
// and displaying respective scaled values on the Serial Monitor.
// Date: 29th April 2013.

// Assigning the relevant pins of the board to the respective
// pins on the joysticks.
const int LX = A2;
const int LY = A3;
const int RX = A4;
const int RY = A5;

// Setting our variables that will be updated at each instance
// after the joystick position changes.
int previous_LX = 0;
int previous_LY = 0;
int previous_RX = 0;
int previous_RY = 0;

void setup()
{
Serial.begin (9600); // Start the serial communication.
}

void loop()
{
// Variables that will be used for storing the “mapped” data
// for the RIGHT joystick.
int RX_value;
int RY_value;

// Mapping the original values provided by the joystick into
// values between 0 & 20 for ease of use.
RX_value = map (analogRead (RX), 0, 1023, 1, 20);
RY_value = map (analogRead (RY), 0, 1023, 1, 20);

// Comparing new and old values to see whether or not to print
// them.
if ( (previous_RX != RX_value) || (previous_RY != RY_value) )
{
Serial.print (“RIGHT - X Value = “);
Serial.print (RX_value);
Serial.print (”: Y Value = “);
Serial.print (RY_value);
Serial.println (””);

// Updating the previous values provided by the joystick.
previous_RX = RX_value;
previous_RY = RY_value;  

}

// Variables that will be used for storing the “mapped” data
// for the LEFT joystick.
int LX_value;
int LY_value;

// Mapping the original values provided by the joystick into
// values between 0 & 20 for ease of use.
LX_value = map (analogRead (LX), 0, 1023, 1, 20);
LY_value = map (analogRead (LY), 0, 1023, 1, 20);

// Comparing new and old values to see whether or not to print
// them.
if ( (previous_LX != LX_value) || (previous_LY != LY_value) )
{
Serial.print (“LEFT - X Value = “);
Serial.print (LX_value);
Serial.print (”: Y Value = “);
Serial.print (LY_value);
Serial.println (””);

// Updating the previous values provided by the joystick.
previous_LX = LX_value;
previous_LY = LY_value;

}
delay (10);
}[/code]

AKdaBAOUS