Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Электроника средств транспорта Ремонт и разработка дополнительного автооборудования. Бортовые компьютеры и многое другое.

 
Опции темы
Непрочитано 03.07.2012, 15:20  
gnomon72
Почётный гражданин KAZUS.RU
 
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
gnomon72 на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от Alex_Sss Посмотреть сообщение
И поэтому - чем больше импульсов мы возьмем для замера - тем лучше и точнее!
Угу. Тока времени на кучу захватов фронтов нет нифига.
Реклама:
gnomon72 вне форума  
Непрочитано 03.07.2012, 15:36  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
200 км в час.
56 метров в секунду.
Для 6-импульсного датчика получаем частоту 336 Герц
За длительность базы замера в 100 мсек имеем 33...34 импульса.
Круто. Вам повезло с Вашим идеально изготовленным датчиком.
У меня при скорости 200 за это время 149 импульсов уже прошло бы.
Я всё-таки склоняюсь к тому, что у кого есть ABS брать сигнал с него и считать не период, а количество импульсов за определённый период.
Я ещё вот чего подумал.
У меня также никак не согласуется начало фронта первого счётного импульса и начало счётного периода. Поэтому возможна ошибка +/-1 импульс. Может синхронизировать их?
Сообщение от Alex_Sss Посмотреть сообщение
И поэтому - чем больше импульсов мы возьмем для замера - тем лучше и точнее!
Во-во. И я о том-же.
Andry_MA вне форума  
Непрочитано 03.07.2012, 15:40  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
Угу. Тока времени на кучу захватов фронтов нет нифига.
В приведённом мной выше коде никаких фронтов захватывать не надо.
Один счётчик считает, второй через время прерывается, в первом смотрим скорость сколько там за это время насчитало, сбрасываем насчитанное в 0, и по новой.
Andry_MA вне форума  
Непрочитано 03.07.2012, 15:54  
gnomon72
Почётный гражданин KAZUS.RU
 
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
gnomon72 на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от Andry_MA Посмотреть сообщение
В приведённом мной выше коде никаких фронтов захватывать не надо.
Один счётчик считает, второй через время прерывается, в первом смотрим скорость сколько там за это время насчитало, сбрасываем насчитанное в 0, и по новой.
Стоп. Не период между фронтами меряете, а количество импульсов считаете что ли?
gnomon72 вне форума  
Непрочитано 03.07.2012, 15:56  
Alex_Sss
Прописка
 
Регистрация: 03.06.2012
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
Alex_Sss на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
И ни в одном на время обработки нельзя отключать другие,
Если я правильно помню - то запрет прерываний не запрещает, а откладывает прерывания. Т.е. флаг все равно взводится и будет обработан после разрешения прерываний. Значит - по-идее мы можем им пользоваться дабы исключить вложенные прерывания.
Alex_Sss вне форума  
Непрочитано 03.07.2012, 16:01  
Alex_Sss
Прописка
 
Регистрация: 03.06.2012
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
Alex_Sss на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
Угу. Тока времени на кучу захватов фронтов нет нифига.
А времени и не надо. Мы просто сбрасываем счетчик ICP, и начинаем отсчет времени. Пока время не вышло - никаких затрат от нас не требуется. Как только отсчет завершен (прерывание по основному таймеру) - мы активируем прерывание по ICP, и ждем его. Пришло - запомнили сколько насчитал наш счетчик времени, и у нас есть время полных Х периодов. Делим его на Х - и получаем точный период.
При этом отсчет можно делать основным таймером, который отсчитывает наши 500мс. достаточно сохранить его значение в момент завершения отсчета 200мс, и еще раз сохранить его значение по прерыванию ICP.
Сорри за сумбурность, но надеюсь - идея ясна.
Alex_Sss вне форума  
Непрочитано 03.07.2012, 16:03  
gnomon72
Почётный гражданин KAZUS.RU
 
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
gnomon72 на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от Alex_Sss Посмотреть сообщение
Если я правильно помню - то запрет прерываний не запрещает, а откладывает прерывания. Т.е. флаг все равно взводится и будет обработан после разрешения прерываний. Значит - по-идее мы можем им пользоваться дабы исключить вложенные прерывания.
Это смотря, как запрещать. Ежели глобально запрещать, то так и есть. А ежели флагами разрешения отдельных прерываний манипулировать, то нет.
Глобально запрещать, как то совесть не позволяет. Чай тут не ассемблер, а Паскаль, где вообще запрещается систик отрубать, если он запущен.
Хотя конечно можно плюнуть и сделать по своему.
Да в общем то это и не проблема. Всё равно решил делать не параллельную обработку, а как раньше, т.е. последовательную. Так и конфликтов меньше и задержек всяких. Просто драйвер с фильтрацией "левых" периодов попробую дописать.
gnomon72 вне форума  
Непрочитано 03.07.2012, 16:12  
gnomon72
Почётный гражданин KAZUS.RU
 
Регистрация: 25.06.2010
Сообщений: 1,223
Сказал спасибо: 13
Сказали Спасибо 176 раз(а) в 123 сообщении(ях)
gnomon72 на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от Alex_Sss Посмотреть сообщение
А времени и не надо. Мы просто сбрасываем счетчик ICP, и начинаем отсчет времени....
Ну, так оно и работает. Только в двух вариантах - последовательный замер, когда мы 100 мсек меряем и почти нифига не делаем больше, только кнопки проверяем, а оставшиеся 400 мсек тратим на остальное, либо параллельный замер 500 мсек, когда мы и меряем скорость и всё остальное творим.
В первом случае получаем маловато замеров, но не имеем проблем с другими процедурами, во втором случае получаем больше замеров, но имеем заморочки по конфликтам прерываний или по выдерживанию временных интервалов, которые прерывания не используют, т.е. получаем проблемы по точности косвенно, с других направлений.

Плюс ко всему выше мы при замере 500 мсек базы получаем среднюю скорость фактически на момент 250 мсек назад, а при замере 100 мсек базы, только 50 мсек назад, что тоже сказывается на управлении - 200 мсек разницы это не шутки.

Последний раз редактировалось gnomon72; 03.07.2012 в 16:17.
gnomon72 вне форума  
Непрочитано 03.07.2012, 20:41  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
Стоп. Не период между фронтами меряете, а количество импульсов считаете что ли?
ДААААААААА.
Причём к количественном выражении. Скорость 60 км/ч - 60 импульсов.
С ABS это очень хорошо получаестя. Частота большая. Только время подобрать. Несколько страниц назад. Там где код.
Спасибо "ещё один max"-у.
Andry_MA вне форума  
Непрочитано 03.07.2012, 20:53  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от gnomon72 Посмотреть сообщение
Ну, так оно и работает. Только в двух вариантах - последовательный замер, когда мы 100 мсек меряем и почти нифига не делаем больше, только кнопки проверяем, а оставшиеся 400 мсек тратим на остальное, либо параллельный замер 500 мсек, когда мы и меряем скорость и всё остальное творим.
В первом случае получаем маловато замеров, но не имеем проблем с другими процедурами, во втором случае получаем больше замеров, но имеем заморочки по конфликтам прерываний или по выдерживанию временных интервалов, которые прерывания не используют, т.е. получаем проблемы по точности косвенно, с других направлений.
Похоже здесь и есть прооблема для "избранных".
Время 600 мс очень чуствительно.

Последний раз редактировалось Andry_MA; 03.07.2012 в 20:55.
Andry_MA вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль приближения/удаления целевого обьекта или аналог proximity Boris_gunner Электроника - это просто 18 25.04.2016 11:52
[Решено] Самодельный пирометр Classic001 Измерительное оборудование 6 27.10.2011 10:52
Самодельный сварочный трансформатор - дополнительная обмотка E_C_C Производственное оборудование 5 01.11.2010 21:02
Контроль целостности передаваемых данных ksd034 Микроконтроллеры, АЦП, память и т.д 4 08.07.2010 21:46
Входной контроль микроконтроллеров TMS320LF2406APZA alnikr Цифровые сигнальные процессоры 8 18.05.2010 14:38


Часовой пояс GMT +4, время: 04:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot