Получение ортогональных напряжений на attiny13

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 42
Зарегистрирован: Сб мар 09, 2013 17:56:05
Откуда: г. Волжский

Сообщение conditer »

Ребят, есть вращающийся трансформатор втм-1м, на него нужно подать 2 синуса 400гц, чтобы 1 опережала вторую на 90 градусов. Хочу сделать все это дело на attiny13. Поможете написать прошивку? и можно заместо синуса туда меандр подать? Заранее огромное спасибо.
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 42
Зарегистрирован: Сб мар 09, 2013 17:56:05
Откуда: г. Волжский

Сообщение conditer »

мне тут уже начеркали, но на практике, с второго канала получается какая то белеберда. Помогите найти ошибку в коде.
Вложения
Снимок.JPG
(163.65 КБ) 239 скачиваний
sine (1).asm
(7.26 КБ) 270 скачиваний
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

но на практике, с второго канала получается какая то белеберда
.. на практике нужно отслеживать выход за границы таблицы.....
Вымогатель припоя
Аватара пользователя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Сообщение zero648 »

conditer писал(а):мне тут уже начеркали, но на практике, с второго канала получается какая то белеберда. Помогите найти ошибку в коде.
А на выходе ШИМ какая нибудь обвязка есть?
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

Сообщение eufs »

Не надо вам синусоид.

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

	
	.equ phi0=xx
	.equ phi90=yy

	.def temp=r16

	sbi ddrX,xx		;устанавливаем порты на вывод
	sbi ddrY,yy

	ldi temp,$сс		;11001100	грузим последовательность

loop:
	sbrc temp,0		;в соответствии с битом 0
	sbi portY,phi90		;устанавливаем ножку порта phi90
	sbrs temp,0		
	cbi portY,phi90

	sbrc temp,1		;в соответствии с битом 1
	sbi portX,phi0		;устанавливаем ножку порта phi0
	sbrs temp,1		
	cbi portX,phi0

	ror temp		;сдвигаем последовательность

	rcall pause		;от этой паузы будет зависеть частота

	rjmp loop

P.S. Cинусоидой правильнее с точки зрения потребляемой мощности и помех. Если это важно - делайте на ШИМе.
C0FFEE=‭12648430‬
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 42
Зарегистрирован: Сб мар 09, 2013 17:56:05
Откуда: г. Волжский

Сообщение conditer »

спасибо всем, для меандра мне написали, просто я думал что только синус можно использовать.
Реклама
Ответить

Вернуться в «AVR»