circuit mods for briving a bipolar/hybrid stepper - Page 1
Forum section: electronics / general

author: m3vuv
author_rank: Super Contributor
timestamp: November 04, 2019, 11:29:27 am
content: hi all ive a schematic for driving a unipolar stepper,can it be made to run a bipolar?

author: m3vuv
author_rank: Super Contributor
timestamp: November 04, 2019, 02:23:26 pm
content: Well it seems like a waste of time asking here!!

author: langwadt
author_rank: Super Contributor
timestamp: November 04, 2019, 02:31:11 pm
content: Quote from: m3vuv on November 04, 2019, 02:23:26 pmI'm sure you can get a full refund ....

author: mikerj
author_rank: Super Contributor
timestamp: November 04, 2019, 05:03:08 pm
content: The answer is no. To drive a bipolar stepper you need an H bridge for each winding.

author: m3vuv
author_rank: Super Contributor
timestamp: November 05, 2019, 07:49:16 am
content: This is the code im using:/*http://www.bristolwatch.com/radio/arduino_coil_winder.htmArduino Stepper Motor Coil WinderLewis Loflinlewis@bvu.net*/#define yellow 9 //Q1#define orange 10 //Q2#define brown 11 // Q3#define black 12 // Q4#define SW0 2#define SW1 3#define SW2 4#define SW3 5#include <OneWire.h>#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);// set the LCD address to 0x27int i, j;void setup() {pinMode(SW0, INPUT);pinMode(SW1, INPUT);pinMode(SW2, INPUT);pinMode(SW3, INPUT);digitalWrite(SW0, 1); // pull up ondigitalWrite(SW1, 1); // pull up ondigitalWrite(SW2, 1);digitalWrite(SW3, 1);lcd.init(); // initialize the lcdlcd.backlight();pinMode(black, OUTPUT);pinMode(brown, OUTPUT);pinMode(orange, OUTPUT);pinMode(yellow, OUTPUT);all_coils_off();lcd.clear();lcd.home();lcd.print("Wait 2 sec.");delay(2000); // wait for 2 secondslcd.setCursor(0, 1); // is Homelcd.print("Ready to go!");j = 0;}void loop() {// set turnsif (!digitalRead(SW0) == 1) {delay(1000);j = 0;lcd.clear();lcd.home();lcd.print("Turns = 0 ");while (!digitalRead(SW0) == 1) {delay(1000);if (!digitalRead(SW1) == 1) j = j + 1;if (!digitalRead(SW2) == 1) j = j + 10;lcd.setCursor(8, 0);lcd.print(j);} // end whilelcd.setCursor(0, 1);lcd.print("Ready to wind.");}if (!digitalRead(SW3)) {lcd.clear();lcd.home();lcd.print("Turns 0 ");for (i = 1; i <= j; i++) {reverse(200);lcd.setCursor(6, 0);lcd.print(i);}all_coils_off();lcd.setCursor(0, 1);lcd.print("Finished ");}} // end loopvoid all_coils_off(void) {digitalWrite(black, 0);digitalWrite(brown, 0);digitalWrite(orange, 0);digitalWrite(yellow, 0);}void reverse(int i) {while (1) {digitalWrite(black, 1);digitalWrite(brown, 0);digitalWrite(orange, 0);digitalWrite(yellow, 1);delay(analogRead(0) / 4 + 5);i--;if (i < 1) break;digitalWrite(black, 0);digitalWrite(brown, 1);digitalWrite(orange, 0);digitalWrite(yellow, 1);delay(analogRead(0) / 4 + 5);i--;if (i < 1) break;digitalWrite(black, 0);digitalWrite(brown, 1);digitalWrite(orange, 1);digitalWrite(yellow, 0);delay(analogRead(0) / 4 + 5);i--;if (i < 1) break;digitalWrite(black, 1);digitalWrite(brown, 0);digitalWrite(orange, 1);digitalWrite(yellow, 0);delay(analogRead(0) / 4 + 5);i--;if (i < 1) break;}}can this be altered to include the stepper librarys and use a polulu driver for a bipolar stepper,it seems to work spot on to my needs except i cant run my bipolar motor with it,any one want to show me how to do this?

author: m3vuv
author_rank: Super Contributor
timestamp: November 05, 2019, 11:23:27 am
content: ive heard a bipolar hybrid can be run as unipolar?,anyone expand on this?

author: JacobPilsen
author_rank: Regular Contributor
timestamp: November 05, 2019, 05:43:45 pm
content: How many wires have your motor ?

author: m3vuv
author_rank: Super Contributor
timestamp: November 05, 2019, 11:54:42 pm
content: Hi,the motor has 6 wires,i need to try and run it with mosfets and the sketch i posted.

author: Someone
author_rank: Super Contributor
timestamp: November 06, 2019, 01:30:13 am
content: https://lmgtfy.com/?q=stepper+motor+6+wire+unipolar&s=g

author: m3vuv
author_rank: Super Contributor
timestamp: November 06, 2019, 02:38:52 am
content: Thats great,the issue is,the chematic is for an 8 wire unipolar,i only have 6 wire hybyds,thats the whole point of my post,i need to know how to connect mine to the circuit in the schematic,if its at all posible.

author: george4657
author_rank: Contributor
timestamp: November 06, 2019, 03:40:25 am
content: You have a 6 wire unipolar motor that has two center tapped coils. You would feed power to the 2 center wires of each coil. One wire to the center tap becomes L1 and the other wire to center tap becomes L2 in your drawing. The same for the other coil one end to center tap is L3 and the other end to center tap is L4.Google "6 wire stepper driver" and you will find 6 wire motors wired as per your drawing.The problem with such a simple driver is there is no current limiting. When a Fet is turned on the current through the coil will be restricted only by the resistance of the coil. Measure the resistance of 1/2 coil ( end to center tap). Divide voltage by this resistance and you will get the current flowing through the coil. If current isgreater than rating of your motor it will burn up the motor.There will be two and only two coils driven on each step so total current is doubled.

author: m3vuv
author_rank: Super Contributor
timestamp: November 06, 2019, 10:44:26 am
content: no george i dont have a unipolar motor,i have a 6 wire bipolar hybryd.

author: m3vuv
author_rank: Super Contributor
timestamp: November 06, 2019, 11:07:07 am
content: heres the datasheet for my motor attached.

author: martinayotte
author_rank: Regular Contributor
timestamp: November 06, 2019, 02:53:37 pm
content: This PDF is clearly shows a unipolar stepper where white/yellow are center taps.

author: george4657
author_rank: Contributor
timestamp: November 06, 2019, 03:25:13 pm
content: If you had shown the motor datasheet you would not have wasted so much time. Your driver is designed for a small toy motor driven with an arduino. You have a hybrid nema 23 motor that requires a proper driver to run it.If you tie the center taps together you have a unipolar motor, if you cap off the center taps you have a 4 wire bipolar motor, this is why it is called a hybrid.Hooking your driver up to this motor would blow the Fets and/or the coils of the motor.A cheap 3d printer bipolar driver would work but you would not get the full power of the motor.We could better advise if you explained what you are going to do with the motor.

author: m3vuv
author_rank: Super Contributor
timestamp: November 06, 2019, 05:13:16 pm
content: Hi,its to build this.http://www.bristolwatch.com/radio/arduino_coil_winder.htm

author: m3vuv
author_rank: Super Contributor
timestamp: November 06, 2019, 06:53:04 pm
content: it looks like my motor can be run as a unipolar,i just need how to go from 8 wires as per the sort of schematic i posted from 8 wires to 6,i dont want to alter the code unless i have to as the control part of things work fine,ive altered the code to use another button,so button 1 is set,button 2 is ones of turns button 3 is tens and ive added another for hundreds of turns,set the turns press go and off it goes flashing the leds and counting down.

author: martinayotte
author_rank: Regular Contributor
timestamp: November 06, 2019, 08:07:32 pm
content: QuoteYellow and White wires are common wires for 2, let says L1/L2 on on Yellow and L3/L4 on White.Since your driver has all coils to V+, simply put Yellow/White wires to V+, the rest of the schematic is identical, providing GND using MOSFET to the GND side of the coils ...

author: george4657
author_rank: Contributor
timestamp: November 06, 2019, 09:08:52 pm
content: Unless you are powering the motor with a 3 volt supply you would also need current limiting resistors between each centertap and power supply.If using 5 volt supply you would need at least 1.0 ohm resistors. ( 1 ohm at 2 amps = 2 volt drop)