L6470を使用した秋月のステッピングモータードライバをうごかすライブラリとプログラム,なおもともとあるやつをぱくった上で機能を追加している
Dependencies: mbed
beforeMain.txt@0:298e718ad4cb, 2014-11-11 (annotated)
- Committer:
- ryuna
- Date:
- Tue Nov 11 09:11:47 2014 +0000
- Revision:
- 0:298e718ad4cb
??????
Who changed what in which revision?
User | Revision | Line number | New 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 | } |