Loading...
  Show Posts
Pages: [1]
1  Using Arduino / Motors, Mechanics, and Power / Re: Flywheel as quadcopter power source on: May 02, 2013, 09:34:20 am
Ok, so magnetic frictionless bearings and vacuumed container. There are obviously many other things that can be modified. But the main question is whether is possible or not ? My budget is about five hundred dollars. I have next two-three month to spare on this project. Could it be done ?
2  Using Arduino / Motors, Mechanics, and Power / Flywheel as quadcopter power source on: May 01, 2013, 04:15:15 pm
I stumbled upon this interesting concept:http://en.wikipedia.org/wiki/Flywheel_energy_storage and I was wondering if it could be used for devising a small quadcopter power source. It would allow much faster charging than conventional batteries. I found this video that demonstrates flywheel concept on a very crude example: The device design seen on video can be largely improved. Does any have any experience concerning this matter? What's the maximum power density that can be achieved by using this approach?
3  Using Arduino / Motors, Mechanics, and Power / Hydrogen fuel cell instead of battery on: February 10, 2013, 05:32:27 pm
I need reliable power source for my quadcopter project that will be able to run for at least one hour. High-end batteries are quite expensive and I need to find some alternative. I made some simple H fuel cells in school years ago, I'm thinking about stacking dozen or-so fuel cells into one cube. Has anyone ever built something similar? What are your suggestions? 
4  Using Arduino / General Electronics / Re: Vibrating buzzer? on: March 28, 2012, 03:52:20 pm
So could I, theoretically, use this buzzer http://www.proelectronic.rs/BUZER-PE2728W-BUZER-PE2728-3093.htm as a vibration unit?
5  Using Arduino / General Electronics / Vibrating buzzer? on: March 28, 2012, 03:27:13 pm
Buzzers are made to beep, but I was wondering if there is some way I could make piezzo buzzer vibrate? I need it for some tactile device and small dc motors consume a lot of energy. One is not the problem but 10 is.
6  Using Arduino / Sensors / Re: Picking the right photodiode on: March 27, 2012, 08:25:10 am
Thank you for replying. What kind of amp circuit should I build? Would something like 741 DIP OPAMP, 3-18V, 1MHz, GENERAL PURPOSE, DIP8 be useful?
7  Using Arduino / Sensors / Picking the right photodiode on: March 27, 2012, 03:19:18 am
I need to transfer data from my Windows Phone 7 to mC. The problem is that WP7 doesn't have any type of usb client control. So I was thinking, I could connect photodiode to mC, change in voltage will be used to represent data. I have already coded 32 characters using two voltage states, that should be enough. Light will be emited from WP7 screen, just flashing black/white when in sending mode. I would isolate external by building a stethoscope-like fraim for diode. My question is what model of photodiode should I use? Changes in screen light will be every 20 ms. Do I need some kind of amp for voltage from diode ? 
8  Using Arduino / Audio / Re: FFT problem on: March 18, 2012, 05:46:07 pm
The code is derived from http://didier.longueville.free.fr/arduinoos/?p=1022. Why would I want to store 10000 samples? I am performing on the fly fft. Get 128 samples, perform fft, send data to .net and repeat. Time needed for one cycle is about 50ms, so I am not loosing too much time on calculations. And I should repeat that fft works fine for lets say 4000 Hz, but when I lower sound frequency I'm starting to get a lot random results.
9  Using Arduino / Audio / Re: FFT problem on: March 18, 2012, 03:58:50 pm
Thank you for replying. One methode call from .net MF to RL procedure takes only about 50 ms, so processing is not the problem. Yes, 39 Hz is high enough resolution and that's not the problem either. I suspect that circuit is the problem. Capacitors can cut off some frequencies, so I need some advice about cap values. Has anyone done anything similar before ?
10  Using Arduino / Audio / FFT problem on: March 17, 2012, 02:46:51 pm
I have implemented fft algorithm on my Panda 2 using rlp. The problem is that I sometimes get funky results. For example when I generate sound on my comp I get good frequency reading every forth-fifth time, between that are some random results. Also thing are getting worse when I lower sound frequency, it's getting harder and harder to read right freq value. I suspect that problem lies in microphone calibration. I tried to measure relative silence and set that voltage value as zero. It helped a bit, but not enough. Maybe I should try 256 point fft instead of 128 point, but I fear that would slow things down significantly. I am using this mic:http://www.mikroprinc.com/proizvodi/elektromehanicke-komponente/audio-komponente/mikrofoni/mikrofon-kapisla-kondenzatorski/index.php?keyword=mikrofon  and this amp circuit:http://lowvoltage.wordpress.com/2011/05/15/lm386-mic-amp/

This is my code:


Code:
#define pi 3.14159265358979323846
  
float vReal[128];
float vImag[128];
float samples=128;
float sampling=10000;
  
float sqrt(float m)
{
   float i=0;
   float x1,x2;
   while( (i*i) <= m )
          i+=0.1;
   x1=i;
   int j;
   for(j=0;j<10;j++)
   {
        x2=m;
      x2/=x1;
      x2+=x1;
      x2/=2;
      x1=x2;
   }
   return x2;
}
  
float cos(float x)
{
    x+=1.5707963267944118;
    float x2 = x*x;
    float x4 = x2*x2;
    float t1 = x * (1.0 - x2 / (2*3));
    float x5 = x * x4;
    float t2 = x5 * (1.0 - x2 / (6*7)) / (1.0* 2*3*4*5);
    float x9 = x5 * x4;
    float t3 = x9 * (1.0 - x2 / (10*11)) / (1.0* 2*3*4*5*6*7*8*9);
    float x13 = x9 * x4;
    float t4 = x13 * (1.0 - x2 / (14*15)) / (1.0* 2*3*4*5*6*7*8*9*10*11*12*13);
    float result = t4;
    result += t3;
    result += t2;
    result += t1;
  
    return result;
}
  
  
  
void Windowing(float *vData,unsigned samples)
{
    unsigned i;
    for (i = 0; i < (samples >> 1); i++)
    {
        float indexMinusOne = i;
        float ratio = (indexMinusOne / (samples-1));
        float weighingFactor = 1.0;
        weighingFactor = 0.54 - (0.46 * cos(2.0 * 3.141592653 * ratio));
        vData[i] *= weighingFactor;
        vData[samples - (i + 1)] *= weighingFactor;
    }
}
  
void swap(float *i, float *j)
{
  float temp;
  
  temp = *i;
  *i = *j;
  *j = temp;
}
void Fft(float *vR, float *vI,unsigned samples)
{
    unsigned j = 0;
    unsigned i;
    for (i = 0; i < (samples-1); i++)
    {
        if (i < j)
        {
             swap(&vR[i], &vR[j]);
             swap(&vI[i], &vI[j]);
        }
        unsigned k = (samples >> 1);
        while (k <= j)
        {
             j -= k;
             k >>= 1;
        }
        j += k;
    }
    float c1 = -1.0;
    float c2 = 0.0;
    unsigned l2 = 1;
    unsigned l;
    for (l = 0; l < 7; l++)// 7=exponent(samples)
    {
        unsigned l1 = l2;
        l2 <<= 1;
        float u1 = 1.0;
        float u2 = 0.0;
        for (j = 0; j < l1; j++)
        {
            unsigned i;
             for (i = j; i < samples; i += l2)
             {
                    unsigned i1 = i + l1;
                    float t1 = u1 * vR[i1] - u2 * vI[i1];
                    float t2 = u1 * vI[i1] + u2 * vR[i1];
                    vR[i1] = vR[i] - t1;
                    vI[i1] = vI[i] - t2;
                    vR[i] += t1;
                    vI[i] += t2;
             }
             float z = (u1 * c1) - (u2 * c2);
             u2 = (u1 * c2) + (u2 * c1);
             u1 = z;
        }
        c2 = sqrt((1.0 - c1) / 2.0);
        c2 = -c2;
        c1 = sqrt((1.0 + c1) / 2.0);
    }
       for (i = 0; i < samples; i++)
        {
             vR[i] /= samples;
             vI[i] /= samples;
        }
}
  
float getFundamental(float *vR, float *vI,unsigned samples)
{
    float freq,max;
    unsigned i,maxIndex;
    maxIndex=1;
    max=0.0;
    for (i = 0; i < samples; i++)
    {
        vR[i] = sqrt((vR[i])*(vR[i]) + (vI[i])*(vI[i]));
    }
  
    for(i=1;i<samples/2;i++)
    {
        if(vR[i]>max)
        {
            max=vR[i];
            maxIndex=i;
        }
    }
    freq = maxIndex * sampling / samples;
    return freq;
}
  
int GHAL_AnalogIn_Read(unsigned char channel)
{
        return ((*((int*)(ADC_DATA_BASE_ADDRESS) + channel)) >>8) & 0x3FF;
}
int ReadAudio(unsigned int *generalArray, void **args, unsigned int argsCount ,unsigned int *argSize)
{
  
        int i=0;
        float x;
        unsigned char channel = *(unsigned char*)args[0];
        while(i<samples)
        {
           vImag[i]=0;
           vReal[i] =(unsigned char)GHAL_AnalogIn_Read(channel)-5;//-5 because of my mic
           i++;
           RLPext->Delay(100);
        }
  
  
        Windowing(vReal,samples);
        Fft(vReal, vImag,samples);
        x=getFundamental(vReal, vImag,samples);
  
  
    return x;
}
11  Using Arduino / Motors, Mechanics, and Power / Re: Controlling multiple dc motors on: February 18, 2012, 01:29:24 pm
I will try that, thanks.
12  Using Arduino / Motors, Mechanics, and Power / Controlling multiple dc motors on: February 18, 2012, 12:37:41 pm
Greetings, I have ordered six mobile phone coin vibration motors. They run on about 3 V. I am working on a project that requires independent control of each of these 6 motors. Motor will run in only one direction, and speed should be alterable during operating time. I am using fez Panda 2 which is basically the same thing as arduino when it comes to these matters. Collapsing magnetic field can damage mC and, of course, I want to prevent that. Does anyone have any reliable schematic, or any useful advice? Motor shields are not an option, I am looking for some old school circuit that can be built in my garage using standard e components.   
13  Using Arduino / Audio / Directional microphone on: November 06, 2011, 01:56:26 pm
Greetings.Is there any way to modify simple electret microphone so he can be used as directional microphone? I can use both hardware and software filtering.Microphone will be used for speech recognition.Distance from sound source should be between 3-10 feet.So, what do you think?
14  Using Arduino / Motors, Mechanics, and Power / Re: Small vibro motors from mobile phone on: October 02, 2011, 01:22:06 pm
There is no need to drive them in both directions.Tx.
15  Using Arduino / Motors, Mechanics, and Power / Small vibro motors from mobile phone on: October 02, 2011, 02:41:27 am
I need to finish some project that involves independently controling 6 dc motors salvaged from old mobile phones.The question is what kind of circuit do I need.Do I really need protection from collapsing m field having in mind that motors are really small?

P.S. I  apologize for my bad English I am from Serbia.
Pages: [1]