Jump to content

Search the Community

Showing results for tags 'АЦП'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
    • Competition 2019
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube
  • Радиолюбительская доска объявлений exDIY's Надежность и группы продавцов

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 59 results

  1. Скажите пожалуйста, кто нибудь работал с АЦП AD9200 или AD9280(они с одинаковыми выводами, но с разным разрешением). Ато вот подключил к LPT(как тут ) по схеме из датащита, а он мне всякую каку выдаёт, шум не зависящй от состояния входа. Посоветуйте что попробовать, и что проверить. Заранее спасибо. Схема из датащита:
  2. Подскажите, кто в курсе: На какой максимальной частоте сейчас могут работать 10-12 разрядные АЦП? Знаю, что на 200-250 МГц могут, а быстрее? Существуют ли вообще АЦП с частотой порядка 1-2 ГГц и какая у них максимальная разрядность?
  3. Всем доброго времени суток! Сразу к делу. Есть схема для подключения АЦП AD7706 к Arduino и есть пара вопросов пл ней. На схеме есть пара элементов ADR1581 можно ли как-то без них обойтись?
  4. Я чайник.Но помощь Ваша очень необходима. Необходимо создать любую схему чтобы датчиком был пьезодатчик,далее стоял усилитель и фильтр,далее ацп. не знаю как сделать.нашёл схему сигнализации автомобиля.куда можно поставить АЦП? что такое ОП, как выбрать частоту пьезодатчика. http://nauchebe.net/2011/03/datchiki-kolebanij-dlya-oxrannoj-signalizacii/
  5. Столкнулся с тем, что при использовании встроенного Uref (2.56 вольта) АЦП завирает где-то на 12-13% в меньшую сторону (т.е. как буд-то Uref равно 2,75 вольта, а не 2,56). Попробовал в качестве референса AVCC: все нормально. ADMUX = 0b10000110; (т.е. Uref = 2,56В отключен от ножки). Никто ни с чем подобным не сталкивался? Спасибо заранее!
  6. Пардон, разобрался! Видимо, надо было считывать сначала ADCL, затем ADCH (причем именно в такой последовательности). Вот код (извиняюсь, что там много "лишнего", просто мало ли что на что косвенно или прямо влияет): #include <tiny26.h> #include <delay.h> #define setb_EORLOCK {PORTA.1=0;DDRA.1=1;} #define clrb_EORLOCK {DDRA.1=0;PORTA.1=1;} #define setb_START {PORTA.2=1;} #define clrb_START {PORTA.2=0;} #define setb_STOP {PORTA.3=0;DDRA.3=1;} #define clrb_STOP {DDRA.3=0;PORTA.3=1;} #define EOF ( (PINA&1<<3)) #define setb_VP_NORMA {PORTA.4=0;DDRA.4=1;} #define clrb_VP_NORMA {DDRA.4=0;PORTA.4=0;} #define BUT1 (!(PINA&1<<4)) #define setb_SAVE {PORTA.5=0;DDRA.5=1;} #define clrb_SAVE {DDRA.5=0;PORTA.5=0;} #define BUT2 (!(PINA&1<<5)) #define BUT3 (!(PINA&1<<6)) #define VPIN_pin PINA.7 #define BUT4 (!(PINA&1<<7)) #define DAC_DIN PORTB.0 #define clrb_LED5 {PORTB.1=1;DDRB.1=1;} #define setb_LED5 {PORTB.1=0;DDRB.1=1;} #define DAC_SCLK PORTB.2 #define DAC_SYNC PORTB.3 #define setb_LED3 {PORTB.4=0;DDRB.4=1;} #define clrb_LED3 {PORTB.4=1;DDRB.4=1;} #define setb_LED2 {PORTB.5=0;DDRB.5=1;} #define clrb_LED2 {PORTB.5=1;DDRB.5=1;} #define BUTR (!(PINB&1<<6)) #define BUTL (!(PINB&1<<7)) #define setb_LED1 {PORTB.7=0;DDRB.7=1;} #define clrb_LED1 {PORTB.7=1;DDRB.7=1;} #define _RESET #asm("cli");while(1){} #define _LOCK #asm("cli");while(1){#asm("wdr")} #define setb_ADSC ADCSR|=(1<<6) volatile unsigned int vp = 0; volatile unsigned int msec = 0; volatile unsigned char led_inp_mode = 0; volatile unsigned char led_inp = 0; void main( void ) { unsigned long int i; int led=0; int led2=0; // Declare your local variables here DDRA = 0b00000100; PORTA = 0b00000100; DDRB = 0b00111101; PORTB = 0b00000000; TCCR0 = 0b00000000; TCNT0 = 0; PLLCSR = 0b00000000; TCCR1A = 0b00000000; TCCR1B = 0b00000110; TCNT1 = 0; OCR1A = 0; OCR1B = 0; OCR1C = 0; GIMSK = 0b00000000; TIMSK = 0b00000100; MCUCR = 0b00000000; WDTCR=0b00001010; USICR = 0b00000000; ACSR = 0b10000000; ADMUX = 0b10000110; ADCSR = 0b11100111; #asm("sei"); while( msec<20 ) if( !EOF ) msec = 0; #asm("cli"); setb_STOP; setb_EORLOCK; delay_us( 10 ); clrb_STOP; for( i=0; i<8; i++ ) { delay_us( 330 ); setb_START; delay_us( 1 ); clrb_START; } clrb_EORLOCK; while (1) { #asm("wdr"); delay_us( 1000 ); msec++; if( msec >= ADCL ) {led = 1-led; msec = 0;} if( led ) setb_SAVE else clrb_SAVE; } } Никак не добьюсь зависимости частоты мигания от напряжения на ножке 11 (PORTA.7). При этом АЦП, вроде запускается и ADSC сбрасывается как пологается... 100 раз уже перепроверил мультиплексор, режим работы и пр. Попробовал и фри-ран и однократный режим. Все одно: частота не меняется. И похоже из ADCL считывается всегда 0. Может я что-то пропустил?
  7. Здравствуйтк местные жители! у меня вот такой вопрос, требуется наведение в нужное направление! мне необходимо оцифровать сигнал с частотой 1ГГЦ. Пытаюсь подобрать АЦП, по критерию найквиста выбираю в два раза больше частоты вх.сиг, т.е. частота АЦП=2ГГЦ, это первый параметр при выборе....так? далее как я понимаю, необходимо определиться с динамическим диапазоном, это 6*n, n-кол-во разрядов, получим велечину в дБ...так?....подскажите какие еще нужно учесть параметры? или может еще требуется какая нибудь информация по входному сигналу?
  8. Как опросить 2 канала ацп котроллера, пример кода для одного канала АЦП как второй канал задействовать, третий и т.п. ? помогите кто чем может, давно уже ищю всю както не конкретно и не понятно, в гугль не отсылать был я там // Использование АЦП. Цифровой вольтметр 02. 03.#include <avr/io.h> 04.#include <avr/interrupt.h> 05.#include <util/delay.h> 06. 07.//------------------0-----1-----2-----3-----4-----5-----6-----7-----8------9----dp 08.char SEGMENTE[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x80}; 09. 10.volatile unsigned char segcounter = 0; 11.volatile int display = 0; 12. 13.// Прерывание по переполнению T2, динамическая индикация 14.ISR (TIMER2_OVF_vect) 15.{ 16.PORTD = 0xFF; 17.PORTB = (1 << segcounter); 18. 19.switch (segcounter) 20.{ 21.case 0: 22.PORTD = ~(SEGMENTE[display % 10000 / 1000]); 23.break; 24.case 1: 25.PORTD = ~((SEGMENTE[display % 1000 / 100])|0x80); // добавляем десятичную точку 26.break; 27.case 2: 28.PORTD = ~(SEGMENTE[display % 100 / 10]); 29.break; 30.} 31.if ((segcounter++) > 2) segcounter = 0; 32.} 33. 34.volatile unsigned long value; 35.volatile unsigned int adc_counter; 36. 37.// Прерывание по окончанию преобразования АЦП 38.ISR (ADC_vect) 39.{ 40.value = value + (ADC*11/4); 41.adc_counter++; 42.} 43. 44.// Главная функция 45.int main (void) 46.{ 47.DDRD = 0xFF; 48.DDRB = (1 << PB0)|(1 << PB1)|(1 << PB2)|(1 << PB3); 49.PORTD = 0x00; 50.PORTB = 0x00; 51.DDRC = 0x00; 52. 53.TIMSK |= (1 << TOIE2); // разрешение прерывания по таймеру2 54.TCCR2 |= (1 << CS21); //предделитель на 8 55. 56.ADCSRA = (1 << ADEN) // разрешение АЦП 57.|(1 << ADSC) // запуск преобразования 58.|(1 << ADFR) // непрерывный режим работы АЦП 59.|(1 << ADPS2)|(1 << ADPS1)|(0 << ADPS0) // предделитель на 64 (частота АЦП 125kHz) 60.|(1 << ADIE); // разрешение прерывания 61. 62.ADMUX = (1 << REFS1)|(1 << REFS0) // внутренний ИОН 2,56V 63.|(0 << MUX3)|(0 << MUX2)|(0 << MUX1)|(0 << MUX0); // вход ADC0 64. 65._delay_ms(50); 66. 67.sei(); //глобально разрешаем прерывания 68. 69.while(1) 70.{ 71.if (adc_counter > 300) // вычисляем среднее значение АЦП 72.{ 73.display = value/adc_counter; 74.adc_counter = 0; 75.value = 0; 76.} 77._delay_ms(50); 78.} 79.}
  9. Доброго времени суток! Есть необходимость измерять потенциал между двумя точками. Значения могут быть как положительные так и отрицательные. В даташите на ATMega2560 сказано, что у ADC есть режим дифференциальной работы, когда для измерения используется не земля и один из А-пинов, а два аналоговых канала. Как в Ардуино включить такой режим работы аналоговых входов? Или для измерений стоит использовать отдельный датчик?
×
×
  • Create New...