Шаговый двигатель не вращается при большом значении скорости

Возможно стоит попробовать прочитать школьный учебник на тему того как работает электромагнит, там есть всё, что нужно чтобы допереть до шаговиков, если не полениться нарисовать на бумажке графики напряжения и тока в разных режимах.

Я так понимаю 37 кГц это максимальное быстродействие библиотеки. Этакий показатель “легкости” и быстродействия. Конечно, в большинстве случаев скорость ограничена со стороны двигателя. Но ТС утверждает что при 24в там около 5000 ш/с. Возможно кто-то что-то не так понимает. Возможно там не 200ш/об. ( ведь оценивалась скорость вращения, а не шаги).
@rkit прав. Там,по сути, делов-то при известной индуктивности и необходимой частоте шагов и токе посчитать требуемое напряжение.

Читаю тему и …ваю. Получается можно шаговик превратить в мотор с 1000 оборотов в минуту, с тягой преодолевающей торможение пальцем. А ещё можно заставить его играть музыку, вместо динамика…

Это ещё под вопросом.

Адафруит не стала писать библиотеку для степпера, например, хотя у неё и деньги есть и спецы. А тут один гайвер и сантехническую трубу пилит и программирует под моторы высокоскоростные библиотеки, которые требуют научных знаний во многих областях.

Херню рассказываешь.
Есть для шаговиков библиотека от адафрут, называется Afmotor.
Не знаю почему вы решили, что в accelstepper просто так они ограничили скорость 2000шаг/сек…
Потому что просто тупые, а вы умные, покажите мастер-класс.
Желательно видео, где шаговик китайский с китайским драйвером , хотя бы 1500об/мин выдает

Я видел, что афмотор на акселе базировалась. Дальше не следил за её судьбой.

И тыкай пальцем поконкретней - кто тебе тут тебе должен мастер-класс показывать и кино сымать.

Опять же,повторюсь,в эти библиотеки не вникал даже. Соглашусь что там не так всё просто.

Ну, как бы в реализации алгоритма - да.
А в физике все просто - чем выше растёт пульс, тем ниже момент крутящий. И хоть 37КГц туда вдуй, хоть 14… Картинка примерно одинакова у моторов.

1 лайк

Ну как бы по этим графикам видно что даже производитель, гарантирует скорость не выше 700об/мин и при этом падение мощности составляет 80%.
А это всего 2300 шагов/сек.
Не нужно выдумывать про непонятно откуда взявшиеся и непонятно кому нужные много КГц

микрошаги

1 лайк

Да,при 1/32 уже 6400ш/об. Для 1000об/мин нужно уже 106000 шагов/с.

Дело было утром в воскресенье.
Решил поэкспериментировать.
Разогнал шаговик до 6000об/мин.
Даже и не знал, что оно так умеет.
Работает крайне неустойчиво .
Частота 16000гц, делитель шага х8.
С делителем 16 и 32 , результаты почему то хуже.
Код и видео будут ниже.

Код:

volatile boolean flag=0;

ISR(TIMER1_COMPA_vect){
    PINB&(1<<PB2)?PORTB&=~1<<PB2:PORTB|=1<<PB2;
    if(flag){
        OCR1A>50?OCR1A--:OCR1A=50;
        flag=0;
    }
}

void setup(){
    
    DDRB|=1<<PB2;//ногодрыг пином 10
    TCCR1A=0;
    TCCR1B=0;
    TIMSK1=0;
    TCCR1B|=1<<WGM12;
    TCCR1B|=1<<CS10;
    TIMSK1|=1<<OCIE1A;
    OCR1A=1000;
}

void loop(){
    static uint32_t ms=millis();
    if(millis()-ms>=5){
        ms=millis();
        flag=1; 
    }
}

Кино: жирное будет ссылка на Ютуб, чуть позже..

В основном цикле надо бы ещё добавить проверку, что OCR1A 50, чтоб лишний раз флаг не поднимался.
Так вроде стабильнее должно быть.
Дальнейшее снижение значения счётчика смысла не имеет, так как стабильность уже ниже плинтуса.

Итого имеем 1 тик на ~100 тактов процессора(лень считать издержки), что примерно равно частоте 160000Гц.
160000/8/200*60=6000

16МГц на степпере? Невероятный случай.

Чем выше значение микрошага, тем сложнее удержать зубец ротора между обмотками статора, т.к. необходимо очень точно выставлять и удерживать соотношение токов на обмотках.

По той же причине на микрошаге резко падает момент и, как правило, в любительских конфигурациях значение 1/2 является максимально приемлимым.

От того всякие лидшайны и тмц стоят на порядки дороже, чем A4988, который, к слову, уже на 1/4 ходит неровно.

Но, вентилятор из шаговика сделать несложно. Сложнее его правильно разогнать и не потерять момент на валу. И, что самое основное - при всем этом посчитать правильно шаги, т.к. основное место шарового двигателя - это точное позиционирование и closed loop. А скорость получать на нем - это уже вторично.