Jump to content

Recommended Posts

Ну, если фильтруются отсчеты АЦП, а показания скачут, значит, ошибка в программе или схеме есть. Разумеется, при условии, что само измеряемое напряжение не пульсирует.

Share this post


Link to post
Share on other sites

странно что раньше работало и вот опять. теперь даже в протеусе не работает.

//задаем канал и получаем значение ацп
unsigned int ADC_read(unsigned char chanel)
{
	ADMUX&=0xF0;//обязательно обнуляем канал
	ADMUX|= chanel&0x0F;//задаем канал
	ADCSRA |= (1<<ADSC); // запуск преобразования
	while(0==(ADCSRA&(1<<ADIF))) continue;// ждем окончание преобразования АЦП
	//когда преобразование завершено ADIF устанавливается в 1 и мы его сбрасываем в 0
	return ADC;//получаем значение ацп
}
//вычисляем значение напряжения
unsigned int ADC_voltage(unsigned int value)
{
	static unsigned int ADC_value;//переменная суммы измерений
	static unsigned char count;//переменная суммы количества измерений
	ADC_value+=value;//складываем ADCW 64раза
	if (count==64)//если прошло 64 измерения
	{
		volt=(ADC_value*256L)>>16;//2,56 опорное 
		//сдвигая на >>16 получаем 8 бит 
		count=0;
		ADC_value=0;
	}
	else
	{
		count++;
	}
	return volt;
}

вот так вывожу на экран

lcd_gotoxy(0,0);
lcd_chisla(ADC_voltage(ADC_read(5)));

может кто увидит ошибку

Share this post


Link to post
Share on other sites
1 час назад, Дмитрий Вас сказал:

//когда преобразование завершено ADIF устанавливается в 1 и мы его сбрасываем в 0

А где же сам сброс?

Как-то сложновато выходит с ADIF:  у вас же есть ADSC, который сам падает по завершению, почему бы не делать так:

ADCSRA |= _BV(ADSC);
while(ADCSRA & _BV(ADSC));
// результат тот же, а писанины меньше и шансов ошибиться тоже меньше

И лично я фильтрую всегда скользящим средним - хоть расход памяти и больше, но и результат более прогнозируемый:

#define FILTR_DEPTH	32
  
int filtr(int data){
  static int buf[FILTR_DEPTH];
  static uint8_t pos;
  int16 result = 0;
  
  buf[pos++] = data;
  if(pos >= FILTR_DEPTH) pos = 0;
  
  for(uint8_t i=0; i<FILTR_DEPTH; i++)
    sum += buf[i];
  
  return sum / FILTR_DEPTH;
}

FILTR_DEPTH чем больше, тем сильнее фильтрация. Желательно выбирать значение равным степени 2: 4, 8, 16, 32 или 64, больше 64 смысла нет.

Кстати, функцию ADC_read можно ускорить: цикл ожидания завершения преобразования перенести в самое начало, а запускать преобразование в самом конце:

while(ADCSRA & _BV(ADSC)); // ждем завершения преобразования
int result = ADC; // запоминаем результат
ADCSRA |= _BV(ADSC); // запускаем преоразование
return result; // выдаем результат

Пока вы там будете выводить на ЖКИ, АЦП у вас будет делать замер, и к следующему обращению результат уже будет готов, ждать не придется.

Share this post


Link to post
Share on other sites

Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью

19 часов назад, ARV сказал:

у вас же есть ADSC,

внес изменения по вашему совету. спасибо. оказывается LC цепочки на AVCC не хватало. все работает

Share this post


Link to post
Share on other sites
                     

Контроль в спящем режиме: повышение КПД батарейного питания с помощью DC/DC MAX17225 nanoPower

В статье описан практический опыт разработчика, применившего повышающий DC/DC-преобразователь MAX17225. В результате ряда практических экспериментов, потребовавших существенного обновления технической базы компании-разработчика, автор убедительно доказывает преимущества выбранного компонента и схемотехнической реализации. Увеличенное на 50% время автономной работы лучше других аргументов говорит об эффективности конвертеров MAX17225, а также о важности предварительной оценки элементной базы.

Подробнее

1 час назад, Puk Puk сказал:

Как пользоваться знаю поиском

Судя по вопросу не знаете (потому собственно никто и не отозвался на ваш вопрос.), в инете полно инфы и жизнь тратить для этого не надо, для вас и остальных начинающих люди видео сняли, время свое потратили, здесь на форуме не один раз писали. Посмотрите Александр Писанец дальше уж ищите сами. Как говорится какое желание таков и результат....

Share this post


Link to post
Share on other sites

Реальное и посоветовали. Качаешь / покупаешь какую - нибудь книгу, типа "Микроконтроллёры AVR для чайников" и читаешь. Возникающие по ходу дела вопросы и непонятки спрашиваешь на форуме. Для этого они и созданы.
Ну а если времени нет читать, то лучше вообще заняться чем-то другим.
 

Share this post


Link to post
Share on other sites
15 часов назад, Puk Puk сказал:

Ладно и сам разберусь,без помощи мертвого форума

Я так и делал, читал и разбирался сам и не задавал вопросы с чего начать, потому что с чего начать учат в школе. А когда в чем то не смог сам разобраться обратился за помощью на форум, где мне и помогли, а теперь и я делюсь по возможности своим опытом. Но первое здесь это САМ. Если ты этого не умеешь, никто тебе не поможет! Даже "живой" по твоим меркам форум. 

Edited by Demonrostov

Share this post


Link to post
Share on other sites

Вопрос: скажем на некий порт подано опорное напряжение от внешнего источника, которое будет использоваться в задачах АЦП. Но этот же порт нужен еще и как порт ISP для заливки кода. Проблема конечно в случаях дефицита портов озвучена. Как это решается? 

Share this post


Link to post
Share on other sites
8 минут назад, dim3740 сказал:

на некий порт подано опорное напряжение ...АЦП ... Но этот же порт нужен еще и как порт ISP для заливки кода.

Назовите тип контроллера (ссылку на даташит), в котором эти функции совмещены на одном выводе.

Edited by Lexter

Share this post


Link to post
Share on other sites

Attyny13. Пин5. PB0 (MOSI/.... PCINT0). Режим компаратора требует на INT0 подавать опорное, причем мне нужно именно внешнее.

Да, нашел пару ссылок, что это проблема решается именно чз джамперы или переключатели. Я предполагал, что все решается поддтяжкой, активным нулем, (монтажным ИЛИ). Поэтому и проблематичен был только один порт, где уровень 1-2 вольта. На остальных предусмотрел лог 1 при прошивке. А это ничего оказывается не дает. 

Edited by dim3740

Share this post


Link to post
Share on other sites
35 минут назад, dim3740 сказал:

которое будет использоваться в задачах АЦП

 

35 минут назад, dim3740 сказал:

Но этот же порт нужен еще и как порт ISP для заливки кода

Вам заливать код нужно в момент измерения ADC?

Share this post


Link to post
Share on other sites
4 минуты назад, dim3740 сказал:

А как понять ваш вопрос?)

Я так понимаю, в момент заливки нужно будет просто убирать опорное напряжение. Поставьте джампер.

Share this post


Link to post
Share on other sites

Ясно, а также выдергивать шлейф программатора. Туда-сюда)))  Придется(((

Share this post


Link to post
Share on other sites

ну так в рабочем устройстве обычно программатор и не воткнут)) А на момент дебага можно сделать джампер или переключатель.

Берите мелкий переключатель, тумблер. Или просто 3 пина выводите и 1 джампер надевайте. Надели на левый и средний контакт - программатор, на правый и средний - опорное.

pereklyuchatel-dvizhkovyy-bokovoy.jpg

Хотя дебаг не будет очевидно работать) только прошивка, ибо для дебага вам же нужно опорное что бы было

Share this post


Link to post
Share on other sites

Сейчас и ищу переключатель. Но в идеале, нужно же все 4 ISO порта переключать. Это 2 положения и 4 пары переключающихся контактов. Редкая весчь))) Но тогда можно сделать минимал.отладочную плату, т.к. появляется много задач под 8 ножечный МК. В атмеги8 таких проблем не было)))

5 минут назад, DrobyshevAlex сказал:

 джампер надевайте. 

Точно! Спасибо! Только сразу "четверной" джампер, и ответная часть разъема с перемычками. Отлично!

Share this post


Link to post
Share on other sites
3 минуты назад, Дмитрий Вас сказал:

как так то?

Видимо потому, что остальные закорочены на землю...

Share this post


Link to post
Share on other sites
2 hours ago, dim3740 said:

на INT0 подавать опорное

Можно без джамперов, если подать опорное напряжение на ногу через резистор 10кОм, а ISP сигнал подать напрямую. Тогда опорное напряжение не будет мешать программированию. При работе шлейф ISP выдергивается, и опорное без проблем поступает на вход через резистор. 

Share this post


Link to post
Share on other sites

помогите понять.

When this bit is set, the Output Compare Registers RA, RB, SA, SB, the Output Matrix POM2 and the PSC Output Configuration PSOCn can be written without disturbing the PSC cycles. The update of the PSC internal registers will be done if the LOCK bit is released to zero.

Когда этот бит установлен, выход Сравнить Регистры RА, RB, SA, SB, выход матрицы POM2 и PSC выход конфигурации PSOCn может быть написано, не нарушая циклов PSC. Обновление внутренних регистров PSC будет сделано, если бит LOCK выпущен до нуля.

т.е. пишем если нажата кнопка if (PINB&(1<<5) то  (1<<LOCK) выставляем значения RA=..... RB=...... по завершении цикла (0<<LOCK) обновили регистры.

я правильно понял?

или если мы установим бит 1<<LOCK то в будущем сможем менять регистры RА, RB, SA, SB, без остановки PSC цикла?

Share this post


Link to post
Share on other sites
void PWM_ini(void)
{
	Start_pll_64_mega();
	Wait_pll_ready();
	//PSOC2 имеет возможность управлять мостом (четыре выхода)
	PSOC2|=(1<<POEN2D)//PSCOUT23 подключен к PSC2 
	     |(1<<POEN2B)//PSCOUT21 подключен к PSC2 
		 |(1<<POEN2C)//PSCOUT22 подключен к PSC2 
		 |(1<<POEN2A);//PSCOUT20 подключен к PSC2 
	PSOC2&=~(1<<POS23)//PSCOUT23 подключен к генератору В
		 |(1<<POS22);//PSCOUT22 подключен к генератору A
	//PSOC2&=~(1<<PSYNC2_0);PSOC2|=(1<<PSYNC2_1);//no synchronization signal
		
    PCNF2|=PSC_FOUR_RAMP//Four Ramp Mode
	     |(1<<PCLKSEL2)//выбираем CLK PLL дш. стр.162 таб.16-9
	     |OUTPUT_ACTIVE_LOW;//выходы закрыты
	
	PCTL2|=(1<<PBFM2)//ширина импульса будет меняться на On-Time 0 и On-Time 1.
		 |(1<< PAOC2B)//сигнал неисправности для генератора B действует на PSCOUT21 и  PSCOUT23
		 |(1<<PAOC2A);//сигнал неисправности для генератора A действует на PSCOUT20 и  PSCOUT22
	PCTL2|=(1<<PPRE20);PCTL2&=~(1<<PPRE21);//делитель CLK PLL на 4 дш. стр.162 таб.16-9
	PCTL2|=(1<<PRUN2);//запускаем PSC
	//генератор А
	//режим аварии 7 (остановка PSC и ожидание действия програмного обеспечения)
	PFRC2A|=(1<<PRFM2A0)|(1<<PRFM2A1)|(1<<PRFM2A2);PFRC2A&=~(1<<PRFM2A3);
	
	PFRC2A|=(1<<PFLTE2A)//шумоподавление в 4 цикла
	      |(1<<PELEV2A);//аварией будет появление 1 на выбраном канале
	
	//генератор В
	//режим аварии 7 (остановка PSC и ожидание действия програмного обеспечения)
	PFRC2B|=(1<<PRFM2B0)|(1<<PRFM2B1)|(1<<PRFM2B2);PFRC2B&=~(1<<PRFM2B3);
	
	PFRC2B|=(1<<PFLTE2B)//шумоподавление в 4 цикла
	      |(1<<PELEV2B);//аварией будет появление 1 на выбраном канале
	
	//PIM2|=(1<<PEOPE2);//когда этот бит установлен прерывание генерируется когда PSC 
	//достигает конца цикла (один цикл по сути это период)
	On_time=OCR2RA=OCR2RB=200;//ширина импульса
	OCR2SA=OCR2SB=50;//dead-time   
}

кто может глянуть что не так я сделал?

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Jesterary
      Здравствуйте. Подскажите, был ли у кого-то опыт отправки изображений с камеры (подключенной через UART или bluetooth-камеры) через GPRS (у меня модуль SIM800L, но в целом это не принципиально) на удаленный сервер? Средствами управляющего микроконтроллера, пусть даже ардуины какой-нибудь, но не малины. Возможно ли это вообще? Хотелось бы, конечно, использовать в проекте беспроводную камеру и общаться с ней, ибо камеры, подключаемые напрямую так себе качество дают. 
      Сразу скажу, что важна именно такая связь. Микроконтроллер + модуль связи + камера находятся в коробке и путешествуют по городу, в это время человек сидя дома на диване может смотреть фото с этой камеры. Смартфон для моих целей не подойдет, суть именно в микроконтроллере с модулями.
      Если у кого-то такое получалось - поделитесь, пожалуйста :)
      А то нахожусь в некоторой прострации и даже не знаю, в какую сторону думать.
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  • Сообщения

    • Здрасте. Ну что господа радиолюбители. Это снова я) Пришли детальки. Настало время финального губилова (шучу, модернизации конечно)) Радиотехники, которую мы на этом форуме препарировали вдоль и поперек. Тут хочу выложить мини отчет, ну и вероятно возникнут проблемы... и их надо будет устранять, с вашей помощью разумеется. Итак, поехали: Данная радиотехника была куплена за символическую сумму, после того как я погубил (реально погубил) Орбиту 101. Да, на ней я учился. Присутствовали типичные проблемы в виде подсохших емкостей, шороха и разбаланса в регуляторах. Все емкости быстренько заменил, регуляторы разобрал/прочистил/смазал, воткнул стабилитроны в блок тембров, подобрал им резисторы, увеличил резисторы в блоке индикации чтоб не кипятили, отключил плату входов от питания, для подачи сигнала подпаялся на универсальный вход до входа блока тембров (чтобы не выкидывать плату входов, но тем не менее сделать так чтобы она не вносила искажения в сигнал), на этом успокоился и все вроде работало и играло. Но это не наш метод, захотелось выжать из усилка максимум (не мощности, а качества звука). И в этом нам поможет уже легендарная статья о доработки Радиотехники от Николя Васильевича, которой я и буду руководствоваться.  Начнем с косметических проблем. У данного экземпляра была наполовину отломана кнопочка включения/выключения. Благо у меня была запасная от Орбиты 101.  Попутно меняя кнопку. Решил заменить сетевой кабель на "потолще". Это скорее фикция и вряд ли даст какой то эффект, но, просто захотелось заменить, пусть будет надежнее. Блок питания опять же решил использовать от Орбиты, ибо в нем и емкость поболее, и диодики "пошустрее". Также по совету Николая Васильевича, выпаиваем конденсаторы С1, С5 и С6 на 0.1мкф. Оказалось они провоцируют зззудение в колонках. (а ранее стояли мбм, это после я пленку поставил, хотя наилучший вариант от этих конденсаторов отказаться полностью). Все банки зашунтированы. В статье, по поводу доработки темброблока сказано, что на входе стоят переходные конденсаторы С1 и С2, которые ничего не разделяют. Коротим их перемычкой. Я долго сомневался по поводу этого решения, но потом дошло что разделение происходит еще на плате входов мбм конденсаторами С15 и С5 (если подпаиваться к универсальному входу). Мбм для этих целей - явно не лучший выбор. И емкость желательно увеличить в 3 раза. Поставил полипропиленовую пленку на 0.33мкф. Едем далее. Теперь блок тембров. По словам Николая Васильевича, нужно провести некую "операцию" с регулятором баланса. Ибо в варианте темброблока с одной микросхемой (У7101) он смешивает каналы, ухудшается разделение, особенно по ВЧ. Поэтому надо было кое-какие ножки вырезать, кое-какие соединить, долго рассказывать... в итоге вышло так. Конденсаторы С5 и С6 увеличены до 0,1мкФ. Не стал заморачиваться и поставил "зеленый" китайский лавсан. Также вычитал на просторах аудиоПхильских форумов, что неплохо бы поднять корректирующие емкости для ОУ Кд157уд2. У меня по умолчанию стояли на 6пф. Бытует мнение что надо увеличивать от 10 до 30. Поставил 20пф. И последнее по темброблоку. В статье есть 2 варианта доработки блока тембров. Один более глубокий, другой поверхностный. Я выбрал второй вариант, так как при выборе "глубокого" варианта доработки, нужно будет выкрутить все регуляторы тембров в единицу. А мне на душе более приятно когда все регулировки в среднем положении. И по словам Николая Васильевича, заводской вариант близок к линейной АЧХ. Надо лишь внести пару нюансов, а именно увеличить емкости С21 и С22 в 2-3 раза, я увеличил с 1.5мкф до 4.7мкф . Удалить R15 и R16 (однако указывается что это необязательно и строго по желанию). Я лично удалил, посмотрю. Вернуть можно всегда. Далее твик по тонкомпенсации: " увеличить коэффициент передачи УП и коэффициент усиления УМ, чтобы при регулировке громкости не потребовалось бы переходить через точку отвода для тонкомпенсации". Для этого увеличиваем R23 и R26 в УП до 4,7к и R18 в УНЧ-50-8 до 39к. Это увеличит чувствительность усилителя, и весь диапазон регулировки громкости умещается в первой половине регулятора. Далее самое ответственное. Доработка УНЧ-50-8. Компенсирующие конденсаторы C4, C5, C9, C10 - удаляются. Резисторы R20, R21 и транзисторы VT6, VT7 - тоже. R8, R15 - удаляются и закорачиваются перемычками. Резистор R10 заменяется на диод КД522Б. Однако именно его у меня не было, но был его аналог - 1N4148. Тут надо не спутать катод с анодом, так как у КД522Б на катоде - тонкие полоски, а у 1N4148 на катоде одна толстая полоса. В статье говориться что VT10 нужно заменить на КТ961А: "Для снижения нелинейных искажений раскачивающий транзистор VT10 должен быть высоковольтным, мощным и с большим коэффициентом усиления. КТ961А как раз соответствует этим требованиям". Вот уж не соглашусь... Это конечно моя отсебятина уже, но я посчитал целесообразным заменить VT10 на BD139. Между коллектором удалённого VT6 и бывшим эмиттером удалённого VT7 надо кидаем перемычку. И самая важный момент - врезать в коллектор VT2 резистор R42 сопротивлением 18к. "Введение этого резистора повышает устойчивость всего УМ и позволяет избавиться от компенсирующих конденсаторов С4,С5,С9,С10, а также резисторов R20,R21". Вот так вот. Резистор подпаял со стороны печати. Также надо заменить С3 на неполярный конденсатор емкостью 22мкФ. Я поставил неполярные от ELNA на 50в. Также я решил заменить все обвязочные транзисторы на импорт, в итоге КТ3107Б были заменены на BC556B (удобно, цоколевка совпадает), КТ961А на BD139 (цоколевка совпадает), КТ626В на BD140 (цоколевка совпадает, если развернуть зеркально). Оконечники трогать не стал. Также не стал трогать  КТ315, может заменю позже. И твик по питанию. Который позволяет запитать и предвыходники и выходники от одного разъема XP2. ОТ коллектора VT13 на контакт 3 XP2 и с коллектора VT14 на контакт 1 XP2 кидаем перемычки. И кидаем перемычку от земли (контакта 3) до контакта 2 разъема XP2.  Земля между XP1 и XP2 уже соединён по печати. Фууух. Всю ночь делал. Заколебался. Устал, спать хочу. Включать пока не буду, страшно:) Вдруг взорвется, а я никакущий. Пойду спать и со свежей головой уже подключим, предварительно просмотрев все на наличие соплей. О результатах напишу сюда.
    • @Musinskiy Это платы версии Лайт или ....?
    • Купите б.у. компьютерный БП. Там выходы по питанию + 12V, + 3,3V, +5V. И ток не детский. При этом цена, например у меня в городе от 600 руб. до 700 руб. Вот реально покупал для питания накала в ламповом унч: Один в 18г., другой недавно. Шуруповёрт на 12V крутит только в путь. И всего делов то сделать клеммы. Как включить без компьютера - если не знаете, на форуме подскажут.
    • Теперь и винты не по стандарту Витиному  
    • Мля... Опять накормил троллей... Вот что значит в палату давно санитары не заходили... Вадим, не опускайся до их уровня, они там в авторитете!
    • А не пошёл бы ты на хутор, быдло? Вечно жить собрался? Ты или упырь, или... нет, крыльев сзади не торчит. Значит, всё-таки упырь. В отличие от твоего карлика характерного, коричневого цвета (и запаха, видимо, соответствующего), моя звезда несла свет и согревала людей, давая им качество звука и надёжность аппаратов на уровне фирменной концертной аппаратуры.  Альтернативно одарённый и кастрюлеголовый в одном лице тут только один, и это - аффтар высера на скриншотах. О каком-таком стеклянном йухе ты можешь рассуждать, когда ты фирменные ОУ в руках не маял сроду, лупень? 
×
×
  • Create New...