Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research n development team #5

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
///////////////////////////////////////////////////////////////////
//22.20.15.2.1.3_variableFireRateCode
//WB: Caleb Roberts 10/15/2022
//Used to examine the amp and power draw at different fire rates
//
//
//////////////////////////////////////////////////////////////////

int pulse = 11;
int gate = 12;
int pulseCount = 0; // total pulses fired
double pulseRate = 0.5; //rate of fire enter in hz
int pulses = 0;// How many pulses would you like, set to 0 for continuous



void setup() {
pinMode(pulse, OUTPUT);
digitalWrite(pulse, LOW);
pinMode(gate, OUTPUT);
digitalWrite(gate, LOW);
Serial.begin(9600);
hz(pulseRate);

Serial.println("INPUT 1 TO FIRE");
}

void loop() {

if (Serial.available()) {
int state = Serial.parseInt();
switch (state) {
case 1:
if (pulses == 0) {
while ( pulses < 1) {

fire();
Serial.print("Total Pulses: ");
Serial.println(pulseCount);
}
} else if (pulses >= 1) {
int p = 0;
for (int x = 0; x < pulses; x++) {
fire();
p ++;
Serial.print("current pulse: ");
Serial.println(p);
Serial.print("Total Pulses: ");
Serial.println(pulseCount);
}
} else {
Serial.println("Invalid pulse interger");
break;
}
break;
}

}

}


void fire() {


delay(pulseRate); //trigger delay
digitalWrite(gate, HIGH); //gates the thruster to ground to begin inductive charging
delayMicroseconds(4600); //sets inductor charging time
digitalWrite(pulse, HIGH); //trigger pulse for firing
delayMicroseconds(100); //sets trigger pulse time
digitalWrite(pulse, LOW); //trigger off
delayMicroseconds(3000); //sets time for main discharge
digitalWrite(gate, LOW); //thruster gated off
pulseCount ++;

}


void hz(double x) {
pulseRate = ((1 / x) * 1000);
Serial.println(pulseRate);
}
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
///////////////////////////////////////////////////
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
//
//Do not fire the thruster too many times in air! Only a single shot in atmosphere is
//necessary to verify full functionality of the system. While you can do a few quick pulses, too
//many pulses will burn the graphite layer, severely degrading it rapidly and cause premature
//failure. If wanting to use this code, as a saftey mesuere, please comment out the line below.
//
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
////////////////////////////////////////////////////
I am okay useing this code and accept the consequences
int pulse = 11;
int gate = 12;
void setup() {
pinMode(pulse, OUTPUT);
digitalWrite(pulse, LOW);
pinMode(gate, OUTPUT);
digitalWrite(gate, LOW);
Serial.begin(9600);
Serial.println("INPUT 1 TO FIRE");
}
void loop() {
if (Serial.available()) {
int state = Serial.parseInt();
switch (state) {
case 1:
delay(100); //trigger delay
digitalWrite(gate, HIGH); //gates the thruster to ground to begin inductive charging
delayMicroseconds(4600); //sets inductor charging time
digitalWrite(pulse, HIGH); //trigger pulse for firing
delayMicroseconds(100); //sets trigger pulse time
digitalWrite(pulse, LOW); //trigger off
delayMicroseconds(3000); //sets time for main discharge
digitalWrite(gate, LOW); //thruster gated off
Serial.println("FIRE!"); //serial monitor confirmation of completed firing cycle
break;
}
}
}
///////////////////////////////////////////////////
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
//
//Do not fire the thruster too many times in air! Only a single shot in atmosphere is
//necessary to verify full functionality of the system. While you can do a few quick pulses, too
//many pulses will burn the graphite layer, severely degrading it rapidly and cause premature
//failure. If wanting to use this code, as a saftey mesuere, please comment out the line below.
//
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
////////////////////////////////////////////////////


I am okay useing this code and accept the consequences


int pulse = 11;
int gate = 12;
void setup() {
pinMode(pulse, OUTPUT);
digitalWrite(pulse, LOW);
pinMode(gate, OUTPUT);
digitalWrite(gate, LOW);
Serial.begin(9600);
Serial.println("INPUT 1 TO FIRE");
}
void loop() {
if (Serial.available()) {
int state = Serial.parseInt();
switch (state) {
case 1:
delay(100); //trigger delay
digitalWrite(gate, HIGH); //gates the thruster to ground to begin inductive charging
delayMicroseconds(4600); //sets inductor charging time
digitalWrite(pulse, HIGH); //trigger pulse for firing
delayMicroseconds(100); //sets trigger pulse time
digitalWrite(pulse, LOW); //trigger off
delayMicroseconds(3000); //sets time for main discharge
digitalWrite(gate, LOW); //thruster gated off
Serial.println("FIRE!"); //serial monitor confirmation of completed firing cycle
break;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
///////////////////////////////////////////////////
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
//
//Do not fire the thruster too many times in air! Only a single shot in atmosphere is
//necessary to verify full functionality of the system. While you can do a few quick pulses, too
//many pulses will burn the graphite layer, severely degrading it rapidly and cause premature
//failure. If wanting to use this code, as a saftey mesuere, please comment out the line below.
//
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
////////////////////////////////////////////////////
I am okay useing this code and accept the consequences
int pulse = 14;
int gate = 15;
void setup() {
pinMode(pulse, OUTPUT);
digitalWrite(pulse, LOW);
pinMode(gate, OUTPUT);
digitalWrite(gate, LOW);
}
void loop() {
delay(250); //sets repetition rate (4Hz in this example with 250)
digitalWrite(gate, HIGH); //gates the thruster to ground to begin inductive charging
delayMicroseconds(4600); //sets inductor charging time
digitalWrite(pulse, HIGH); //trigger pulse for firing
delayMicroseconds(100); //sets trigger pulse time
digitalWrite(pulse, LOW); //trigger off
delayMicroseconds(3000); //sets time for main discharge
digitalWrite(gate, LOW); //thruster gated off
}
///////////////////////////////////////////////////
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
//
//Do not fire the thruster too many times in air! Only a single shot in atmosphere is
//necessary to verify full functionality of the system. While you can do a few quick pulses, too
//many pulses will burn the graphite layer, severely degrading it rapidly and cause premature
//failure. If wanting to use this code, as a saftey mesuere, please comment out the line below.
//
//!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!!!WARNING!!WARNING!!WARNING!!
////////////////////////////////////////////////////

I am okay useing this code and accept the consequences


int pulse = 14;
int gate = 15;
void setup() {
pinMode(pulse, OUTPUT);
digitalWrite(pulse, LOW);
pinMode(gate, OUTPUT);
digitalWrite(gate, LOW);
}
void loop() {
delay(250); //sets repetition rate (4Hz in this example with 250)
digitalWrite(gate, HIGH); //gates the thruster to ground to begin inductive charging
delayMicroseconds(4600); //sets inductor charging time
digitalWrite(pulse, HIGH); //trigger pulse for firing
delayMicroseconds(100); //sets trigger pulse time
digitalWrite(pulse, LOW); //trigger off
delayMicroseconds(3000); //sets time for main discharge
digitalWrite(gate, LOW); //thruster gated off
}
File renamed without changes.
Binary file not shown.
Binary file added Arc Thruster/CIS VAT/Desgin1/CAD/Aniode.SLDPRT
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions Arc Thruster/CIS VAT/Desgin1/CAD/read_me
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//the location for the cad of the first desgin of the arv thruster
2 changes: 2 additions & 0 deletions Arc Thruster/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Research & Development Team
## Team Lead: Aukusitino (AJ) Ah-yek
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.