Using Atmega1280 to control a BLDC motor - Electronics Forums

Author Topic: Using Atmega1280 to control a BLDC motor  (Read 7011 times)

antmabee

  • Trusted Member
  • *
  • Posts: 4
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Using Atmega1280 to control a BLDC motor
« on: June 14, 2013, 09:41:57 AM »
Hi am new to Arduino and I don't have much guidance so am kind of like training myself about it. Any one can assist me on how to control a motor using arduino and then send the same signal to another arduino using RF signal

Electronics Forums

Using Atmega1280 to control a BLDC motor
« on: June 14, 2013, 09:41:57 AM »

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Using Atmega1280 to control a BLDC motor
« Reply #1 on: June 14, 2013, 10:22:22 AM »
I don't know about RF communication - haven't done it myself yet. But I am assuming that when you buy RF modules, you will get plenty of code examples on the Net for using them with Arduino. Are you talking about something like this ? Again, I haven't used those RF modules myself but they sound like you just hook them up to the Tx (Digital Pin 1) for transmitter and Rx (Digital Pin 0) for the receiver and use Arduino's standard Serial library. like I said, I personally have no experience with these but this is how I would approach it.

As far as BLDC though, this Arduino BLDC code should work on Atmega1280 . Since PWM is used, it limits the RPMs you can achieve with the motor but makes its rotation very smooth. So, if you can explain in some detail the actual application where you'd be using your Atmega with BLDC, I should be able to tell if this code is going to work or not.

antmabee

  • Trusted Member
  • *
  • Posts: 4
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Using Atmega1280 to control a BLDC motor
« Reply #2 on: June 14, 2013, 10:37:50 AM »
I need to connect three push buttons to the Arduino and when I press the first button the motor increases speed in steps another reduces the speed of the motor in steps and the other changes the direction of rotation the motor.

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Using Atmega1280 to control a BLDC motor
« Reply #3 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?

antmabee

  • Trusted Member
  • *
  • Posts: 4
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Using Atmega1280 to control a BLDC motor
« Reply #4 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.

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Using Atmega1280 to control a BLDC motor
« Reply #5 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.

antmabee

  • Trusted Member
  • *
  • Posts: 4
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Using Atmega1280 to control a BLDC motor
« Reply #6 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.

 

Related Topics

  Subject / Started by Replies Last post
22 Replies
30509 Views
Last post June 06, 2013, 11:39:44 PM
by sa898
47 Replies
35527 Views
Last post March 31, 2016, 09:39:05 PM
by ElectroNick
14 Replies
18425 Views
Last post June 07, 2013, 11:49:31 AM
by mamette
0 Replies
5608 Views
Last post June 14, 2013, 10:23:16 AM
by ElectroNick
0 Replies
12113 Views
Last post March 10, 2014, 05:02:20 PM
by Ethan