RSS  |  PDA

Это реклама. Ссылки открываются в новом окне.
Измерения

Измеритель RLC-2

1 | Стр. 9 | 692
ATLab
05.11.2008, 02:01

Подправить под 16 МГц эту программу можно только за счет уменьшения отсчетов SIN на период (размера таблицы).
Я не специалист по Atmel, но думаю, что простой прикидкой можно обойтись:
20 000 000 Гц / 200 (отсчетов) = 100 000
100 000 /10 000 = 10 - один отсчет SIN выводится за 10 циклов МК.
Очевидно это последовательность
f10000: nop
nop
f10001: lpm tmp,z+
out portb,tmp
out portd,r17 ;00
cpi zl,50
brne f10000
nop
что похоже на правду (кол-во циклов на команду при желании можно уточнить).
Здесь нет резерва времени, чтобы получить 200 отсчетов на период при 16 МГц.
Придется менять таблицу. Кстати, это все равно нужно делать по нескольким причинам:
1. если присмотреться к числам в таблице, видно что она начинает формировать SIN в 1 квадранте, при этом в районе
90 градусов числа практически не меняются - ...0x7B,0x7B,0x7C,0x7D,0x7D,0x7E,0x7E,0x7E,0x7F... - значит резерв для сокращения таблицы есть
2. Присмотримся ко второй половине таблицы, в частности к переходу через 0: ...0x07,0x03,0x00,0xFD,0xF9,...
похоже на использование чисел со знаком. Это не подходит к формированию SIN с помощью просто R-2R.

На PIC ситуация будет немного хуже, там команда выполняется минимум за 4 такта генератора, поэтому на период SIN получится еще меньше отсчетов, или нужно будет использовать 18F с умножением, а это теряет смысл.

# 
GO
05.11.2008, 03:27

GM: Вывод такой, вместо использования неидеальных СД с неидеальными сигналами лучше вычислять идеальное преобразование Фурье неидеального сигнала, тогда гармоники не будут играть никакой роли.
Следствие этого вывода - зачем возиться с генерацией синуса, подаем на Zx меандр, далее на АЦП и вся обработка на МК программно.

# 
dert18
05.11.2008, 04:13

GM: Вы такой знаток, я погляжу.
Извините но в таком тоне обсуждать тему не вижу смысла. Реализуйте свои идеи в железе.....

# 
AnSi
05.11.2008, 04:31

пересчёт,
в программе поправить размеры таблицы и места вставки квадратурных меандров

# 
(ZIP, 10 КБ)

AnSi
05.11.2008, 04:39

забыл край подвинуть

# 
(ZIP, 10 КБ)

dert18
05.11.2008, 04:45

GO: Следствие этого вывода - зачем возиться с генерацией синуса, подаем на Zx меандр, далее на АЦП и вся обработка на МК программно.
В принципе да,если иметь большую дискредитацию сигнала. Она нужна для точек перехода меадра. Малые емкости иначе не поймаем. На практике достаточно подать фигуру с плавными переходами(синус). как-то ошибся с табличей синуса и фигура была похожа на "речь" с множественными изломами.
Подключил конденсатор 10nF и прибор показал 10.4 nF.
Успехов!!

# 
ATLab
05.11.2008, 08:17

AnSi: в программе поправить размеры таблицы и места вставки квадратурных меандров
Места вставки меандров как раз трогать не нужно, нужно в командах
cpi zl,50
cpi zl,100
cpi zl,150
cpi zl,200
поменять на 40, 80, 120,160 соответственно.
И должно заработать на 16 МГц. Кто проверит? На каком-нибудь TINY2313?

# 
Wladimir_TS ◊
05.11.2008, 08:47

Выберусь из мед учереждения - испробую. Пока надо фильтр изобрести и все-ж требования к генератоьру получше сформулировать. DDS на 2313 с R2R ЦАПом делал до 30 кГц при 12 МГц тактовой все шло нормально с простейшим RC ФНЧ

# 
Wladimir_TS ◊
05.11.2008, 08:54

А если вместо прямоугольника формировать DDS синус R2R ЦАПом то может пассивного переключаемогоФНЧ и хватит. Каковы КНИ выходного сигнала в реальном приборе с МАХом ? И второе - а в кдючах, что ФНЧ переключают применить полевые транзисторы не удобнее-ли будет ?
------------R/mL6Cdk0FDq+brzjuoUzi
Content-Disposition: form-data; name="upload"; filename=""
Content-Type: application/octet-stream

------------R/mL6Cdk0FDq+brzjuoUzi--

# 
AnSi
05.11.2008, 09:06

напямую на вывод контроллера(конденсаторы фильтра)
попробовать можно и без комутатора - пока выходная частота одна, комутировать нечего
если будет нормально - сделать 3-4 частоты, комутацию фильтра
------
100кгц сделать заманчиво - электролиты проверять на "рабочей" частоте
------
МАХ по даташиту гармоники+шумы - менее 71дБ(0,03%)

# 
Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20 

Загруженные файлы