-
- Нужно считать ускорение на стороне контроллера и передавать в том
же сообщении CAN. Тогда тайминг доставки сообщения не будет влиять. - VLLV_(Вчера, 21:21,
)
- Спасибо за ответ. Прошу прощение, что внёс путаницу и тем самым
просто зря потратил ваше время. Я на ускорение смотрю, так как на
нём хорошо видны выбросы. А так внешний контроллер у меня именно
что скорость запрашивает - Lem(Вчера, 21:47)
- А ускорение где смотрите? На внешнем контроллере? Ну так и
передавайте ему ускорение, вычисленное в самом вашем МК по чистым
данным. Nikolay_Po(477 знак., Вчера, 21:54)
- Нет. Я беру данные из can сообщения на выходе моего контроллера. С внешнего контроллера идёт кабель(кабель для can, раскиданных на контакты db9), со стороны моего контроллера идёт ответная часть. Я просто спаял разветвитель, чтобы контроллеры могли общаться и при этом я мог бы с компа смотреть, что кому шлёт. Я просто через прогу на компе смотрю, что шлёт мой контроллер во внешний, записываю эти данные, матлаб скриптом переводу в "нормальные" данные и смотрю первую Lem(238 знак., Сегодня, 10:31)
- А ускорение где смотрите? На внешнем контроллере? Ну так и
передавайте ему ускорение, вычисленное в самом вашем МК по чистым
данным. Nikolay_Po(477 знак., Вчера, 21:54)
- Спасибо за ответ. Прошу прощение, что внёс путаницу и тем самым
просто зря потратил ваше время. Я на ускорение смотрю, так как на
нём хорошо видны выбросы. А так внешний контроллер у меня именно
что скорость запрашивает - Lem(Вчера, 21:47)
- Сохрани несколько замеров датчика скорости в массив в памяти МК без
всяких кэнов. И посмотри что там, для начала. - Nikolay_Po(Вчера, 11:31)
- Смотрел. Там все ровно. Проблемы именно при запросах возникают.
Причем выбросы прям с частотой запроса - Lem(Вчера, 15:46)
- частоту запроса каким либо образом используете ? сan гарантирует
доставку, но не гарантирует время доставки - Aleksey_75(Вчера, 16:04)
- Извините... Немного не понял вопроса. Частота запроса фиксирована,
но ее определяет внешняя сторона. В расчетах ее не использую.
Ускорение считаю как просто разность и смотрю на него потому что по
нему хорошо видно - Lem(Вчера, 16:58)
- суть в том что у вас скорость идет в в цифрах can сообщения,
всплески могут быть если вы пытаетесь привести данные с сообщения к
таймстепу получения сообщения и на шине есть еще обмен, то это
тупик! арбитарж даст непредсказуемый тайминг - Aleksey_75(Вчера, 18:11)
- Спасибо за ответ. Я правильно понял, что это скорее проблема для
стороны, которая посылает запрос? Просто я вижу выбросы именно что
в данных, которые посылает мой МК в ответ (то есть это не данные,
которые ещё как-то кем-то обработаны). Извините, если неправильно
вас понял. - Lem(Вчера, 21:49)
- Это только вам самому под силу выяснить. Nikolay_Po(345 знак., Вчера, 22:03)
- Значения с АЦП я беру по таймеру и в том же таймере сразу заношу их
в массив can сообщения. Раньше в том же таймере сразу после
заполнения массива сообщения я это сообщение слал и с данными все
было нормально. Сейчас я также в таймере заполняю массив сообщения,
но высылаю в ответ на запрос из вне - Lem(Сегодня, 11:04)
- есть подозрение что ты мил человек всех нас обманываешь ))) там
случаем RMS не считаешь ? - Aleksey_75(Сегодня, 12:42)
- RMS - это обороты в секунду? Вроде нет - Lem(Сегодня, 13:33)
- Это что за чудный датчик скорости что нужно задействовать ацп ???
)) - Aleksey_75(Сегодня, 12:33)
- Тахогенератор вроде - Lem(Сегодня, 13:35)
- Третий пример от Грока: Бoмж(3752 знак., Сегодня, 11:42)
- есть подозрение что ты мил человек всех нас обманываешь ))) там
случаем RMS не считаешь ? - Aleksey_75(Сегодня, 12:42)
- Значения с АЦП я беру по таймеру и в том же таймере сразу заношу их
в массив can сообщения. Раньше в том же таймере сразу после
заполнения массива сообщения я это сообщение слал и с данными все
было нормально. Сейчас я также в таймере заполняю массив сообщения,
но высылаю в ответ на запрос из вне - Lem(Сегодня, 11:04)
- Это только вам самому под силу выяснить. Nikolay_Po(345 знак., Вчера, 22:03)
- Спасибо за ответ. Я правильно понял, что это скорее проблема для
стороны, которая посылает запрос? Просто я вижу выбросы именно что
в данных, которые посылает мой МК в ответ (то есть это не данные,
которые ещё как-то кем-то обработаны). Извините, если неправильно
вас понял. - Lem(Вчера, 21:49)
- суть в том что у вас скорость идет в в цифрах can сообщения,
всплески могут быть если вы пытаетесь привести данные с сообщения к
таймстепу получения сообщения и на шине есть еще обмен, то это
тупик! арбитарж даст непредсказуемый тайминг - Aleksey_75(Вчера, 18:11)
- Извините... Немного не понял вопроса. Частота запроса фиксирована,
но ее определяет внешняя сторона. В расчетах ее не использую.
Ускорение считаю как просто разность и смотрю на него потому что по
нему хорошо видно - Lem(Вчера, 16:58)
- Может, у тебя датчик скорости сидит на том же питании, что и
трансивер кэн. И пульсации по питанию помехи дают? Nikolay_Po(355 знак., Вчера, 15:51)
- Что у вас датчик скорости? Он генерирует импульсы, которые вы
считаете? - Nikolay_Po(Вчера, 18:46)
- Да, кстати, спасибо за ответы и что тратите своё время. Для меня, честно, этот МК почти в новинку, а очень многие примеры в инете написаны на ассемблере, поэтому тут так сложно... - Lem(Вчера, 21:53)
- Выдаёт напряжение пропорциональное скорости, которое идёт на АЦП.
На каком принципе работает, честно, не знаю. - Lem(Вчера, 21:43)
- Питается от чего датчик? У АЦП опорное напряжение достаточно стабильно? А то активность на шине может влиять на показания. Nikolay_Po(264 знак., Вчера, 21:59)
- Насчёт питания - вроде нет. К тому же до этого было реализовано, что c167 просто по таймеру слал наружу значения и в них никаких выбросов. А вот как стал по запросу делать, так проблемы. Насчёт задержки - пока не знаю. До этого реализовывал отправку по простому запросу и в обработчике прерываний can "вручную" делал send, при этом я делал свою функцию send вытесняющий (с помощью макроса #pragma disabled), то есть когда она срабатывала по идее любые другие прерывания не Lem(29 знак., Вчера, 16:55)
- Что у вас датчик скорости? Он генерирует импульсы, которые вы
считаете? - Nikolay_Po(Вчера, 18:46)
- частоту запроса каким либо образом используете ? сan гарантирует
доставку, но не гарантирует время доставки - Aleksey_75(Вчера, 16:04)
- Смотрел. Там все ровно. Проблемы именно при запросах возникают.
Причем выбросы прям с частотой запроса - Lem(Вчера, 15:46)
- Могу как телепат со стажем сказать, что суть проблемы осталась за
рамками озвученной информации. Ни МК, ни таинственный PEC к ней не
имеют отношение. Выражение "МК опрашивает датчик скорости" не
раскрыто. Фраза "использовать PEC, чтобы ещё меньше задействовать
такты МК" как бы намекает, что все плохо. Ждемс дополнительную
информацию. - il-2(Вчера, 08:14)
- Да, плохо написал свой исходный вопрос. Датчик скорости
вырабатывает напряжение пропорциональное скорости. Это напряжение
идёт на мой контроллер, "обрабатывается" АЦП, с АЦП я беру значение
(16 бит). Мой МК по сути берет значение скорости, заносит его в can
сообщение и отправляет во внешний контроллер. Я считываю эти
данные, из них достаю значение скорости и вижу в них сбои с
частотой запроса, по которому я должен сдать сообщение. При этом
если я посылаю сообщение не по Lem(243 знак., Сегодня, 11:01)
- Нужно сделать без PEC. Если данные скорости в ответ на запросы по
CAN станут корректными, значит PEC запрограммирован неправильно. - Бoмж(Сегодня, 11:20)
- Вот второй пример от Грока: Бoмж(3230 знак., Сегодня, 11:32)
- Вот пример от Грока: Бoмж(2181 знак., Сегодня, 11:28)
- Нужно сделать без PEC. Если данные скорости в ответ на запросы по
CAN станут корректными, значит PEC запрограммирован неправильно. - Бoмж(Сегодня, 11:20)
- Да, плохо написал свой исходный вопрос. Датчик скорости
вырабатывает напряжение пропорциональное скорости. Это напряжение
идёт на мой контроллер, "обрабатывается" АЦП, с АЦП я беру значение
(16 бит). Мой МК по сути берет значение скорости, заносит его в can
сообщение и отправляет во внешний контроллер. Я считываю эти
данные, из них достаю значение скорости и вижу в них сбои с
частотой запроса, по которому я должен сдать сообщение. При этом
если я посылаю сообщение не по Lem(243 знак., Сегодня, 11:01)
- Нужно считать ускорение на стороне контроллера и передавать в том
же сообщении CAN. Тогда тайминг доставки сообщения не будет влиять. - VLLV_(Вчера, 21:21,