реклама на сайте
подробности

 
 
> Реверсивный счетчик на таймере
Erv&Sed
сообщение Dec 10 2007, 16:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



Добры день, нужна ваша помощ. Задача состоит в том - что бы создать реверсивный счетчик на одном из таймеров AVR (ATMega8(16) или другие). 0-й таймер - не подходит, т.к. он считает только в одну сторону (по даташиту). Остальные таймеры, в частности 1-й - имеет вход направления, но это направление меняется только внутренным контроллером таймера и только в в режиме Phase-correct и Frequency - Phase Correct PWM.

У кого какие соображения нужна максимальная частота которую он может выдать (~ 3.3 МГц на максимуме), при реверсе частота нужно небольшая.

Эту задачу нужно решить для стыковки AVR-ки с энкодером (16-бит - на оборот), в качестве сигнала направления используется выход синронного D-триггера, на D-вход которого подается один из квадратурных выходов, а на вход синронизации - другой.

У кого какие идеи, или может кто-то нашел другой способ стыковки енкодера с AVR-кой.

В поиск - не посылать, AVRFreak - не посылать, к АппНоутам - не посылать, я там везде уже был.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Erv&Sed
сообщение Dec 12 2007, 19:57
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



Спасибо за ответы, в особенности vpv у которого это был первое сообщение, и тут-же вопрос: как вы связывали Алтеру с AVR`кой через SPI, UART не слишком ли это медленно??, а как на счет дребезга, как вы с ним справлялись?

Maik-vs кол-во моих ошибок напрямую зависит от стажа прибывания в интернете (так-что надежды никакой).

По сути дела. Под 16-битный я имел ввиду 65536 дискрет на оборот, есть такие энкодеры, выпускаются у нас в Питере а максимальная частота до 10000 об/мин, но я брал 3000 об/мин, итого ~ 3.3 МГЦ а период ~ 305 нс, интересно а дребезг сколько будет длиться, если соизмеримо с этим периодом - то у нас получается сплошной дребезг. А на счет D-триггера (пропуск при реверсе) - это можно убрать програмно. Хотя с другой стороны в одной микросхеме идут несколько триггеров, поэтому можно сделать через два триггера, но это вносит задержку если я вас правильно понял.

СКБ ЛИР выпускает энкодеры, как они пишут, с выходом совместимым с RS422, надо ли это понимать что проблема с дребезгом решена или как это надо понимать. Здесь даташит на одно из их изделий http://skbis-lir.ru/pdf/lir-112a-212a.pdf
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Dec 13 2007, 20:02
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Erv&Sed @ Dec 12 2007, 22:57) *
По сути дела. Под 16-битный я имел ввиду 65536 дискрет на оборот, есть такие энкодеры, выпускаются у нас в Питере а максимальная частота до 10000 об/мин, но я брал 3000 об/мин, итого ~ 3.3 МГЦ а период ~ 305 нс, интересно а дребезг сколько будет длиться, если соизмеримо с этим периодом - то у нас получается сплошной дребезг. А на счет D-триггера (пропуск при реверсе) - это можно убрать програмно. Хотя с другой стороны в одной микросхеме идут несколько триггеров, поэтому можно сделать через два триггера, но это вносит задержку если я вас правильно понял.


Ну если так, то дребезга скорее всего не будет. Я поначалу понял, что 16 импульсов на оборот. Честно говоря, ничего не приходит в голову кроме внешнего реверсивного счётчика и прерывания от его переполнения.

Сообщение отредактировал Maik-vs - Dec 13 2007, 20:03
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 08:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01342 секунд с 7
ELECTRONIX ©2004-2016