My coils bridge 4 poles, whereas Gotolucs stator bridge 5 poles.
5 coils per N/S pole overlapped 1 slot.
Regards
L192
Looks like I have a problem. I spaced my coils 6 slot wide and I'm having terrible results. PmgR said it shouldn't matter but maybe it does?... I need opinions as something is not right.
See results:
https://youtu.be/aFQB-WOx-OcI think we need to use the Propeller controller instead of the Arduino. Any reason why it can't be used?
The below is the program Pmgr modified for me:
/*
Blink This example code is in the public domain.
modified 8 May 2014
by Scott Fitzgerald
*/
/* modified by PmgR 4/6/2018 to accomodate 30coil stator */
// the setup function runs once when you press reset or power the board
void setup() {
pinMode( 1, OUTPUT);
pinMode( 2, OUTPUT);
pinMode( 3, OUTPUT);
pinMode( 4, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 7, OUTPUT);
pinMode( 8, OUTPUT);
pinMode( 9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(20, OUTPUT);
pinMode(21, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(24, OUTPUT);
pinMode(25, OUTPUT);
pinMode(26, OUTPUT);
pinMode(27, OUTPUT);
pinMode(28, OUTPUT);
pinMode(29, OUTPUT);
pinMode(30, OUTPUT);
}
int x = 0;
// the loop function runs over and over again forever
void loop(){
/*Old Pierre code*/
int y= analogRead(0); //Read out potentiometer setting
x= map(y,0,1024,1,100); //Map to a delay value from 1ms (50Hz loop speed, 1/3*50Hz magnet speed) to 100ms (0.5Hz loop speed, 1/3*0.5Hz magnet speed).
/* PmgR modifications below*/
// Change this x delay number to something else to change the frequency:
// 1ms results in 50Hz
// 2ms results in 25Hz
// 3ms results in 16.66Hz
// 4ms results in 12.5Hz
// 5ms results in 10Hz
// 10ms results in 5Hz
// x=1; //total loop delay is 20*x = 20ms. f=50Hz
// x=5; //total loop delay is 20*x = 100ms. f=10Hz
digitalWrite( 1,HIGH), digitalWrite(11,HIGH), digitalWrite(21,HIGH);
delay(x);
digitalWrite(10, LOW), digitalWrite(20, LOW), digitalWrite(30, LOW);
delay(x);
digitalWrite( 2,HIGH), digitalWrite(12,HIGH), digitalWrite(22,HIGH);
delay(x);
digitalWrite( 1, LOW), digitalWrite(11, LOW), digitalWrite(21, LOW);
delay(x);
digitalWrite( 3,HIGH), digitalWrite(13,HIGH), digitalWrite(23,HIGH);
delay(x);
digitalWrite( 2, LOW), digitalWrite(12, LOW), digitalWrite(22, LOW);
delay(x);
digitalWrite( 4,HIGH), digitalWrite(14,HIGH), digitalWrite(24,HIGH);
delay(x);
digitalWrite( 3, LOW), digitalWrite(13, LOW), digitalWrite(23, LOW);
delay(x);
digitalWrite( 5,HIGH), digitalWrite(15,HIGH), digitalWrite(25,HIGH);
delay(x);
digitalWrite( 4, LOW), digitalWrite(14, LOW), digitalWrite(24, LOW);
delay(x);
digitalWrite( 6,HIGH), digitalWrite(16,HIGH), digitalWrite(26,HIGH);
delay(x);
digitalWrite( 5, LOW), digitalWrite(15, LOW), digitalWrite(25, LOW);
delay(x);
digitalWrite( 7,HIGH), digitalWrite(17,HIGH), digitalWrite(27,HIGH);
delay(x);
digitalWrite( 6, LOW), digitalWrite(16, LOW), digitalWrite(26, LOW);
delay(x);
digitalWrite( 8,HIGH), digitalWrite(18,HIGH), digitalWrite(28,HIGH);
delay(x);
digitalWrite( 7, LOW), digitalWrite(17, LOW), digitalWrite(27, LOW);
delay(x);
digitalWrite( 9,HIGH), digitalWrite(19,HIGH), digitalWrite(29,HIGH);
delay(x);
digitalWrite( 8, LOW), digitalWrite(18, LOW), digitalWrite(28, LOW);
delay(x);
digitalWrite(10,HIGH), digitalWrite(20,HIGH), digitalWrite(30,HIGH);
delay(x);
digitalWrite( 9, LOW), digitalWrite(19, LOW), digitalWrite(29, LOW);
delay(x);
}