|
Автоподстройка на скважности., На контроллере Тини-15. |
|
|
|
Oct 18 2007, 13:14
|
Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558

|
Ребята, подскажите? Делаю автоподстройку нуля. А опыта мало совсем. Сигнал автоподстройки берётся с фильтра на ОУ, а на сам фильтр идёт прямоугольный сигнал с переменной скважностью, частотой 120-200 гц. Скважность меняется во времени уменьшаясь или увеличиваясь, в зависимости от состояния компаратора, который подключен к выходу усилителя на ОУ ( Ку-30), а на вход подается сигнал автоподстройки с фильтра, подмешанный к некоторому входному сигналу. Когда на выходе "0", сигнал близок к меандру. И т.д... Как бы покрасивее всё это оформить програмно? Контроллер Тини-15, ИАР отказался с ним на СИ работать, придётся наверное Асм поднимать. Поделитесь пожалуйста кто что думает? Спасибо.
|
|
|
|
|
 |
Ответов
|
Nov 16 2007, 18:38
|
Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558

|
Ребята, посмотрите пожалуйста код? Не работает как положено. Вобщем хорошо скважность меняется, но доходит до определённых мест и останавливается на 0,5 секунды, потом скачет вперёд, потом опять идёт плавно. Вот эти скачки то мне не к чему как раз. Весь смысл такой подстройки теряется. Наверное это происходит когда в регистр сравнения заносится число близкое к максимальному. Как бы от этого избавиться? Код #include <iotiny13.h> #include <intrinsics.h>
__eeprom unsigned char raz @ 0x02; unsigned char adc, freq; unsigned int skw;
void pausa (unsigned int p) { while (p) { p --; } }
void main() { raz ++; if (raz > 0x14) { while(1) {} } /* CPU INIT */ DDRB = 0x06; PORTB_Bit0 = 1; ADMUX = 0x22; //ADLAR. PINB_Bit4 ADCSRA = 0xE5; // adc_on, neprerivno, clock/64, adc_start OCR0A= 0x80;// TIMSK0=0x06;// COMP0A, OVF0 TCCR0B=0x01;// Start clock CK/1 __enable_interrupt();
while(1) { } }
#pragma vector=TIM0_COMPA_vect __interrupt void MyInterrupt (void) { if (freq == (skw >> 8)) { PORTB_Bit1 = 0; skw ++; OCR0A = skw; } }
#pragma vector=TIM0_OVF_vect __interrupt void MyInterrupt2 (void) { freq++; if (freq >= 0x80) { freq = 0; PORTB_Bit1 = 1; } }
|
|
|
|
|
Nov 18 2007, 13:47
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170

|
Коляй, это ваш сайт kolyay.narod.ru ? Если интересно - гляньте мой сайт metadec.narod.ruТам пара приборов, многочастотных. В каждом задействованы все аппаратные ШИМы, есть 4 вспомогательных программных по 5 бит и два 10 битных для баланса. Вы уверены, что Вам хватит Тиньки? Лучше сразу заложитесь полнее - Мега нынче копейки стоит... "Изюминка" этих приборов в том, что работают они с любыми датчиками, сбалансированными как угодно :-)- при изготовлении достаточно получить вых.напряжение в пределах 500мВ и любой фазовый сдвиг. Если же применен датчик с единственной обмоткой - даже этого не надо. Еще можно мгновенно менять датчики, работающие на чатотах от 2 до 20кГц. Ну, остальное на сайте... Удачи Блин, хотел смайлик вставить - не получилось... Видно, сложное это дело.
Сообщение отредактировал IGK - Nov 18 2007, 13:50
|
|
|
|
Сообщений в этой теме
Коляй Автоподстройка на скважности. Oct 18 2007, 13:14 Dog Pawlowa Цитата(Коляй @ Oct 18 2007, 16:14) Подели... Oct 18 2007, 16:43 Коляй Цитата(Dog Pawlowa @ Oct 18 2007, 20:43) ... Oct 18 2007, 18:46  Dog Pawlowa Цитата(Коляй @ Oct 18 2007, 21:46) ...
И... Oct 19 2007, 07:20 sseett > Контроллер Тини-15, ИАР отказался с ним на СИ... Oct 19 2007, 07:28 WHALE мона и на тини13,она дешевше. Oct 19 2007, 07:50 add Цитата(Коляй @ Oct 18 2007, 17:14) Ребята... Oct 19 2007, 08:13 Коляй Спасибо. Немного не так спросил. Необходимо наобор... Oct 19 2007, 09:44  Maik-vs Цитата(Коляй @ Oct 19 2007, 13:44) Спасиб... Oct 19 2007, 10:00   Коляй Цитата(Maik-vs @ Oct 19 2007, 14:00)... Oct 19 2007, 13:25    Коляй Таймерами пользовался, в ШИМ не хотелось лезть. А ... Oct 20 2007, 07:10 Коляй Чего боялся на то и напоролся. Оказывается мало 8 ... Oct 21 2007, 05:05 Maik-vs Цитата(Коляй @ Oct 21 2007, 09:05) Чего б... Oct 22 2007, 13:08  Коляй Ребята, посмотрите вы пожалуйста код? Проклятый Пр... Oct 30 2007, 19:11   Maik-vs Цитата(Коляй @ Oct 30 2007, 23:11) Ребята... Oct 31 2007, 08:35    Коляй Цитата(Maik-vs @ Oct 31 2007, 11:35)... Oct 31 2007, 10:22     Коляй Всё, хватит! Кончилось терпение! Поеду 13-... Nov 3 2007, 20:26      Коляй Цитата(Коляй @ Nov 3 2007, 23:26) Хотелос... Nov 5 2007, 10:44       mdmitry Цитата(Коляй @ Nov 5 2007, 13:44) Вопрос ... Nov 5 2007, 12:07 mdmitry Может радикально пересмотреть ситуацию и выбрать д... Oct 21 2007, 12:31 Коляй Цитата(mdmitry @ Oct 21 2007, 16:31) Може... Oct 21 2007, 18:52  =GM= Цитата(Коляй @ Oct 21 2007, 18:52) В нали... Oct 21 2007, 19:49    IGK Цитата(Коляй @ Nov 18 2007, 19:18) Пробле... Nov 19 2007, 06:09     Коляй Так и не удалось добиться нормальной работы програ... Dec 2 2007, 14:08 Коляй Упс, ошибочка. Не R*15, a R*(2^15) Dec 4 2007, 14:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|