⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmsmtables.h

📁 Atmel算法(pid)-步进电机驱动源码 HOWTO,不好用你找我,绝对ok!
💻 H
📖 第 1 页 / 共 2 页
字号:
((SINE_TABLE_LENGTH / 6) << 8) / 63,
((SINE_TABLE_LENGTH / 6) << 8) / 64,
((SINE_TABLE_LENGTH / 6) << 8) / 65,
((SINE_TABLE_LENGTH / 6) << 8) / 66,
((SINE_TABLE_LENGTH / 6) << 8) / 67,
((SINE_TABLE_LENGTH / 6) << 8) / 68,
((SINE_TABLE_LENGTH / 6) << 8) / 69,
((SINE_TABLE_LENGTH / 6) << 8) / 70,
((SINE_TABLE_LENGTH / 6) << 8) / 71,
((SINE_TABLE_LENGTH / 6) << 8) / 72,
((SINE_TABLE_LENGTH / 6) << 8) / 73,
((SINE_TABLE_LENGTH / 6) << 8) / 74,
((SINE_TABLE_LENGTH / 6) << 8) / 75,
((SINE_TABLE_LENGTH / 6) << 8) / 76,
((SINE_TABLE_LENGTH / 6) << 8) / 77,
((SINE_TABLE_LENGTH / 6) << 8) / 78,
((SINE_TABLE_LENGTH / 6) << 8) / 79,
((SINE_TABLE_LENGTH / 6) << 8) / 80,
((SINE_TABLE_LENGTH / 6) << 8) / 81,
((SINE_TABLE_LENGTH / 6) << 8) / 82,
((SINE_TABLE_LENGTH / 6) << 8) / 83,
((SINE_TABLE_LENGTH / 6) << 8) / 84,
((SINE_TABLE_LENGTH / 6) << 8) / 85,
((SINE_TABLE_LENGTH / 6) << 8) / 86,
((SINE_TABLE_LENGTH / 6) << 8) / 87,
((SINE_TABLE_LENGTH / 6) << 8) / 88,
((SINE_TABLE_LENGTH / 6) << 8) / 89,
((SINE_TABLE_LENGTH / 6) << 8) / 90,
((SINE_TABLE_LENGTH / 6) << 8) / 91,
((SINE_TABLE_LENGTH / 6) << 8) / 92,
((SINE_TABLE_LENGTH / 6) << 8) / 93,
((SINE_TABLE_LENGTH / 6) << 8) / 94,
((SINE_TABLE_LENGTH / 6) << 8) / 95,
((SINE_TABLE_LENGTH / 6) << 8) / 96,
((SINE_TABLE_LENGTH / 6) << 8) / 97,
((SINE_TABLE_LENGTH / 6) << 8) / 98,
((SINE_TABLE_LENGTH / 6) << 8) / 99,
((SINE_TABLE_LENGTH / 6) << 8) / 100,
((SINE_TABLE_LENGTH / 6) << 8) / 101,
((SINE_TABLE_LENGTH / 6) << 8) / 102,
((SINE_TABLE_LENGTH / 6) << 8) / 103,
((SINE_TABLE_LENGTH / 6) << 8) / 104,
((SINE_TABLE_LENGTH / 6) << 8) / 105,
((SINE_TABLE_LENGTH / 6) << 8) / 106,
((SINE_TABLE_LENGTH / 6) << 8) / 107,
((SINE_TABLE_LENGTH / 6) << 8) / 108,
((SINE_TABLE_LENGTH / 6) << 8) / 109,
((SINE_TABLE_LENGTH / 6) << 8) / 110,
((SINE_TABLE_LENGTH / 6) << 8) / 111,
((SINE_TABLE_LENGTH / 6) << 8) / 112,
((SINE_TABLE_LENGTH / 6) << 8) / 113,
((SINE_TABLE_LENGTH / 6) << 8) / 114,
((SINE_TABLE_LENGTH / 6) << 8) / 115,
((SINE_TABLE_LENGTH / 6) << 8) / 116,
((SINE_TABLE_LENGTH / 6) << 8) / 117,
((SINE_TABLE_LENGTH / 6) << 8) / 118,
((SINE_TABLE_LENGTH / 6) << 8) / 119,
((SINE_TABLE_LENGTH / 6) << 8) / 120,
((SINE_TABLE_LENGTH / 6) << 8) / 121,
((SINE_TABLE_LENGTH / 6) << 8) / 122,
((SINE_TABLE_LENGTH / 6) << 8) / 123,
((SINE_TABLE_LENGTH / 6) << 8) / 124,
((SINE_TABLE_LENGTH / 6) << 8) / 125,
((SINE_TABLE_LENGTH / 6) << 8) / 126,
((SINE_TABLE_LENGTH / 6) << 8) / 127,
((SINE_TABLE_LENGTH / 6) << 8) / 128,
((SINE_TABLE_LENGTH / 6) << 8) / 129,
((SINE_TABLE_LENGTH / 6) << 8) / 130,
((SINE_TABLE_LENGTH / 6) << 8) / 131,
((SINE_TABLE_LENGTH / 6) << 8) / 132,
((SINE_TABLE_LENGTH / 6) << 8) / 133,
((SINE_TABLE_LENGTH / 6) << 8) / 134,
((SINE_TABLE_LENGTH / 6) << 8) / 135,
((SINE_TABLE_LENGTH / 6) << 8) / 136,
((SINE_TABLE_LENGTH / 6) << 8) / 137,
((SINE_TABLE_LENGTH / 6) << 8) / 138,
((SINE_TABLE_LENGTH / 6) << 8) / 139,
((SINE_TABLE_LENGTH / 6) << 8) / 140,
((SINE_TABLE_LENGTH / 6) << 8) / 141,
((SINE_TABLE_LENGTH / 6) << 8) / 142,
((SINE_TABLE_LENGTH / 6) << 8) / 143,
((SINE_TABLE_LENGTH / 6) << 8) / 144,
((SINE_TABLE_LENGTH / 6) << 8) / 145,
((SINE_TABLE_LENGTH / 6) << 8) / 146,
((SINE_TABLE_LENGTH / 6) << 8) / 147,
((SINE_TABLE_LENGTH / 6) << 8) / 148,
((SINE_TABLE_LENGTH / 6) << 8) / 149,
((SINE_TABLE_LENGTH / 6) << 8) / 150,
((SINE_TABLE_LENGTH / 6) << 8) / 151,
((SINE_TABLE_LENGTH / 6) << 8) / 152,
((SINE_TABLE_LENGTH / 6) << 8) / 153,
((SINE_TABLE_LENGTH / 6) << 8) / 154,
((SINE_TABLE_LENGTH / 6) << 8) / 155,
((SINE_TABLE_LENGTH / 6) << 8) / 156,
((SINE_TABLE_LENGTH / 6) << 8) / 157,
((SINE_TABLE_LENGTH / 6) << 8) / 158,
((SINE_TABLE_LENGTH / 6) << 8) / 159,
((SINE_TABLE_LENGTH / 6) << 8) / 160,
((SINE_TABLE_LENGTH / 6) << 8) / 161,
((SINE_TABLE_LENGTH / 6) << 8) / 162,
((SINE_TABLE_LENGTH / 6) << 8) / 163,
((SINE_TABLE_LENGTH / 6) << 8) / 164,
((SINE_TABLE_LENGTH / 6) << 8) / 165,
((SINE_TABLE_LENGTH / 6) << 8) / 166,
((SINE_TABLE_LENGTH / 6) << 8) / 167,
((SINE_TABLE_LENGTH / 6) << 8) / 168,
((SINE_TABLE_LENGTH / 6) << 8) / 169,
((SINE_TABLE_LENGTH / 6) << 8) / 170,
((SINE_TABLE_LENGTH / 6) << 8) / 171,
((SINE_TABLE_LENGTH / 6) << 8) / 172,
((SINE_TABLE_LENGTH / 6) << 8) / 173,
((SINE_TABLE_LENGTH / 6) << 8) / 174,
((SINE_TABLE_LENGTH / 6) << 8) / 175,
((SINE_TABLE_LENGTH / 6) << 8) / 176,
((SINE_TABLE_LENGTH / 6) << 8) / 177,
((SINE_TABLE_LENGTH / 6) << 8) / 178,
((SINE_TABLE_LENGTH / 6) << 8) / 179,
((SINE_TABLE_LENGTH / 6) << 8) / 180,
((SINE_TABLE_LENGTH / 6) << 8) / 181,
((SINE_TABLE_LENGTH / 6) << 8) / 182,
((SINE_TABLE_LENGTH / 6) << 8) / 183,
((SINE_TABLE_LENGTH / 6) << 8) / 184,
((SINE_TABLE_LENGTH / 6) << 8) / 185,
((SINE_TABLE_LENGTH / 6) << 8) / 186,
((SINE_TABLE_LENGTH / 6) << 8) / 187,
((SINE_TABLE_LENGTH / 6) << 8) / 188,
((SINE_TABLE_LENGTH / 6) << 8) / 189,
((SINE_TABLE_LENGTH / 6) << 8) / 190,
((SINE_TABLE_LENGTH / 6) << 8) / 191,
((SINE_TABLE_LENGTH / 6) << 8) / 192,
((SINE_TABLE_LENGTH / 6) << 8) / 193,
((SINE_TABLE_LENGTH / 6) << 8) / 194,
((SINE_TABLE_LENGTH / 6) << 8) / 195,
((SINE_TABLE_LENGTH / 6) << 8) / 196,
((SINE_TABLE_LENGTH / 6) << 8) / 197,
((SINE_TABLE_LENGTH / 6) << 8) / 198,
((SINE_TABLE_LENGTH / 6) << 8) / 199,
((SINE_TABLE_LENGTH / 6) << 8) / 200,
((SINE_TABLE_LENGTH / 6) << 8) / 201,
((SINE_TABLE_LENGTH / 6) << 8) / 202,
((SINE_TABLE_LENGTH / 6) << 8) / 203,
((SINE_TABLE_LENGTH / 6) << 8) / 204,
((SINE_TABLE_LENGTH / 6) << 8) / 205,
((SINE_TABLE_LENGTH / 6) << 8) / 206,
((SINE_TABLE_LENGTH / 6) << 8) / 207,
((SINE_TABLE_LENGTH / 6) << 8) / 208,
((SINE_TABLE_LENGTH / 6) << 8) / 209,
((SINE_TABLE_LENGTH / 6) << 8) / 210,
((SINE_TABLE_LENGTH / 6) << 8) / 211,
((SINE_TABLE_LENGTH / 6) << 8) / 212,
((SINE_TABLE_LENGTH / 6) << 8) / 213,
((SINE_TABLE_LENGTH / 6) << 8) / 214,
((SINE_TABLE_LENGTH / 6) << 8) / 215,
((SINE_TABLE_LENGTH / 6) << 8) / 216,
((SINE_TABLE_LENGTH / 6) << 8) / 217,
((SINE_TABLE_LENGTH / 6) << 8) / 218,
((SINE_TABLE_LENGTH / 6) << 8) / 219,
((SINE_TABLE_LENGTH / 6) << 8) / 220,
((SINE_TABLE_LENGTH / 6) << 8) / 221,
((SINE_TABLE_LENGTH / 6) << 8) / 222,
((SINE_TABLE_LENGTH / 6) << 8) / 223,
((SINE_TABLE_LENGTH / 6) << 8) / 224,
((SINE_TABLE_LENGTH / 6) << 8) / 225,
((SINE_TABLE_LENGTH / 6) << 8) / 226,
((SINE_TABLE_LENGTH / 6) << 8) / 227,
((SINE_TABLE_LENGTH / 6) << 8) / 228,
((SINE_TABLE_LENGTH / 6) << 8) / 229,
((SINE_TABLE_LENGTH / 6) << 8) / 230,
((SINE_TABLE_LENGTH / 6) << 8) / 231,
((SINE_TABLE_LENGTH / 6) << 8) / 232,
((SINE_TABLE_LENGTH / 6) << 8) / 233,
((SINE_TABLE_LENGTH / 6) << 8) / 234,
((SINE_TABLE_LENGTH / 6) << 8) / 235,
((SINE_TABLE_LENGTH / 6) << 8) / 236,
((SINE_TABLE_LENGTH / 6) << 8) / 237,
((SINE_TABLE_LENGTH / 6) << 8) / 238,
((SINE_TABLE_LENGTH / 6) << 8) / 239,
((SINE_TABLE_LENGTH / 6) << 8) / 240,
((SINE_TABLE_LENGTH / 6) << 8) / 241,
((SINE_TABLE_LENGTH / 6) << 8) / 242,
((SINE_TABLE_LENGTH / 6) << 8) / 243,
((SINE_TABLE_LENGTH / 6) << 8) / 244,
((SINE_TABLE_LENGTH / 6) << 8) / 245,
((SINE_TABLE_LENGTH / 6) << 8) / 246,
((SINE_TABLE_LENGTH / 6) << 8) / 247,
((SINE_TABLE_LENGTH / 6) << 8) / 248,
((SINE_TABLE_LENGTH / 6) << 8) / 249,
((SINE_TABLE_LENGTH / 6) << 8) / 250,
((SINE_TABLE_LENGTH / 6) << 8) / 251,
((SINE_TABLE_LENGTH / 6) << 8) / 252,
((SINE_TABLE_LENGTH / 6) << 8) / 253,
((SINE_TABLE_LENGTH / 6) << 8) / 254,
((SINE_TABLE_LENGTH / 6) << 8) / 255
};

/*! \brief Block commutation port direction masks, forward driving.
 *
 *  This array contains port direction masks for block commutation
 *  when running in the forward direction.
 */
__flash const uint8_t blockCommutationTableForward[16] =
{
  0,                          0,
  (1 << PB3),                 (1 << PD5),                 // UL, WH
  (1 << PB2),                 (1 << PD6),                 // UH, VL
  ((1 << PB2) | (1 << PB3)),  0x00,                       // VL, WH
  (1 << PB1),                 (1 << PD3),                 // VH, WL
  (1 << PB1),                 (1 << PD5),                 // UL, VH
  0x00,                       ((1 << PD6) | (1 << PD3)),  // UH, WL
  0,  0
};


/*! \brief Block commutation port direction masks, reverse driving.
 *
 *  This array contains port direction masks for block commutation
 *  when running in the reverse direction.
 */
__flash const uint8_t blockCommutationTableReverse[16] =
{
  0,  0,
  0x00,                       ((1 << PD6) | (1 << PD3)),  // UH, WL
  (1 << PB1),                 (1 << PD5),                 // UL, VH
  (1 << PB1),                 (1 << PD3),                 // VH, WL
  ((1 << PB2) | (1 << PB3)),  0x00,                       // VL, WH
  (1 << PB2),                 (1 << PD6),                 // UH, VL
  (1 << PB3),                 (1 << PD5),                 // UL, WH
  0,  0
};


/*! \brief Table of next expected hall sensor value when running forward.
 *
 *  This array contains the next expected hall sensor value when
 *  running in the forward direction. The value at the index pointed
 *  to by the current hall sensor value is the next expected hall
 *  sensor value in the forward direction.
 */
__flash const uint8_t expectedHallSequenceForward[7] =
{
  0xff,    3,    6,    2,    5,    1,    4
};



/*! \brief Table of next expected hall sensor value when running in the reverse direction.
 *
 *  This array contains the next expected hall sensor value when
 *  running in the reverse direction. The value at the index pointed
 *  to by the current hall sensor value is the next expected hall
 *  sensor value in the reverse direction.
 */
__flash const uint8_t expectedHallSequenceReverse[7] =
{
  0xff,    5,    3,    1,    6,    4,    2
};


/*! \brief Sine table offset values corresponding to hall sensor values when running in the forward direction.
 *
 *  This array contains the sine table offset that corresponds to
 *  the hall sensor values when running in the forward direction.
 *  At the moment of a hall change, using the new hall sensor value
 *  as index into this table returns the sine table offset that will
 *  synchronize the generated sine waves to the back-EMF of the motor.
 */
__flash const uint16_t CSOffsetsForward[8] =
{
  0,
  5 * (SINE_TABLE_LENGTH / 6),
  1 * (SINE_TABLE_LENGTH / 6),
  0 * (SINE_TABLE_LENGTH / 6),
  3 * (SINE_TABLE_LENGTH / 6),
  4 * (SINE_TABLE_LENGTH / 6),
  2 * (SINE_TABLE_LENGTH / 6),
  0
};


/*! \brief Sine table offset values corresponding to hall sensor values when running in the reverse direction.
 *
 *  This array contains the sine table offset that corresponds to
 *  the hall sensor values when running in the reverse direction.
 *  At the moment of a hall change, using the new hall sensor value
 *  as index into this table returns the sine table offset that will
 *  synchronize the generated sine waves to the back-EMF of the motor.
 */
__flash const uint16_t CSOffsetsReverse[8] =
{
  0,
  1 * (SINE_TABLE_LENGTH / 6),
  5 * (SINE_TABLE_LENGTH / 6),
  0 * (SINE_TABLE_LENGTH / 6),
  3 * (SINE_TABLE_LENGTH / 6),
  2 * (SINE_TABLE_LENGTH / 6),
  4 * (SINE_TABLE_LENGTH / 6),
  0
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -