alright gang, well finished building my tesla coil looks pretty mental, i need a controller for the boards. can the arduino do a pulse width of 58us to 285us and pulse repetition frequ of 60hz-300hz??
got a board here just have no idea how to setting this up.. any ideas?
Have a successful arduino interface with the tesla coil using midi and fiber optics. Has anyone got poly/duo phonic sound from an arduino? Monophonic is cool but duo would be mental!
#define OUTPIN 9 //Output pin to drive coil.
#define NOTELIM 70 // Highest MIDI note to output.
#define PWLIM 300 //Pulse Width limit in us.
#define PWMULT 3 // multiplier applied to velocity to get pulse width .
//Include librarys.
#include <MIDI.h>
#include "TimerOne.h"
//Define Global Variables
unsigned int midiperiod[128]; // Array to store midi note periods
unsigned int pw = 20; // Caurrent Pulase width
void setup(void){
// Prepare Timer1
Timer1.initialize(1000000);
// Set the pin we want the ISR to toggle for output.
pinMode(OUTPIN,OUTPUT);
//Start up the serial port
Serial.begin(9600);
//Define Midi Note Periods
midiperiod[0] =122312;
midiperiod[1] =115447;
midiperiod[2] =108968;
midiperiod[3] =102852;
midiperiod[4] =97079;
midiperiod[5] =91631;
midiperiod[6] =86488;
midiperiod[7] =81634;
midiperiod[8] =77052;
midiperiod[9] =72727;
midiperiod[10] =68645;
midiperiod[11] =64793;
midiperiod[36] =15289;
midiperiod[37] =14431;
midiperiod[38] =13621;
midiperiod[39] =12856;
midiperiod[40] =12135;
midiperiod[41] =11454;
midiperiod[42] =10811;
midiperiod[43] =10204;
midiperiod[44] =9631;
midiperiod[45] =9091;
midiperiod[46] =8581;
midiperiod[47] =8099;
midiperiod[72] =1911;
midiperiod[73] =1804;
midiperiod[74] =1703;
midiperiod[75] =1607;
midiperiod[76] =1517;
midiperiod[77] =1432;
midiperiod[78] =1351;
midiperiod[79] =1276;
midiperiod[80] =1204;
midiperiod[81] =1136;
midiperiod[82] =1073;
midiperiod[83] =1012;
midiperiod[108] =239;
midiperiod[109] =225;
midiperiod[110] =213;
midiperiod[111] =201;
midiperiod[112] =190;
midiperiod[113] =179;
midiperiod[114] =169;
midiperiod[115] =159;
midiperiod[116] =150;
midiperiod[117] =142;
midiperiod[118] =134;
midiperiod[119] =127;
midiperiod[12] =61156;
midiperiod[13] =57724;
midiperiod[14] =54484;
midiperiod[15] =51426;
midiperiod[16] =48540;
midiperiod[17] =45815;
midiperiod[18] =43244;
midiperiod[19] =40817;
midiperiod[20] =38526;
midiperiod[21] =36364;
midiperiod[22] =34323;
midiperiod[23] =32396;
midiperiod[48] =7645;
midiperiod[49] =7215;
midiperiod[50] =6810;
midiperiod[51] =6428;
midiperiod[52] =6067;
midiperiod[53] =5727;
midiperiod[54] =5405;
midiperiod[55] =5102;
midiperiod[56] =4816;
midiperiod[57] =4545;
midiperiod[58] =4290;
midiperiod[59] =4050;
midiperiod[84] =956;
midiperiod[85] =902;
midiperiod[86] =851;
midiperiod[87] =804;
midiperiod[88] =758;
midiperiod[89] =716;
midiperiod[90] =676;
midiperiod[91] =638;
midiperiod[92] =602;
midiperiod[93] =568;
midiperiod[94] =536;
midiperiod[95] =506;
midiperiod[120] =119;
midiperiod[121] =113;
midiperiod[122] =106;
midiperiod[123] =100;
midiperiod[124] =95;
midiperiod[125] =89;
midiperiod[126] =84;
midiperiod[127] =80;
midiperiod[24] =30578;
midiperiod[25] =28862;
midiperiod[26] =27242;
midiperiod[27] =25713;
midiperiod[28] =24270;
midiperiod[29] =22908;
midiperiod[30] =21622;
midiperiod[31] =20408;
midiperiod[32] =19263;
midiperiod[33] =18182;
midiperiod[34] =17161;
midiperiod[35] =16198;
midiperiod[60] =3822;
midiperiod[61] =3608;
midiperiod[62] =3405;
midiperiod[63] =3214;
midiperiod[64] =3034;
midiperiod[65] =2863;
midiperiod[66] =2703;
midiperiod[67] =2551;
midiperiod[68] =2408;
midiperiod[69] =2273;
midiperiod[70] =2145;
midiperiod[71] =2025;
midiperiod[96] =478;
midiperiod[97] =451;
midiperiod[98] =426;
midiperiod[99] =402;
midiperiod[100] =379;
midiperiod[101] =358;
midiperiod[102] =338;
midiperiod[103] =319;
midiperiod[104] =301;
midiperiod[105] =284;
midiperiod[106] =268;
midiperiod[107] =253;
MIDI.begin(); // Launch MIDI with default options
}
void pulse(){
digitalWrite(OUTPIN,HIGH);
delayMicroseconds(pw);
digitalWrite(OUTPIN,LOW);
}
void loop(){
int controlnote;
//Check for availible midi data
if (MIDI.read()) {
switch(MIDI.getType()) { // Get the type of the message we caught
case NoteOn:
// get note on number and check for limit
controlnote = MIDI.getData1();
if (controlnote > NOTELIM){
controlnote = 10;
}
Timer1.attachInterrupt(pulse,midip eriod[controlnote]);
// Calculate Pulse width from velocity and Limit to P WLIM
pw = PWMULT * MIDI.getData2();
if (pw > PWLIM){
pw = PWLIM;
}
break;
case NoteOff:
//Disable the interupt.
Timer1.detachInterrupt();
break;
default:
break;
}
}
}
alright gang, well finished building my tesla coil looks pretty mental, i need a controller for the boards. can the arduino do a pulse width of 58us to 285us and pulse repetition frequ of 60hz-300hz??
Yes it is really easy, i'm doing myself ruhmkorff coils, tesla coils, plasma rife healing devices & free energy devices thanks to arduino timers which I directly setup.
As Things wisdom wrote, yes tesla coil engineering with arduino control requires HV isolation.
I've used so far 4N25 but now IL610 which are MUCH faster than 4N25.
Of course, you'll need a power mosfet driver along with isolator
if you really want 4n25 run fast, you need a driver between arduino pin and 4n25 plus driver between 4n25 and the mosfet pulsing tesla coil.
now depending the pulse lenght you're looking, below 10*2us best then use il610 which is ultra fast plus you don't need a driver between arduino pin and isolator but you'll still need a driver between il610 and mosfet pulsing tesla coil http://www.nve.com/Downloads/il600.pdf.