多摩川精機製のステッピングモーター「TS3103N124」を秋月電子通商で購入いたしました。
早速、これをPICで制御してみました。
TS3103N124の規格は、以下のとおりです。
本来なら、12Vが必要なのですが、今回は、PICの電圧(+5V)をそのまま使ってみました。
//********************************************************************** /* <ステッピングモーター制御> TS3103N124 白: 電源(9~15V) 緑: X1:PORTB.F2 0 1 1 0 赤: Y1:PORTB.F4 0 0 1 1 黄: X2:PORTB.F5 1 0 0 1 青: Y2:PORTB.F3 1 1 0 0 */ //********************************************************************** void interrupt() { if (INTCON.T0IF == 1) { INTCON.T0IF = 0; } if (PIR1.TMR1IF == 1) { PIR1.TMR1IF = 0; } if (INTCON.INTF == 1) { INTCON.INTF = 0; PORTB.F1 = ~PORTB.F1; } } //********************************************************************** void Pwm_Change_DutyEx(unsigned int duty_ratio) { CCPR1L = duty_ratio >> 2; CCP1CON.F6 = duty_ratio & 0b00000001; CCP1CON.F7 = (duty_ratio & 0b00000010) >> 1; } //********************************************************************** void main() { unsigned int ad1, cnt; unsigned char table[] = { 0b00101000, 0b00001100, 0b00010100, 0b00110000 }; unsigned int i, j; // CMCON = 0b00000111; // コンパレータは使用しない。 ANSEL = 0b00000010; // AN1を使用する。 TRISA = 0b11111111; // ポートAを設定する。 TRISB = 0b00000001; // ポートBを設定する。 OSCCON = 0b01110000; // クッロクを8Mhzに設定する。 OPTION_REG = 0b00000111; // ポートBをプルアップする。Timer0のプリスケーラは1/256に設定する。 T1CON = 0b00110001; // Timer1のプリスケーラは1/8に設定する。 OPTION_REG.INTEDG = 1; // INTピン(PORTB.F0)の立ち上がりエッジで割り込みをかける。 INTCON.GIE = 0; // 割り込みを無効にする。 INTCON.PEIE = 1; // Peripheral Interrupt Enable INTCON.TMR0IE = 1; // TMR0 Overflow Interrupt Enable INTCON.TMR0IF = 0; // TMR0 Overflow Interrupt Flag INTCON.INTE = 1; // RB0/INT External Interrupt Enable PIE1.TMR1IE = 1; // TMR1 Overflow Interrupt Enable PIR1.TMR1IF = 0; // TMR1 Overflow Interrupt Flag // Pwm_Init(3000); // 3Khz Pwm_Change_DutyEx(1024 / 2); // // INTCON.GIE = 1; // これ以降の処理で割り込みを許可する。 // while (1) { for (i = 0; i < 50; i++) { // 正転 for (j = 0; j < 4; j++) { PORTB = table[j]; Delay_ms(50); } } for (i = 0; i < 50; i++) { // 逆転 for (j = 0; j < 4; j++) { PORTB = table[3 - j]; Delay_ms(50); } } } } //**********************************************************************