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

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

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

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

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

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


 
Опции темы
Непрочитано 06.08.2015, 13:04  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от alvadep Посмотреть сообщение
FreeTramp, а не пробовали менять скважность "импульсов индикации" другим способом, например, просто выбрасывать (пропускать) импульс?
А какой смысл в этом? Если пропускать один импульс, значит надо пропускать и остальные три. Тем самым я просто добьюсь увеличения периода их следования, т.е в два раза снизится частота и опять начнется мерцание.
Реклама:
FreeTramp вне форума  
Непрочитано 06.08.2015, 13:31  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

В доисторические времена делал стенд для проверки топливной аппаратуры на 16F876. Оптимальный алгоритм - измерение длительности импульсов таходатчика. В прерывании по изменению состояния таходатчика (у меня был сигнал ВМТ) считываем текущее состояние таймера и выставляем флаг готовности, а дальнейшую обработку делаем в основном цикле. При этом тот же таймер можно использовать и для динамической индикации. Точность будет определятся тактовой частотой таймера. Для нормального диапазона измерений желательно применять 16-разрядный таймер.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 06.08.2015, 15:17  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от FreeTramp Посмотреть сообщение
А какой смысл в этом?
Смысл простой. Не надо перестраивать таймер. А чтобы не было мерцаний нужно изначально поднять частоту тактирования динамической индикации, так чтобы даже при самой большой скважности не было заметно глазу.
alvadep вне форума  
Непрочитано 06.08.2015, 16:20  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от alvadep Посмотреть сообщение
Смысл простой. Не надо перестраивать таймер. А чтобы не было мерцаний нужно изначально поднять частоту тактирования динамической индикации, так чтобы даже при самой большой скважности не было заметно глазу.
Если поднять частоту, что бы не было заметно глазу мерцания, то мне кажется будут заметны глазу не гаснущие сегменты. У меня в руках старинные часы на ZILOG 18 pin с кварцем 10 мГЦ, так вот на этом камне видимо реализован ШИМ на динамическую индикацию. Яркость индикации в этих часах меняется ступенчато и имеет 4 ступени. Маркировка его Z86E0812PSC. Что у него на борту я не знаю, т.к. с ними никогда не работал, если только под Spectrum пытался что-то на асме изобразить, но потом забросил. Домой приду, скачаю даташит для интереса, а сейчас с планшетника пишу.Тут всего 500 мб на месяц трафика. Жалко однако
FreeTramp вне форума  
Непрочитано 06.08.2015, 19:12  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от FreeTramp Посмотреть сообщение
Ширину импульса менять можно, только получается сдвиг импульсов. Вывод - нельзя на ходу что-то менять в TMR0. Нужен второй аппаратный таймер. Выбирать другой проц, только из за того что бы регулировать яркость, я считаю нецелесообразным. Камень с бОльшими возможностями уже имеет другой вес в денежном выражении и заливать в него потом всего 500 байт, кощунство.
А не попробовать ли сделать наоборот? Сделать ШИМ и программно расширить таймер.
omercury вне форума  
Непрочитано 06.08.2015, 19:23  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от FreeTramp Посмотреть сообщение
Не все так просто как кажется....уменьшении времени импульса, будет меняться и период, иначе (см. картинку).
Да не, ну почему же. Я не вижу принципиальных трудностей даже если менять значение таймера на каждом этапе, формируя ШИМ. Нужно всего лишь записывать во вспомогательные регистры заранее рассчитанные значения таймера и подгружать их в таймер каждый раз при наступлении прерывания. Ничего никуда сдвигаться не будет, потому что все длительности будут рассчитаны заранее.
Надо всю индикацию разбить на этапы, даже нарисовать на бумажке и просчитать значения таймера для каждого этапа. Все получится.


Последний раз редактировалось NewWriter; 06.08.2015 в 19:25.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
FreeTramp (06.08.2015)
Непрочитано 06.08.2015, 19:31  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Посмотрел даташит на Z86E08. Плин, да он еще беднее чем 16F676.
1 Шесть прерываний (три по заднему фронту сигнала, один по переднему и два от таймеров) Прерывания приоритетные.
2. Таймеров всего два и оба восьмибитные с шестибитными предделителями.
3. Два аналоговых компаратора.
4. С генераторами дело обстоит точно так же как в Пике. Макссимальная рабочая частота у него 12 мГЦ
5. Имеется 1 кб памяти программной и 125 байт (почему-то) RAM
Ну и стандартные две приблуды в виде WDT и POR. Вот и все что у него под пластиком.
Ну как бы там не было, а регулировка яркости индикатора присутствует.
Поиграюсь еще частотой индикации, может удастся найти приемлемый вариант. Осложняется это еще и тем, что у меня внутренний генератор и кратные секунде прерывания нужно выбирать на этом же таймере. Так что выбор не велик. Надо железо собирать. Протеус не покажет изменение яркости.
FreeTramp вне форума  
Непрочитано 06.08.2015, 19:43  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от NewWriter Посмотреть сообщение
Да не, ну почему же. Я не вижу принципиальных трудностей даже если менять значение таймера на каждом этапе, формируя ШИМ. Нужно всего лишь записывать во вспомогательные регистры заранее рассчитанные значения таймера и подгружать их в таймер каждый раз при наступлении прерывания. Ничего никуда сдвигаться не будет, потому что все длительности будут рассчитаны заранее.
Надо всю индикацию разбить на этапы, даже нарисовать на бумажке и просчитать значения таймера для каждого этапа. Все получится.

Ну у меня в 27 посте та же осцилограмма, только я посчитал что так быть не должно (там где зелеными стрелками отмечено), а в Протеусе нормально не проверить что индикация покажет.
NewWriter, а можно в личку, или тут (как удобно) пояснения к двум нижним осцилограммам?
FreeTramp вне форума  
Непрочитано 06.08.2015, 19:48  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Да с яркостью все просто как мычание. 60 гц -глаз устраивает. Пусть у нас 4 цифры. T. е через каждые 4 милисекунды надо включать следущий сегмент А дальше все просто типа такого;
PHP код:
#define CntTact 4
#defineCntDig 4
Light 3;
tact 0;
dig 0;
void OutDig()
{
   if(
tact›=Ligth)
      {
        
Выключить все сегменты ;
      }
    else
     {
       
Установить сегменты цифры;
     }
       
Включить цифру dig;
       
tact++;
       
tact%=CntTact;
       if(
tact==0)
         {
          
dig++;
          
did%=CntDig;
         }
 

При 4 уровнях яркости вызывать этот метод каждую милисекунду
при 8 каждых 500мкс

Всякие тонкости с паразитной засветкой опускаю))
Boba_spb вне форума  
Непрочитано 06.08.2015, 19:54  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Как снизить дискретность тахометра в авто?

Сообщение от FreeTramp Посмотреть сообщение
пояснения к двум нижним осцилограммам?
Так это ведь как раз и есть регулировка яркости на каждом разряде (60% и 20%), то есть, ШИМ!
Период переключения разрядов остается ОДНИМ И ТЕМ ЖЕ, не меняется, а вот длительность зажигания каждого разряда - и есть ШИМ. Поразрядный.
Ну и один и тот же таймер нужно перезагружать дважды для каждого разряда. Из осциллограмм видно ведь. Частота дин.индикации - 100 Гц. Время, отводимое на каждый разряд - 10 мс / 4 = 2,5 мс. Ну и эти 2,5 мс делятся на фазу свечения разряда и фазу выключенного разряда. Соотношение времени этих фаз - и будет определять яркость. Ну и значения таймера будут соответствующими. А в сумме - должно давать длительность 2,5 мс.



Для того, чтобы разряды не налезали друг на друга и не высвечивали цифру не в том разряде, нужно делать наоборот. Перед сменой разряда нужно гасить разряд, тут же загружать новое значение цифры, и тут же включать следующий разряд. Время на это - несколько микросекунд.

Последний раз редактировалось NewWriter; 06.08.2015 в 20:38.
NewWriter вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Так, рассказик :)) Я долго ржал :)) DK Отвлекитесь, эмбеддеры! 7 31.08.2007 22:33
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] про блоки питания бу-га-га! zalman Отвлекитесь, эмбеддеры! 12 29.01.2007 10:46
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


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


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