Перейти к содержанию

SDD39

Members
  • Постов

    994
  • Зарегистрирован

  • Посещение

Информация о SDD39

  • День рождения 20.09.1969

Информация

  • Пол
    Мужчина
  • Город
    Almaty

Электроника

  • Стаж в электронике
    Более 20 лет

Посетители профиля

5 809 просмотров профиля

Достижения SDD39

Знаток

Знаток (7/14)

  • 10 лет  на форуме
  • 10 постов на форуме
  • Пост-машина Редкий
  • Неделя на форуме
  • Месяц на форуме

Последние значки

155

Репутация

  1. На микросхеме YX8018 от садового фонарика можно сделать простой отбраковщик электролитических конденсаторов. На плохих конденсаторах белый светодиод светится слабее или совсем гаснет. На хороших загорается сильнее. Если конденсатор пробит , то светодиод так же гаснет. Порог срабатывания зависит от индуктивности между выводом 1 микросхемы и выводом проверяемого конденсатора . Т.е. Конденсатору Сх1 надо иметь меньшее внутреннее сопротивление чем Сх2 , для того , чтобы светодиод с ним горел ярче , а не слабее. Посмотреть можно здесь
  2. Исполнение красивое. Но как синус получается без контурного конденсатора? И R7 при верхнем положении движка , через L1 , закоротит питание.
  3. Я такой на одном транзисторе в мастерскую сделал. В случае чего сгорает только резистор на 10 Ом . Менял его уже не меньше десятка раз.
  4. Электронная кнопка с функцией защиты . Если Ri не ставить , то отключает нагрузку более 20 Ватт. Срабатывает на превышение среднего тока. Реле на 12 вольт 125 миллиВат т.е. обмотка реле с сопротивлением около киллоома.
  5. После того , как я просчитал и написал программу на Си , для оптимального энергетического режима такого усилителя , решил всё таки собрать такой УНЧ хотя бы на картонке. То , что получилось можно посмотреть на моём канале. Пиковая выходная синусоидальная мощность около 1 Ватта. Что не плохо для макетки , учитывая крайне низкий КПД таких усилителей , менее 10% .
  6. Гипотетически, после хороших ударов током , и лет 50 комы , на свет может явиться великий учёный , и изобрести машину времени , или вечный двигатель, а вы пытаетесь этому помешать.
  7. @KomSoft Лучше с 4 вывода оптрона . Там напряжение изменяется от 9 Вольт до 3.3 Вольт. А ток резистора R1 меняется почти от нуля , до почти 6 мА.
  8. Электронная кнопка на одном оптроне. При токе более 4 мА оптрон , согласно характеристике , начинает усиливать ток. Это позволило собрать на его основе простой триггер , управляемый одной кнопкой.
  9. Для улучшения линейности полевика делается обратная связь из резистора со стока на затвор , а смещение на затвор подаётся через резистор с таким же сопротивлением. Но и сам усилитель должен симметрично усиливать обе полуволны. Тут даже важнее , чтоб усиление падало для обоих полуволн . Иначе стабилизация амплитуды становится весьма не устойчивой. Т.к. в ОУ второй каскад обычно выполнен по схеме с ОЭ , то данное условие практически не выполнимо .
  10. @ГОГА рижский КПЕ надо в экранированный корпус посадить. С ним он образует небольшую дополнительную ёмкость параллельную С2 . Надо такую же параллельную ёмкость в виде подстроечного конденсатора посадить параллельно С1 и отбалансировать мост на максимальной частоте. Я тоже начал собирать себе генератор на КПЕ ещё в прошлом году. Подкупает главным образом сбалансированность секций по ёмкости. Доступность кпе и их неубиваемость от постоянного вращения , в отличии от сдвоенных резисторов. Разработал схему на транзисторах . Даже печатку собрал, настроил и запустил. Он у меня дал стабильную амплитуду до 5 Мегагерц. Но потом забросил. Так и лежит . ,
  11. Спасибо за совет . Но в следущей строчке sinus = ZER * sinus + ZER; , я вроде тоже самое делаю - добавляю смещение. И похоже , я уже понял в чём причина - старший бит ... инвертированный . Изменил строчку вот так in = ((unsigned int)sinus)^32768 ; и синус пошёл нормально , в полном диапазоне 16 бит. А размах стал около 2.5 Вольт.
  12. Здравствуйте друзья. Изучаю программирование на Ардуино и пытаюсь подключить к нему различные микросхемки , которые попадают мне под руку. Вот и попалась мне ЦАП РТ8211 . Дешёвая микросхема , которую я снял с поломоного спутникового ресивера. Протокол работы с ней оказался не сложный по этому посидев несколько часов я написал програмку работы с ней. Принимает она по 16 бит на вывод DIN для двух каналов . Всего 32 бита получается. По переходу с 0 на 1 вывода BCK каждый бит прописывается в ячейках цап . Битов можно передавать и больше , но останутся только последние 16 , по переходу вывода WC. Изменение состояния этого вывода с 0 на 1 сохраняет в цап последние 16 битов для правого канала , а обратный для левого. Но с использованием старшего бита MSB связана какая то загадка . Вот пример какая синусоида получилась здесь http://arduino.ru/forum/obshchii/pt8211. У меня так же получилась нормальная пила и странная синусоида. Тогда я не стал использовать значения , затрагивающие старший бит , и синусоида вышла нормальная. С прямым вычислением синуса частота получилась 298 Герц. Не много конечно , но без вычислений синуса с пилой , частота на пине WS около 20 килогерц. Синусоида получилась размахом около 1.2 Вольт. // программа работы с ЦАП РТ8211 пины 1 - BCK , 2 - WS , 3 - DIN , 4 - GND , 5 - +5V , 6 - Left Out , 7 - nc , 8 - Rite Out #define Port PORTB // оределяем рабочий порт // определим назначение пинов этого порта // для ардуино #define BCK 8 // to pin 1 тактовый сигнал #define WS 9 // to pin 2 0 - правый канал , 1- левый канал #define DIN 10 // to pin 3 16 бит данных // для соответствующих пинов порта #define PORT_BCK B001 // тактовый сигнал #define PORT_WS B010 // 0 - правый канал , 1- левый канал #define PORT_DIN B100 // 16 бит данных #define Dt 5 // полупериод в мкс для BCK #define MAX 32768.0 //65535.0 используем меньшие значения не затрагивая старший 16 бит #define ZER 16384.0 //32768.0 #define pi_pi 6.2831853 #define st 0.340261 //volatile byte w =1 ; // micros() // возвращает количество микросекунд разрешение 4 микросекунды void setup() { // put your setup code here, to run once: pinMode ( BCK , 1 ); pinMode ( WS , 1 ); pinMode ( DIN , 1 ); pinMode ( 13 , 1 ) ; noInterrupts(); } void loop() { // put your main code here, to run repeatedly: unsigned int in , tt ; float r_ad ; double sinus ; boolean f = 0 ; for ( r_ad = 0 ; r_ad <= pi_pi ; r_ad += st) { // будем линейно увеличивать данные для ЦАП //tt = micros(); //while ( micros()-tt < 20); //digitalWrite(13, f); sinus = sin(r_ad); sinus = ZER * sinus + ZER; in = (unsigned int)sinus; BUS_Send (in) ; // отправим данные в ЦАП f = !f ; // моргаем 13 пином //interrupts(); } } void BUS_Send ( word Data_In ) { // volatile byte i ; byte Bus_Out , i = 0 ; word temp , sdvig = 32768 ; unsigned long Timer ; boolean D = 1 , flag = 1 ; Bus_Out = Port & ~(PORT_BCK + PORT_WS + PORT_DIN) ; //сбрасвываем линии while ( i <= 31 ) { //Передаём 16 бит в правый канал 31 и 16 нулей в левый if ( flag ) { // флаг правого левого канала //Bus_Out = Port & ~PORT_DIN ; if ( Data_In & sdvig ) { // определяем что передаём DIN , 0 или 1 Bus_Out |= PORT_DIN; // PORT_DIN * D ; // Выводим DIN } else Bus_Out &= ~PORT_DIN; sdvig >>= 1 ; // сдвигаем позицию следущего бита из Data_In } else Bus_Out &= ~PORT_DIN ; Port = Bus_Out ; //на этом моменте BCK = 0 , DIN установлен // sdvig >>= 1 ; // сдвигаем позицию следущего бита из Data_In Bus_Out |= PORT_BCK ; // подготавливаем переход BCK c 0 на 1 Port = Bus_Out ; // фиксируем бит DIN переходом BCK c 0 на 1 Bus_Out = (Bus_Out & ~PORT_BCK); // подготавливаем переход BCK с 1 на 0 if ( i == 15 ) { // формирование нулей для левого канала Bus_Out |= PORT_WS ;// подготовка строба записи правого канала WS flag = 0 ; } i++; Port = Bus_Out ; } Port = Port & ~PORT_WS; // строб записи левого канала WS } PT8211.rar
  13. @Demonrostov Спасибо за ответ. Нет , телевизор я собирать не собираюсь.)) Наоборот . эту платку взял на работе после разборки уже ненужного телевизора и просто экспериментирую . Для меня важнее правильно ли я пишу код для ардуино , т.к делаю только первые шаги в изучении.
×
×
  • Создать...