сервопрвод от Jina
спасибо за ответ. поясните подробнее: т е если энкодер с 50 дырок это 200 импульсов(на оборот движения конечно).
вот как раз хотел еще уточнить про накопление ошибки во времени, какое время вы даете двигателю на отработку ошибки, тоесть если придет один импульс степ, то за какое время двигатель должен отработать это рассогласование?
у меня это выглядит так, если степ не отработан то , наступает время (приблизительно ск\64 это делитель таймера-счетчика) и в шим добавляется еденица, таким образом скважность шима увеличивается, чем дольше ошибка не исправляется тем больше на двигателе напряжение и ток, а значит и момент, вот и наступает момент когда у движка сил хватает. добавлять можно и 2 еденицы больше , это и есть усиление на пид. у меня момент страгивания с места равен 10 из 255 возможных. что касательно измерений в реальном времени, то ответить не могу, скажу лишь что это измеряется милисекундами. у меня позиционируеся двигатель достаточно бодро
Еще раз спасибо, меня какраз интересовал порядок цифр. Пока в симуляторе играюсь там мотор-энкодер не адекватен.
Еще раз спасибо, меня какраз интересовал порядок цифр. Пока в симуляторе играюсь там мотор-энкодер не адекватен.
а что за симулятор? если algorithm builder то там надо ручками на пины галки переставлять, долго конечно и нудно
в протеусе играюсь. там проблема в том что не удается от модели мотор-энкодера добиться нужной скорости вращения и колличества импульсов на оборот.
в протеусе играюсь. там проблема в том что не удается от модели мотор-энкодера добиться нужной скорости вращения и колличества импульсов на оборот.
я протеус как программу не воспринимаю, глючный он очень, проще и быстрее макет на столе собери, в качестве н-моста можно L298 взять, а мотор например из принтера, у меня например с кенона, хотя сейчас все принтеры с энкодерами, по скорости у меня получалось почти 40килостепов
для повышения быстродействия привода пид надо выносить за пределы контроллера, а для ещё большего быстродействия и математику тоже, контроллеру оставить только надзорные функции, примером служит привод А-300,соб-сно все идеи мои с него вышли
ну l298 уже успешно работает и даже моторчик крутится туда сюда от меги8. Пока с энкодером запара, нет времени диск попробовать сделать. Меня смущает то что двигатель в модели очень долго качается около нулевой точки после останова, а если вводить мертвую зону в несколько импульсов энкодера то соответственно увеличивается отставание от степ на эту величину, хотя качание пропадает. Кстати хотел спросить у вас в алгоритме учитывается, что в данный момент происходит отставание или уже перебег и нужно тормозить или все на чистой математике пид работает? Я пробовал делать пид в железе но он следил за скоростью вращения, и тоже была проблема с плаванием скорости около точки равновесия.
в пиде у меня чистая математика, а разгон и торможение не уместны, этим должна программа управления чпу заниматься
если вал двигателя у тебя трясётся то попробуй вал нагрузить, например помазав эпоксидной смолой без отвердителя, тогда вал точно в позицию останавливаеся, в любом случае уменьшай установки пид или замедляй скорость срабатывания пид, если используешь мою прошивку просто поменяй время на таймер-счётчике
разгон и торможение я имел в виду при отработке рассогласования.
я так понимаю что интерфейса настройка пид нет?
А оно надо, усложнять то? На крайний случай параметры хранить во флеш, и их там менять. В первом посте вроде написано. что пока настройка идет перезаписью прошивки.
я так понимаю что интерфейса настройка пид нет?
можно конечно прописать, НО, это увеличит обьём занимаемой памяти, а следовательно надо контроллеру это обработать, а это в свою очередь потребует время которого в угоду быстродействия нету. можно перейти на более мощный микроконтроллер, например stm32 но не каждый пользователь может его запрограмировать плюс цена подороже чем avr на 8бит и программатор аж 5 проводов, выводы я думаю сделаете сами
если же , например, вынести матеатику и пид за пределы контроллера то это соответственно потянет финансовые вливания, что тоже не есть хорошо, зато плюс- увеличение быстродействия, как пример, просчитайте привод A-300
Кстати, вы обошлись в прошивке без арифметики с плавающей точкой?
Кстати, вы обошлись в прошивке без арифметики с плавающей точкой?
да, без плавающей точки, путём сложения либо вычитания, что налагает некоторые ограничения на порядок чисел, зато повышает быстродействие попутно уменьшая обьём кода, к заметному ухудшению работы ,в моём случае, это не привело, подробности смотрите в исходниках, благо там много коментариев
Jina, перезалейте видео, хотелось бы увидеть как работает.
Jina, перезалейте видео, хотелось бы увидеть как работает.
там было два видео , изначально 67 и 47 метров, после усушки и утруски, стало 20 и 18 метров, тут у меня не захотело принимать, куда выложить? ютуб тоже не хочет меня регистрировать, сказал что славянства во мне много 😃
куда выложить?
в какой нибудь Диск, в гугл или яндекс.
в какой нибудь Диск
video.yandex.ua/users/jina-stayn/view/1/
video.yandex.ua/users/jina-stayn/view/2/
посмотрите, показывает или нет?
Да, не плохо работает, особенно большой двигун порадовал, таким можно солидный станок двигать, я пока бьюсь, чтобы энкодер к движку присобачить.
Jina ,большой двигатель какой марки ? Фото со стороны энкодера ,если не затруднит.
я пока бьюсь, чтобы энкодер к движку присобачить.
у меня в торце просверлено отверстие, на разрезном диске с мышиного энкодера, тот что с ножкой, на ножку намотана нитка и промазана клеем …момент… сделано так потому что бы был манёвр в плане точной юстировки устанавливаемого диска, после юстировки надо подождать пока клей высохнет, если что то пошло не так то эту конструкцию можно разобрать , т к клей не держит всё намертво, но достаточно что бы держало жестко
Jina ,большой двигатель какой марки ? Фото со стороны энкодера ,если не затруднит.
посмотри посты выше там написано и фото есть