Покажите Пожалуйста Как К Мк Подключить Цап?

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Покажите пожалуйста как к мк подключить цап (DAC0800)?
Изображение
Изображение

Пытался собрать по даташиту (7 стр), но что-то он как-то не так работает.
https://www.national.com/ds/DA/DAC0800.pdf
Вложения
project.rar
(31.02 КБ) 303 скачивания
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

На ноге 3 нет отрицательного напряжения. У этого ЦАП токовый дифференциальный выход и подтягивающиe резисторы на + на выходах обязательны. Если хотите запитать схему от однополярного источника, см. AN1525
Реклама
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Ser60 писал(а):На ноге 3 нет отрицательного напряжения. У этого ЦАП токовый дифференциальный выход и подтягивающиe резисторы на + на выходах обязательны.[/url]
Так? Всеравно не хочет (

Изображение
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Резистор R4 и батарея подключены неправильно. Посмотрите ДШ, там типовая схема включения нарисована.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Вот эта?

Typical Application:
Изображение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Да, эта самая.
Реклама
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Так?

Изображение

Это я где-то накосячил или просто фильтр нужен(что такая осциллограмма получилась)?

Изображение
Вложения
project2.rar
(31.54 КБ) 281 скачивание
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

А не я просто перепутал старшие с младшими разрядами.
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

А этот косяк на синусоиде получается из-за того что я неправильно таблицу рассчитал, да?

Изображение

Считал по этой формуле:
Изображение
Где Nf - к-лич. точек; k - номер точки (Nf = 255, k = 1..255)
floor - округлить
Вот график в exel:

Изображение
Вложения
Мой расчет синусойды.rar
(23.79 КБ) 261 скачивание
Последний раз редактировалось astrgan Пт авг 24, 2012 05:59:47, всего редактировалось 1 раз.
Встал на лапы
Сообщения: 106
Зарегистрирован: Пн мар 26, 2012 05:25:06

Сообщение Совесть »

А если в формуле 128 заменить на 127?
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

Похоже на выбросы при переходе через половину шкалы.
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

А этот косяк на синусоиде получается из-за того что я неправильно таблицу рассчитал, да?
Проблема в 147-ой строке Вашей программы...

PS: Секретная разработка наверное, да ? :)
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Аlex писал(а): PS: Секретная разработка наверное, да ? :)
Да нет, вот код :) .

Код: Выделить всё

.include "m128def.inc"

.def zero = R7
.def accumulator_AL = R8
.def accumulator_AH = R9

.def accumulator_BL = R10
.def accumulator_BH = R11

.def accumulator_CL = R12
.def accumulator_CH = R13

.def index_frequency_L = R16
.def index_frequency_H = R17

.def conct_L = R1
.def conct_H = R2
	
	LDI R16,0b11111111
	OUT DDRA,R16
	OUT DDRB,R16
	OUT DDRC,R16
	CLR zero

	LDI R16,0xFF
	MOV conct_L,R16
	MOV conct_H,R16
	LDI R16,33
	MOV accumulator_BH,R16
	LDI R16,66
	MOV accumulator_CH,R16

	CLR R16
	LDI index_frequency_L,100
	LDI index_frequency_H,0b00000000


DDS_CYCLE:
;PHAZA_A:
	LDI ZL,low(MAS1<<1)
	LDI ZH,high(MAS1<<1)
	ADD ZL,accumulator_AH
	ADC ZH,zero
	LPM
	OUT PORTA,R0
	ADD accumulator_AL,index_frequency_L
	ADC accumulator_AH,index_frequency_H


;PHAZA_B:

	LDI ZL,low(MAS1<<1)
	LDI ZH,high(MAS1<<1)
	ADD ZL,accumulator_BH
	ADC ZH,zero
	LPM
	OUT PORTB,R0
	ADD accumulator_BL,index_frequency_L
	ADC accumulator_BH,index_frequency_H



;PHAZA_C:

	LDI ZL,low(MAS1<<1)
	LDI ZH,high(MAS1<<1)
	ADD ZL,accumulator_CH
	ADC ZH,zero
	LPM
	OUT PORTC,R0
	ADD accumulator_CL,index_frequency_L
	ADC accumulator_CH,index_frequency_H

	RJMP DDS_CYCLE


MAS1:
.db 131,	134,	137,	140, ... (массив, 255 элементов) 
Просто стыдно было его показывать. Пытаюсь сделать синусоиды со сдвигом 120 гр. методом "прямой цифровой синтез".
Вложения
DDS_3F.rar
Проект в avr studio
(6.97 КБ) 308 скачиваний
Последний раз редактировалось astrgan Чт авг 23, 2012 14:42:18, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

ИМХО элементов наверное должно быть 256... А сейчас 256-й элемент это незаполненный флеш, т.е. число 255, вот оно и дает пик когда "счетчики фаз" (accumulator_XY) на него попадают. Ну или надо проверять, чтобы за границы массива не выходить, но это в общем случае, когда элементов не 2^x.
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Engineer_Keen писал(а):ИМХО элементов наверное должно быть 256... А сейчас 256-й элемент это незаполненный флеш, т.е. число 255, вот оно и дает пик когда "счетчики фаз" (accumulator_XY) на него попадают.
Да, в нем была проблема.

Осталось только фазы подкорректировать.

Изображение
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

По-прежнему не вижу в схеме источника напряжения отрицательной полярности на ноге 3 ЦАП (в точке соединения C1 и C2).
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Сообщение astrgan »

Ser60 писал(а):По-прежнему не вижу в схеме источника напряжения отрицательной полярности на ноге 3 ЦАП (в точке соединения C1 и C2).
Так?

Изображение
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Вооооот, теперь правильно.
Ответить

Вернуться в «Периферия»