half 3axis контроллер шаговыз двигателей hobbyrc
Так я все же про частоту ШИМ:
правильно ли я понял, что оператор
delay_ms(delay)
формирует задержку в миллисекундах?
Если это так, то, как я и предполагал, никакого ШИМ управления током в обмотках нет, поскольку
последовательность операторов в main loop
loop:
output_a(step[stx]);
…
delay_ms(shim_delay); // 100 мс
output_a(0);
delay_ms(shim_delay2); // 200 мс
…
goto loop;
выполняется примерно за 300 мс, т.е. частота ШИМ будет около 3,3 Гц.
Налицо явное непонимание того, что такое ШИМ, и модуляция вообще - частота несущей не должна быть ниже частоты модулирующего сигнала (обычно предполагается, что частота несущей не меньше чем на порядок выше частоты модулирующего сигнала). В данном конкретном случае - частота несущей 3,3 Гц, а частота модулирующего сигнала (частота шагания) может быть, например, 1000 Гц. Нонсенс. Поэтому, фактически никакого ШИМ нет, основной цикл работы программы - в обработчике прерываний.
Теперь по поводу обработки прерываний:
обработка прерываний от сигналов STEP (RB4-RB6) сделана не совсем корректно - для целей данного приложения - поэтому шагание будет производиться дважды на каждый импульс шага (по переднему и заднему фронту).
Выводы: молодец, что своими руками что-то делаешь (а ведь мог бы вместо этого водку пить!), но лучше бы сначала самому во всем разобраться, все проверить и опробовать, а потом уже предлагать народу для использования.
АтLab Вы бы вместо постояннолй критики взяли бы да и сделали что нибудь хорошее для народа, по всем Вашим правилам. Рас Вы такой профессионал.
Насчет двойного шагания брехня, загрузите в эмулятор для наглядности и посмотрите что шаг происходит только после прихода следующего сигнала.
А про ШИМ
Широтно-импульсная модуляция – это способ влияния на управляющее воздействие при дискретном выходе. А у меня как раз это и есть. В режиме простоя вал ШД удерживается импульсами с заданной частотой.
АтLab Вы бы вместо постояннолй критики взяли бы да и сделали что нибудь хорошее для народа, по всем Вашим правилам. Рас Вы такой профессионал.
А народу это надо? Чтобы я его облагодетельствовал?
Насчет двойного шагания брехня, загрузите в эмулятор для наглядности и посмотрите что шаг происходит только после прихода следующего сигнала.
Читайте datasheet.
А если кратко, то интересующие нас прерывания возникают от изменения состояния выводов PORTB4-7.
- Предположим, что на входе изначально был 0, его и считали с порта при инициализации (в защелке порта 0).
- Пришел импульс STEP вида __/—\__, длительностью, скажем 200 мкс.
- По переднему фронту возникает прерывание (на входе 1 а в защелке 0), в обработчике прерываний считываем состояние порта, ликвидируя тем самым разницу между входом и защелкой порта (в защелке порта теперь 1). Здесь же выполняем шаг двигателя, считав очередную комбинацию сигналов из таблицы. Затем возвращаемся из прерывания.
- По заднему фронту вновь возникнет прерывание - поскольку на входе 0, а в защелке 1. Снова обработка прерывания и очередной шаг. И т.д.
Чтобы это понять не нужен никакой эмулятор, достаточно знать работк микроконтроллера, тем более что среда, в которой Вы программируете и на которую Вы ссылаетесь, не слишком широко распространена.
А про ШИМ
Широтно-импульсная модуляция – это способ влияния на управляющее воздействие при дискретном выходе. А у меня как раз это и есть. В режиме простоя вал ШД удерживается импульсами с заданной частотой.
Тут вообще без комментариев… %)
P.S. Выкладывая свое творение на всеобщее обозрение, нужно быть готовым к его критике.
“Мож кто еще че нибудь посоветует добавить в прошивку?” - не Ваш ли призыв?
Вот я и посоветовал - разобраться с устройством и работой микроконтроллера, ШИМ, и причесать свое произведение. Чего обижаться-то?
Успехов!
Неспорю насчет ваших знаний по части работы МК ,но вот я вижу что с C вы неработали. Нормальную работу шаг/импульс обеспечивает оператор input().
На этом я закончу диалог ,с Вами можно спорить очень долго !
Неспорю насчет ваших знаний по части работы МК ,но вот я вижу что с C вы неработали. Нормальную работу шаг/импульс обеспечивает оператор input().
На этом я закончу диалог ,с Вами можно спорить очень долго !
Вам все правильно говорят. Учитесь понимать и принимать критику. А то, что вы сделали, я бы пока не советовал предлагать общественности - сыро, даже мокро 😃.
2 STEPMOTOR
Хочу спросить… Вы эксплуатируете данный контроллер? Какие результаты?
Уважаемый ALL
Остановился на схеме
mac1.ifrance.com/cnc3ax/index.htm
можно ли ей доверять кто юзал ее?
рабочая ли схема и плата этого сайта?
Какие корявки (если они есть) в ней?
Сам я не силен в схемотехнике.
Как запитывать движки?
Подавать питание на каждый отдельно
(поставить на каждый блок питания 2,4А 36В)
или все запитать через один блок питания?
У меня движки 3А 36В.
С уважением
Уважаемый ALL
Остановился на схеме
mac1.ifrance.com/cnc3ax/index.htm
можно ли ей доверять кто юзал ее?
рабочая ли схема и плата этого сайта?
Какие корявки (если они есть) в ней?
Сам я не силен в схемотехнике.
Как запитывать движки?
Подавать питание на каждый отдельно
(поставить на каждый блок питания 2,4А 36В)
или все запитать через один блок питания?
У меня движки 3А 36В.С уважением
Я эту плату собирал, с первого раза полностью не заработала, но потом разобрался в чем дело и все закрутилось завертелось ! Правда потом из-за нагрева сильного движков в режиме простоя решил собрать с сайта hobbycnc.hu ,все работало хорошо только один недостаток что в режиме полного шага ! Решил сделать свой ,сейчас на нем в полушаге пашет !
Я эту плату собирал, с первого раза полностью не заработала, но потом разобрался в чем дело и все закрутилось завертелось ! Правда потом из-за нагрева сильного движков в режиме простоя решил собрать с сайта hobbycnc.hu ,все работало хорошо только один недостаток что в режиме полного шага ! Решил сделать свой ,сейчас на нем в полушаге пашет !
Спасибо, буду знать что там козявки,
но если знаете какие, можно намылить
чтоб человек не мучился
…Спасибо, буду знать что там козявки,
но если знаете какие, можно намылить
чтоб человек не мучился
Посмотрите внимательно на печатку и схему и все увидете !
Посмотрите внимательно на печатку и схему и все увидете !
А вы садист однако ))
Может проще ткнуть где козявка!
…А вы садист однако ))
Может проще ткнуть где козявка!
😦
Учитывая что я тоже собираю французский вариант, хотелось бы знать где грабли 😵
Не мучте. Поделитесь с народом.
По поводу драйверов на ПИКах…
Вот пара “апликух” с микрочипа, там на доступном английском 😃 всё расписано
Может кому пригодится - у меня руки не доходят 😦
STEPMOTOR
В печатке и схеме выложеной отличие есть , может выложите схему соответствуюшую печатке
Пауза в мС и правда крутовато. Наверно мкС нужны там.
Наверно можно настроить ШИМ регулирование тока под КОНКРЕТНЫЙ МОТОР и напряжение питания с приемлимой точностью без обратной связи.
Вначале включение до достижения заданого тока, а затем постоянный ШИМ. Нужна осторожная настройка.
Можно сделать на ATmega16 - он побыстрей молотит.
транзисторы я бы заменил на irl24 у них входн емкость 480 пФ а у irlz44n 1700 пФ.