AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
09.09.2014, 13:44
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка импульса
krug_vv, СПАСИБО, я посмотрел но я ничего не понял т.к Алгоритм Билдер я даже не видел в С Билдер, когда то работал, но у вас совершенно другое. Переменное сопротивление это вариант, но мне нужно попроще и я так понимаю что если задействовать АЦП, будут ненужные задержки в счетчиках таймеров. Кварц обязателен т.к помеха высока, даже ослик чувствует
|
|
|
|
09.09.2014, 13:46
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка импульса
|
|
|
|
09.09.2014, 14:12
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,907
Сказал спасибо: 2,543
Сказали Спасибо 11,818 раз(а) в 5,924 сообщении(ях)
|
Re: Задержка импульса
Сообщение от SAHA_T
|
но что такое IDE в МК делитель что ли ?
|
Среда разработки. Вы уже сказали - CV.
Визард не используете? Часто помогает быстро подсмотреть вместо ковыряния в ДШ.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
09.09.2014, 14:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
|
Re: Задержка импульса
Сообщение от SAHA_T
|
двигатель подключен к стенду
|
Так у вас стенд-таки есть? И позволяет нагружать движок?
А то припоминаю, как-то пришлось ковыряться с моновпрыском на Рено, так он без нагрузки замечательно работал, а как поедешь - тупил, как сонный. На педаль реагировал едва-едва, а чуть передавишь - проваливался. Там оказалась гофротруба с трещиной, шёл подсос воздуха, снизу, не видно. А какие-то умельцы перенастроили холостые обороты, всё вроде пучком. И газуешь на нейтралке - вроде всё нормально, а ехать не хочет.
Ну и как в таком случае ослик поможет?
|
|
|
Сказали "Спасибо" Scadauser
|
|
|
09.09.2014, 14:19
|
|
Заблокирован
Регистрация: 27.07.2011
Адрес: Харьков
Сообщений: 8,236
Сказал спасибо: 4,687
Сказали Спасибо 11,566 раз(а) в 3,474 сообщении(ях)
|
Re: Задержка импульса
Сообщение от SAHA_T
|
т.к с двигателями знаком давно и ваш коммутатор китайского производителя и Харьковского представителя ТАТА, который вы используете для Дельта является аналоговый УОЗ это совершенно другое и он не подходит для всех двигателей такого плана, тем более у Дельта используется высоковольтная обмотка у меня ее нет и для этого используется ВЧ преобразователь до 30кгц, также у Дельта начальное положение датчика находится на 0 градусов, у меня иначе.
|
Я вижу, на мото.ком Вы не углублялись...
Да, он аналоговый, на мотоком уже и схема вырисовывается...
Высоковольтная обмотка штатно действительно используется на Дельтах и Альфах.
Но для того и ставят эти DC-CDI, чтоб убить двух зайцев одним махом:
- коррекция УОЗ прилично прибавляет тяги на низких и средних оборотах
- освобождается место для второй силовой катушки в генераторе,
что позволяет почти вдвое увеличить мощность генератора
Насчет же питания - в чем проблема? У Вас нет бортсети 12в? ![Очень смешно](images/smilies/icon_veryhappy.gif)
Высоковольтный преобразователь находится ВНУТРИ того блочка, фото которого выше.
Начальное положение датчика у Дельт/Альф отнюдь не 0 градусов,
он там стоит тоже с опережением, кажется, 18 градусов, ЕМНИП.
Вот видите, а Вы говорите, что в теме по этому DC-CDI. Что-то не похоже...
Сообщение от SAHA_T
|
как будто я космический корабль изобретаю, для настройки двигла особых стендов не нужно достаточно иметь ослика, стробоскоп, тахометр, далее дело техники и тестов.
|
Так вот я про это самое дело техники и говорю: имеется ли у Вас возможность покрутить Ваш двигатель на стенде, под стабильной нагрузкой, чтоб выловить оптимальные углы при разных оборотах.
Или со всем этим стандартным набором, который Вы описали, будете настраивать по ощущениям от поездок?
Так тогда цифра имхо не нужна - аналогового хватит с головой.
Последний раз редактировалось Ан-162; 10.09.2014 в 07:50.
|
|
|
|
09.09.2014, 14:44
|
|
Заблокирован
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
|
Re: Задержка импульса
Сообщение от SAHA_T
|
если делитель, то CCR0B=0x04; //запускаем счётчик clock/256
#define First_Delay 0x9c // начальная задержка // 40000 мкс начальная задержка
// 9С это 40000 с делителем 256, заносим его в таймер для сравнения
|
Ваша проблема в том, что Вы с наскока пытаетесь разработать непростую систему. Не торопитесь, разбирайтесь шаг за шагом. Задавайте возникающие по ходу дела вопросы.
Ну, опять про делитель. Тут такое дело. Вот есть таймер, т.е. счётчик. Он считает импульсы. Откуда он их берёт? Например, берёт внутренние в МК импульсы от кварца 8МГц. Но между генератором 8МГц и таймером стоит прескейлер, который может импульсы либо просто пропускать насквозь один к одному, либо уменьшать частоту в 16, 64, 256 ... раз. Если хотите быстрый счёт настраивайте прескейлер на коэффициент 1. Если нужно медленно - то 256, например. Настройка в регистре CCR0B.
Вот положили в регистр CCR0B=0x04. Значит на выходе прескейлера частота будет 8МГц / 256 = 31.25кГц, другими словами период следования импульсов 32мкс. Другими словами, каждые 32мкс таймер увеличивает своё значение на 1.
Если нужна задержка 40000мкс, то таймер должен считать до 40000/32=1250. Вот такой First_Delay = 0x4E2.
Когда таймер сосчитает от 0 до 0x4E2 пройдёт 40000мкс.
Заметьте, слово "делитель" я ни разу не использовал
Последний раз редактировалось Yurkin2014; 09.09.2014 в 14:53.
|
|
|
Сказали "Спасибо" Yurkin2014
|
|
|
09.09.2014, 15:06
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка импульса
Я использую отладчик AVR Studio 4.0 там очень хорошо видна пошаговая реализация, но там не указывается время затраченное на определенные прерывания, что бы в дальнейшем их учесть. Или я еще не полностью разобрался в отладчике.
Как же мне тяжко понять принцип делителя, я так понимаю делитель делит частоту основного генератора, в данном случае 8мгц с делителями 1; 8; 64; 256 и 1024
8000000(8мгц)/1=8000000(8мгц)
8000000(8мгц)/8=1000000(1мгц)
8000000(8мгц)/256= 31,250 кгц
8000000(8мгц)/1024= 7,813 кгц
*Вот положили в регистр CCR0B=0x04. Значит на выходе прескейлера частота будет 8МГц / 256 = 31.25кГц, другими словами период следования импульсов 32мкс. Если нужна задержка 40000мкс, то таймер должен считать до 40000/32=1250. Вот такой First_Delay = 0x4E2.*
теперь я догнал, как работает делитель
Так получается что 1кгц равен 1мкс или все же 1кгц равен 1мс?
если я использую счетчик 8бит то макс значение 256 или FF т.е 0x4E2 не вмещается поэтому нужно делитель увеличивать.
*Заметьте, слово "делитель" я ни разу не использовал * - дак я же только учусь
|
|
|
|
09.09.2014, 15:29
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2010
Адрес: 5-е кольцо МКАД
Сообщений: 501
Сказал спасибо: 879
Сказали Спасибо 361 раз(а) в 161 сообщении(ях)
|
Re: Задержка импульса
И еще, для более качественной обработки исходного сигнала (с индукционного датчика), особенно установленного на маховике, рекомендуется применять специальные микросхемы типа LM1815.....
Сталкивался в пассивных ограничителях напряжения с индукционного датчика частоты (диод/стабилитрон/резистор), двигатели стабильно работают на определенных оборотах. Смотрел осциллографом и приходилось долго играться с зазорами для обеспечения работы во всем диапазоне, подкладывая под датчик шайбы...... И это были измерительные колеса, почти идеальные. Почти полированные (была такая проблема у клиента, при переборке двигателя то-ли уронили то-ли что-то уронили на измерительное колесо, в итоге мозги после набора 1000 оборотов уходили в аут и глушили движек с ошибкой по разносу).
И тем более если датчик на маховике, то не надо забывать что маховики не всегда абсолютно круглые, и зазор естественно между зубом и датчиком гуляет.... и потом естественный износ от стартера
|
|
|
Сказали "Спасибо" SergeyNT_
|
|
|
09.09.2014, 15:40
|
|
Заблокирован
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
|
Re: Задержка импульса
Сообщение от SAHA_T
|
поэтому нужно делитель увеличивать.
|
Прескейлер не резиновый, макс. коэффициент деления 1024.
Можно, конечно, взять кварц 4МГц, или понизить 8МГц системную частоту в 2 раза с помощью системного прескейлера.
Но это нехорошо. Пусть удалось понизить частоту входных импульсов 8-битного таймера до
8000000(8мгц)/2048= 3,9 кГц, период 256мкс
и таймер считает до 156 за 40000мкс. Вроде 156 помещается в 8 бит.
Но шаг таймера 256мкс! Это очень много: если захотите изменить задержку, то шаг изменения 256мкс. На высоких оборотах 10000об/мин весь оборот происходит за 6000мкс.
Значит шаг изменения угла опережения в такой системе будет
360градусов * 256/6000=15градусов. на 10тыс об/мин
360градусов * 256/12000=7.5градусов. на 5тыс об/мин
360градусов * 256/24000=3.75градусов. на 2.5тыс об/мин
Насколько я понимаю в моторах, такой шаг установки УОЗ очень грубый.
Таким образом, плавненько переходим на 16-битный таймер. Там такой проблемы не будет.
|
|
|
Сказали "Спасибо" Yurkin2014
|
|
|
09.09.2014, 17:16
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка импульса
SergeyNT_ на счет *LM1815 Adaptive Variable Reluctance Sensor Amplifier* приму к сведению. Действительно индукционный датчик дает большую помеху, но не будем забывать что я использую не АЦП, поэтому никакие шайбы мне не понадобятся, мне всего лишь нужен будет один положительный импульс с данного датчика.
Yurkin2014 - все верно, при 8-ми битном таймере будет очень тяжко выставить на 100 оборотов.
Тогда как же быть со вторым таймером, т.к для подсчета оборотов мне нужен также 16-ти битный таймер, или применять другой мк или пробовать делать все в одном таймере, но если все в одном таймере, тогда каким образом сделать начальную задержку.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:32.
|
|