L6470を使用した秋月のステッピングモータードライバをうごかすライブラリとプログラム,なおもともとあるやつをぱくった上で機能を追加している

Dependencies:   mbed

Committer:
ryuna
Date:
Tue Nov 11 09:11:47 2014 +0000
Revision:
0:298e718ad4cb
??????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryuna 0:298e718ad4cb 1 #include "mbed.h"
ryuna 0:298e718ad4cb 2 DigitalOut myled0(LED1);
ryuna 0:298e718ad4cb 3 DigitalOut myled1(LED2);
ryuna 0:298e718ad4cb 4 DigitalOut myled2(LED3);
ryuna 0:298e718ad4cb 5
ryuna 0:298e718ad4cb 6 SPI Step(p11,p12,p13);//msoi,miso,sclk
ryuna 0:298e718ad4cb 7 DigitalOut css(p14);
ryuna 0:298e718ad4cb 8
ryuna 0:298e718ad4cb 9
ryuna 0:298e718ad4cb 10 void L6470_send(uint8_t data){
ryuna 0:298e718ad4cb 11
ryuna 0:298e718ad4cb 12 css = 0;
ryuna 0:298e718ad4cb 13 Step.write(data);
ryuna 0:298e718ad4cb 14 css = 1;
ryuna 0:298e718ad4cb 15 }
ryuna 0:298e718ad4cb 16
ryuna 0:298e718ad4cb 17 void L6470_setup(){
ryuna 0:298e718ad4cb 18
ryuna 0:298e718ad4cb 19 //最大回転スピード
ryuna 0:298e718ad4cb 20 L6470_send(0x07);
ryuna 0:298e718ad4cb 21 L6470_send(0x08);
ryuna 0:298e718ad4cb 22 L6470_send(0x17);
ryuna 0:298e718ad4cb 23
ryuna 0:298e718ad4cb 24 //モーター停止中電圧
ryuna 0:298e718ad4cb 25 L6470_send(0x09);
ryuna 0:298e718ad4cb 26 L6470_send(0x50);
ryuna 0:298e718ad4cb 27 //モーター定速回転時
ryuna 0:298e718ad4cb 28 L6470_send(0x0a);
ryuna 0:298e718ad4cb 29 L6470_send(0xb0);
ryuna 0:298e718ad4cb 30 //加速中電圧
ryuna 0:298e718ad4cb 31 L6470_send(0x0b);
ryuna 0:298e718ad4cb 32 L6470_send(0x70);
ryuna 0:298e718ad4cb 33 //減速中電圧
ryuna 0:298e718ad4cb 34 L6470_send(0x0c);
ryuna 0:298e718ad4cb 35 L6470_send(0x70);
ryuna 0:298e718ad4cb 36
ryuna 0:298e718ad4cb 37 //フルハーフ
ryuna 0:298e718ad4cb 38 L6470_send(0x16);
ryuna 0:298e718ad4cb 39 L6470_send(0x02);
ryuna 0:298e718ad4cb 40 }
ryuna 0:298e718ad4cb 41
ryuna 0:298e718ad4cb 42 void setup(){
ryuna 0:298e718ad4cb 43 //
ryuna 0:298e718ad4cb 44 L6470_send(0x00);
ryuna 0:298e718ad4cb 45 L6470_send(0x00);
ryuna 0:298e718ad4cb 46 L6470_send(0x00);
ryuna 0:298e718ad4cb 47 L6470_send(0x00);
ryuna 0:298e718ad4cb 48
ryuna 0:298e718ad4cb 49 //
ryuna 0:298e718ad4cb 50 L6470_send(0xc0);
ryuna 0:298e718ad4cb 51
ryuna 0:298e718ad4cb 52 L6470_setup();
ryuna 0:298e718ad4cb 53
ryuna 0:298e718ad4cb 54 wait_ms(1000);
ryuna 0:298e718ad4cb 55
ryuna 0:298e718ad4cb 56 }
ryuna 0:298e718ad4cb 57
ryuna 0:298e718ad4cb 58
ryuna 0:298e718ad4cb 59 int main() {
ryuna 0:298e718ad4cb 60
ryuna 0:298e718ad4cb 61 myled0 = 0;
ryuna 0:298e718ad4cb 62 myled1 = 0;
ryuna 0:298e718ad4cb 63 css = 1;
ryuna 0:298e718ad4cb 64 Step.format(8, 3);
ryuna 0:298e718ad4cb 65 //Step.frequency(500000);//1MHz
ryuna 0:298e718ad4cb 66
ryuna 0:298e718ad4cb 67 setup();
ryuna 0:298e718ad4cb 68
ryuna 0:298e718ad4cb 69
ryuna 0:298e718ad4cb 70
ryuna 0:298e718ad4cb 71 L6470_send(128+64+16);//homeset
ryuna 0:298e718ad4cb 72
ryuna 0:298e718ad4cb 73 wait(1);
ryuna 0:298e718ad4cb 74 L6470_send(64+16+1);//run
ryuna 0:298e718ad4cb 75 L6470_send(0x00);
ryuna 0:298e718ad4cb 76 L6470_send(0xa0);
ryuna 0:298e718ad4cb 77 L6470_send(0x00);
ryuna 0:298e718ad4cb 78
ryuna 0:298e718ad4cb 79 wait(5);
ryuna 0:298e718ad4cb 80 L6470_send(128+32+16+8);
ryuna 0:298e718ad4cb 81 wait(0.1);
ryuna 0:298e718ad4cb 82
ryuna 0:298e718ad4cb 83
ryuna 0:298e718ad4cb 84
ryuna 0:298e718ad4cb 85 while(1) {
ryuna 0:298e718ad4cb 86
ryuna 0:298e718ad4cb 87
ryuna 0:298e718ad4cb 88
ryuna 0:298e718ad4cb 89
ryuna 0:298e718ad4cb 90
ryuna 0:298e718ad4cb 91
ryuna 0:298e718ad4cb 92 }
ryuna 0:298e718ad4cb 93 }