Thursday 20 December 2018

555 - How do I drive a stepper motor using an LM555 timer?


I'm trying to drive a stepper motor's driver (QuadStepper) with an LM555 timer circuit, however the logic levels are known to be 5v compatible. While the driver has both 3.3 and 5 volt compatibility, I need to use it at 3.3 volts.


How can I use a 555 Timer (or other simmilar IC) to drive the stepper driver with 3.3. volt logic levels?


EDIT: I only need the timer to drive the step input, all other inputs will be driven from a micro controller.



Answer




Summary




  • Driving that controller board with a 555 is "easy" - just apply a swuare wave to the step input while setting all other inputs high and low as appropriate.




  • BUT if there is also a microcontroller present then no 555 is strictly necessary - consider just using that. ie what are you trying to do. Why 3v3?




While the Quadstepper board that you refer to is probably intended by its makers to be driven with a microcontroller you can drive it, or the A4983 IC that it uses using a 555 timer or similar square wave oscillator plus a few switches or jumpers to set options and control lines. The motor will then drive at one step (or microstep depending on option settings) per oscillator cycle. Direction can be changed with a switch and stepping enabled/disabled by stipping the oscillator feed to the controller.



If you are using a microcontroller (mcu) it is probably not necessary to use an eg 555 as well. That is, it is not hard to generate a square wave signal as part of an mcu's tasks. if you wanted something that you could "set and forget" without involving the mcu you could use a 555 or similar as well and just enable/disable it with the mcu, but this would not be a common choice. But if you are not using a microcontroller at all then the 555 will allow stepping job by itself. You could also use any other source of an appropriate level square wave to drive the stepping line, as described below.


specifically designed to drive any one of 4 stepper motors at one time using a simple square wave signal as the step speed control. A device like a 555 timer can easily be setup to control the stepping speed. The user will need to select direction of rotation, which of the 4 connected drives is active and which of the various provided stepping modes is used.



It is not apparent why you think you need to operate the driver at 3.3V logic levels, as tge stepper motor supply for this driver has an allowable range of 8 to 35 Volt, and the logic supply from 3.0 to 5.5 V, but I will assume that you do need to use the levels that you say.


A4983 datasheet shows that to operate Reset = high, Enable = low.


Refer to the IC datasheet. As shown on page 1, to operate the stepper you place reset high, enable low, set the direction line as required and then place a square wave on the "step" line. The motor will step once for each rising edge of the stepping signal. The actual step carried out will depend on the option settings.


An NE555 will not operate on less than 4.5V. You can opertae it from 4.5V or above as an "astable oscillator" and divide the output voltage down to 3.3V logic levels. eg if you use a 5V supply you divide by 3/5 = 0.6. eg 6k8 from 5V output to 3v3 input and 10k from 3v3 input to ground will provide the required division. (You could also use 680 ohms and 1k or 68k and 100k to get the same division ratio depending on drive level requirements).


You can use SPDT switches to set the levels on the direction, enable, reset lines or, probably better SPST switches with pullup resistors. 10k is probably an OK pullup resistor value.


For the 555 oscillator you can use the 555 astable osllator circuit from here as below or any of the many similar on web examples.


enter image description here



No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...