Overunity.com Archives is Temporarily on Read Mode Only!



Free Energy will change the World - Free Energy will stop Climate Change - Free Energy will give us hope
and we will not surrender until free energy will be enabled all over the world, to power planes, cars, ships and trains.
Free energy will help the poor to become independent of needing expensive fuels.
So all in all Free energy will bring far more peace to the world than any other invention has already brought to the world.
Those beautiful words were written by Stefan Hartmann/Owner/Admin at overunity.com
Unfortunately now, Stefan Hartmann is very ill and He needs our help
Stefan wanted that I have all these massive data to get it back online
even being as ill as Stefan is, he transferred all databases and folders
that without his help, this Forum Archives would have never been published here
so, please, as the Webmaster and Creator of these Archives, I am asking that you help him
by making a donation on the Paypal Button above.
You can visit us or register at my main site at:
Overunity Machines Forum



Re-Inventing The Wheel-Part1-Clemente_Figuera-THE INFINITE ENERGY MACHINE

Started by bajac, October 07, 2012, 06:21:28 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

woopy

Hi all

a small video for the interested

This is a test of a simpler version as per the the rotative commutator, with" bizarre" and interesting  results

Hope this helps

good luck at all

Laurent

http://youtu.be/3QguCN8TP7o

conradelektro

@Laurent (Woopy):

Your video is very interesting, thank you for showing your tests in such a clear and understandable way.

From the drawing of Fiquera (the one with the many coils) I got the idea, that one should try a very simple design as depicted in the attached drawing. I do not see any indication that one should use a rectangular transformer core and the secondary on a transversal in the middle.

------------------

I had some troubles with the TI LaunchPad and the 20 pin MSP430G2254 microprocessor. The LaunchPad can not program this rather new Microprocessor and an attempt to update the LaunchPad firmware resulted in the destruction of the two LauchPads I had. I need the 20 pin Microprocessor MSP430G2254 (or some other 20 pin Version) in order to have enough I/O lines to control the stepper motor driver IC. And the LaunchPad can not program the 20 pin Microprocessors MSP430G... without a firmware update, which is difficult to do and not really supported by TI. Well my loss was less than 20.-- Euro, but still, very annoying.

I am now fed up with the LaunchPad and switched to the Arduino Due, but it will take some time till I get one, at the moment only a few can be delivered (at least in Austria and Germany). It seemed appropriate to wait for the new Arduino Due since it came out just about now. I would have soon regretted having bought an older Arduino

The Arduino Due has two DACs (digital to analogue converters), which will make it simple to control all aspects of DRV8834 stepper motor driver IC (I got already 4 ICs, so that I can fry a few till I get it right).

So, it will take some time till I can start real tests. But once I am up with my rather ambitious hardware I should be able to try out any conceivable current curve on two coils (with a resolution of up to 256 steps). But only with 10 Volt (-10 V to + 10 Volt = 20 Volt peak to peak) and 1.5 Ampere.

Greetings, Conrad

conradelektro

Again looking at the Fiquera drawing (the one with the many coils) I got the idea that one could use two identical primaries (two primaries connected and wound in the same sense) only if one sends a different current wave form through them. See the attached drawing.

It is not more difficult to create the current wave form for the identical primaries (than for the ones with opposing magnetic poles) with a stepper motor driver IC (but only if the driver IC is flexible enough).

What ever one does, I find it interesting that one can play with the magnetic poles of the primaries in combination with the current wave forms.

Greetings, Conrad

kEhYo77

Alrightythen...

I have found a simple way to do the coil driving with Arduino!

All you need is:
1. ONE 10k/100k Ohm potentiometer. Connect the middle leg to Arduino's "A0" analog input. The other two legs of the pot goes to +5V and GND on Arduino.
2. TWO Logic Level MOSFET transistors to do the switching (Logic level - like in IRL series -  means that a mosfet is in a conduction saturation state at just +5V put to its gate). Connect the Gate of one mosfet to "Pin 3" and the others' gate to "Pin 11". Sources go to the "GND" of the Arduino board.
3. Connect +(positive) from a battery to both "North" & "South" coils and their ends to both drains in the two mosfets and -(negative) to the Arduino's "GND" close to the Source legs of mosfets.
4. Connect fast shottky diodes across each coil to do the freewheeling of current.

Program description:
Arduino is generating a digital signal at 32 kHz frequency using 2 PWM outputs. The value for each "sample" is taken from the sine table. There are 256 values of resolution for the "shape" of the sine wave and 256 values of amplitude. You can change phase shift by changing "offset" variable. Potentiometer allows to set the analog frequency from 0 to 1023 Hz at 1 Hz resolution...


NOW copy the code below to Arduino IDE window and save it to the microconroller and HERE YOU GO! ;)


Quote

/* CLEMENTE FIGUERAS GENERADOR DRIVER
* modification by kEhYo77
*
* Thanks must be given to Martin Nawrath for the developement of the original code to generate a sine wave using PWM and a LPF.
* http://interface.khm.de/index.php/lab/experiments/arduino-dds-sinewave-generator/
*/


#include "avr/pgmspace.h" //Store data in flash (program) memory instead of SRAM


// Look Up table of a single sine period divied up into 256 values. Refer to PWM to sine.xls on how the values was calculated
PROGMEM  prog_uchar sine256[]  = {
  127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,178,181,184,187,190,192,195,198,200,203,205,208,210,212,215,217,219,221,223,225,227,229,231,233,234,236,238,239,240,
  242,243,244,245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254,254,254,254,253,253,253,252,252,251,250,249,249,248,247,245,244,243,242,240,239,238,236,234,233,231,229,227,225,223,
  221,219,217,215,212,210,208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,158,155,152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,96,93,90,87,84,81,78,
  76,73,70,67,64,62,59,56,54,51,49,46,44,42,39,37,35,33,31,29,27,25,23,21,20,18,16,15,14,12,11,10,9,7,6,5,5,4,3,2,2,1,1,1,0,0,0,0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,10,11,12,14,15,16,18,20,21,23,25,27,29,31,
  33,35,37,39,42,44,46,49,51,54,56,59,62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,121,124


};
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) //define a bit to have the properties of a clear bit operator
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))//define a bit to have the properties of a set bit operator


int PWM1 = 11; //PWM1 output, phase 1
int PWM2 = 3; //PWM2 ouput, phase 2
int offset = 127; //offset is 180 degrees out of phase with the other phase


double dfreq;
const double refclk=31376.6;      // measured output frequency
int apin0 = 10;


// variables used inside interrupt service declared as voilatile
volatile byte current_count;              // Keep track of where the current count is in sine 256 array
volatile unsigned long phase_accumulator;   // pahse accumulator
volatile unsigned long tword_m;  // dds tuning word m, refer to DDS_calculator (from Martin Nawrath) for explination.


void setup()
{
  pinMode(PWM1, OUTPUT);      //sets the digital pin as output
  pinMode(PWM2, OUTPUT);      //sets the digital pin as output
  Setup_timer2();
 
  //Disable Timer 1 interrupt to avoid any timing delays
  cbi (TIMSK0,TOIE0);              //disable Timer0 !!! delay() is now not available
  sbi (TIMSK2,TOIE2);              //enable Timer2 Interrupt


  dfreq=10.0;                    //initial output frequency = 1000.o Hz
  tword_m=pow(2,32)*dfreq/refclk;  //calulate DDS new tuning word
 
  // running analog pot input with high speed clock (set prescale to 16)
  bitClear(ADCSRA,ADPS0);
  bitClear(ADCSRA,ADPS1);
  bitSet(ADCSRA,ADPS2);


}
void loop()
{
        apin0=analogRead(0);             //Read voltage on analog 1 to see desired output frequency, 0V = 0Hz, 5V = 1.023kHz
        if(dfreq != apin0){
          tword_m=pow(2,32)*dfreq/refclk;  //Calulate DDS new tuning word
          dfreq=apin0;
        }
}


//Timer 2 setup
//Set prscaler to 1, PWM mode to phase correct PWM,  16000000/510 = 31372.55 Hz clock
void Setup_timer2()
{
  // Timer2 Clock Prescaler to : 1
  sbi (TCCR2B, CS20);
  cbi (TCCR2B, CS21);
  cbi (TCCR2B, CS22);


  // Timer2 PWM Mode set to Phase Correct PWM
  cbi (TCCR2A, COM2A0);  // clear Compare Match
  sbi (TCCR2A, COM2A1);
  cbi (TCCR2A, COM2B0);
  sbi (TCCR2A, COM2B1);
 
  // Mode 1  / Phase Correct PWM
  sbi (TCCR2B, WGM20); 
  cbi (TCCR2B, WGM21);
  cbi (TCCR2B, WGM22);
}




//Timer2 Interrupt Service at 31372,550 KHz = 32uSec
//This is the timebase REFCLOCK for the DDS generator
//FOUT = (M (REFCLK)) / (2 exp 32)
//Runtime : 8 microseconds
ISR(TIMER2_OVF_vect)
{
  phase_accumulator=phase_accumulator+tword_m; //Adds tuning M word to previoud phase accumulator. refer to DDS_calculator (from Martin Nawrath) for explination.
  current_count=phase_accumulator >> 24;     // use upper 8 bits of phase_accumulator as frequency information                     
 
  OCR2A = pgm_read_byte_near(sine256 + current_count); // read value fron ROM sine table and send to PWM
  OCR2B = pgm_read_byte_near(sine256 + (uint8_t)(current_count + offset)); // read value fron ROM sine table and send to PWM, 180 Degree out of phase of PWM1
}