Электроника средств транспорта Ремонт и разработка дополнительного автооборудования. Бортовые компьютеры и многое другое. |
03.07.2012, 12:56
|
#1791
|
Почётный гражданин KAZUS.RU
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от cuper_1971
|
Тогда почему такая погрешность? в данном алгоритме нас скважность не волнует, при частоте заполнения 32768 (ну вот так посчитал - часовых кварцев море) на скорости 200 км/ч потеря одного импульса заполнения даст погрешность в 1%, усредненная - 0,3%. На скорости 60 км/ч - 0,3 и 0,1 соответственно. С такой погрешностью показания не то что скакать не должны, даже +/-1км/ч не получается...
|
Давайте посчитаем на пальцах.
200 км в час.
56 метров в секунду.
Для 6-импульсного датчика получаем частоту 336 Герц
За длительность базы замера в 100 мсек имеем 33...34 импульса.
При отклонении скважности одного импульса в 20%, получаем усредненную ошибку 0,59%.
Для скорости в 200 км в час получаем абсолютную ошибку минимум 1,18 км/ч.
Для скорости в 100 км/ч тем же методом получим те же самые минимум 1,18 км/ч.
Идем дальше.
Изменение 1,18 км в час за 500 мсек период управления КК даст ускорение 2,36 км/ч*c, т.е. 65 см/с^2.
На такое ускорение по таблице "Норма" КК отреагирует изменением позиции привода дросселя порядка 4...4,3%.
При среднем положении привода дросселя для скоростей от 100 км/ч в 16...17% это равнозначно тому, что Вы увеличили/уменьшили газ на четверть.
В итоге, машина пошла вразнос , т.е. начинает совершать ряд колебаний в попытке стабилизировать скорость, т.к. следующее измерение даст уже правильную скорость и ускорение будет вычислено противоположным и больше по величине, т.к. скорость уже успела реально измениться от предыдущего изменения дросселя и чтобы всё вернуть на место КК придется попотеть. Тем более, что в ошибка измерения вылезает периодически и может в этот момент опять начать делать своё черное дело, но уже гадя на процесс стабилизации последствий от предыдущей.
|
|
|
|
03.07.2012, 13:08
|
#1792
|
Гражданин KAZUS.RU
Регистрация: 08.07.2008
Адрес: Харьков, Украина
Сообщений: 523
Сказал спасибо: 32
Сказали Спасибо 106 раз(а) в 82 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от gnomon72
|
За длительность базы замера в 100 мсек имеем 33...34 импульса.
|
Я не предлагаю считать импульсы! Я предлагаю считать кол-во импульсов ОПОРНОЙ частоты (скажем 32768 ) между двумя фронтами сигнала ДС, т.е. за период. Скважность нас не интересует в принципе. Как бы она не менялась - период не изменится. База замера у нас не будет постоянной, она будет тем меньше, чем выше скорость. На минимальной скорости включения (25 км/ч ) она составит порядка 140 мс, что вполне приемлемо.
Последний раз редактировалось cuper_1971; 03.07.2012 в 13:14.
|
|
|
|
03.07.2012, 13:19
|
#1793
|
Почётный гражданин KAZUS.RU
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от cuper_1971
|
...Скважность нас не интересует в принципе. Как бы она не менялась - период не изменится...
|
Здрасьте, приехали.
Я же выше расписывал, как скважность импульса меняет его период на краях базы замера.
КК включается от 15 км в час. Да и 140 мсек уже неприемлемо много для периода управления 500 мсек. Это на ЭПГ нормально будет, а на тросовом привод крутить будет совершенно некогда.
|
|
|
|
03.07.2012, 13:25
|
#1794
|
Прописка
Регистрация: 03.06.2012
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Re: Самодельный круиз-контроль
gnomon72, А мы можем считать импульсы и крутить привод одновременно?
|
|
|
|
03.07.2012, 13:28
|
#1795
|
Почётный гражданин KAZUS.RU
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от Alex_Sss
|
gnomon72, А мы можем считать импульсы и крутить привод одновременно?
|
Можно. Только крутить будет криво, т.к. прерывания от ICP и Timer1 будут сбивать по точности временные интервалы управления приводом.
Вот с OKLiK'ом попробовали параллельно замерять скорость и обрабатывать главный цикл управления. Так после 80 Гц на ICP начал UART ошибки выдавать, а на 200 Гц вообще перестал адекватно отсылать данные.
|
|
|
|
03.07.2012, 13:31
|
#1796
|
Гражданин KAZUS.RU
Регистрация: 08.07.2008
Адрес: Харьков, Украина
Сообщений: 523
Сказал спасибо: 32
Сказали Спасибо 106 раз(а) в 82 сообщении(ях)
|
Re: Самодельный круиз-контроль
у нас нет базы замера как таковой! У нас есть 6 периодов, мы меряем длительность трех из них - через один. длительность периода от скважности не зависит (а если зависит - то как? ) Краев замера у нас нет - фронт пришел - начали мерять, следующий пришел - закончили. Нет возможности запустить начало замера где-то между импульсами, и где-то между ними её остановить - мы привязаны к фронтам. И погрешность у нас зависит только от опорной частоты - чем она выше, тем погрешность меньше
|
|
|
|
03.07.2012, 13:36
|
#1797
|
Почётный гражданин KAZUS.RU
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
|
Re: Самодельный круиз-контроль
В общем я попробую сделать драйвер с выкидыванием отличающихся по периоду более чем на 5% от смежных импульсов, но гарантии нет, что станет лучше.
Оптимально получается либо брать импульсы от АБС, у кого они есть, либо подбирать более-менее точный ДС, либо ставить отдельный самопальный ДС, либо городить отдельную схему формирователя правильных импульсов на маленьком микроконтроллере, которая будет работать с фильтрацией и усреднением в реалтайме, например замерять периоды пачки в 5-8 импульсов, заведомо кривые, сильно отличающиеся от смежных, выкидывать и выдавать на выход такую же пачку, но с импульсами одинакового усредненного периода по расчету от полученных на входе.
|
|
|
|
03.07.2012, 13:36
|
#1798
|
Прописка
Регистрация: 03.06.2012
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Re: Самодельный круиз-контроль
gnomon72, Видимо, много вычислений производится в прерывании по ICP, а их нуна сократить до минимума.
|
|
|
|
03.07.2012, 13:42
|
#1799
|
Временная регистрация
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от gnomon72
|
Да и 140 мсек уже неприемлемо много для периода управления 500 мсек. Это на ЭПГ нормально будет, а на тросовом привод крутить будет совершенно некогда.
Можно. Только крутить будет криво, т.к. прерывания от ICP и Timer1 будут сбивать по точности временные интервалы управления приводом.
Вот с OKLiK'ом попробовали параллельно замерять скорость и обрабатывать главный цикл управления. Так после 80 Гц на ICP начал UART ошибки выдавать, а на 200 Гц вообще перестал адекватно отсылать данные.
|
Ааааа. Я то думал у Вас одновременно. А так да, очень долго.
|
|
|
|
03.07.2012, 13:42
|
#1800
|
Почётный гражданин KAZUS.RU
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
|
Re: Самодельный круиз-контроль
Сообщение от cuper_1971
|
у нас нет базы замера как таковой! У нас есть 6 периодов, мы меряем длительность трех из них - через один. длительность периода от скважности не зависит (а если зависит - то как? ) Краев замера у нас нет - фронт пришел - начали мерять, следующий пришел - закончили. Нет возможности запустить начало замера где-то между импульсами, и где-то между ними её остановить - мы привязаны к фронтам. И погрешность у нас зависит только от опорной частоты - чем она выше, тем погрешность меньше
|
А какая разница? Пришел например первым импульс с другой скважностью, т.е. с вынесенным вперед восходящим фронтом, мы его поймали, потом поймали второй фронт, расстояние между ними больше чем должно быть - вот и криво замеренный период, который внесет ошибку.
Тут абсолютно не зависит есть база замера или нет. Зависит только от попадания корявого импульса на момент после начала замера или на момент перед концом замера, вне зависимости, дождемся мы его фронт или не дождемся. Фронт то по любому придет и будет зафиксирован, как и следующий за ним.
Или я что то не понимаю?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:14.
|
|