Recent Posts

Recent Posts

Pages: 1 ... 8 9 [10]
91
Help and Feedback / Arduino and Relay
« Last post by Akshay on July 19, 2013, 11:27:02 AM »
Hello !

I want to connect my Arduino UNO to a One Relay Switch Board.
I also want to connect relay to a Fan, TubeLight etc

Relay connections :  POLE, NO, NC,

Please can any one explain me the connections Please.


Images of Relay circuit are attached
92
Help and Feedback / Re: Laser Diode Focuss
« Last post by ElectroNick on July 15, 2013, 10:52:59 AM »
Hello and welcome to the forums!

Yes, you do need what they call a "housing" for the laser diode. It's usually just a small cylinder with an opening the size of the laser diode on one end and 10.5mm thread on the other to hold the screw-in lens. Look up "Aixiz" - it's one of the brands of such housings. Also try "O-Like" - another brand from China.

You will need to pick one that matches the size of the can lip (the larger diameter) of your laser diode. Common sizes are 5.6mm and 9mm. Sometimes 3.8mm, and sometimes the size and shape of the diode is just too uncommon to find a housing. I did a write-up on making a housing from small brass plumbing fittings here Laser Diode Housing from Hardware Store Parts  - that was done for a laser diode of an odd 12mm size. Hopefully you will be able to just find a standard housing for yours - those factory-made housings are obviously better quality than  DIY ones.
93
Help and Feedback / Laser Diode Focuss
« Last post by chklopper on July 15, 2013, 07:21:31 AM »
Hi

I just need to know one thing the laser diodes taken from DVD writers are they used as is or are there extra stuff to put on these diode for example focusing lenses and heat sinks ens. Everybody is talking about drivers and that it is working but nobody gives a detail description what to do with the laser diode once extracted from the DVD writer.

Thanks
94
MSP430 / Installation Problems
« Last post by mebrunet on July 10, 2013, 01:32:28 AM »
Your "MSP430 in 64-bit Ubuntu 12.04 Linux – the Arduino Way" was extremely helpful. I've gotten Energia up and running, however any time I try and verify a sketch I get the following error message:

/home/marc/electronics/energia/energia-0101E0008/hardware/tools/msp430/bin/../libexec/gcc/msp430/4.6.3/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

Any ideas? Thanks!
95
Post your projects / Re: Laser Scanning Display Project
« Last post by Georg on June 18, 2013, 06:07:15 AM »
Dear ElektroNick, our longterm project will keep us busy for some time  :) I received my buff wheel last week. I just tried the first mirror. works good. Now I have to polish the other 7 sides - then my mirror ring will be ok!
My next step is to bring the HDD motor to speed ...
I agree with you it is time ciritical - eventually we just need 2 Arduino to handle it.
96
Motor Control / Re: Brushless Motor Basic Programming Question
« Last post by mamette on June 17, 2013, 10:55:25 AM »
I GOT IT!!! it must use Interrupts, and all things will works well..

Code: [Select]
// constants won't change. They're used here to
// set pin numbers:
const int motorPin1 =3;
const int motorPin2 =6;
const int motorPin3 =5;

// Variables will change:
boolean direct = true; // direction true=forward, false=backward

int pwmSin[] = {127,110,94,78,64,50,37,26,17,10,4,1,0,1,4,10,17,26,37,50,64,78,94,110,127,144,160,176,191,204,217,228,237,244,250,253,254,253,250,244,237,228,217,204,191,176,160,144,127
}; // array of PWM duty values for 8-bit timer - sine function

 
//int pwmSin[]={511,444,379,315,256,200,150,106,68,39,17,4,0,4,17,39,68,106,150,200,256,315,379,444,511,578,643,707,767,822,872,916,954,983,1005,1018,1022,1018,1005,983,954,916,872,822,767,707,643,578,511
//}; // array of PWM duty values for 10-bit timer - sine function
 
int increment;
int currentStepA=0;
int currentStepB=16;
int currentStepC=32;

// the following variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
//long motorDelayActual = 0;  // the actual delay, based on pot value and motor delay set above
long lastMotorDelayTime = 0;

void initBLDC() {

  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
 
  //TCCR1B = TCCR1B & 0b11111000 | 0x01; // set PWM frequency @ 31250 Hz for Pins 9 and 10
  //TCCR2B = TCCR2B & 0b11111000 | 0x01; // set PWM frequency @ 31250 Hz for Pins 11 and 3
  TCCR2B = _BV(CS21);
  //TCCR0B = TCCR0B & 0b11111000 | 0x01; // set PWM frequency @ 31250 Hz for Pins 5 and 6
 

  ICR1 = 255 ; // 8 bit resolution
  //ICR1 = 1023 ; // 10 bit resolution
  TIMSK2 |= _BV(TOIE1);
  //sei();
  //Timer2 Settings: Timer Prescaler /64,
  //TCCR2B |= ((1<<CS22) | (0<<CS21) | (0<<CS20)); 
  //Use normal mode
  //TCCR2B |= (0<<WGM21) | (0<<WGM20);
  // Use internal clock - external clock not used in Arduino
  //ASSR |= (0<<AS2);                     //http://forum.arduino.cc/index.php/topic,37875.0.html
  sei();
 
    // Enable Timer1 Interrupt for Motor Control
  //OCR2A = 0;  //11  APIN
  //OCR2B = 0;  //D3
  //OCR1A = 0;  //D9  CPIN
  //OCR1B = 0;  //D10 BPIN
  //OCR0A = 0;  //D6
  //OCR0B = 0;  //D5
}


ISR(TIMER2_OVF_vect) {   
  BLDCmove();   
}; 


void setup() {
  initBLDC(); 
}


void loop() {

  //IMU Code Here
   
}
 
void BLDCmove() {
  if((millis() - lastMotorDelayTime) > 0)
  { // delay time passed, move one step
 
    BLDCCommut();
 
    lastMotorDelayTime = millis();

  }
 
  motorMove(); 
}

void BLDCCommut() {
 
  if (direct==true)
  {
    increment = 1;
   
  currentStepA = currentStepA + increment;
  if(currentStepA > 47) currentStepA = 0;
  if(currentStepA<0) currentStepA =47;
   
  currentStepB = currentStepB + increment;
  if(currentStepB > 47) currentStepB = 0;
  if(currentStepB<0) currentStepB =47;
   
    currentStepC = currentStepC + increment;
  if(currentStepC > 47) currentStepC = 0;
  if(currentStepC<0) currentStepC =47;
 
  }
   
   
  if (direct==false)
  {
    increment = -1;
   
  currentStepA = currentStepA + increment;
  if(currentStepA > 47) currentStepA = 0;
  if(currentStepA<0) currentStepA =47;
   
  currentStepB = currentStepB + increment;
  if(currentStepB > 47) currentStepB = 0;
  if(currentStepB<0) currentStepB =47;
   
    currentStepC = currentStepC + increment;
  if(currentStepC > 47) currentStepC = 0;
  if(currentStepC<0) currentStepC =47;
  }
 
}

void motorMove() {
 
  analogWrite(motorPin1, pwmSin[currentStepA]);
  analogWrite(motorPin2, pwmSin[currentStepB]);
  analogWrite(motorPin3, pwmSin[currentStepC]);

}
97
Atmel and Arduino / Re: Using Atmega1280 to control a BLDC motor
« Last post by antmabee on June 14, 2013, 12:56:18 PM »
I will not use the motor to actually drill I intend to use it for learning purposes since it is readily available. Once I have become familiar with arduino programming I can now do research on the best Motor for the actual drill. The basic idea is sensor-less control of a motor using PWM. The idea is when the motor slows due to a change in the load you are prompted to reduce the speed to a desirable speed in order to get the desired torque. Once you alter the speed of one motor this is sent through RF to a second motor. If you have some tutorials or possible references that I could use to familiarize myself with arduino that would be helpful.
98
Atmel and Arduino / Re: Using Atmega1280 to control a BLDC motor
« Last post by ElectroNick on June 14, 2013, 12:15:50 PM »
The buttons will be on one of the Arduino boards which transmits to the other board. The motor is 
an EG-530KD with an RPM of 1600/3200 the load should be suitable for variable. Maybe the attached block diagram maybe of some help.

EG-530KD seems to be a very small motor, but I see words like drill bit and mud pump on that diagram. If I may ask, what is this device going to drill? This isn't a very powerful motor and therefore it may experience loads that might slow it down significantly. In this situation driving a non-sensor BLDC like the  EG-530KD  motor is extremely difficult, next to impossible. You really need to implement some kind of a rotational sensor feedback to be able to catch the moment when the motor's rotor had slowed down compared to the winding commutation that the Arduino has setup and lost its sync and with it torque and will essentially stall if you don't slower the rate of commutation in a matter of milliseconds.

Neither a drill nor a pump would in my mind require smooth rotation (the dynamic properties of the loads will smooth that rotation for you), so you can safely dispose of PWM from your project. That will increase the possible RPMs.

I don't have a ready software for your particular situation although I've just recently worked on something similar, also for a small motor. I'll try to put together my notes and perhaps post something here. But if you are in a hurry, I would suggest that you look at a possibility of buying a ready-to-use ESC controller and hook the motor up that way. Also, it will be easier to drive it if you increase the RPMs - sensorless ESCs like high RPMs. If you are going to consistently go lower than 600~800 RPM, you really need to  install a rotation sensor because  sensorless ESCs will lose sync at slow RPMs.
99
Atmel and Arduino / Re: Using Atmega1280 to control a BLDC motor
« Last post by antmabee on June 14, 2013, 11:56:51 AM »
The buttons will be on one of the Arduino boards which transmits to the other board. The motor is 
an EG-530KD with an RPM of 1600/3200 the load should be suitable for variable. Maybe the attached block diagram maybe of some help.
100
Atmel and Arduino / Re: Using Atmega1280 to control a BLDC motor
« Last post by ElectroNick on June 14, 2013, 11:31:13 AM »
What kind of RPMs are you looking for? Also, which BLDC motor are you planning on using and what kind of a load and torque requirement that is? As far as RF - did you mean that the buttons will be on a remote device?
Pages: 1 ... 8 9 [10]
anything