masayuki shindo
/
L6470Stepper_test4
consept_meter
main.cpp@0:134db3267830, 2012-11-06 (annotated)
- Committer:
- shindo
- Date:
- Tue Nov 06 10:20:54 2012 +0000
- Revision:
- 0:134db3267830
- Child:
- 1:39b4d6e71f76
conseptmeter_L6470
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shindo | 0:134db3267830 | 1 | #include "mbed.h" |
shindo | 0:134db3267830 | 2 | |
shindo | 0:134db3267830 | 3 | DigitalIn busy1(p26); |
shindo | 0:134db3267830 | 4 | DigitalIn flag1(p25); |
shindo | 0:134db3267830 | 5 | DigitalOut cs1(p8); |
shindo | 0:134db3267830 | 6 | DigitalOut stck1(p28); |
shindo | 0:134db3267830 | 7 | DigitalOut stby1(p27); |
shindo | 0:134db3267830 | 8 | |
shindo | 0:134db3267830 | 9 | DigitalIn busy2(p22); |
shindo | 0:134db3267830 | 10 | DigitalIn flag2(p21); |
shindo | 0:134db3267830 | 11 | DigitalOut cs2(p19); |
shindo | 0:134db3267830 | 12 | DigitalOut stck2(p24); |
shindo | 0:134db3267830 | 13 | DigitalOut stby2(p23); |
shindo | 0:134db3267830 | 14 | |
shindo | 0:134db3267830 | 15 | DigitalOut led1(LED1); |
shindo | 0:134db3267830 | 16 | DigitalOut led2(LED2); |
shindo | 0:134db3267830 | 17 | DigitalOut led3(LED3); |
shindo | 0:134db3267830 | 18 | DigitalOut led4(LED4); |
shindo | 0:134db3267830 | 19 | |
shindo | 0:134db3267830 | 20 | SPI spi(p5, p6, p7); // mosi, miso, sclk |
shindo | 0:134db3267830 | 21 | |
shindo | 0:134db3267830 | 22 | void writeCommand(int port, unsigned char data) |
shindo | 0:134db3267830 | 23 | { |
shindo | 0:134db3267830 | 24 | if (port == 1) { |
shindo | 0:134db3267830 | 25 | cs1 = 0; |
shindo | 0:134db3267830 | 26 | spi.write(data); |
shindo | 0:134db3267830 | 27 | cs1 = 1; |
shindo | 0:134db3267830 | 28 | } else { |
shindo | 0:134db3267830 | 29 | cs2 = 0; |
shindo | 0:134db3267830 | 30 | spi.write(data); |
shindo | 0:134db3267830 | 31 | cs2 = 1; |
shindo | 0:134db3267830 | 32 | } |
shindo | 0:134db3267830 | 33 | } |
shindo | 0:134db3267830 | 34 | |
shindo | 0:134db3267830 | 35 | unsigned char readCommand(int port) |
shindo | 0:134db3267830 | 36 | { |
shindo | 0:134db3267830 | 37 | unsigned char result = 0; |
shindo | 0:134db3267830 | 38 | |
shindo | 0:134db3267830 | 39 | if (port == 1) { |
shindo | 0:134db3267830 | 40 | cs1 = 0; |
shindo | 0:134db3267830 | 41 | result = spi.write(0); |
shindo | 0:134db3267830 | 42 | cs1 = 1; |
shindo | 0:134db3267830 | 43 | } else { |
shindo | 0:134db3267830 | 44 | cs2 = 0; |
shindo | 0:134db3267830 | 45 | result = spi.write(0); |
shindo | 0:134db3267830 | 46 | cs2 = 1; |
shindo | 0:134db3267830 | 47 | } |
shindo | 0:134db3267830 | 48 | |
shindo | 0:134db3267830 | 49 | return result; |
shindo | 0:134db3267830 | 50 | } |
shindo | 0:134db3267830 | 51 | |
shindo | 0:134db3267830 | 52 | void initMotor() |
shindo | 0:134db3267830 | 53 | { |
shindo | 0:134db3267830 | 54 | spi.format(8,0); |
shindo | 0:134db3267830 | 55 | busy1.mode(PullUp); |
shindo | 0:134db3267830 | 56 | flag1.mode(PullUp); |
shindo | 0:134db3267830 | 57 | busy2.mode(PullUp); |
shindo | 0:134db3267830 | 58 | flag2.mode(PullUp); |
shindo | 0:134db3267830 | 59 | stby1 = 1; |
shindo | 0:134db3267830 | 60 | stby2 = 1; |
shindo | 0:134db3267830 | 61 | for (int port = 1; port <= 2; port++) { |
shindo | 0:134db3267830 | 62 | |
shindo | 0:134db3267830 | 63 | writeCommand(port, 0x08); |
shindo | 0:134db3267830 | 64 | writeCommand(port, 0x00); |
shindo | 0:134db3267830 | 65 | |
shindo | 0:134db3267830 | 66 | writeCommand(port, 0x09); |
shindo | 0:134db3267830 | 67 | writeCommand(port, 0xff); |
shindo | 0:134db3267830 | 68 | |
shindo | 0:134db3267830 | 69 | writeCommand(port, 0x0a); |
shindo | 0:134db3267830 | 70 | writeCommand(port, 0xff); |
shindo | 0:134db3267830 | 71 | |
shindo | 0:134db3267830 | 72 | writeCommand(port, 0x0b); |
shindo | 0:134db3267830 | 73 | writeCommand(port, 0xff); |
shindo | 0:134db3267830 | 74 | |
shindo | 0:134db3267830 | 75 | writeCommand(port, 0x0c); |
shindo | 0:134db3267830 | 76 | writeCommand(port, 0xff); |
shindo | 0:134db3267830 | 77 | |
shindo | 0:134db3267830 | 78 | writeCommand(port, 0x13); |
shindo | 0:134db3267830 | 79 | writeCommand(port, 0x0f); |
shindo | 0:134db3267830 | 80 | |
shindo | 0:134db3267830 | 81 | writeCommand(port, 0x14); |
shindo | 0:134db3267830 | 82 | writeCommand(port, 0x7f); |
shindo | 0:134db3267830 | 83 | } |
shindo | 0:134db3267830 | 84 | } |
shindo | 0:134db3267830 | 85 | void MAXspeed_port_1_A() |
shindo | 0:134db3267830 | 86 | { |
shindo | 0:134db3267830 | 87 | writeCommand(1, 0x07); |
shindo | 0:134db3267830 | 88 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 89 | writeCommand(1, 0x32); |
shindo | 0:134db3267830 | 90 | } |
shindo | 0:134db3267830 | 91 | void Step_Startspeed_port_1_A() |
shindo | 0:134db3267830 | 92 | { |
shindo | 0:134db3267830 | 93 | writeCommand(1, 0x05); |
shindo | 0:134db3267830 | 94 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 95 | writeCommand(1, 0x23); |
shindo | 0:134db3267830 | 96 | } |
shindo | 0:134db3267830 | 97 | void Step_Stopspeed_port_1_A() |
shindo | 0:134db3267830 | 98 | { |
shindo | 0:134db3267830 | 99 | writeCommand(1, 0x06); |
shindo | 0:134db3267830 | 100 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 101 | writeCommand(1, 0x15); |
shindo | 0:134db3267830 | 102 | } |
shindo | 0:134db3267830 | 103 | void CW_port_1_A() |
shindo | 0:134db3267830 | 104 | { |
shindo | 0:134db3267830 | 105 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 106 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 107 | writeCommand(1, 0x25); |
shindo | 0:134db3267830 | 108 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 109 | } |
shindo | 0:134db3267830 | 110 | void CCW_port_1_A() |
shindo | 0:134db3267830 | 111 | { |
shindo | 0:134db3267830 | 112 | writeCommand(1, 0x50); |
shindo | 0:134db3267830 | 113 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 114 | writeCommand(1, 0x10); |
shindo | 0:134db3267830 | 115 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 116 | } |
shindo | 0:134db3267830 | 117 | void CCW_port_1_A2() |
shindo | 0:134db3267830 | 118 | { |
shindo | 0:134db3267830 | 119 | writeCommand(1, 0x50); |
shindo | 0:134db3267830 | 120 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 121 | writeCommand(1, 0x40); |
shindo | 0:134db3267830 | 122 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 123 | } |
shindo | 0:134db3267830 | 124 | //---------------------------------------------- |
shindo | 0:134db3267830 | 125 | void MAXspeed_port_2_A() |
shindo | 0:134db3267830 | 126 | { |
shindo | 0:134db3267830 | 127 | writeCommand(2, 0x07); |
shindo | 0:134db3267830 | 128 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 129 | writeCommand(2, 0x32); |
shindo | 0:134db3267830 | 130 | } |
shindo | 0:134db3267830 | 131 | void Step_Startspeed_port_2_A() |
shindo | 0:134db3267830 | 132 | { |
shindo | 0:134db3267830 | 133 | writeCommand(2, 0x05); |
shindo | 0:134db3267830 | 134 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 135 | writeCommand(2, 0x23); |
shindo | 0:134db3267830 | 136 | } |
shindo | 0:134db3267830 | 137 | void Step_Stopspeed_port_2_A() |
shindo | 0:134db3267830 | 138 | { |
shindo | 0:134db3267830 | 139 | writeCommand(2, 0x06); |
shindo | 0:134db3267830 | 140 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 141 | writeCommand(2, 0x15); |
shindo | 0:134db3267830 | 142 | } |
shindo | 0:134db3267830 | 143 | void CW_port_2_A() |
shindo | 0:134db3267830 | 144 | { |
shindo | 0:134db3267830 | 145 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 146 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 147 | writeCommand(2, 0x25); |
shindo | 0:134db3267830 | 148 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 149 | } |
shindo | 0:134db3267830 | 150 | void CCW_port_2_A() |
shindo | 0:134db3267830 | 151 | { |
shindo | 0:134db3267830 | 152 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 153 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 154 | writeCommand(2, 0x10); |
shindo | 0:134db3267830 | 155 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 156 | } |
shindo | 0:134db3267830 | 157 | void CCW_port_2_A2() |
shindo | 0:134db3267830 | 158 | { |
shindo | 0:134db3267830 | 159 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 160 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 161 | writeCommand(2, 0x40); |
shindo | 0:134db3267830 | 162 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 163 | } |
shindo | 0:134db3267830 | 164 | //----------------------------------- |
shindo | 0:134db3267830 | 165 | void stertup1 () |
shindo | 0:134db3267830 | 166 | { |
shindo | 0:134db3267830 | 167 | CW_port_1_A(); |
shindo | 0:134db3267830 | 168 | CW_port_2_A(); |
shindo | 0:134db3267830 | 169 | } |
shindo | 0:134db3267830 | 170 | void stertup2 () |
shindo | 0:134db3267830 | 171 | { |
shindo | 0:134db3267830 | 172 | CCW_port_1_A(); |
shindo | 0:134db3267830 | 173 | CCW_port_2_A(); |
shindo | 0:134db3267830 | 174 | } |
shindo | 0:134db3267830 | 175 | void power_up_p1_p2 () |
shindo | 0:134db3267830 | 176 | { |
shindo | 0:134db3267830 | 177 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 178 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 179 | writeCommand(1, 0x40); |
shindo | 0:134db3267830 | 180 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 181 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 182 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 183 | writeCommand(2, 0x40); |
shindo | 0:134db3267830 | 184 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 185 | wait_ms (630); |
shindo | 0:134db3267830 | 186 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 187 | wait_ms (175); |
shindo | 0:134db3267830 | 188 | writeCommand(1, 0xb8); |
shindo | 0:134db3267830 | 189 | } |
shindo | 0:134db3267830 | 190 | void on () |
shindo | 0:134db3267830 | 191 | { |
shindo | 0:134db3267830 | 192 | CW_port_2_A(); |
shindo | 0:134db3267830 | 193 | wait_ms(200); |
shindo | 0:134db3267830 | 194 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 195 | } |
shindo | 0:134db3267830 | 196 | void reb1 () |
shindo | 0:134db3267830 | 197 | { |
shindo | 0:134db3267830 | 198 | CW_port_2_A(); |
shindo | 0:134db3267830 | 199 | wait_ms(331); |
shindo | 0:134db3267830 | 200 | writeCommand(2, 0xb0); |
shindo | 0:134db3267830 | 201 | CCW_port_2_A(); |
shindo | 0:134db3267830 | 202 | wait_ms(1400); |
shindo | 0:134db3267830 | 203 | writeCommand(2, 0xb0); |
shindo | 0:134db3267830 | 204 | wait_ms(300); |
shindo | 0:134db3267830 | 205 | } |
shindo | 0:134db3267830 | 206 | void reb2 () |
shindo | 0:134db3267830 | 207 | { |
shindo | 0:134db3267830 | 208 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 209 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 210 | writeCommand(2, 0x30); |
shindo | 0:134db3267830 | 211 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 212 | wait_ms(60); |
shindo | 0:134db3267830 | 213 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 214 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 215 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 216 | writeCommand(2, 0x30); |
shindo | 0:134db3267830 | 217 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 218 | wait_ms(60); |
shindo | 0:134db3267830 | 219 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 220 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 221 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 222 | writeCommand(2, 0x30); |
shindo | 0:134db3267830 | 223 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 224 | wait_ms(60); |
shindo | 0:134db3267830 | 225 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 226 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 227 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 228 | writeCommand(2, 0x30); |
shindo | 0:134db3267830 | 229 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 230 | wait_ms(60); |
shindo | 0:134db3267830 | 231 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 232 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 233 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 234 | writeCommand(2, 0x30); |
shindo | 0:134db3267830 | 235 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 236 | wait_ms(60); |
shindo | 0:134db3267830 | 237 | } |
shindo | 0:134db3267830 | 238 | void reb3 () |
shindo | 0:134db3267830 | 239 | { |
shindo | 0:134db3267830 | 240 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 241 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 242 | writeCommand(2, 0x15); |
shindo | 0:134db3267830 | 243 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 244 | wait_ms(500); |
shindo | 0:134db3267830 | 245 | |
shindo | 0:134db3267830 | 246 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 247 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 248 | writeCommand(2, 0x03); |
shindo | 0:134db3267830 | 249 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 250 | wait_ms(4000); |
shindo | 0:134db3267830 | 251 | writeCommand(2, 0xb0); |
shindo | 0:134db3267830 | 252 | } |
shindo | 0:134db3267830 | 253 | void type1_tacho () |
shindo | 0:134db3267830 | 254 | { |
shindo | 0:134db3267830 | 255 | wait_ms(2000); |
shindo | 0:134db3267830 | 256 | |
shindo | 0:134db3267830 | 257 | writeCommand(2, 0x51); //---1--- |
shindo | 0:134db3267830 | 258 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 259 | writeCommand(2, 0x10); |
shindo | 0:134db3267830 | 260 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 261 | wait_ms(500); |
shindo | 0:134db3267830 | 262 | |
shindo | 0:134db3267830 | 263 | writeCommand(2, 0xb0); |
shindo | 0:134db3267830 | 264 | wait_ms(100); |
shindo | 0:134db3267830 | 265 | |
shindo | 0:134db3267830 | 266 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 267 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 268 | writeCommand(2, 0x25); |
shindo | 0:134db3267830 | 269 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 270 | wait_ms(380); |
shindo | 0:134db3267830 | 271 | reb2 (); |
shindo | 0:134db3267830 | 272 | |
shindo | 0:134db3267830 | 273 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 274 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 275 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 276 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 277 | wait_ms(500); |
shindo | 0:134db3267830 | 278 | writeCommand(2, 0xb0); |
shindo | 0:134db3267830 | 279 | |
shindo | 0:134db3267830 | 280 | writeCommand(2, 0x51); |
shindo | 0:134db3267830 | 281 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 282 | writeCommand(2, 0x08); |
shindo | 0:134db3267830 | 283 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 284 | wait_ms(2050); |
shindo | 0:134db3267830 | 285 | |
shindo | 0:134db3267830 | 286 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 287 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 288 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 289 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 290 | wait_ms(450); |
shindo | 0:134db3267830 | 291 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 292 | wait_ms(200); |
shindo | 0:134db3267830 | 293 | writeCommand(2, 0x51);//---2--- |
shindo | 0:134db3267830 | 294 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 295 | writeCommand(2, 0x05); |
shindo | 0:134db3267830 | 296 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 297 | wait_ms(1550); |
shindo | 0:134db3267830 | 298 | |
shindo | 0:134db3267830 | 299 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 300 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 301 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 302 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 303 | wait_ms(430); |
shindo | 0:134db3267830 | 304 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 305 | wait_ms(200); |
shindo | 0:134db3267830 | 306 | writeCommand(2, 0x51);//---3--- |
shindo | 0:134db3267830 | 307 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 308 | writeCommand(2, 0x04); |
shindo | 0:134db3267830 | 309 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 310 | wait_ms(2000); |
shindo | 0:134db3267830 | 311 | |
shindo | 0:134db3267830 | 312 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 313 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 314 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 315 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 316 | wait_ms(400); |
shindo | 0:134db3267830 | 317 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 318 | wait_ms(200); |
shindo | 0:134db3267830 | 319 | writeCommand(2, 0x51);//---4--- |
shindo | 0:134db3267830 | 320 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 321 | writeCommand(2, 0x02); |
shindo | 0:134db3267830 | 322 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 323 | wait_ms(4000); |
shindo | 0:134db3267830 | 324 | |
shindo | 0:134db3267830 | 325 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 326 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 327 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 328 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 329 | wait_ms(300); |
shindo | 0:134db3267830 | 330 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 331 | wait_ms(200); |
shindo | 0:134db3267830 | 332 | writeCommand(2, 0x51);//---5--- |
shindo | 0:134db3267830 | 333 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 334 | writeCommand(2, 0x01); |
shindo | 0:134db3267830 | 335 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 336 | wait_ms(3000); |
shindo | 0:134db3267830 | 337 | writeCommand(2, 0x51);//---5--- |
shindo | 0:134db3267830 | 338 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 339 | writeCommand(2, 0x01); |
shindo | 0:134db3267830 | 340 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 341 | wait_ms(1500); |
shindo | 0:134db3267830 | 342 | |
shindo | 0:134db3267830 | 343 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 344 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 345 | writeCommand(2, 0x20); |
shindo | 0:134db3267830 | 346 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 347 | wait_ms(300); |
shindo | 0:134db3267830 | 348 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 349 | wait_ms(200); |
shindo | 0:134db3267830 | 350 | writeCommand(2, 0x51);//---6--- |
shindo | 0:134db3267830 | 351 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 352 | writeCommand(2, 0x01); |
shindo | 0:134db3267830 | 353 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 354 | wait_ms(3000); |
shindo | 0:134db3267830 | 355 | writeCommand(2, 0x51);//---6--- |
shindo | 0:134db3267830 | 356 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 357 | writeCommand(2, 0x01); |
shindo | 0:134db3267830 | 358 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 359 | wait_ms(2500); |
shindo | 0:134db3267830 | 360 | } |
shindo | 0:134db3267830 | 361 | void type1_speed () |
shindo | 0:134db3267830 | 362 | { |
shindo | 0:134db3267830 | 363 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 364 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 365 | writeCommand(1, 0x04); |
shindo | 0:134db3267830 | 366 | writeCommand(1, 0xb0); |
shindo | 0:134db3267830 | 367 | wait_ms(1500); |
shindo | 0:134db3267830 | 368 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 369 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 370 | writeCommand(1, 0x03); |
shindo | 0:134db3267830 | 371 | writeCommand(1, 0xe8); |
shindo | 0:134db3267830 | 372 | wait_ms(2000); |
shindo | 0:134db3267830 | 373 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 374 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 375 | writeCommand(1, 0x02); |
shindo | 0:134db3267830 | 376 | writeCommand(1, 0x58); |
shindo | 0:134db3267830 | 377 | wait_ms(2500); |
shindo | 0:134db3267830 | 378 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 379 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 380 | writeCommand(1, 0x01); |
shindo | 0:134db3267830 | 381 | writeCommand(1, 0x90); |
shindo | 0:134db3267830 | 382 | wait_ms(3000); |
shindo | 0:134db3267830 | 383 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 384 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 385 | writeCommand(1, 0x01); |
shindo | 0:134db3267830 | 386 | writeCommand(1, 0x2c); |
shindo | 0:134db3267830 | 387 | wait_ms(3500); |
shindo | 0:134db3267830 | 388 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 389 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 390 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 391 | writeCommand(1, 0xfa); |
shindo | 0:134db3267830 | 392 | wait_ms(4500); |
shindo | 0:134db3267830 | 393 | writeCommand(1, 0x51); |
shindo | 0:134db3267830 | 394 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 395 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 396 | writeCommand(1, 0x78); |
shindo | 0:134db3267830 | 397 | wait_ms(5200); |
shindo | 0:134db3267830 | 398 | writeCommand(1, 0xb0); |
shindo | 0:134db3267830 | 399 | } |
shindo | 0:134db3267830 | 400 | |
shindo | 0:134db3267830 | 401 | int main() |
shindo | 0:134db3267830 | 402 | { |
shindo | 0:134db3267830 | 403 | initMotor(); |
shindo | 0:134db3267830 | 404 | MAXspeed_port_1_A(); |
shindo | 0:134db3267830 | 405 | Step_Startspeed_port_1_A(); |
shindo | 0:134db3267830 | 406 | Step_Stopspeed_port_1_A(); |
shindo | 0:134db3267830 | 407 | |
shindo | 0:134db3267830 | 408 | MAXspeed_port_2_A(); |
shindo | 0:134db3267830 | 409 | Step_Startspeed_port_2_A(); |
shindo | 0:134db3267830 | 410 | Step_Stopspeed_port_2_A(); |
shindo | 0:134db3267830 | 411 | |
shindo | 0:134db3267830 | 412 | writeCommand(2, 0x83); |
shindo | 0:134db3267830 | 413 | writeCommand(1, 0x83); |
shindo | 0:134db3267830 | 414 | |
shindo | 0:134db3267830 | 415 | int i = 0; |
shindo | 0:134db3267830 | 416 | while(1) { |
shindo | 0:134db3267830 | 417 | if (i == 0) { |
shindo | 0:134db3267830 | 418 | stertup1 (); |
shindo | 0:134db3267830 | 419 | wait_ms(200); |
shindo | 0:134db3267830 | 420 | stertup2 (); |
shindo | 0:134db3267830 | 421 | wait_ms(4000); |
shindo | 0:134db3267830 | 422 | } else if (i == 1) { |
shindo | 0:134db3267830 | 423 | power_up_p1_p2 (); |
shindo | 0:134db3267830 | 424 | wait_ms(1000); |
shindo | 0:134db3267830 | 425 | } else if (i == 2) { |
shindo | 0:134db3267830 | 426 | CCW_port_1_A2(); |
shindo | 0:134db3267830 | 427 | CCW_port_2_A2(); |
shindo | 0:134db3267830 | 428 | wait_ms(1000); |
shindo | 0:134db3267830 | 429 | } else if (i == 3) { |
shindo | 0:134db3267830 | 430 | on (); |
shindo | 0:134db3267830 | 431 | wait_ms(2000); |
shindo | 0:134db3267830 | 432 | } else if (i == 4) { |
shindo | 0:134db3267830 | 433 | reb1 (); |
shindo | 0:134db3267830 | 434 | } else if (i == 5) { |
shindo | 0:134db3267830 | 435 | |
shindo | 0:134db3267830 | 436 | //type1_demo (); |
shindo | 0:134db3267830 | 437 | type1_speed (); |
shindo | 0:134db3267830 | 438 | type1_tacho (); |
shindo | 0:134db3267830 | 439 | |
shindo | 0:134db3267830 | 440 | } else if (i == 6) { |
shindo | 0:134db3267830 | 441 | writeCommand(1, 0x50); |
shindo | 0:134db3267830 | 442 | writeCommand(1, 0x00); |
shindo | 0:134db3267830 | 443 | writeCommand(1, 0x01); |
shindo | 0:134db3267830 | 444 | writeCommand(1, 0x2c); |
shindo | 0:134db3267830 | 445 | |
shindo | 0:134db3267830 | 446 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 447 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 448 | writeCommand(2, 0x03); |
shindo | 0:134db3267830 | 449 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 450 | wait_ms(5000); |
shindo | 0:134db3267830 | 451 | reb3 (); |
shindo | 0:134db3267830 | 452 | reb3 (); |
shindo | 0:134db3267830 | 453 | reb3 (); |
shindo | 0:134db3267830 | 454 | reb3 (); |
shindo | 0:134db3267830 | 455 | reb3 (); |
shindo | 0:134db3267830 | 456 | |
shindo | 0:134db3267830 | 457 | |
shindo | 0:134db3267830 | 458 | writeCommand(2, 0x50); |
shindo | 0:134db3267830 | 459 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 460 | writeCommand(2, 0x03); |
shindo | 0:134db3267830 | 461 | writeCommand(2, 0x00); |
shindo | 0:134db3267830 | 462 | wait_ms(1800); |
shindo | 0:134db3267830 | 463 | writeCommand(1, 0xb8); |
shindo | 0:134db3267830 | 464 | writeCommand(2, 0xb8); |
shindo | 0:134db3267830 | 465 | wait(10); |
shindo | 0:134db3267830 | 466 | |
shindo | 0:134db3267830 | 467 | } else if (i == 8) { |
shindo | 0:134db3267830 | 468 | CCW_port_1_A(); |
shindo | 0:134db3267830 | 469 | CCW_port_2_A(); |
shindo | 0:134db3267830 | 470 | wait_ms(5000); |
shindo | 0:134db3267830 | 471 | i = -1; |
shindo | 0:134db3267830 | 472 | } |
shindo | 0:134db3267830 | 473 | wait_ms(200); |
shindo | 0:134db3267830 | 474 | |
shindo | 0:134db3267830 | 475 | i++; |
shindo | 0:134db3267830 | 476 | |
shindo | 0:134db3267830 | 477 | } |
shindo | 0:134db3267830 | 478 | |
shindo | 0:134db3267830 | 479 | } |
shindo | 0:134db3267830 | 480 | |
shindo | 0:134db3267830 | 481 | |
shindo | 0:134db3267830 | 482 | |
shindo | 0:134db3267830 | 483 | |
shindo | 0:134db3267830 | 484 |