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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 09.09.2014, 00:10  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,975
Сказал спасибо: 2,554
Сказали Спасибо 11,852 раз(а) в 5,940 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от SAHA_T Посмотреть сообщение
Наверное у меня поверхностные знания т.к с этими двигателями уже знаком больше 10-ти лет и лет 10ть назад делал обычный тиристорный коммутатор
Ну пардон, показалось.
Сообщение от SAHA_T Посмотреть сообщение
только время горения зависит от окната бензина.
Я же сказал - примерно.
Сообщение от SAHA_T Посмотреть сообщение
вы лучше мне объясните по какому принципу работает делитель в зависимости от частоты кварца, к примеру 8000000(8мгц)/1024= 7812
У таймера есть предделитель, который может делить входную частоту на 1, ...(смотреть по контроллеру). Непонятно - что непонятно. Если кварц 8 МГц поделить предделителем на 8, на вход таймера пойдет 1 МГц. Если посмотреть с другой стороны, период кварца 1/8 мкс и если поделить на 8, то (1/ 8 )*8=1 мкс.
Сообщение от SAHA_T Посмотреть сообщение
к примеру я хочу сделать превывание 8ми (255) битного счетчика по сравнению. к примеру я хочу что бы в данном счетчике была задержка в 40000мкс и она была равна в таймере 250 или OCR0A = 0xFA, как мне в данном случае рассчитать правильно делитель что бы применить 8-ми битный таймер
40000/250=160 мкс - входной период. Период кварца - 1/8 мкс. Делитель - 160/(1/ 8 )=160* 8=1280. Такого коэффициента нет, выбирайте из того, что есть.
Реклама:
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 09.09.2014 в 00:13.
akegor вне форума  
Сказали "Спасибо" akegor
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 00:25  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от SAHA_T Посмотреть сообщение
объясните по какому принципу работает делитель в зависимости от частоты кварца, к примеру 8000000(8мгц)/1024= 7812
Таймеры работают с частотой Fosc/4 (это так определена работа с машинным тактом контроллера). (хотя нет даташит на атмега, но уверен, что здесь разницы с pic быть не должно). Вот отсюда и танцуйте.
Т.е. Ваш таймер (или prescaler) работает не с 8МГц, а с 2МГц. Вот и делите 2 мегагерца как хотите.
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 09.09.2014 в 00:28.
val_ka вне форума  
Непрочитано 09.09.2014, 00:36  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: Задержка импульса

Млин так много информации, сейчас буду переваривать
Сообщение от akegor Посмотреть сообщение
Такого коэффициента нет, выбирайте из того, что есть.
наверное дошло до жирафа, т.е нужную задержку делим на делитель и получаем число, равное данной задержке с делителем и я так понимаю чем меньше делитель, тем точней число.
SAHA_T вне форума  
Непрочитано 09.09.2014, 00:40  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от val_ka Посмотреть сообщение
Таймеры работают с частотой Fosc/4 (это так определена работа с машинным тактом контроллера). (хотя нет даташит на атмега, но уверен, что здесь разницы с pic быть не должно). Вот отсюда и танцуйте.
Т.е. Ваш таймер (или prescaler) работает не с 8МГц, а с 2МГц. Вот и делите 2 мегагерца как хотите.
Так что то не складывается, я вот смотрю исходник и там написано
TCCR1B=0x02; //запускаем счётчик 1Мгц
смотрю для тини 0x02 это 1/8 следовательно 8мгц разделить на 8 это и будет 1мгц, дак теперь встречный вопрос на какой реальной частоте работает таймер МК с предделителями, если кварц на 8мгц ?
SAHA_T вне форума  
Непрочитано 09.09.2014, 00:44  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Задержка импульса

Обычно таймер работает не с частотой кварца, а F/4. А потом F/4 делите ещё и на заданное в прескейлере число.
Например у Вас кварц 8 Мгц, а заданное число 256, тогда:
8/4 = 2 МГц;
2/ 256 = 7812,5

ps: посмотрите в даташит контроллера схему с таймером. Там должны увидеть на входе одного из элементов нечто вроде Fosc/4.
Если есть, то тогда считать так, как я написал выше.
Есть режимы, когда "делитель" (который в примере 256) можно задавать on-the-fly - в программе.
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 09.09.2014 в 00:50.
val_ka вне форума  
Сказали "Спасибо" val_ka
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 00:55  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Задержка импульса

Путаница со словом "делитель".
На самом деле всё просто. Таймер - это 16-разрядный счётчик. Допустим, тактовая частота у него 1МГц. Этот счётчик непрерывно считает от 0 до максимального значения 65535. С каждым тактом значение увеличивается на 1. То есть за 65535мкс посчитает от 0 до максимума. Хорошо.
Ещё есть у таймера регистры сравнения. То есть в регистр кладём число, например, 2000. Когда счётчик сравняется с 2000 этот регистр сравнения дёргает ножку процессора.
Вот и всё. Сначала таймер остановлен. Вам нужна задержка 40000мкс? Нет проблем, кладём в регистр сравнения число 40000. При появлении импульса с датчика двигателя немедленно стартуем наш таймер. И ровно через 40000мкс значение таймера и регистра сравняются , и МК дернёт ногой. Вот и получилась нужная задержка. После этого останавливаем таймер и сбрасываем в 0. По таблице смотрим новое значение задержки. Теперь нужно 39999мкс? Не вопрос! Кладём это число в регистр сравнения и ждём импульса с датчика.
Получается необыкновенная гибкость выбора задержки с шагом 1 мкс.
И никаких делителей.
Yurkin2014 вне форума  
Сказали "Спасибо" Yurkin2014
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 01:04  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от SAHA_T Посмотреть сообщение
Так что то не складывается, я вот смотрю исходник и там написано
TCCR1B=0x02; //запускаем счётчик 1Мгц
Т.к. счётчик работает с 2 Мгц, (кварц то на 8 ), то эта команда (по идее) должна устанавливать прескейлер в 2, т.е
2 Мгц/2 (в счётчике) = 1 Мгц;

(это если я правильно понимаю команду TCCR1B=0x02, я на ассемблере работаю).
__________________
И если б не было Одессы, шоб я делал?!
val_ka вне форума  
Сказали "Спасибо" val_ka
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 01:09  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Задержка импульса

а как жыш вход-выход в прырываниё? непорядок, не успеваем! а поллинг сожрет всё процессорное время, захват-сравнение тоже медленны...
jump вне форума  
Сказали "Спасибо" jump
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 01:16  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от jump Посмотреть сообщение
захват-сравнение тоже медленны..
Идите нафиг, господин Жумп! Сравнение делается железом, происходит мгновенно. Поллинг не нужон. Вход в прерывание более-менее однообразно, можно учесть пару мкс и вычесть из желаемой задержки!
Yurkin2014 вне форума  
Непрочитано 09.09.2014, 01:23  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: Задержка импульса

Так, только без глупостей

что за поллинг ?

я хочу применить делитель т.к использую для искры 8-ми битный счетчик а уже для расчета оборотов 16-ти. Вот и пытаюсь разобраться с пред делителями.
сейчас я переварю всю инфу
SAHA_T вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задержка или опережение импульса SAHA_T Микроконтроллеры, АЦП, память и т.д 85 19.08.2014 00:51
Измерение длительности импульса STM32 anton_1000 ARM 28 22.10.2013 10:51
Ограничитель длительности импульса Pajatel Микроконтроллеры, АЦП, память и т.д 161 05.04.2012 00:35
Как выделить срез импульса? vicselc Поиск схем. Делимся схемами 10 09.07.2007 01:27
LCD DEM 16261(4 bit mode) + AT89C51 ajborman Микроконтроллеры, АЦП, память и т.д 8 21.03.2007 15:26


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


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