12.06.2009, 21:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от AVL
|
Ибо с ноги проца выходит меандр почти полностью прижат к плюсу 5 Вольт. Соответственно транзистор почти не закрывается и ИК диоды постоянкой запитаны
|
Интересно... как это у вас вывод цифровой ноги не опускается ниже 0,65-0,7В (порого открывания транзистора биполярного) может вы ногу убили?... или подпёрли чем то к +5В ?
|
|
|
|
13.06.2009, 11:46
|
|
Временная регистрация
Регистрация: 12.06.2006
Адрес: Україна
Сообщений: 95
Сказал спасибо: 19
Сказали Спасибо 19 раз(а) в 9 сообщении(ях)
|
Значит так.
На малых частотах (порядка килогерца) амплитуда импульсов нормальная (порядка 5 Вольт).
На больших частотах генерация есть, но прижата к "1" или к "0", в зависимости от того, ставлю я програмно подтяжку ноги порта к "1" или нет. Если я ставлю подтяжку к "1" то транзистор, подключённый к процу через 1 кОм, практически не закрывается, если убираю подтяжку програмную, то транзистор практически не раскачивается. Я получаю на выходе ИК сигнал, но мощность его очень мала (радиус действия сигнала не превышает 6-7 метров (два паралельно включённых ИК диода с выравнивающими сопротивлениями в цепи каждого, по 40 Ом. Я могу поставить ещё один транзистор, для раскачки этого дела, но непонятнол почему вывод проца ведёт себя так странно, на больших частотах. Порт в процеи не выбит, я брал и новые чипы, да и амплитуда на низких частотах, повторюсь, нормальная.
Help!!!
|
|
|
|
13.06.2009, 13:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от AVL
|
Значит так. На малых частотах (порядка килогерца) амплитуда импульсов нормальная (порядка 5 Вольт). На больших частотах генерация есть, но прижата к "1" или к "0", в зависимости от того, ставлю я програмно подтяжку ноги порта к "1" или нет. Если я ставлю подтяжку к "1" то транзистор, подключённый к процу через 1 кОм, практически не закрывается, если убираю подтяжку програмную, то транзистор практически не раскачивается.
|
Значит так... быть такого не МОЖЕТ... вы представляете себе, что выходной ток у AVR=20ма а у PIC=25ма?.. Вы вот ответьте Какой же нагрузкой их нужно загрузить что бы наблюдалось то, что ввы пишете???..
скорее всего:
1) Вы уже убили ножку которую используете..
попробуйте перенесни на другую ножку или заменить МК.
2) Таки что то вы напутали с конфигурированием вывода, похоже стоит он у вас либо на вход, либо вы его не отключили от ADC. повнимательней разберитесь со своим кодом.
Сообщение от AVL
|
Я получаю на выходе ИК сигнал, но мощность его очень мала (радиус действия сигнала не превышает 6-7 метров (два паралельно включённых ИК диода с выравнивающими сопротивлениями в цепи каждого, по 40 Ом. Я могу поставить ещё один транзистор, для раскачки этого дела, но непонятнол почему вывод проца ведёт себя так странно, на больших частотах. Порт в процеи не выбит, я брал и новые чипы, да и амплитуда на низких частотах, повторюсь, нормальная.
Help!!!
|
Эти телодвижения не спасут отца русской димократии... что то в консерватории менять нужно...
|
|
|
|
14.06.2009, 23:57
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Вопрос по АЦП
Работаю с CodeVision.
Писал на сайт радиокота и просил помочь со следующим вопросом. Он заключается в следующем.
Был создан код с помощью визарда.
Код:
|
#include ‹mega48.h›
#include ‹delay.h›
#define ADC_VREF_TYPE 0x00
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
volatile unsigned int U;
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func6=Out Func5=Out Func4=Out Func3=Out Func2=In Func1=Out Func0=Out
// State6=0 State5=0 State4=0 State3=0 State2=T State1=0 State0=0
PORTC=0x00;
DDRC=0x7B;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2A output: Disconnected
// OC2B output: Disconnected
ASSR=0x00;
TCCR2A=0x00;
TCCR2B=0x00;
TCNT2=0x00;
OCR2A=0x00;
OCR2B=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
// Interrupt on any change on pins PCINT8-14: Off
// Interrupt on any change on pins PCINT16-23: Off
EICRA=0x00;
EIMSK=0x00;
PCICR=0x00;
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=0x00;
// Timer/Counter 2 Interrupt(s) initialization
TIMSK2=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
ADCSRB=0x00;
// ADC initialization
// ADC Clock frequency: 128.000 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: None
// Digital input buffers on ADC0: On, ADC1: On, ADC2: Off, ADC3: On
// ADC4: On, ADC5: On
DIDR0=0x04;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x85;
while (1)
{
// Place your code here
U=read_adc(2);
delay_ms(250);
};
} |
По теории ADC= Vin*1024/Vref. И если ADC больше Vin, то ADC будет равно 1024-1 до тех пор, пока Vin не станет меньше Vref. Так вот, какое бы я напряжение не ставил на ножку Vref (то ли это 100В, то ли 1В), вышеуказанная формула не работает. Т.е., Vref как бы и не при делах (напряжение на этой ножке абсолютно не влияет ни на что!!!). Что я делаю не правильно? Ответ был один - в протеусе возможно может не правильно ставиться опора +5В.
Во вложении схема в протеусе и cof-файл.
Заранее благодарен.
Прикрепленный файл: 962798.rar
|
|
|
|
15.06.2009, 00:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
|
|
|
|
15.06.2009, 00:33
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Спасибо.
Значит, все-таки ошибка протеуса. А жаль!!! Лучше бы моя.
|
|
|
|
15.06.2009, 23:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от hubble
|
Спасибо.
Значит, все-таки ошибка протеуса. А жаль!!! Лучше бы моя.
|
Я настолько не доверяю Протеусу...
Больше половины моих проектов (которы попробовал в Протеусе) работающих в железе не работают в Протеусе ) так что это имхо игрушка...
|
|
|
|
15.06.2009, 23:37
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от picavr
|
Я настолько не доверяю Протеусу...
Больше половины моих проектов (которы попробовал в Протеусе) работающих в железе не работают в Протеусе ) так что это имхо игрушка...
|
И чего прячешь , минимизируй проекты , выкладывай добавляй Тени головной боли...
Пусть из игрушки рабочий инструмент делает.
__________________
Осторожно , злой кот
|
|
|
|
16.06.2009, 00:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от dosikus
|
И чего прячешь , минимизируй проекты , выкладывай добавляй Тени головной боли... Пусть из игрушки рабочий инструмент делает.
|
А его уже выпустили?
|
|
|
|
18.06.2009, 18:53
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Сообщение от picavr
|
Я настолько не доверяю Протеусу...
Больше половины моих проектов (которы попробовал в Протеусе) работающих в железе не работают в Протеусе ) так что это имхо игрушка...
|
Скажу, исходя только из своего опыта. У меня ВСЕ проекты, которые делал в протеусе абсолютно также вели себя и в железе. Некоторые, как я считаю, были довольно серьезные. Опять же - это мой опыт. А протеус воспринимаю как ОЧЕНЬ удобного помощника (никак не претындующего заменить железо) для своих разработок.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:46.
|
|