• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

Делаем цифровой осциллограф Via Arduino


 

Часто видел, что люди делают цифровые осциллографы. DSO должен иметь блок цифро аналогового преобразования. Схему преобразования можно разделить на два режима:

 

1. Специальный чип АЦП (однокристальный).

2. АЦП однокристальный с преобразователем.

 

Сделать цифровой осциллограф с помощью Arduino

 

С первой очень долго возиться. Вторая структура относительно проста, но имеет существенный недостаток, который, в узкой полосе частот, полоса пропускания осциллографа только 7.7KHz. STC однокристальный производства AVR, но фактическая пропускная способность составляет менее 10 кГц.

 

Код

 

Код

 

Поэтому я хотел бы попробовать и посмотреть есть ли хороший способ решить эту проблему. Основные параметры конечного продукта:

Диапазон воспроизводимых частот: 10 Гц-50 кГц

Напряжение питания: 5V

ЖК-экран: площадь дисплея 128x64 (ST7920)

Измерение: 96x64

Информационный дисплей: 32x64, отображает частоту тестового сигнала, Vpp, и больше синхронизации:

Передний фронт запускает скорость сканирования: 0.02ms / дел ~ 10мс / дел,

несущие девять 1-2-5 функцию удержания:

заморозка отображаемого сигнала и параметров

 

Arduino код

 

# Include //statement
U8GLIB_ST7920_128X64_4X u8g(13, 12, 11); Statement LCD SPI Com:SCK =13, MOSI = 12, CS = 11

int x,y; Painted point coordinates

int Buffer[128]; Cache storage array

void setup( ) { }

Sample

void sample( )

{

for(x = 0;x < 128;x++)

Buffer[x] = analogRead(A0); Signal sampling

for(x = 0;x < 128;x++)

Buffer[x] = 63-(Buffer[x]>>4); Calculate y values

}

Display

void draw( )

{

for(x = 0;x < 127;x++)

u8g.drawLine(x,Buffer[x],x,Buffer[x+1]); Draw two lines

u8g.drawLine(64,0,64,63); Draw the axes

u8g.drawLine(0,32,128,32);

For (x=0;x<128;x+=8)//draw the axis scale

u8g.drawLine(x,31,x,33);

for(x=0;x<64;x+=8)

u8g.drawLine(63,x,65,x);

u8g.drawFrame(0,0,128,64); Draw border

}

void loop( )

{

sample(); Sample

u8g.firstPage(); Clear screen

do draw( ); Display

while( u8g.nextPage( ));

}

 

Схема

 

схема

 

Основной список компонентов:

 

Основной список компонентов:

 

Arduino Pro Mini 1

LCD12864 LCD (ST7920) 1

электролитические конденсаторы (100 μ 25V) 1

потенциометр (50k) 1

отверстие пластины 3

Выключатель питания 1

батарейный картридж 2

кнопка включения (с аккумулятором, 7) 1

 

Подключение и монтаж

 

Подключение и монтаж

 

Загрузка и тест

 

Загрузить и контрольно-измерительная

 

Благодаря Pro Mini Arduino не включается USB-последовательный порт схему, так что для передачи через USB последовательный порт загрузки перед загрузкой программы. Отладка осциллографа очень проста, нужно настроить потенциометр 50k центрируя горизонтальные растровые строки. Я использую источник сигнала генератора сигнала.

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 380



          

Радио для всех© 2024