Реклама на сайте 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, 01:32  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: Задержка импульса

Сейчас смотрю на таймер по даташиту 2313 стр62, вроди никаких делителей на входе таймера не наблюдаю
http://c2.at.ua/3m/F_arx/attiny2313_...ja-polnaja.pdf

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

Сообщение от Yurkin2014 Посмотреть сообщение
Идите нафиг
дык и идите, вам туда!
Цитата:
Сравнение делается железом, происходит мгновенно
но прерывание-то никто не ускорит, учесть можно, но это так, для протоколу. кстати, перезагрузку тоже никто не отменял
Поллинг не нужон - да не нужон, но ТС должен о нем знать. поллинг - периодический опрос флага (прерывания) при запрещенном векторе. тоже относится и к портам в/в
конечно, у Т/С есть режим 1:1 с частотой резонатора/генератора, я б поднял кратно частоту до 16-20МГц
jump вне форума  
Сказали "Спасибо" jump
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 02:00  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Задержка импульса

Я бы сделал так.
Пользовать только один 16-битный таймер на всё.
Прежде всего устанавливаем прескейлер на 1/64, то есть тактовая частота таймера 1/8 МГц. Замечательно.
Заводим сигнал с датчика двигателя на прерывание. В каждом прерывании считываем текущее значение таймера в переменную oborot, обнуляем таймер, он начинает снова считать от 0. Таким образом имеем для 600 об/мин oborot = 12500, при 10000 об/мин значение oborot = 750. Для других оборотов значение будет где-то в промежутке между 12500 и 750. Ну, хорошо.
В том же прерывании лезем в таблицу Tabl[], извлекаем данные на задержку соответственно полученному Tabl[oborot] и записываем в регистр сравнения. Выходим из прерывания. Далее процессор вовремя дёрнет ножкой уже без нашего участия.
Получается в основном теле программы и делать-то нечего.
В данном случае таблица получается слишком длинной, нужно 12500 значений. Не беда. Ужимаемся. Перед считыванием переменную oborot сдвигаем вправо на 3. Получаем пределы изменения oborot от 1562 до 93, так как сдвигом поделили на 8. В таком случае таблица ужимается до 1562 значений. Уже жить можно.

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

Парни всем огромное спасибо, вы себе не представляете как мне приятно слышать умных людей.
Сегодня уже баиньки, завтра наверное на работе буду включаться.

Вот что я успел нахимичить.

#define First_Delay 0x9c // начальная задержка // 40000 мкс начальная задержка
// 9С это 40000 с делителем 256, заносим его в таймер для сравнения

OCR0A=First_Delay;
TIMSK=0x07;

while(PIND.2==0); //ждём первый импульс датчика
#asm("cli")
CCR0B=0x04; //запускаем счётчик clock/256
PIND.2=0;
#asm("sei")

while(PIND.2==0); //ждём первый импульс датчика
в этом цикле рассчитывать задержку вторым 16-ти битным таймером
counter_rpm=(TCNT1L|((int)TCNT1H‹‹); //читаем скорость вращения
i=(1/counter_rpm)*60*1000000; обороты в минуту
Delay= tablica[i]; tablica[i] содержит значения от 100 до 10000 т.е 104 значения с шагом 100 оборотов
PIND.2=0;
#asm("sei")

interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
OCR0A=First_Delay - Delay;
PORTB.4=1;
delay_us(100);
PORTB.4=0;
TCNT0=0x00; //заносим макс. значение
TIFR=0xff; //сбрасываем флаги
};

а на какой максимальной частоте может работать тини 2313, может действительно увеличить частоту и уменьшить делитель.

Yurkin2014, я уже думал что бы все влепить в один таймер, но знаний маловато, темболее с таймерами в данный момент работаю впервые.
Как мне лучше сделать.

Да я еще вот о чем подумал, если у меня в таймерах будут разные делители тогда может быть трабл по значениям,т.е одно значение перепрыгнет другое и не сработает прерывание или я ошибаюсь.

Заранее спасибо

Последний раз редактировалось SAHA_T; 09.09.2014 в 02:26.
SAHA_T вне форума  
Непрочитано 09.09.2014, 05:44  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,907
Сказал спасибо: 2,543
Сказали Спасибо 11,818 раз(а) в 5,924 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Задержка импульса

Т0 имеет пять значений предделителя, начиная с "1". Не слушайте фантазеров, рассказывающих про ПИКи, 51 и т.д., изучайте сами и не "по диагонали". За Вас этого никто не сделает.
Стр.64
Цитата:
Т/С0 может быть тактирован как внутренним источником, так и внешним. Источник тактирования
выбирается Тактовым Модулем (рисунок 26-27), который, в свою очередь, настраивается битами CS02:0, которые
находятся в Регистре Управления TCCR0B. За детальной информацией об Источниках Тактирования и о Делителе
Частоты (Предделителе) обращайтесь к разделу "Делитель Частоты Таймера/Счетчика 0 и Таймера/Счетчика 1" на
странице 79.
Стр.65
Цитата:
Тактовые импульсы clkT0 могут быть получены как от внешнего, так и от
внутреннего источника, это определяется битами CS02:0.
SAHA_T, какой IDE пользуетесь?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 09.09.2014 в 05:52.
akegor вне форума  
Сказали "Спасибо" akegor
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 07:43  
KREN
Почётный гражданин KAZUS.RU
 
Регистрация: 15.04.2008
Адрес: г. Томск
Сообщений: 1,988
Сказал спасибо: 29
Сказали Спасибо 778 раз(а) в 435 сообщении(ях)
KREN на пути к лучшему
По умолчанию Re: Задержка импульса

Интересно было бы узнать, а что за двигатель с 10 000 об/мин? Со спорт кара что ли?
KREN вне форума  
Непрочитано 09.09.2014, 08:24  
Ан-162
Заблокирован
 
Регистрация: 27.07.2011
Адрес: Харьков
Сообщений: 8,236
Сказал спасибо: 4,687
Сказали Спасибо 11,566 раз(а) в 3,474 сообщении(ях)
Ан-162 на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от SAHA_T Посмотреть сообщение
У готового китайского модуля нет начальной задержки !!!
Может, не стОит изобретать велосипед?
Все уже украдено до нас. (с)
http://www.moto.com.ua/forum.php?id=1348536#1348536
Сообщение от KREN Посмотреть сообщение
что за двигатель
Двухколесного друга, это же очевидно.
...
SAHA_T, нет, я в принципе не против.
Если для общего развития в программировании.
Но здесь главный вопрос - имеете ли Вы соответствующее оборудование,
стенды, для правильной настройки этой приблуды?
(я пытался сделать то, чем Вы занялись, аналоговой схемой, но настройка углов "на ощупь" оказалась довольно тупая - убил кучу времени на покатушки и переделки схемы, в результате забросил не получив результата, которым я бы был доволен)
Но поставив DC-CDI ТАТА с коррекцией УОЗ, моя хиленькая 50сс Дельта просто воспрянула. Подробности найдете по ссылке на мото ком.
Единственное - угол датчика у Вас может не подойти к этому коммутатору.
Не помню, какой он у Дельты/Альфы (139FMB), чтобы сравнить.
Миниатюры:
Нажмите на изображение для увеличения
Название: 3.jpg
Просмотров: 34
Размер:	52.3 Кб
ID:	69394  
Ан-162 вне форума  
Сказали "Спасибо" Ан-162
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 13:26  
krug_vv
Вид на жительство
 
Регистрация: 09.12.2009
Адрес: Россия, Тула
Сообщений: 377
Сказал спасибо: 192
Сказали Спасибо 156 раз(а) в 99 сообщении(ях)
krug_vv на пути к лучшему
По умолчанию Re: Задержка импульса

Когда-то давно делал октан-корректор для Москвича 2141 на ATMega48.
Алгоритм простейший, можно было бы и тиньку, да только крутилка угла на АЦП висит...
Выкладываю проект в Алгоритм Билдер и Спринт Лэйаут.
Кварц не использовал, ненадежно на вибрациях и температурах.
Да и не нужно, там же относительные измерения.
Это было в 2006 году, до сих насколько я знаю работает.
При любой температуре.
Сбоев не замечено.
Вклинивается в штатную систему, поэтому регулирует именно угол, от оборотов не зависит. Просто смотрит длительность оборота и высчитывает насколько задержать.
Поскольку углы там большие, +- 20 градусов где-то (не помню точно) - то на контакт бегунка трамблера был напаян удлинняющий ус из жести, чтобы не терять контакта искры при больших смещениях.
На печатке видно где вход питания, вход с датчика (там стабилитрон) и выход на замыкание на полевике bs170. Крутилка 4,7к подключена к +-5 и на вход АЦП через 1 мкф.
Корпус smd, две ноги поднять. Которые крестиками обозначены.
Под ними дорожка насквозь для ресета.
Всё в пластике размером со спичечный коробок, валяется в бардачке, поэтому даже лака на плате нет.
Вложения:
Тип файла: rar Октан_корректор.rar (18.2 Кб, 33 просмотров)
krug_vv вне форума  
Сказали "Спасибо" krug_vv
SAHA_T (09.09.2014)
Непрочитано 09.09.2014, 13:31  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от akegor Посмотреть сообщение
Т0 имеет пять значений предделителя, начиная с "1". Не слушайте фантазеров, рассказывающих про ПИКи, 51 и т.д., изучайте сами и не "по диагонали". За Вас этого никто не сделает.
Стр.64
Стр.65
SAHA_T, какой IDE пользуетесь?
в том то и дело, что я сам пытаюсь догнать принцип работы МК, наверное мне мешает то что когда то учил ООП, но тут совершенно иная логика, думаю это мне и мешает догонять. На самом деле прерывания это очень просто(но пару дней назад я думал, что это дебри). Вот так понемногу осваиваю пишу в CVAVR и тестирую в AVR4.0 единственный недостаток, невидно сколько времени занимает данное действие. Может в ПИК действительно изначально стоит делитель, этого я не знаю.

С делителем я думаю я ошибся, нужно будет сегодня еще раз перечитать вышесказанное по поводу делителей и тогда будет точно песня.
Я зна что такое IDE интерфейс т.к ремонтами ноутов занимаюсь более 3-х лет, а до этого лет 10-ть лапатил десктопы , но что такое IDE в МК делитель что ли ?
если делитель, то CCR0B=0x04; //запускаем счётчик clock/256
#define First_Delay 0x9c // начальная задержка // 40000 мкс начальная задержка
// 9С это 40000 с делителем 256, заносим его в таймер для сравнения

это я просто тупо поделил 40000 на делитель 256 но при этом я не учитывал частоту, походу это не правильно.

Ан-162 - скептики, прошу не писать с подковырками, т.к с двигателями знаком давно и ваш коммутатор китайского производителя и Харьковского представителя ТАТА, который вы используете для Дельта является аналоговый УОЗ это совершенно другое и он не подходит для всех двигателей такого плана, тем более у Дельта используется высоковольтная обмотка у меня ее нет и для этого используется ВЧ преобразователь до 30кгц, также у Дельта начальное положение датчика находится на 0 градусов, у меня иначе. Кстати Ан-162 вам запчасти для Японских и Китайских скутеров не нужны ?(сами возим ил Тайвань) - это не реклама.

*Но здесь главный вопрос - имеете ли Вы соответствующее оборудование,
стенды, для правильной настройки этой приблуды?* вы так описали, как будто я космический корабль изобретаю, для настройки двигла особых стендов не нужно достаточно иметь ослика, стробоскоп, тахометр, далее дело техники и тестов.

Сейчас еще раз переварю инфу по поводу делителей.
SAHA_T вне форума  
Непрочитано 09.09.2014, 13:36  
Scadauser
Почётный гражданин KAZUS.RU
 
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
Scadauser на пути к лучшему
По умолчанию Re: Задержка импульса

Сообщение от SAHA_T Посмотреть сообщение
достаточно иметь ослика
Так и представляю себе - бегом с осликом за мотоциклом.
Scadauser вне форума  
Сказали "Спасибо" Scadauser
Ан-162 (09.09.2014)
 

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

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

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:34.


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