-
- Мне в свое время вполне хватило атемеловской документации чтобы запустить на Хмеге обработку двух энкодеров с аппаратным вычислением положения и скорости каждого. AlexG(93 знак., 22.05.2019 13:36)
- Спасибо! Какая максимальная частота планировалась? - De_User(22.05.2019 20:49)
- Кое-что удалось найти. Максимальная частота входных сигналов планировалась 40 кГц - AlexG(27.05.2019 18:47)
- Спасибо! В итоге AtXmega не подходит по скорости обработки, не успеет обсчитывать ПИД регулятор при частоте опроса 100 кГц. + Датчик на 20+ разрядов, а каскадировать энкодер занятие неблагодарное. Нацелился на STM32F4 - De_User(27.05.2019 20:09)
- В Хмегах аппаратное каскадирование таймеров, но будет ли это работать с энкодером - большой вопрос. Обсчитывать ПИД с частотой 100 кГц Хмега конечно не сможет, если только не писать все на ассемблере. AlexG(133 знак., 28.05.2019 12:46)
- Я заводила под старшие разряды переменную в памяти (разряды 0-15 в регистре CNT, разряды 16-31 в ячейке памяти). Когда обслуживание энкодера вызывало прерывание по overflow, делала инкремент или декремент этой ячейке. Т.е. никакого умножения и Ксения(104 знак., 28.05.2019 23:48)
- А как понять, делать инкремент INC или декремент DEC ? Прерывание же одно и то же? У меня около каждого значения колебания в "+" и в "-" имеют место быть. Побочный эффект увеличения разрешения датчика. - De_User(29.05.2019 00:04)
- Прерывание по overflow там совмещено с underflow. Когда оно возникнет, тогда и решите, INC это или DEC, по знаку CNT. Если он мал (меньше половины шкалы) то это был overflow. Т.е. оно у меня так: Ксения(217 знак., 29.05.2019 00:34 - 00:37)
- Спасибо! - De_User(29.05.2019 01:27)
- Прерывание по overflow там совмещено с underflow. Когда оно возникнет, тогда и решите, INC это или DEC, по знаку CNT. Если он мал (меньше половины шкалы) то это был overflow. Т.е. оно у меня так: Ксения(217 знак., 29.05.2019 00:34 - 00:37)
- А как понять, делать инкремент INC или декремент DEC ? Прерывание же одно и то же? У меня около каждого значения колебания в "+" и в "-" имеют место быть. Побочный эффект увеличения разрешения датчика. - De_User(29.05.2019 00:04)
- Я заводила под старшие разряды переменную в памяти (разряды 0-15 в регистре CNT, разряды 16-31 в ячейке памяти). Когда обслуживание энкодера вызывало прерывание по overflow, делала инкремент или декремент этой ячейке. Т.е. никакого умножения и Ксения(104 знак., 28.05.2019 23:48)
- В Хмегах аппаратное каскадирование таймеров, но будет ли это работать с энкодером - большой вопрос. Обсчитывать ПИД с частотой 100 кГц Хмега конечно не сможет, если только не писать все на ассемблере. AlexG(133 знак., 28.05.2019 12:46)
- Спасибо! В итоге AtXmega не подходит по скорости обработки, не успеет обсчитывать ПИД регулятор при частоте опроса 100 кГц. + Датчик на 20+ разрядов, а каскадировать энкодер занятие неблагодарное. Нацелился на STM32F4 - De_User(27.05.2019 20:09)
- Не могу пока посмотреть оставшиеся материалы по проекту. Если удасться найти такие подробности отпишусь позже. - AlexG(23.05.2019 06:50)
- Кое-что удалось найти. Максимальная частота входных сигналов планировалась 40 кГц - AlexG(27.05.2019 18:47)
- Спасибо! Какая максимальная частота планировалась? - De_User(22.05.2019 20:49)
- Работа с квадратурным энкодером описана в аппликэйшене: "VR1600: Using the XMEGA Quadrature Decoder" не шибко хорошо, но достаточно для использования. Скорость счета очевидно определяется скоростью срабатывания системы событий, которая Ксения(375 знак., 22.05.2019 13:23, ссылка)
- Мне в свое время вполне хватило атемеловской документации чтобы запустить на Хмеге обработку двух энкодеров с аппаратным вычислением положения и скорости каждого. AlexG(93 знак., 22.05.2019 13:36)