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

 
 
> генератор импульсов на ATmega16
neurox
сообщение Jan 21 2009, 08:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 30-06-08
Пользователь №: 38 638



Доброго времени суток. Обращаюсь к вам с такой задачкой:

Необходимо изготовить генератор импульсов на ATmega16. Частота импульсов задается динамически с клавиатуры и отображается на ЖК дисплее.

Что сделал я:

1.Интерфейс я сделал, число отображается и по нажатию кнопок изменяется. (одна кнопка перелистывает единицы, вторая десятки, третья сотни и т.д.)

2.Мега тактируется от внешнего кварца на 10Mhz. На porta дисплей, на portb кнопки.

Что мне не понятно:

1.Думаю для отсчета периода между импульсами разумно использовать 16ти разрядный таймер... да?

2.Можно ли добиться приемлемой точности в моём случае? Мне необходимо генерировать импульсы с частотой в диапазоне от 1Гц до 10000Гц. (Ну или хотя бы до 5000Гц)

3.Как реализовать генерацию импульсов? (В теории кажется понятным а на практике что-то не врубаюсь). Поделитесь опытом, пожалуйста? А если добавите выкладку на С то буду вообще счастлив.

Сообщение отредактировал neurox - Jan 21 2009, 08:44
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Jan 21 2009, 08:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



1.Да
2.Да
3.Режим СТС. C выводом импульсов на вывод ОС. Посмотрите в DS. Будут вопросы - задавайте.

P.S. Ответил плохо подумавши на второй вопрос... Уточните: точность какая нужна? Плюс/минус 1 Гц во всём диапазоне?
Go to the top of the page
 
+Quote Post
neurox
сообщение Jan 22 2009, 07:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 30-06-08
Пользователь №: 38 638



Цитата(Палыч @ Jan 21 2009, 16:51) *
Уточните: точность какая нужна? Плюс/минус 1 Гц во всём диапазоне?


Желательная точность действительно +/- 1Гц. Возможно ли её при 10 000 Гц достичь? В вычислениях получается уж слишком большая погрешность.. О_о

Получается так... задающая частота 10 МГц... Через prescaler делю её на 1024, получается 9765,625 Гц - это частота с которой будет работать таймер. Далее мне нужно, например, чтобы он махал ногой с частотой 1 Гц. Т.е. я должен вычислить число, с которым будет сравниваться значение таймера и по совпадению инвертировать уровень на ноге. Как мне вычислить это значение?
Go to the top of the page
 
+Quote Post
swisst
сообщение Jan 22 2009, 07:52
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425



Цитата(neurox @ Jan 22 2009, 09:37) *
Желательная точность действительно +/- 1Гц. Возможно ли её при 10 000 Гц достичь? В вычислениях получается уж слишком большая погрешность.. О_о

Получается так... задающая частота 10 МГц... Через prescaler делю её на 1024, получается 9765,625 Гц - это частота с которой будет работать таймер. Далее мне нужно, например, чтобы он махал ногой с частотой 1 Гц. Т.е. я должен вычислить число, с которым будет сравниваться значение таймера и по совпадению инвертировать уровень на ноге. Как мне вычислить это значение?


точность будет зависить от того, что Вы можете показать на индикаторе. Я получал точность 0,005% для определенной сетки частот - круглые значения, если можно так выразиться.
Go to the top of the page
 
+Quote Post
neurox
сообщение Jan 22 2009, 08:14
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 30-06-08
Пользователь №: 38 638



Цитата(swisst @ Jan 22 2009, 15:52) *
точность будет зависить от того, что Вы можете показать на индикаторе. Я получал точность 0,005% для определенной сетки частот - круглые значения, если можно так выразиться.


примеры значений: 1hz, 283hz, 1000hz, 8582hz
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- neurox   генератор импульсов на ATmega16   Jan 21 2009, 08:39
|- - Палыч   Цитата(neurox @ Jan 22 2009, 10:37) Желат...   Jan 22 2009, 08:22
|- - mempfis_   ЦитатаПолучается так... задающая частота 10 МГц......   Jan 22 2009, 08:29
- - GDI   С 16 битным таймером вы получите только 151Гц макс...   Jan 21 2009, 09:56
|- - Палыч   Цитата(GDI @ Jan 21 2009, 12:56) С 16 бит...   Jan 21 2009, 11:04
- - muravei   Не подойдет? h__p://www.telesys.ru/electronics/pr...   Jan 21 2009, 10:44
- - GDI   С FastPWM попутал   Jan 21 2009, 11:52
|- - Палыч   Цитата(GDI @ Jan 21 2009, 14:52) С FastPW...   Jan 21 2009, 12:27
- - yarunt   Цитата(neurox @ Jan 21 2009, 12:39) Добро...   Jan 22 2009, 07:44
|- - neurox   Цитата(yarunt @ Jan 22 2009, 15:44) А фор...   Jan 22 2009, 08:12
- - mempfis_   В вашем случае надо использовать как уже сказали в...   Jan 22 2009, 08:12
- - neurox   memphis_, внутренний RC подойдет для этой цели? Т....   Jan 22 2009, 08:22
|- - Палыч   Цитата(neurox @ Jan 22 2009, 11:22) внутр...   Jan 22 2009, 08:44
- - neurox   Палыч, mempfis_ спасибо! сижу вникаю...   Jan 22 2009, 08:45
|- - Палыч   В продолжение к написанному выще Чтобы не нагружат...   Jan 22 2009, 09:57
- - GDI   Можно еще каскадно соединить 2 таймера. Т.е. один ...   Jan 22 2009, 11:01
|- - Палыч   Цитата(GDI @ Jan 22 2009, 14:01) таким об...   Jan 22 2009, 11:20
|- - MrYuran   Цитата(Палыч @ Jan 22 2009, 14:20) Если А...   Jan 22 2009, 12:47
|- - Палыч   Цитата(MrYuran @ Jan 22 2009, 15:47) А во...   Jan 22 2009, 12:55
- - Maik-vs   Здесь читали?   Jan 22 2009, 11:22
|- - Палыч   Цитата(Maik-vs @ Jan 22 2009, 14:22)...   Jan 22 2009, 11:33
- - GDI   ЦитатаНу, это Вы чего-то напутали... Если А - это ...   Jan 22 2009, 12:23
|- - Палыч   Цитата(GDI @ Jan 22 2009, 15:23) А подска...   Jan 22 2009, 12:41
- - GDI   ЦитатаА вот, попробуйте представить (записать) все...   Jan 22 2009, 13:25
- - Палыч   Цитата(GDI @ Jan 22 2009, 16:25) ... но э...   Jan 22 2009, 13:44


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

 


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


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