Notifications
Clear all

Magmov Generator (Need Sketch Program Help)

12 Posts
3 Users
0 Likes
5,853 Views
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

  I am putting this topic in the "need help" forum because I am new to Arduino programming.  As in I have almost no experience.  I have successfully loaded sketch programs from my PC into an Arduino Uno, but I do not have a good working knowledge of the syntax, norms, and formats required to write functional programs.  There in lies my request for help.

Project Scope:

 Build a functional prototype of the Magmov generator as presented in youtube.

drum height

Generator Design Details:

1. The drum rotates by repulsion force between the linear tracking 2" x 1" x 1/2" large magnets and the smaller 8mm x 8mm magnets located on the drum which is referred to as the turbine.

2. All the Neo Magnets are N52 and the repulsion force at roughly 3" radius from center produces approximately 100 lbs x two at 180 degrees of separation. Roughly 200 pounds force on a 3" lever continuously down the length of the turbine.

3. The turbine turns at 300-400 RPM.  The RPM is increased via a spur gear with a ratio 1:6.  For each rotation of the turbine, 3 each GM alternators turn 6 RPMs.

4. The GM alternators produce roughly 70 amps each at a regulated 14.75 VDC.  So about 3000 Watts.

5. The 14.75 VDC is feed into a DC/AC inverter thus providing usable power.

Obvious Reservations:

1. The old problem presented by all the physics professors and engineers who remind us, the "conservation of energy laws".  Simply put, you cannot produce more energy than it takes to drive the system.

2. At face value I'm not convinced it will be successful, But....I do have the time and resources to test it out just the same.  In theory, the repulsion force between the N52 magnets should not diminish and this force is compressed into the the turbine between the linear rails and the central turbine shaft in the form of rotational force.  It comes down to this, is the power required to cycle the larger magnets up and down the linear rails including the frictional losses, much less than the power of the repulsive forces being transferred into the turbine.

3. There is the one fact that I'm not willing to prove.  This machine is built in the county of Georgia.  They will sell the 3000 watt unit for about $3,400.00 US dollars.  That is a leap too far for me.  They expect you to pay for it before it will ship.  I'm not that big of a believer.

Now For The Help:

Bill in this forum has done an excellent job of showing a great programming example that might cover the bulk of my needs.  Here is the youtube video:

He also covers how to home the stepper motor should that be a requirement and it will be.

Scope of Needed Program Sketch:

1. Upon program initiation, "home" each stepper motor.

2. After the homing operation, ramp the steppers speed up to the predefined value required to rotate the turbine at a maximum speed of 400 RPM.  The ramp is needed so we don't go from 0 RPM to 400 RPM instantly at startup. One travel cycle from left to right and then back from right to left should equal 1 turbine RPM.

3. Have each opposing stepper motor operate 180 degrees apart, but be fully synchronized.  Not sure of the best way to accomplish this synchronicity. Use a single Driver outputting to two steppers wired to be inverse in movement or use two independent drivers and handle the synchronicity in the program. Using Bill's example, I will have a Non-Latching Hall Effect switch at each linear rail extreme.  Although, the pictured original does not appear to have any switches.

4. Provide analog input via a 10K Pot for stepper motor speed set point.  Ultimately a PID control which would control the turbine RPM at a fixed set point would be optimum.  This way if the alternator's load changes....the RPM would be maintained.  For proof of concept, the 10K Pot will do.

5. (Future) Assuming this prototype functions anywhere close to the original, I would like to include an OLED display that would show the following.

a. RPM

b. Wattage

c. Volts

d. Amps

e. Session Run Time   (dd:hh:mm) 

Project Progression:

1. I plan to build all the mechanical pieces over the next few months.  I have already purchased the linear rails and all necessary magnets.  I also have the Arduino Uno, small driver boards, and multiple 84 Oz/in  steppers rated to 2 amps.  I may purchase larger driver units (like pictured) pending need. 

2. I don't plan to purchase alternators, spur gears, or inverter until I can measure the torque produced from the rotating turbine.  If the torque is there and high, then I will continue to phase two.

Open Source:

If anyone in the group wishes to receive design files and project details, I will be happy to share.  It is better I throw away a little money in a controlled manner and answer the question posed in the onset of this post "Will it work?".

I would greatly appreciate any help offered in the writing of this sketch. The programming is the only hurdle that exceeds my skill level for now. 

Also, if anyone has suggestions on how to improve this project design, I would be glad to hear from you.  For example...I could use hybrid steppers that have built in encoders.  That would be better true, but we are in the proof of concept mode early on.  If this project comes anywhere close to performing as the Magmov video suggest, then its just a matter of scale.

If it doesn't work, then I had fun with the experience and I may yet learn a few things to boot.


   
Quote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @alfietinkerer

If it doesn't work, then I had fun with the experience and I may yet learn a few things to boot.

It's good that you are having fun. ? 

The bottom line is that it cannot work unless the second law of thermodynamics is wrong.   In which case physics is in big trouble.

But as you say, it could be a fun project just to see what it might do.  Personally I would rather put my time and money into something that will end up actually working.   But that's just me.

The programming code you are requesting sounds simple enough.   It sounds like it's just a matter of moving stepper motors around.   Just watch a few videos on how to use an Arduino to control stepper motors.  Once you know how to do that you should be able to make the stepper motors move however you want them to move.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

@robo-pi

Thanks for the advice.  Still leaves me in search of programming assistance, but I understand your reluctance.


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @alfietinkerer

@robo-pi

Thanks for the advice.  Still leaves me in search of programming assistance, but I understand your reluctance.

There's no reluctance on my part.  I already told you  how to find your programming assistance.

Here's some videos to watch.   You said it's going to take you months to build this thing, you can surly learn how to control a stepper motor along the way.  It's not that hard.

 

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

@dronebot-workshop

Hello Bill, I don't see a method to remove a post.  Would you please remove this post "Magmov Generator (Need Sketch Program Help)".  I'm sensing this was not a good fit for this forum and I regret posting it.  As administrator would you kindly delete it on my behalf.

Kindest Regards,

Vance


   
ReplyQuote
(@pugwash)
Sorcerers' Apprentice
Joined: 5 years ago
Posts: 923
 

@alfietinkerer

Try sending your request to

info@dronebotworkshop.com

although it may be a little premature to withdraw your post. As it has only been on the forum for less than 24 hours and sometimes it can take a few weeks to get anything like a response that you initially sought.

Even if you don't get any satisfactory answer, you have started a conversation about something quite new to this forum and that is very welcome, as this forum sometimes gets seriously bogged down discussing topics of no particular interest to the majority.

Don't give up on the forum, it has many members, but few actual active members.


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

@pugwash

OK, Pugwash... I will give one more try.  I was able to cobble together enough Arduino code through plagiarism to make a rough start at trying to solve this project.  The design appears to wrap magnets around the drum in a sinusoidal pattern. If this assumption is accurate, then one trip of the primary drive magnets via the steppers from (left to right) and then back again (right to left), it will produce one revolution of the turbine (Drum).  I set the delay time as short as the steppers would accept without cavitation so to speak.  No acceleration coding has been applied yet. Using 40 teeth per timing pulley, the highest number cycles I can achieve is 44 to 50 per minute.  Using GT2 timing belts, my design requires a travel of about 14.5 inches each way.  This travel translates into 922 steps each direction.  I will attach video showing this results.  Keep in mind, there is no inertia loading on the steppers, so it is likely the cycles per minute will be even less under load. If 44 RPM of the drum is all I can produce; well, that is far lower than the original model (300-400 RPM ).  Possible solutions are 1.  Use much larger number of teeth on the drive pulley....which would require much larger stepper motors and torque. 2. Change the angle of the magnets wrapping around the drum...original design approximates to 42 degrees from center line.  3. Decrease the stroke distance, but this reduces the number of degrees rotation per stroke...but that will cause a higher rate of pulsing.  4. Stagger the pulsing to every other rotation of the drum or more...not sure the drum will rotate like this under load.  Maybe a flywheel effect will be present.  As you can see, many questions to answer and I won't be able to test them until I get a model assembled.  Just food for thought.  I do have one request! ...if you are uninterested in this project, feel it is a waste of time, or feel the need to give negative input, please do not reply.  I realize there is a high probability this project will not be successful.  Its a learning experience and I am looking for folks interested in solving a puzzle.  If the puzzle can't be solved, it will be self-evident in time.  

https://photos.app.goo.gl/zxy8PDoQPUBrUThR8

 


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

Here is a copy of the current sketch code. Keep in mind, I am new to this, so I'm sure it is very flawed in nature. It did compile.

// defines pins numbers
const int stepX = 2;
const int dirX = 5;

const int stepY = 3;
const int dirY = 6;

const int stepZ = 4;
const int dirZ = 7;

const int enPin = 8;

int DTime = 350; // Microseconds of stepper delay time
int Pause = 50; // Milliseconds delay time between High then Low step increments
int TravelSteps = 920; // Distance in steps to travel for each stroke

unsigned long time_since_last_reset = 0;
int interval_one = 15000; //Time in seconds to count...30000 = 30 seconds
int cycles = 0; // A Cycle represents 1 strke left and 1 stroke right
int Max; // Maximum cycles across time span

void setup() {

Serial.begin(9600);

// Sets the two pins as Outputs
pinMode(stepX,OUTPUT);
pinMode(dirX,OUTPUT);

pinMode(stepY,OUTPUT);
pinMode(dirY,OUTPUT);

pinMode(stepZ,OUTPUT);
pinMode(dirZ,OUTPUT);

pinMode(enPin,OUTPUT);
digitalWrite(enPin,LOW);

digitalWrite(dirX,HIGH);
digitalWrite(dirY,HIGH);
digitalWrite(dirZ,HIGH);
}

void loop() {

 

time_since_last_reset = millis();
while((millis()-time_since_last_reset)<interval_one){

Serial.print("The cycles per ");
Serial.print(interval_one/1000);
Serial.print(" secs = ");
Serial.print(cycles);
Serial.print(" and cycles/min = ");
Serial.println(Max*4);

// Turn steppers clockwise
// Makes "travelsteps" clockwise before reversing
for(int x = 0; x < TravelSteps; x++) {
digitalWrite(stepX,HIGH);
digitalWrite(stepY,HIGH);
digitalWrite(stepZ,HIGH);
delayMicroseconds(DTime);
digitalWrite(stepX,LOW);
digitalWrite(stepY,LOW);
digitalWrite(stepZ,LOW);
delayMicroseconds(DTime);
}

digitalWrite(dirX,LOW);
digitalWrite(dirY,LOW);
digitalWrite(dirZ,LOW);

delay(Pause); // Short delay between CW & CCW

// Turn steppers counter-clockwise
// Makes "travelsteps" counter-clockwise before reversing
for(int x = 0; x < TravelSteps; x++) {
digitalWrite(stepX,HIGH);
digitalWrite(stepY,HIGH);
digitalWrite(stepZ,HIGH);
delayMicroseconds(DTime);
digitalWrite(stepX,LOW);
digitalWrite(stepY,LOW);
digitalWrite(stepZ,LOW);
delayMicroseconds(DTime);
}

digitalWrite(dirX,HIGH);
digitalWrite(dirY,HIGH);
digitalWrite(dirZ,HIGH);

delay(Pause); // Short delay between CW & CCW

cycles++;
}
Max = max(cycles,0);

if(cycles> Max){
Max == max(cycles,0);
}

cycles=0;
}

 


   
ReplyQuote
(@pugwash)
Sorcerers' Apprentice
Joined: 5 years ago
Posts: 923
 

@alfietinkerer

I am glad to see you haven't given up on us.

If the puzzle can't be solved, it will be self-evident in time.

If you stay at it you are going to find there are many complications, but I have a couple of questions you might reflect on. Since your last post, I have been trying to find some more info on the Magmov and how they overcome some of the laws of Physics, but to no avail, they seem to be keeping the proprietary stuff very close to their chests.

I think before getting into sketch writing, some basic design considerations need to be thought out. The whole thing is not as straightforward as it seems.

My first question/thoughts were the following:

I have been involved with industrial electric motors for more than twenty years, and I know that all rotors require a breaking torque to start up the machinery being driven from 0 speed. This usually involves an initial current spike to overcome the initial internal system resistance. As the drum/rotor is being driven by repulsive force how do you intend to provide this initial energy surge. You get around this by using an electric drill as a starter and then synchronise the jockey movement with the rotor possibly using a rotary encoder on the main rotor shaft.

Second question:

Why stepper motors? The jockey(for want of a better term) magnet is just being pulled a fixed length, backwards and forwards along its track and not stopping anywhere in the middle. Frequency or current controlled motors, when told to change direction by a sensor on the rotor would probably suffice and simplify programming enormously.

And why four stepper motors? I have only seen the need for two motors to drive the jockey magnet! Perhaps, I am missing something?


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

@pugwash

Hello Pugwash, thank you for your insightful input. 

You are correct....many of the variables of the design are unknown.  So I decided to start with what is known based on the videos and pictures available.

What is Known:

1. I see two stepper motors (reason for choosing steppers) being pulsed via an arduino coupled to an independent driver unit.  To clarify, I added the 2nd set of rails thinking it would double the push force within the same footprint of space (just 90 degrees out of sync).   My plans are to just use the two horizontal steppers initially.  When cutting parts on my cnc table, it is easier to design for future rails up-front..ie holes, mounts, positioning of parts...on the original plates.  This way I save time down the road even if I don't use them.  My goal initially is just to replicate as close as possible the Magmov original design.  Why re-invent the wheel.  They do offer a 5ooo watt version as well....I have no clue what they did to almost double the wattage output....another reason I am designing for 4 rails just in case the thing shows promise.  I assume the larger version uses stronger magnets and the primary drum diameter is likely larger (longer lever).

2. I see the two rails pulsing in inverse direction on the demonstration videos.

3. The designer in one video says the drum magnets are 6 mm x 12 mm. I have decided to use 5/16" x 5/16" cylinder magnets on the drum.  Trying to scale from drawings....these are pretty close.  They sale spare parts on their website.  The magnets are pictured at 72 each plus 2 larger units.

4. The designer is holding the primary drive magnet in his hand in one video. Relative to his pointer finger...The magnet size is very close to 2" x 1" x 1/2".

5. Based on the 3D view of the unit and as close as I can measure, the drum size ratio is 1.8 : 1 .  The angle of the magnets is roughly 42 degrees measured off the center line.

6. The magnets are spaced in 72 divisions around the perimeter.

7. In the video with the designer, he specifies the alternators run at a ratio of 6:1 rpms relative to the main drive drum.  He also says the primary drum rotates between 300-400 RPM.  This puts the alternator RPM around 1800 to 2400 rpm which would be normal for a typical GM alternator.

8. He specifies 3 each 70 AMP automotive style alternators with DC voltage regulators operating at 14.75 VDC.

9. It is implied the 14.75 DC voltage is converted to AC voltage using a typical DC/AC inverter.

Unknowns:

1. Torque rating of steppers  (they do share that they operate at roughly 12 volts with 1 amp of current.

2. Cycle rate frequency of drive magnets and whether it is 1:1 cycles/revolution or a higher ratio.

3. Exact dimensions of drum.  (I'm using a diameter of 6.625 inches as a starting point.) Length = 1.8 x diameter.

4. Do they measure drum RPM? If so, is it incorporated in the control logic?

5. What is the actual rotational torque the drum is capable of producing?

6. What keeps the drum perfectly synchronized to the rail magnets? Is it possible for the drum magnets to skip across the drive magnets at times?  Does the drum require some rotational resistance to maintain synchronization?

 

Addressing your input of Start-up Torque:

You reference the initial start-up torque.  My initial thoughts are to gradually ramp the cycle rate of the primary drive magnets from very slow to full pulsing speed.  This way the steppers will not require a huge inrush of current at start-up.  My understanding of steppers is...they use as much current at slow speeds (holding torque) as they do at higher speeds.  Truthfully, I'm not sure what to expect.  A standard inductive motor uses electrical current to produce the magnetic fields which in turn perform the rotational force.  The Magmov design uses fixed (permanent) magnetic fields, which do not change relative to start up or run.  The strength of the magnetic field has no impact on the current being supplied to the steppers...only the cycle rate (speed of pulsing) slightly affects the current rate.  I did try to press by hand the drive magnet to one of the smaller drum magnets (north to north) .  It is an amazing amount of force.  I could not get them any closer than about 1/8" inch.

Here is an unrelated video to the Magmov website, but it demonstrates the same sinusoidal operational patterns.  Take a look and see what you think.  It gives me some clue as to how the Magmov should work.  It also shows the need to leave a de-couple "gap" in the series of magnets at each opposing start point on the drum.

 

Final thoughts, if there is any advantage in using the two additional rails...then they would need to move 90 degrees out of phase with the other two rails.  This would require the 2nd pair of steppers to initialize at the midpoint travel of the 1st pair of steppers.  Just a small justification for using steppers.....having pointed this out....its way too soon in the discovery process.

 

  To me, the biggest early hurtles are:

1. Can I get it to rotate in a synchronized manner?

2. Can I get anywhere close to the 300-400 RPM?

3. What if any, is the rotational torque?

 

To be continued, again thanks for the input.

 

 

 

 

 

 

 

   


   
ReplyQuote
(@pugwash)
Sorcerers' Apprentice
Joined: 5 years ago
Posts: 923
 

@alfietinkerer

Just a couple of quick thoughts:

I don't share your concern about the stepper motor torque, as the stepper motors are only driving the jockey magnet backwards and forwards along the traverse guide bars. So the only friction to overcome is the pulley wheel bearing and the jockey slider. You do need to reduce this friction as much as possible. One suggestion would be sintered bearings soaked in a light turbine oil. Although a few years ago I did see some new bearings made of carbon fibre based material, but the ones I saw were flat circular things for use in submersible pumps installed vertically (like ones in this photo), so I don't know whether they are made like classical cylindrical shape for shafts.

seawaterliftpump

 

I am still sceptical about the breaking torque. When the whole system is connected i.e. the large flywheel gear is connected to the three alternators. Is the initial repulsive power of one drum magnet and the jockey magnet enough to start the whole system moving from zero rotational speed? I understand about ramping up the rotational speed slowly from 0 to 400 rpm after. I actually believe that the only variable(let's just call it sDelay) needed for this whole machine to function is the time delay for the stepper motors, if you will excuse the pun, everything revolves around this variable.

Although this may not be so critical when the rotor reaches its working rpm, but during ramping up knowing the angular velocity it is critical. The traversing speed of the jockey will be directly proportional to the angular velocity, therefore you will need some sort of feedback from the shaft to calculate the variable (sDelay), and this needs to be the exact shaft position, somewhere between 0 & 360° at any given time. This should sort out the synchronisation problem.

 

Just as an afterthought. Doubling the number of steppers and jockeys will NOT double the torque on the main shaft, mechanical systems don't work like that! You might see a 50% plus increase in torque but not much more.


   
ReplyQuote
(@alfietinkerer)
Member
Joined: 4 years ago
Posts: 10
Topic starter  

@pugwash

Thanks Pugwash,

All good points.  I will keep progressing with the mechanical part assemble.  When I reach a point where I can test some of our theories ....I will keep you updated.


   
ReplyQuote