Генератор импульсов на AVR (подскажите как сделать)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

Насколько понял, речь идет о составлении самой таблицы. Синус, как известно, имеет значение от 0 до 1. Военное время в расчет не берем. От 0 до -1 то же самое, т.к. симметрично значениям от 0 до 1. Теперь задаемся количеством дискрет. Не знаю как автору, ну предположим будет 256, красиво так залазит в память. Итого - 90 градусов, 256 дискрет. Соответственно каждое измерение будет 90/256 градусов. Теперь составляем таблицу:
0*90/256. Первое значение Ложим в таблицу по адресу 0х00.
1*90/256. По адресу 0х01.
2*90/256. По адресу 0х02.
......
255*90/256. По адресу 0хFF.
Аллес. Как с этим работать написал ploop.
Docendo discimus
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение ploop »

Я как бы самый тупой способ описал.
Реально надо брать не 256 значений, а 128 (если на выходе 8 бит). Первую четверть выводим со смещением +127, вторую - зеркально первой со смещением, третью 127-(таблицу с конца) ну и так далее, можно просто четыре цикла сделать для вывода периода (или один похитрее).
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

Составлять таблицу можно как угодно. Вся суть табличного программирования в скорости. Как я думаю. И здесь применение различных смещений и перерасчетов уже сказывается на быстродействии. Чтобы свести к минимуму задержки работа должна быть на уровне считал-выплюнул. 256 взято, как понятно, для примера.
Docendo discimus
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение borys »

На эту тему есть есть готовые проекты и даже ходить далеко не надо. На этом же форуме, в
разделе ИЗМЕРЕНИЯ есть проекты Леонида Ивановича.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение ploop »

Вся суть табличного программирования в скорости.

Ну да. Вычислять тот же синус на каждой итерации нетривиальная задача для МК.
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

готовые проекты

Но ведь хочется своего, набитого собственными руками. :) Библиотеки не упоминать, наговорились уже.
Docendo discimus
Реклама
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение Aaantonnn15 »

Пользуюсь таблицей Брадиса.http://edu.glavsprav.ru/info/tablica-sinusov/.Там значения изменяются от 0 до 1(если брать угол до 90градусов)и от 1 до 0(если брать угол от 90 градусов до 180). Амплитудное значение мне нужно где-то 5В. Вот я беру и умножаю выход с микроконтроллера +5В на значения из этой таблицы. И получается другая таблица в ней плавное изменение напряжения от 0 до амплитудного +5В , а после от +5В до нуля. Вот я и не пойму, как теперь эту полученную таблицу перевести байты для вывода в порт. Как постройть саму таблицу из готовых байтов и как произвести ее чтения это я знаю. Дальше с алгоритмом тоже все понятно. Может я не той таблицей пользуюсь???Или есть формулы для перерасчета аналогового сигнала в цифровой.
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение Aaantonnn15 »

pyzhman, ploop респект и уважение!!!Все понятно!!! :)) Спасибо за разъяснение.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

Так похвастайся, что получилось.
Docendo discimus
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение borys »

Для pyzhman.
Вам никто и не запрещает делать свою программу. Но разве помешает посмотреть как это уже
сделано другими людьми?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

конечно никто. я к тому, что обычно тупо сдерут, тупо скомпонуют, а потом начинают недоумевать, мол не работает. еще и обхают автора. вот я о чем.
Docendo discimus
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение borys »

Для pyzhman.
Еще советую осмотреть здесь http://sevzirfo.narod.ru/sin.htm . Генератор несложный и работает
хорошо. Вместо AT90S2313 можно смело ставить ATtiny2313.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Генератор импульсов на AVR (подскажите как сделать)

Сообщение pyzhman »

2borys:
не вникаю в ваши советы, мне-то оно зачем?
Docendo discimus
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»