06.08.2015, 21:02
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от NewWriter
|
Так это ведь как раз и есть регулировка яркости на каждом разряде (60% и 20%), то есть, ШИМ!
|
NewWriter, я знаю что такое ШИМ и как должна работать индикация в динамическом режиме. Я сейчас не об этом. Почему импульсы получаются смещенными на такое время (там где зеленые стрелки)? Тут никакие-нибудь микросекунды. У меня тоже получается смещение на величину длительности импульса. А тут выходит надо пропускать целое прерывание, а в случае 20% так целых три. В моем понимании, осцилограмма не должна быть такой. Работающий разряд гасится сразу при входе в подпрограмму индикации и все что должно работать по этому таймингу отрабатывает до высвечивания следующего. Никто ни на кого не старается набежать. Ведь только в самом конце высвечивается новый разряд. Это десятки микросекунд для 4 мГЦ генератора, когда не светится ни один разряд. На осцилограмме не будет видно лог. 0 в этом масштабе. Откуда у Вас такие интервалы между импульсами соседних разрядов, я пока не вкурил. Вот примерная осцилограмма с ШИМ, в моем понимании, но не могу этого добиться.
|
|
|
|
06.08.2015, 21:18
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Все, понял свою ошибку! ![Очень счастлив](images/smilies/icon_grin.gif) Я все разрисовал на тетрадке, посчитал время, но перед глазами была осцилогарамма для четырех разрядов. Точно такая же как и в предыдущем моем посте. С нее я и высчитывал время, но ведь там были четыре разных осцилограммы для сравнения, а я каждую старался впихнуть одну. Вот и разлетелись мои импульсы (пост 27). Млин, совсем крыша поехала ![Валяюсь от смеха](images/smilies/icon_biggrin.gif) Всем спасибо!!! Сделаю железо, потом ICD заюзаю что бы с яркостью поработать. У меня как раз майкрочиповский хейдер для ICD имеется - 20 ногий PIC16F676-ICD. Как раз под мой камень.
Последний раз редактировалось FreeTramp; 06.08.2015 в 21:26.
|
|
|
|
06.08.2015, 21:37
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Там, где у меня зеленые стрелки - это интервал погашенного состояния в режиме регулировки яркости, до включения следующего разряда. Гашение индикатора при 100% яркости на момент смены числа просто не помещается в масштабе, ну тут ясное дело.
Если перезагружать начальные значения таймера каждый раз, высчитывая длительность включенного и длительность выключенного разряда, то прерывания пропускать не нужно. Они будут наступать через период времени, определяемый перезагруженными начальными значениями таймера.
Причем каждый раз в прерывании значения таймера вычислять заново не нужно, достаточно брать из двух регистров ранее вычисленные значения (они вычисляются при изменении яркости кнопкой).
Более экономично с точки зрения распределения времени именно изменять начальные значения таймера вместо того, чтобы иметь прерывания с высокой частотой и пропускать действие с индикацией по прерыванию. Само прерывание пропустить не получится - ведь выполняемому коду непонятно, когда прерывание надо снова включить.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
06.08.2015, 22:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
А само прерывание пропускать и не нужно. Это же прерывания можно использовать для подсчета импульсов заполнения и входных импульсов. В итоге, для всего этого безобразия (в том числе для измерения оборотов) требуется всего один счетчик. Так что по поводу распределения ресурсов бабка на двое сказала.
Последний раз редактировалось alvadep; 06.08.2015 в 22:16.
|
|
|
|
07.08.2015, 10:06
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
А я вот немного не понимаю, как в 676-й утолкать 4 разряда индикации, один аналоговый и один цифровой вход внешнего прерывания? Ведь ножек не хватает. Только через 595-й регистр, но это лишний корпус.
|
|
|
|
07.08.2015, 12:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Ну допустим аналоговый вход можно совместить с одним из выводов индикации. Для дешифрации разрядов нужно всего 2 вывода (можно организовать на дискретных элементах). Вот и остается еще один вход для внешнего прерывания и остается свободный вход сброса.
А вообще, есть специализированные чипы для такой хренотени, например ТМ1650. Раз отправил данные и этот чип сам "динамит" индикацию. Еще и всего две линии управления.
|
|
|
|
07.08.2015, 15:39
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от NewWriter
|
А я вот немного не понимаю, как в 676-й утолкать 4 разряда индикации, один аналоговый и один цифровой вход внешнего прерывания? Ведь ножек не хватает. Только через 595-й регистр, но это лишний корпус.
|
Если на сегменты поставить дешифратор 74LS247, или наш 514 ИД2, то все помещается.
Правда ни одной свободной ноги не остается. Еще ведь и точкой управлять надо от ноги проца. Только вот приходится еще с кнопкой изголяться ![Улыбка](images/smilies/icon_smile.gif) Она всего одна. Она по коротким нажатиям, переключает показания индикатора с тахометра на напряжение бортовой сети, а при нажатии более 3 секунд, входит в режим теста. В этом режиме высвечиваютя все сегменты и точки, а потом короткими нажатиями должны устанавливаться четыре порога яркости. Если после такой настройки яркости, 3 секунды не трогать кнопку, все вернется в режим измерений. Хочу еще выбранный порог в EEPROM закинуть, а то вечером вышел в магазин, заглушил машину, потом опять порог настраивать.
|
|
|
|
07.08.2015, 17:29
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
А вот с кнопками то как раз все очень просто. Они прекрасно мультиплексируются с выходами. Нужно просто после полного цикла дин.индикации выделить пару десятков микросекунд на опрос кнопок, переключив выводы на вход с внутр.подтяжкой и прочитать состояние порта.
Причем, чтобы не было к.з. в процессе работы, подключать кнопки обязательно через резисторы,.
|
|
|
|
07.08.2015, 18:32
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от NewWriter
|
А вот с кнопками то как раз все очень просто. Они прекрасно мультиплексируются с выходами.
|
Я знаю это. Кажется на Гамме СПб читал статью о PIC12F про "Большие возможности маленького Пика". В этой статье как раз и говорилось об этом.
Кстати, я первые образцы 12F629 и 675 в Гамме брал. Тогда это диковинка была. Покупке рад был до жути. Сейчас уже народ даже не замечает появление новых экземпляров.
Занимаюсь я контроллерами только не регулярно. Два года перерыв был. Уже забывать кое-чего начал.
Последний раз редактировалось FreeTramp; 07.08.2015 в 18:37.
|
|
|
|
07.08.2015, 19:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от NewWriter
|
А вот с кнопками
|
Можно общую точку от земли оторвать и на единственный вход зацепить и не делать пауз в индикации. Тогда зная разряд и уровень на входе, определить которая из кнопок нажата несложно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:23.
|
|