• ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Похожие публикации

    • Автор: maxssau
      День добрый!
      Сегодня хотелось бы раcсказать о своей разработке - АЦП AD-01 на преобразователе от Cirrus Logic CS5381.
      Целью данной разработки было получение близких к даташитным параметрам характеристики АЦП, при этом плату имеющeю не высокую стоимость и универсальность.
      На данный момент это уже третья версия платы. Первая версия была сделана ЛУТом, для отработки схемотехники АЦП. Далее последовала вторая версия на заводских платах:

      Схемотехника была взята полностью из даташитов. Стандартное включение CS5381, стабилизаторы питания в цифровой части AMS1117-3.3, в аналоговой из серии TPS7A.
      Схемотехника входного буфера взята из даташита на OPA1632.
      После опробования данной платы, были выявлены некоторые недочеты и разработана третья версия версия:

       
      Входной буфер сделан для 2х вариантов: с конденсатором и без, для чего на ПП предусмотрены соответствующие площадки.

      Топология такого буфера позволяет без переделок проводить замеры/запись как балансного сигнала так и не балансного, достаточно вывод 3 посадить на землю (2). Это достаточно удобно, для различных типов сигнала достаточно иметь 2 пары кабелей с различной распайкой.
      Питание аналоговой части сделано на малошумящих стабилизатора TPS7A4901 и TPS7A3001.

      Питание цифровой части на 2х AMS1117-3.3В, схему нет смысла приводить, она из даташита на стабилизаторы.
      На плате всего 1 генератор на 512fs (24.576 Мгц). Такая частота выбрана не случайно, для работы SPDIF передатчика необходимо иметь частоту мастерклока не ниже 256fs для работы на частоте 96к, я использую передатчик на WM8805 (о этой плате чуть ниже). В качестве интерфейса на компьютере я использую ЗК E-MU 0404 PCIe.
      Полная схема преобразователя:

      На плате присутствует место под DIP переключатель, для настройки режимов работы АЦП. Выход АЦП - I2S, уровни 3.3В.
      Для соединения с компьютером была разработана плата SPDIF интерфейса SI-01.

      Схему приводить особого смысла нет, она повторяет даташитную для WM8805 включенным в HW режиме. В этом режиме есть определенные ограничения, связанные с работой PLL, поэтому максимальная частота приёма/передачи ограничена в 96к. WM8805 позволяет работать как в Master режиме, так и в Slave, что очень удобно. Выбор режима осуществляется установкой джампера. Так же на плате присутствуют джамперы выбора питания, от ЦАП или АЦП. В качестве выходного буфера для передатчика используется 1G125.
       
      Шумовая полка:

      В качестве источника питания пара трансформаторов с стабилизаторами 317/337, даже имея ёмкости в 10000 мкФ полностью подавть 50Гц и гармоники пока не удалось, возможно проблема в корпусе и компоновке.
      Замер моего ЦАПа на 4490, к сожалению не обошлось без земляных петель, поэтому присутствует шум на уровне -125дБ и ниже.

       
      Есть определенные особенности применения ИМС CS5381, скупо описанные в App Notes, позволяющие реализовать данную ИМС в двойном моно и теоретическим уровнем THD+N в -123дБ, что позволит производить оценку и замеры искажений у большинства современных ИМС ЦАП без режекторов.
      В проекте плата с 2мя генераторам на сетки частот 44.1 кГц и 48 кГц, АЦП включенным в моно режимах и DSP процессором ADAU1452.
      Подробную инструкцию с описание на текущую схемы и платы прикладываю.
      инструкция.pdf
    • Автор: forestdozor
      Здравствуйте!

      Мне нужно измерить длительность импульса. Для этого сначала применял внешнее прерывание, а теперь перешел на режим захвата таймера в Atmega 328.
      Однако сейчас происходит странное: Через определенное таймер просто останавливается. Гугл результатов не дает, ни у кого захват таймера 1 не останавливается.
      Подскажите пожалуйста, что делать?
      Среда разработки CodeVisionAVR v3.12. Сейчас попробовал версию 3.3, толку нет. Не работает. Код максимально упростил, но по прежнему толку ноль.
      Переполнение таймера 0 так же работает отлично, до тех пор, пока что-то не произойдет с прерыванием по захвату. Как только что-то произошло - мк останавливается...
      Может немножко подождать, и увеличить значение счетчика current_timp еще на пару значений... Совсем не знаю что делать.
       
       
      interrupt [TIM1_OVF] void timer1_ovf_isr(void)
      {
      TCNT1H = 0x00;
      TCNT1L = 0x00;
      }
      // Timer1 input capture interrupt service routine
      interrupt [TIM1_CAPT] void timer1_capt_isr(void)
      {
       
             TCNT1H = 0x00;
             TCNT1L = 0x00;           // Это уже уровень танцев с бубном "авось поможет" - не помогает.
         
              current_timp++;          // Все упрощено до максимума. Мне бы он хоть количество периодов для начала...
              
        //  }
      }
      // Прерывание по переполнению первого таймера
      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
      {
      // Обнуление счетного регистра.
      TCNT0=0x00;

          
          counter ++;
          if (counter > 10)
          {
                  lcd_clear();
                  sprintf(buffer,"%d us", current_timp);
                  lcd_gotoxy(0,0);
                  lcd_puts(buffer);
                  counter = 0;
          }
          
          
      }

      // Главный цикл программы
      void main(void)
      {

      #pragma optsize-
      CLKPR=(1<<CLKPCE);
      CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
      #ifdef _OPTIMIZE_SIZE_
      #pragma optsize+
      #endif

      // Port B initialization
      // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
      // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
      // Port C initialization
      // Function: Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
      DDRC=(0<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
      // State: Bit6=T Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
      PORTC=(0<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);
      // Port D initialization
      // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRD=(1<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
      // State: Bit7=1 Bit6=1 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTD=(1<<PORTD7) | (1<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
      // Делители таймера 0 рассчитаны таким образом , что его тактовая частота = 15,625 КГц. Расчет был на применение в схеме семисегментников, но с LCD индикатором будет информативнее.
      TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
      TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
      TCNT0=0x00;
      OCR0A=0x00;
      OCR0B=0x00;
       
      // Настройка таймера 1
      TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
      TCCR1B=(1<<ICNC1) | (1<<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;
      // Разрешение прерывания по переполнению таймера 0
      TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
      // Timer/Counter 1 Interrupt(s) initialization
      TIMSK1=(1<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);
    • Автор: getshket
      Продам ПУСТЫЕ печатные платы для гальваноразвязки под amanero для этого цапа.  Автор не я, проект тут.
      Цена 300 рублей.


    • Автор: getshket
      Продам ПУСТЫЕ платы для сборки цапа на AK4490. Автор плат не я, ссылка на проект. Размер ПП 100*67 мм. Цена одной платы 300 рублей. Территориально - Уфа. Отправлю почтой.
       
       


    • Автор: serglobo
      Продам заводские печатные платы предварительного усилителя (по схеме ПУ Натали) входная часть без темброблока под одиночные ОУ. Цена 100грн. Тел (Украина) 05О6751256 Сергей.

       
       
       
       
      Платы регулятора громкости с селектором каналов (8 каналов) на PGA2311 с возможность дистанционного управления. Цена комплекта из двух плат 200грн. Схему предоставляю, а также возможно програмирование микроконтролера.
       

       
       
      Плата ЦАПа на АК4490 для транспорта Аманеро. Управление софтовое, воспроизведение до 256ДСД. Цена 300грн. Все вопросы в личку или по телефону.
       

  • Сообщения

    • Ну правильно!...так и должно быть.... Вы-же длительность импульса не увеличивали?....вот у вас ток и не достиг нужного значения....естественно и магнитное поле "жидкое"....и отклик от металла в зоне действия катушки-ну вообще никакой....на уровне помех.....а если еще и полевик медленно закрывается-то и ОЭДС-а практически нет...выброс в 50-70 вольт,вряд-ли даст нужную "ступеньку" по которой можно отследить переотраженный импульс от металл. цели.   У меня то-же на стандартном пирате при снижении напряжения питания ниже 8,4 вольта чуйка резко падает(раза в полтора).....оптимальная-при питании от 10,5 до 12,3.....причем,в этом диапазоне напряжений-пират ведет себя крайне стабильно...чего не могу сказать от том-же "клон пи-дабл'ю".
    • Протянуть никак не получится. В этом то и загвоздка.
    • Это учту. А как насчёт разбиения на количество интервалов? В стандартных блоках управления в основном используются таблицы размером 16х16, 32х16, 32х32. По идее чем больше интервалов, тем точнее определение угла?
    • Теперь неси на мусорку, для развития и удовольствия что нибудь попроще ищи.
    • Закрываются все. Открываются по-разному.
    • Ничего не получится.Провёл эксперименты-оптимальное напряжение-12в.При меньшем снижаются импульсные токи в катушке и почти полностью упадёт чувствительность.Закон Ома рулит.Конечно можно намотать катушку проводом диаметром 3мм и таким же проводом подключить 3,7В акум и ключ на полевике,но такая катушка будет видеть только себя свою медь.
    • Гость Александр
      Вообщем,закончил корпус, спаял между собой все платы, думал сегодня закончу, но решил первый раз платы включить на столе, не вставляя в корпус. Все стартануло без проблем, кроме низа. Он не заработал. Прочитав посты на 36стр. этой ветки, пробовал поиграться с резисторами вокруг оптрона. Результата нет. Т.к. осцила нормального нет, достал из ящика мастеркитовское юсб-г. (bm8020). Но чтож, за неимением лучшего, хоть он и не откалиброван, и без шаманских хитростей не калибруется, кое как снял приблизительные замеры. На 5 ноге pic 12 импульсы с амплитудой от 2(нижнее значение) до 4.5 (верхнее) В. Причем с номиналом резистора от 80 до 200 К ничего не меняется (на 5 ноге).весь день Провозился без успеха. В итоге вечером заметил, что у меня вместо Moc3052 стоит 3062. Сравнив дш нашел отличие лишь в том, что у 3052 случайное переключение (?), А у 3062 при переходе через 0 (во блин открытие, а чё не все триаки при 0 закрываются?) Вообщем теперь не догоняю, дело в оптотриаке неправильном или куда-то ещё копать?