Осциллограф из ардуино своими руками: Трёхканальный цифровой осциллограф на базе Ардуино

Содержание

Трёхканальный цифровой осциллограф на базе Ардуино

Цифровые осциллографы используются любителями электроники и это одна из привычных вещей, находящихся за их рабочими столами. Но покупка готового решения может влететь в копеечку, поэтому я решил, что соберу собственный осциллоскоп своими руками. Этот базовый проект поможет вам повысить свои навыки и в итоге у вас будет свой самодельный неплохой прибор, который облегчит вам жизнь.

Ардуино – замечательная вещь, работающая на 8-битных микроконтроллерах, которые имеют цифровые выходы, SPI, линии I2S, последовательную связь, ADC и т.д. Таким образом, использование в этом проекте Ардуино – хорошая идея.

Шаг 1: Необходимые материалы

Я хотел, чтобы всё оставалось простым и дешевым, поэтому вам понадобятся:

  • Ноутбук x1
  • Ардуино x 1 (UNO,PRO MINI, NANO –подойдёт любой , кроме MEGA)
  • Кабели со штекерами x 2
  • Макетная плата x 1
  • Клипсы аллигаторы x 2
  • Кабель джек папа-папа на 3. 5 мм x 1
  • Источник аудио, или другого сигнала, чью форму вы хотите увидеть

Шаг 2: Код и программа осциллоскопа

После подключения, просто загрузите в него код из zip-архива. Этот код просто считывает напряжение на аналоговых пинах A0-A5 или A7 Ардуино (в зависимости от вашей платы), а затем конвертирует его в значение, варьирующееся от 0 до 1023. Далее это значение отправляется на компьютер через порт USB.

Пины A0-A5 или A7 (в зависимости от вашей платы) действуют в качестве 6 или 8 каналов осциллоскопа, но софт позволяет отобразить только три канала за раз.

После того, как вы открыли программу осциллоскопа вслед за загрузкой скетча, выберете нужные параметры baud rate (скорость передачи) и COM-порт, а затем откройте каналы.

Программа осциллоскопа спроектирована так, чтобы принимать значения с Ардуино и строить из них график, добавляя значения в линию, что предоставляет вам неплохие графики в виде волн, прямо как на осциллоскопе. Файлы

Шаг 3: Принцип действий

  1. Подключите Ардуино
  2. Загрузите код
  3. Пустите сигнал через пины A0 — A5 или A7 (в зависимости от вашей платы). Я выбрал сигнал, идущий от моего телефона через джек. Один конец провода был подключен к телефону, а на другом конце я подключил землю к GND Ардуино, а второй аллигатор был подключен к одному из аудиоканалов. (в моем случае правый канал аудиосигнала) .
  4. Откройте программу осциллографа
  5. Выберите COM-порт и baud rate
  6. Откройте каналы и всё готово!

Шаг 4: Особенности

  • Разрешение осциллоскопа: примерно 0.0049 Вольта (4.9мВ)
  • Частота обновления: 1КГц
  • Скорость передачи: 115200
  • Диапазон напряжения: 0-5 Вольт
  • Он может отображать одновременно 3 канала

Замечание: не превышайте на электронном осциллографе предел в 5 Вольт, или вы поджарите свой Ардуино.

Ограничения:

  1. Напряжение нельзя превышать, оно находится в диапазоне 0-5 Вольт
  2. Любой сигнал выше 1КГц не будет замечен Ардуино, либо же он будет определяться как мусорные значения (помехи)
  3. Не пробуйте измерить сигналы AC, так как аналоговые пины не приспособлены для этого и в конце концов вы либо повредите Ардуино, либо засечёте позитивную половину

Шаг 5: Все готово!

Итак, я думаю, что было довольно просто сделать свой осциллограф на Ардуино. Надеюсь, вам всё понравилось.

Осциллограф 10 Гц – 50 кГц на Arduino Nano: схема и программа

#include <U8glib.h>

U8GLIB_ST7920_128X64_4X u8g(6, 5, 4);

int Input = A0;  

int Key_add = 8;

int Key_sub = 9;

int Key_hold = 10;

int x,y;

int i,i1,i2,V_min,V_max,V_mid,t,t0,t1,sta,Key=1,hold=0;

long Freq;

float Vpp;

int Y[96];

int Buffer[192];

const uint8_t L[] PROGMEM = {

 

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00,

0x00, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x00,

0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00,

0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,

0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,

0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,

0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,

0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,

0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,

0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x60, 0x00, 0x00, 0x00, 0x08,

 

0x10, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x01, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x01, 0xE3, 0xDF, 0xB6, 0x6F, 0x8F, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0x8F, 0xFF, 0x00, 0x01, 0xE3, 0x1B, 0xB6, 0x6D, 0x9B, 0x80, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x03, 0x33, 0x31, 0xB6, 0x6C, 0xB1, 0x80, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x03, 0xF3, 0x31, 0xB6, 0x6C, 0xB1, 0x80, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x06, 0x33, 0x1B, 0xB6, 0x6C, 0x9B, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x06, 0x1B, 0x1F, 0xBE, 0x6C, 0x8F, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x0C, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x0C, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x0C, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x0E, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0x1E, 0x3C, 0xF8, 0xF0, 0x00, 0x00, 0x08,

 

0x10, 0x0E, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0D, 0x93, 0x6E, 0xCD, 0x90, 0x00, 0x00, 0x08,

0x10, 0x0F, 0x87, 0xFF, 0xF9, 0x80, 0x00, 0x00, 0x0F, 0x30, 0xC6, 0xCF, 0xF8, 0x00, 0x00, 0x08,

0x10, 0x0F, 0x87, 0xFF, 0xF9, 0x80, 0x00, 0x00, 0x03, 0xB0, 0xC6, 0xCF, 0x00, 0x00, 0x00, 0x08,

0x10, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x0D, 0x9B, 0x6C, 0xCD, 0xB0, 0x00, 0x00, 0x08,

0x10, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x07, 0x9E, 0x3C, 0xF9, 0xE0, 0x00, 0x00, 0x08,

0x10, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x08,

0x10, 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x08,

0x10, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x07, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x07, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

 

0x10, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x07, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x07, 0x83, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,

0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,

0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,

0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,

0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,

0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,

0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00,

0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,

0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

 

 

 

};

 

void setup( )

{

   pinMode(Key_add,INPUT);

   digitalWrite(Key_add,HIGH);

   pinMode(Key_sub,INPUT);

   digitalWrite(Key_sub,HIGH);

   pinMode(Key_hold,INPUT);

   digitalWrite(Key_hold,HIGH);

   ADMUX=0x60;  

   ADCSRA=0xe2;

   u8g.setFont(u8g_font_5x7);

    u8g.firstPage();  

   do {

    u8g.drawBitmapP( 0, 0, 16, 64, L);

    } while( u8g.nextPage() );

   delay(2000);

}

void loop( )

{

   sample( );

   Measure( );

   Transform( );

   Key_scan( );

   if(hold==0)

   {

     u8g.firstPage( );  

     do

     {

       draw( );

     }

     while( u8g.nextPage( ));

   }

}

void sample( )  

{  for(i = 0;i < 192;i++)

   {  

    Buffer[i] = ADCH;

    switch(Key)

     {

       case 1:

       break;

       case 2:

       delayMicroseconds(4);  

       break;

       case 3:

       delayMicroseconds(10);

       break;

       case 4:

       delayMicroseconds(23);

       break;

       case 5:

       delayMicroseconds(60);

       break;

       case 6:

       delayMicroseconds(123);

       break;

       case 7:

       delayMicroseconds(248);

       break;

       case 8:

       delayMicroseconds(623);

       break;

       case 9:

       delayMicroseconds(1247);

       break;

       default:break;

     }

   }

}

 

void Measure()

{

  V_max=Buffer[0];

  V_min=Buffer[0];      

  for(i=0;i<192;i++)

  {

    if(Buffer[i]>V_max)

    V_max=Buffer[i];

    if(Buffer[i]<V_min)

    V_min=Buffer[i];

  }

  V_mid=(V_max+V_min)/2;  

  Vpp=(V_max-V_min)*5/255;

  for(i=0;i<97;i++)

  {

    if(Buffer[i]<V_mid&&Buffer[i+1]>=V_mid)  

    {

      i1=i;

      break;

    }

  }

  for(i=i1+1;i<98+i1;i++)

  {

    if(Buffer[i]<V_mid&&Buffer[i+1]>=V_mid)  

    {

      i2=i;

      break;

    }

  }

  t=i2-i1;

  if(t>0)

  Freq=8000/t;

  else

  Freq=0;

}

 

void Transform( )  

{

  for(sta=0;sta<96;sta++)

  {

    if(Buffer[sta]<128&&Buffer[sta+2]>128)  

    break;

  }

  for(i = 0;i < 96;i++)  

  Y[i] =  63-(Buffer[i+sta]>>2);    

}

 

void draw( )  

{  

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

  u8g.drawLine(x,Y[x],x,Y[x+1]);

 

u8g.drawFrame(0,0,97,64);

 

u8g.drawLine(48,0,48,63);

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

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

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

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

   u8g.drawLine(47,y,49,y);

 

for(x=8;x<96;x+=8)

{

    for(y=8;y<64;y+=8)

    u8g.drawPixel(x,y);

}

 

u8g.drawStr(98,7,"MS/div");

u8g.drawStr(98,23,"V/div");

u8g.drawStr(98,30,"0.324");

u8g.drawStr(98,40,"Vpp");

u8g.setPrintPos( 98, 47);

u8g.print(Vpp);

u8g.drawStr(118,47,"V");

u8g.drawStr(98,55,"F(HZ)");

switch(Key)

{

      case  1:

      u8g.drawStr(98,14,"0.02");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq*50);

      break;

      case  2:

      u8g.drawStr(98,14,"0.05");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq*20);

      break;

      case  3:

      u8g.drawStr(98,14," 0.1");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq*10);

      break;

      case  4:

      u8g.drawStr(98,14," 0.2");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq*5);

      break;

      case  5:

      u8g.drawStr(98,14," 0.5");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq*2);

      break;

     case  6:

      u8g.drawStr(98,14,"  1");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq);

      break;

     case  7:

      u8g.drawStr(98,14,"  2");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq/2);

      break;

     case  8:

      u8g.drawStr(98,14,"  5");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq/5);

      break;

      case  9:

      u8g.drawStr(98,14," 10");

      u8g.setPrintPos( 98, 62);

      u8g.print(Freq/10);

      break;

    default:break;

   }

}

 

 

void Key_scan()

{

    if(digitalRead(Key_add)==LOW)

{

  while(digitalRead(Key_add)==LOW);

  Key++;

  if(Key==10)

  Key=9;

  delay(10);

}

if(digitalRead(Key_sub)==LOW)

{

  while(digitalRead(Key_sub)==LOW);

  Key--;

  if(Key==0)

  Key=1;

  delay(10);

        }

        if(digitalRead(Key_hold)==LOW)

{

  while(digitalRead(Key_hold)==LOW);

          hold=~hold;

  delay(10);

        }

}

Осциллограф

Прибор для исследования (наблюдения, записи, измерения) амплитудных и временных характеристик электрического сигнала.

2012 г.

Двухканальный USB осциллограф

Все чаще и чаще используются приборы подключаемые к компьютеру по USB. Часто они бывают дешевле и функциональнее обычных приборов. В этой статье описано создание USB осциллографа с максимальной частотой 10 кГц при входном напряжении ± 16В. Он гораздо лучше других подключаемых к компьютеру осциллографов. Имеет гораздо больше возможностей, чем ПК-осциллографы

Автор: none

13 0
[0]
Похожие статьи: 2010 г.

Цифровой LCD-осциллограф

В данной статье приведен простейший осциллограф с выводом данных на текстовый LCD экранчик. Схема построена с использованием PIC-микроконтроллера PIC18F452, но может быть адаптирована и для других PIC.

Автор: none

1 0
[0]
Похожие статьи: 2010 г.

Простой USB-осциллограф

Проект USB-осциллографа, который вы сможете собрать своими руками. Возможности USB-осциллографа минимальны, но для многих радиолюбительских задач вполне сойдет. Также, схема данного USB-осциллографа может использоваться как основа для построения более серьезных схем. В основе схемы стоит микроконтроллер Atmel Tiny45.

Автор: Колтыков А.В.

78 0
[0]
Похожие статьи: 2011 г.

Самодельный осциллограф на AVR

Представлен проект изготовления самодельного низкоскоростного осциллографа на базе микроконтроллера AVR. Частота измерения до 7.7кГц, экранчик 128x64.

Автор: Колтыков А.В.

12 4.5
[1]
Похожие статьи: 2012 г.

Android Bluetooth осциллограф

Как АЦП для двух входов в схеме используется PIC33FJ16GS504 Microchip. Обработанные данные передаются в телефон через Bluetooth модуль LMX9838

Автор: none

6 0
[0] 2012 г.

Осциллограф своими руками

Осциллограф на PIC18F2550 измеряет среднее, максимальное, минимальное, пиковое напряжения и пересечение нулевого уровня. Он имеет встроенную функцию триггера, который может быть использован для остановки сигнала для его детального изучения. Осциллограф измеряет напряжение в пределах 0-5В, 0-2.5В и 0-1,25. Основным недостатком является низкая частота дискретизации (~ 60 кГц), а также то, что входы ограничены ограничениями АЦП микроконтроллера.

Автор: none

1 0
[0]
Похожие статьи:

Простой тестер MAF(ДМРВ) своими руками.

Попросил меня знакомый собрать ему простой тестер МАФов, оформить в едином корпусе, собрал и оформил, симпатично вышло 🙂 За одно сделал ему датчик для проверки катушек зажигания, очень полезный зверек когда мозг не ловит пропуски конкретной катушки или вообще не умеет пропуски ловить. Так же сделал просто шнурок – вход осциллографа, зачем сее ему я не знаю но пусть будет, диодный мост на гене можно проверять 🙂 Вот и вам показываю как это можно красиво сделать.

Про тестирование простым осциллографом МАФов я писал подробно вот тут https://www.drive2.ru/l/539823651550134331/  Про правильную промывку вот тут писал https://www.drive2.ru/l/540386601503555587/  По сему не буду заострять на этом внимание.

Для тестирования МАФов нужен простой одноканальный осциллограф. Как я писал в предыдущих постах, для этого великолепно подходит микроконтроллер АТмега 328р в виде банальной платы Ардуино Нано. Для запитки МАФа при тестах надо стабилизированное опорное напряжение +5 вольт, и не стабилизированное 8-17 вольт…

Напряжение питание я буду брать снаружи от прикуривателя или от внешнего блока питания, внутри корпуса сделаю стабилизатор опорного +5. При тесте МАФов надо подавать внешнее питание а при проверке катушек или генератора или еще чего внешнее питание не нужно, тестер питается от УСБ.

Вот схема того что буду собирать. Одноканальный осциллограф с двумя входами 1х1 и 1х10 (1-5 вольт и 1-50 вольт). Так же схема банального стабилизатора. На выходе опорного +5в поставил кнопку что б можно было проверять время реагирования мафа.

Ну и пару лампочек. Одна показывает подключение по УСБ а другая показывает напряжение запитки мафа.

В качестве разъемов буду использовать УСБ разъемы, так как в них ровно 4 контакта, то есть то что нужно.

Берем корпус, сверлим-пилим, вставляем разъемчики и лампочки 🙂

Теперь изготовим стабилизатор опорного напряжения. Он простой, всего 4 детали. Изолируем термоусадкой.

Устанавливаем его в корпус, разводим все провода, подключаем питание и проверяем работу, все ОК. Опорное +5в у меня идет через размыкающую кнопку. Она нужна для проверки реагирования мафа на включение.

Далее надо собрать делитель с защитой. Делитель собираю навесным монтажом, так технологичней и помехозащищенней, хотя сее можно не учитывать, так же можно не учитывать и не согласовывать волновое сопротивление кабеля, не те частоты 🙂

Потом надо установить плату с микроконтроллером, подсоединить ее. Плата уже подготовлена. В нее уже залита нужная прошивка и она откалибрована по напряжению, как сее сделать писал в прошлом посте, ссылка на него в начале. Далее закрываем корпус, вот и все, простой тестер МАФов готов.

Вот такой симпатичный осциллограф – тестер вышел.

Теперь надо сделать шнурки.

1. Шнур для диагностики МАФа.

2. Шнур внешнего питания от прикуривателя, что б проводить диагностику не снимая МАФа.

3. Шнур внешнего питания для блока питания, для диагностики дома на столе.

4. Шнур и индуктивным датчиком для проверки катушек зажигания.

5. Шнур вход осциллографа. Для подключения к чему угодно.

Приступим, сначала шнур для диагностики мафов сделаю. Распиновка мафа 1.8т следующая :

1 – Не используется

2 – +12 вольт

3 – Земля, масса, корпус.

4 –  +5 вольт опорное напряжение.

5 – Выход сигнала.

Вот такой шнурок получился. Разъемы УСБ используйте хорошие, китайские дешевые дают дребезг и перепады в 0.2-0.3 вольта, что не допустимо при измерении напряжений с точностью до сотой вольта 🙂

Теперь сделаю шнур внешнего питания от прикуривателя. О том что надо использовать нормальный провод и нормальный разъем с защитой я писать не буду, это и так понятно 🙂

Далее шнур внешнего питания для блока питания, для диагностики дома на столе.

Подключать его к любому блоку питания, который дома завалялся.

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

Для начала расскажу какие датчики бывают. Если просто то бывают емкостные, для систем зажигания без индивидуальных катушек, с высоковольтными проводами и индуктивные датчики, для систем зажигания с индивидуальными катушками. Я буду делать индуктивный датчик, для индивидуальных катушек.

Схем таких датчиков много, я использую самые простые. Они отлично работают и не требуют чего либо хитрого. Эти схемы с небольшими отличиями в инете давно ходят.

Вот схемы этих датчиков как я их вижу и как они лучше работают с моим тестером, индуктивный имею ввиду. Емкостной не использую, но схему приложил. К стати, можно банально использовать датчик положения колена от ВАЗов но он сигнал чуть хуже дает и с ним менее удобно работать.

Вот фото изготовления…

Дорожки не травлю, дремелем прорезаю, минута и готово 🙂

Далее распаиваем детали. Емкостной от индуктивного отличается не сильно и делается они на основе одной платы…

Вот фото.

Это емкостной, нет резистора но есть конденсатор.

А вот индуктивный, какой нам и нужен. Вместо конденсатора перемычка и с обратной стороны стоит резистор, что б добротность катушки понизить 🙂

Далее покрываем лаком в два слоя, для гидроизоляции и термоусаживаем оболочку на него. В общем под водой можно его использовать 🙂

Вот такой вот шнур – датчик для индивидуальных катушек получается.

Ну и на последок сделаю шнур вход осциллографа. Для подключения к чему угодно.

Типа гену посмотреть иль датчик какой….

Ну вот, все готово. Но перед отправкой Мише в Питер надо на машине оттестить.

Начну с мафа.

Отключаем маф, машина заглушена. Подключаем наш тестер, так же подключаем его к бортовой сети через прикуриватель. Запускаем программу и смотрим что к чему. У меня все ОК 🙂

Теперь заведем машину и протестируем катушки. Индуктивный датчик очень удобен, его не надо подключать на прямую. Его надо просто положить с верху и смотреть как работает катушка. Для того что бы определить какая катушка померла или присмери не надо знать и иметь эталонные осциллограммы под конкретную модель. Так как катушки все сразу одновременно не умирают то достаточно просто пройтись по всем и увидеть плохую в сравнении с остальными. Плохую четко видно по пропускам и заниженному сигналу или по полному отсутствию сигнала 🙂 Вот так вот просто все 🙂

………………….

Миш, подробную инструкцию по эксплуатации тестера напишу для тебя на днях и оформлю в виде постика 🙂 С тебя апробация тестера «в поле» и замечания с пожеланиями по каким либо доработкам.

А пока на этом все 🙂 Ни гвоздя вам ни жезла 🙂

Осциллограф nano на pro mini и дисплее 3410 своими руками


Не так давно, у меня нестало осциллографаmicro, который я собирал ранее. Он хоть и работал в диапазоне звуковой частоты, но был в определенных случаях очень полезен. Стал вопрос по сборке нового самодельного осциллографа.


В интернете наткнулся на интересную СТРАНИЦУ, на которой описывалось, как можно собрать простой дешевый информативный осциллограф, используя Arduino pro mini и дисплей с разрешением 128х64 точки. Arduino pro mini для осциллографа у меня была, а вот такого дисплея в наличии не оказалось, зато с избытком присутствовало дисплеев от NOKIA 3310 и 3410. Так как у дисплея NOKIA 3310 разрешение 84х48 точек, его приспособить под данный осциллограф сложно и не целесообразно, а вот дисплей от NOKIA 3410 – вполне реально, т.к. у него разрешение 96х65 точек.



С этого момента началась переделка оригинального проекта. Т.к. использованных TempTale у меня тоже в избытке, корпуса от них я приспосабливаю под компактные устройства. Исходя из этого, печатная плата разрабатывалась под этот корпус. Скачать печатную плату в формате *.lay можно ЗДЕСЬ.



Меню, в том виде, которое было изначально, меня также не устроило. Управление осциллографом я перенес на кнопки, плюс, добавил еще одну кнопку для переключения режима отображения/скрытия информации.



Так как устройство претерпело большое количество переделок, а в габаритах осталось неизменным, решил дать ему название «осциллографnano».


Схема осциллографаnano предельно простая и состоит из минимума деталей. Чтобы зарядить аккумулятор, выведены контакты, для подключения зарядного устройства, типа «жабка». Скетч каждый может подкорректировать под себя. Скетч в формате *.ino можно скачать ЗДЕСЬ. Ниже привожу фотографии того, как осциллографnano отображает форму сигналов.



Теперь о самом неприятном моменте. Прототип автора, собранный на микроконтроллере PIC18F2550, работает с сигналом частотой до 60 kHz. Понимая ограничения данной сборки осциллографаnano, надеялся, что она будет полноценно работать сигналом частотой до 30 kHz. Но в реальности, максимальная рабочая частота получилась 10 kHz, что в два раза меньше, чем у осциллографаmicro.


Возможно, у кого-то получится оптимизировать код, чтобы осциллографnano смог обрабатывать сигнал более высокой частоты. Это реально т.к. «Pultoscop» пользователя bodriy2014, собранный на Arduino pro mini, работает с частотой до 150 kHz. Самому еще сложно разбираться с кодом, т.к. это мой первый опыт работы с arduino в принципе. Буду рад, если кто-то доведет осциллографnano «до ума» и сделает его более интересным для радиолюбителей.

Осциллограф на трех транзисторах - 26 Февраля 2014 - Блог

 

Осциллограф на трех транзисторах

 

 

  Для налаживания любого усилительного каскада или любой другой радиолюбительской конструкции, в схеме которой есть электрические колебания очень удобен осциллограф, при помощи которого можно наблюдать форму сигнала.

  В данной статье приводится описание осциллографа собранного всего на 3 транзисторах, двух диодах и электронно-лучевой трубке. 

  Схема очень простая, такая конструкция по силам и начинающим радиолюбителям 

  Схема прибора представлена на рисунке №1:

 

 

  Осциллограф состоит из усилителя отклонения вертикального луча на транзисторе VT1, генераторе развертки на транзисторе VT2 и усилителя горизонтального отклонения (усилителя напряжения развертки) на VT3. Для уменьшения искажений усилитель на VT1 охвачен отрицательными обратными связями (через R4 и R6). С коллектора VT1 усиленное напряжение подается через конденсатор С2 на одну из пластин вертикального отклонения луча (вторая пластина соединена с общим проводом). Генератор развертки на VT2 работает в лавинном режиме. Частота генерации зависит от сопротивлений R13 и R14 и емкости конденсаторов С6-С9.

 

  Диапазон частот задающего генератора развертки разбит на 4 поддиапазона. Резистор R13 служит для плавного изменения частоты внутри поддиапазона. Синхронизация частоты генератора осуществляется частотой исследуемого сигнала, напряжение которого через С3 и R9 подается в цепь базы VT2, уровень синхронизации регулируется резистором R11. С выхода генератора напряжение пилообразной формы подается через С11, R18 на базу VT3, а с его коллектора через С12 на пластину горизонтального отклонения луча.

 

  При амплитуде пилообразного напряжения на выходе усилителя 70В длина горизонтальной линии на экране трубки составляет 50 мм. Яркость и фокусировку луча регулируют переменными резисторами R23, R24, а перемещение луча по вертикали и горизонтали – резисторами R10 и R15. Ввиду малой чувствительности осциллографа (сигнал амплитудой 1В на экране будет высотой 1 см), его желательно дополнить усилителем схема которого представлена на рисунке №2

 

  Он позволит дополнительно усилить выходной сигнал на 46 или 90 дБ, в зависимости от положения переключателя SА1. Усилительная приставка может располагаться как внутри корпуса, так и отдельным выносным блоком. В последнем случае дополнительно устраняется влияние паразитных наводок на входной кабель. В этом случае ее желательно запитать отдельным блоком питания напряжением 10-20 вольт, исключив при этом из схемы VD1 и R2.

 

 

 

 

  При сборке конструкции трансформатор питания необходимо расположить так, чтобы ось его катушки была продолжением  продольной оси трубки. Кроме того, трубку необходимо заключить в магнитный экран, изготовленный из мягкой стали толщиной 1,5-2 мм. Собранный осциллограф в настройке не нуждается. Иногда генератор развертки начинает работать не сразу, в этом случае необходимо заменить VT2. Дополнительный усилитель включается в разрыв схемы в точке "А”, вход усилителя подключить к С1 а выход к базе VT1. Если усилитель будет выполнен в виде отдельного блока, то делитель на R1-R3 необходимо разместить в этом же блоке.

 

 

 В осциллографе можно применить транзисторы VT1, VT3 – КТ502Е, КТ632Б, МП26Б, КТ3157А; VT2 – КТ3107, КТ361, КТ203Б,В. 

 Диоды VD1 и VD2 должны быть рассчитаны на обратное напряжение не ниже 700 вольт – Д217, Д218, КД203Г, КД226Д, КД209В, КД210.

 В качестве трансформатора можно использовать любой подходящий от  ламповых радиоприемников.

 

 

 

  На рисунке выше, один из вариантов исполнения осцилографа с импульсным блоком питания, взят с одного ис форумов.

 

 

 

 

 

Цифровой USB осциллограф из компьютера. Схема и описание

В наше время использование различных измерительных устройств, построенных на базе взаимодействия с персональным компьютером, достаточно много. Значительным преимуществом их использования является возможность сохранения полученных значений достаточно большого объема в памяти устройства, с последующим их анализом.

Цифровой USB осциллограф из компьютера, описание которого мы приводим в данной статье, является одним из вариантов подобных измерительных инструментов радиолюбителя. Его можно применить в качестве осциллографа и устройства записывающего электрические сигналы в оперативную память и на жесткий диск компьютера.

Тестер транзисторов / ESR-метр / генератор

Многофункциональный прибор для проверки транзисторов, диодов, тиристоров...

Схема не сложная и содержит минимум компонентов, в результате чего удалось добиться хорошей компактности устройства.

Основные характеристики USB осциллографа:

  • АЦП: 12 разрядов.
  • Временная развертка (осциллограф): 3…10 мсек/деление.
  • Временной масштаб (рекордер): 1…50 сек/выборка.
  • Чувствительность (без делителя): 0,3 Вольт/деление.
  • Синхронизация: внешняя, внутренняя.
  • Запись данных (формат): ASCII, текстовый.
  • Максимальное входное сопротивление: 1 МОм параллельно к емкости 30 пФ. 

Описание работы осциллографа из компьютера

Для осуществления обмена данными, между USB осциллографом и персональным компьютером, применен интерфейс Universal Serial Bus (USB). Данный интерфейс функционирует на базе микросхемы FT232BM (DD2) фирмы Future Technology Devices. Она представляет собой преобразователь интерфейса USB — COM. Микросхема FT232BM может функционировать как в режиме прямого управления битами BitBang (при использовании драйвера D2XX), так и в режиме виртуального COM-порта (при применении драйвера VCP).

В роли АЦП применена интегральная микросхема AD7495 (DD3) фирмы Analog Devices. Это не что иное, как аналого-цифровой преобразователь с 12 разрядами, с внутренним источником опорного напряжения и последовательным интерфейсом.

В микросхеме AD7495 также есть синтезатор частот, который определяет, с какой скоростью будет происходить обмен информацией между FT232BM и AD7495. Для создания необходимого протокола обмена данными, программа USB осциллографа наполняет выходной буфер USB отдельными значениями битов для сигналов SCLK и CS так,  как указано на следующем рисунке:

Измерение одного цикла определяется серией из девятьсот шестидесяти последовательных преобразований. Микросхема FT232BM с частотой, определяемой встроенным синтезатором частот, отправляет электрические сигналы SCLK и CS, параллельно с передачей данных преобразования по линии SDATA. Период 1-го полного преобразования АЦП FT232BM, устанавливающий частоту выборки, соответствует продолжительности периода отправки 34 байтов данных, выдаваемых микросхемой DD2 (16 бит данных + импульс линии CS). Поскольку быстрота передачи данных FT232BM обусловливается частотой внутреннего синтезатора частот, то для модификации значений развертки нужно всего лишь менять значения синтезатора частот микросхемы FT232BM.

Данные, принятые персональным компьютером, после определенной переработки (изменение масштаба, корректировка нуля) выводятся на экран монитора в графическом виде.

Исследуемый сигнал поступает на разъем XS2. Операционный усилитель OP747 предназначен для согласования входных сигналов с остальной схемой USB осциллографа.

Hantek 2000 - осциллограф 3 в 1

Портативный USB осциллограф, 2 канала, 40 МГц....

На модулях DA1.2 и DA1.3 построена схема сдвига двухполярного входного сигнала в зону положительного напряжения. Поскольку внутренний источник опорного напряжения микросхемы DD3 имеет напряжение 2,5 вольт, то без использования делителей охват входных напряжений равен -1,25..+1,25 В.

Чтобы была возможность исследовать сигналы, имеющие отрицательную полярность, при фактически однополярном питании от разъема USB (распиновка USB разьема), использован преобразователь напряжения DD1, который для питания ОУ OP747 вырабатывает напряжение отрицательной полярности. Для защиты от помех аналоговой части осциллографа применены компоненты R5, L1, L2, C3, C7-C11.

Для вывода информации на экран монитора компьютера предназначена программа uScpoe. При помощи данной программы появляется возможность визуально оценивать величину исследуемого сигнала, а так же его форму в виде осциллограммы.

Для управления разверткой осциллографа предназначены кнопки ms/div. В программе можно сохранять осциллограмму и данные в файл при помощи соответствующих пунктов меню. Для виртуального включения и выключения осциллографа используются кнопки Power ON/OF. При отсоединении схемы осциллографа от компьютера, программа uScpoe автоматически переводится в режим OFF.

В режиме записи электрического сигнала (recorder), программа создает текстовый файл, имя которого можно задать по следующему пути: File->Choice data file. изначально формируется файл data.txt. Далее файлы можно импортировать в другие приложения (Excel, MathCAD) для дальнейшей обработки.

Скачать программу и драйвер (3,0 MiB, скачано: 6 674)

Источник: Радио, 5/2005

Осциллограф

Arduino - Arduino Project Hub

Осциллограф Arduino

Осциллограф на базе Arduino с расширенными функциями и двумя каналами. Это осциллограф DIY , основанный на популярной платформе Arduino.

Arduino-Oscilloscope (далее именуемый Osciduino). Существует еще один проект с таким же названием, поэтому название здесь изменено после того, как я увидел другой проект с тем же именем, например, OsciDuino ), представляет собой осциллограф на базе Arduino (опробован и протестирован на Arduino Uno R3 и Mega 2560. ).Хотя я бы порекомендовал использовать Mega, если можете.

Почему и что он умеет

Это образовательный проект для ознакомления с внутренней работой цифрового осциллографа с буферизацией (DSO). Эта версия включает расширенные функции настройки, включая такие функции, как двухканальный, смещение, триггер и т. Д. время / дел, вольт / дел и тому подобное.

Входы и некоторые моменты, на которые следует обратить внимание

Входы берутся с 2 аналоговых входных контактов на Arduino. Однако контакты поддерживают только диапазон напряжения от 0 до +5 вольт.поэтому осциллограф работает хорошо только в том случае, если просматриваемый сигнал составляет +5 В от пика до пика и не имеет отрицательных половин. для просмотра отрицательных половин осциллограф должен работать в пиковом режиме +2,5 В. это достигается извне путем масштабирования напряжения и последующего смещения его на +2,5 вольт.

Что мне следует знать

Дополнительная библиотека дисплея включена в мастер для SPFD5408, если требуется. Кроме того, схемы для установки включены в папку «файлы arduino»

В настоящее время код лучше всего работает с предоставленной библиотекой и, следовательно, специальный драйвер дисплея SPDF5408.Однако это не означает, что он не будет работать с другими драйверами. Просто это поведение может отличаться, я не тестировал его ни с одним другим дисплеем. Вы можете добавить поддержку для своего драйвера дисплея. Если вы хотите добавить поддержку для своего дисплея. Вы можете внести свой вклад или создать запрос на перенос. Примером является добавление поддержки для 2,5-дюймового резистивного сенсорного экрана Adafruit. Https://github.com/wayri/Osciduino/issues/1

Установка - Быстрый старт

Это действительно просто. -Бег.

Прежде всего, подключите дисплей к Arduino . Для этого см. Как собрать оборудование

  • Подключите ваш Arduino (Uno или Mega) к компьютеру с помощью usb-2.0
  • Откройте arduino-oscilloscope-high-freq_v1_5_HW.ino в Arduino IDE
  • Выберите свой плата из меню «Инструменты»
  • Нажмите кнопку загрузки
  • Вы работаете

/! \ Убедитесь, что для параметра «Канал 2» или «Канал 3» установлено значение «ВКЛ.»

Hello World

Ниже приведен значок « hello world "пример для Osciduino.

Наблюдение за зарядкой и разрядкой конденсатора

Настройка

Включите Osciduino, как указано выше в кратком руководстве. Теперь на макете подключите электролитический конденсатор последовательно с резистором к генератору прямоугольных импульсов. Поместите пробник на узел конденсатора резистора. Добавьте общую опорную землю между Osciduino и RC-цепью.

И вы должны начать видеть характерные крутизны подъема и спада, связанные с зарядкой и разрядкой конденсатора.

См.

Текущие проблемы

Для установки требуется внешний резистивный интерфейс управления. Что требует калибровки при каждой загрузке. Поскольку сопротивление легко меняется при изменении температуры и продолжительности работы. Это можно смягчить множеством способов, например, заменив конфигурацию переключателя резистивного делителя схемой на основе касания или схемой кнопки, закодированной в свободные контакты GPIO на Arduino Mega.

Обновления и последние выпуски

Начальная версия 1.5, в проект будет добавлена ​​поддержка аппаратных расширений - релиз v1.5.0

Дополнительные ссылки и справочные материалы

Код изначально основан на коде г-на Нориаки Мицунага http://n.mtng.org/ele/index. html

DIY Осциллограф Arduino 10 Гц-50 кГц на ЖК-дисплее 128x64

В этом проекте описывается способ создания простого осциллографа с диапазоном частот от 10 Гц до 50 кГц. Это чрезвычайно большой диапазон, учитывая, что устройство не использует внешний чип цифроаналогового преобразователя, а только Arduino.

Он был спонсирован NextPCB. Вы можете помочь мне поддержать меня, просмотрев их по одной из этих ссылок:

Зарегистрируйтесь, чтобы получить купон на 5 долларов:
https://www.nextpcb.com?code=Mirko
Производитель надежных многослойных плат:
https://www.nextpcb.com?code=Mirko
4-х слойные печатные платы 10 шт. Всего за 12 долларов:
https://www.nextpcb.com/pcb-quote?act=1
10% скидка - заказы на печатные платы и SMT:
СКИДКА 20% - заказы на печатные платы и 15% SMT: https: // www.nextpcb.com/activity/supp ...

Результат отображается на относительно большом ЖК-экране (ST7920) с разрешением 128x64 пикселей. Область отображения измерений составляет 96x64, а область отображения информации - 32x64, где отображается частота тестового сигнала, Vpp и т. Д.
Это чрезвычайно простой в сборке и состоит всего из нескольких компонентов:
- Arduino Nano
- ST7920 ЖК-дисплей с разрешением 128x64
- три мгновенные переключатели
- два потенциомера
- и один конденсатор 100 мкФ

Устройство имеет несколько функций, таких как: автоматический запуск (отображение очень стабильное), Скорость сканирования: 0.02 мс / дел ~ 10 мс / дел, в соответствии с 1-2-5 переносом и делением на девять уровней и функцией удержания: фиксация формы сигнала и параметров. Этот проект опубликован в блоге Wu Hanqing, где вы можете найти исходный код. Я внес минимальные изменения, потому что строил осциллограф на основе оборудования одного из моих предыдущих проектов. Как вы можете видеть на видео, инструмент имеет очень четкое изображение благодаря большому экрану, а также удивительно хороший автоматический запуск. Вертикальное положение изображения регулируется потенциометром 50 кОм, а контрастность - потенциометром 10 кОм.Я тестировал осциллограф с генератором синусоидальных и прямоугольных сигналов. Наконец, даже несмотря на то, что это не профессиональный или очень удобный инструмент, его все же можно использовать в образовательных целях или в вашей лаборатории для тестирования низкочастотных сигналов, особенно зная, что устройство очень легко сделать и чрезвычайно дешево.

HS101: высококачественный и дешевый осциллограф «сделай сам»

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

Осциллограф - источник: sparkfun.com

Осциллограф - это испытательный прибор, используемый для визуализации и наблюдения за изменяющимися напряжениями сигналов, обычно в виде двухмерного графика с одним или несколькими сигналами, нанесенными в зависимости от времени. Они используются при проектировании и отладке электронных устройств для просмотра и сравнения форм сигналов, определения уровней напряжения, частоты, шума и других параметров сигналов, подаваемых на его вход, по мере их изменения во времени.Это делает осциллографы очень важным инструментом на столе инженера-электронщика или производителя. Однако осциллографы довольно дороги: они стоят от 45 до 100 долларов за небольшой осциллограф и более 300 долларов за продвинутые осциллографы, что делает их недоступными для простых пользователей. Но что, если бы мы могли создать что-то более дешевое, компактное и высокофункциональное, используя компоненты, знакомые производителям? Это вопрос, который привел к сегодняшнему руководству.

HS101 в действии

Для сегодняшнего урока мы построим осциллограф HS101 .Осциллограф HS101 состоит из портативного и компактного осциллографа DIY, подключенного к мобильному телефону или планшету на базе Android с приложением HScope. Осциллограф основан на микроконтроллере STM32F103 , который имеет 2 быстрых 12-битных АЦП и производит выборку сигнала для проверки (после того, как он прошел элементы состояния, такие как сеть резисторов, конденсаторов и диодов) на плате.

Некоторые функции HS101 включают;

  • Одноканальный осциллограф
  • 12 бит Разрешение АЦП
  • 0-20В Диапазон входного напряжения
  • Частота дискретизации от 3KS / с до 1800KS / с
  • Полоса пропускания 200 кГц
  • До 100KSa / s непрерывный сбор данных
  • Входной шум зависит от частоты дискретизации.<15 мВ для частоты дискретизации <= 100KSa / s

Осциллограф может использоваться в стандартных ситуациях для таких задач, как измерения постоянного тока, а также может быть полезен для длительной регистрации напряжения и основных автомобильных проверок, таких как;

  • Регистрация уровня заряда батареи
  • Регистрация данных при выключенном зажигании батареи (IOD) (с помощью зажима усилителя типа C650 или инструмента DIY)
  • Уровень пульсаций переменного тока генератора (пример здесь)
  • Испытание на сжатие в цилиндре (с датчиком давления 100 PSIG, пример здесь

Необходимые компоненты

Для создания этого проекта требуются следующие компоненты;

  1. STM32F103C8 Голубая таблетка
  2. Кабель USB - TTL
  3. 1N4007 (2)
  4. Резистор 10 кОм
  5. 2к резистор
  6. Конденсатор 470 пФ
  7. Кабель USB OTG (Micro USB - Micro USB / USB Type-C - Micro USB)
  8. Печатные платы с перфорацией (подойдет что угодно, имеющее от 6 до 7 отверстий).
  9. 6-контактный однорядный гнездовой разъем 2,54 мм (2)
  10. Зонд и разъем BNC (также можно использовать простые провода или аудиоразъем 3,5 мм)

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

Схемы

Схема для этого проекта невероятно проста. Входной модуль, состоящий из резисторов, конденсаторов и диодов, встроен / припаян на перфорированной (прототипной) плате, а затем установлен на плате STM Blue Phil с использованием гнездовых разъемов, которые подключаются непосредственно к Blue Phil.Это делает конструкцию модульной и компактной. Подключите компоненты на макетной плате, как показано на схемах ниже.

Схема модуля ввода

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

Подключите модуль ввода на Blue Pill

Как упоминалось выше, вы можете создать свой собственный полностью настроенный осциллограф на базе печатной платы, используя ту же конструкцию, что и для этого проекта. Все необходимые файлы, включая спецификацию и печатную плату, прикреплены в разделе загрузки в конце руководства.Изображение версии печатной платы показано ниже.

HS101 PCB

Прошивка прошивки

Одна из замечательных особенностей сегодняшнего проекта заключается в том, что мы будем загружать код на плату микроконтроллера с помощью смартфона, а это значит, что вам не понадобится ваш компьютер ни для какой части этого проекта. В сегодняшнем руководстве мы будем использовать приложение STM32 Utils от Мартина Лорена. Приложение поставляется с предустановленной прошивкой для осциллографа HS101, поэтому все, что нам нужно сделать, это подключить микроконтроллер Blue pill к вашему телефону через преобразователь USB в Serial и кабель OTG , как показано на изображении ниже.

Прошивка прошивки с помощью STM32Utils. (Кредит: Time4ee)

Схема контактов для подключения последовательного кабеля к USB и синей таблетки STM32 показана ниже;

Синяя таблетка - USB-UART

 5V - 5V (или VBus)
PA9 - Rx
PA10 - Техас
ЗЕМЛЯ - ЗЕМЛЯ 

с выполненными подключениями, нажмите кнопку « Init Chipset» в приложении. Вы должны увидеть, как загорелся свет на STM. Нажмите кнопку « DIY Library » в приложении, выберите HS101 Firmware и нажмите « Flash Firmware ».

После завершения загрузки прошивки вы можете отсоединить кабель USB-Serial и подключить плату к телефону через кабель OTG.

Вот и все, ваш осциллограф готов!

Демо

STM32 питается от смартфона через кабель OTG. Как только он будет подключен к телефону, на плате Blue Pill должен загореться красный светодиод. Как только STM32 включен, откройте приложение HScope. Приложение должно автоматически распознать осциллограф и начать отображение данных.

Подключите любой сигнал ко входу HS101, и вы должны увидеть данные, отображаемые в приложении, как показано ниже.

HS101 Demo

Бесплатная версия приложения HScope позволяет использовать HS101 как тестер напряжения и как простой осциллограф, которого может хватить для простых задач. С другой стороны, полная версия приложения HScope обеспечивает доступ к статистике в реальном времени, БПФ и может использоваться для преобразования HS101 в регистратор данных.

Оптимизация осциллографа

Шум - самая большая проблема осциллографа HS101.Это сильно зависит от модели телефона, и это можно решить, добавив конденсаторы между контактами GND и 3,3 В на плате Blue Pill. Емкость конденсатора, ближайшего к разъему USB, может составлять около 470 мкФ для улучшения качества данных.

Осциллограф, описанный в этом руководстве, не обязательно сможет заменить стандартный лабораторный осциллограф, но это поможет вам быстро выполнить некоторые мелкие задачи без необходимости платить огромные суммы. Он также портативен, что делает его полезным, если вы много путешествуете.

На этом урок, ребята. Не стесняйтесь обращаться ко мне через раздел комментариев, если у вас есть какие-либо вопросы или трудности при воспроизведении учебника.

Источники:

Цифровой осциллограф

DSO062, аналоговая полоса пропускания 1 МГц, 20 MSa / s DIY Kit для Arduino r3: Amazon.com: Industrial & Scientific


В настоящее время недоступен.
Мы не знаем, когда и появится ли этот товар в наличии.
  • Убедитесь, что это подходит введя номер вашей модели.
  • Аналоговая полоса пропускания - 1 МГц Вертикальная чувствительность - 100 мВ / дел - 5 В / дел Вертикальное положение регулируется с помощью индикатора
  • Максимальная частота дискретизации в эквивалентном времени (повторяющийся сигнал) - 20 MSa / s Максимальная частота дискретизации в реальном времени - 2MSa / s
  • Разрешение - 8 бит Длина записи - 256 байт Встроенный тестовый сигнал 500 Гц / 5 В между пиками
  • Доступна функция БПФ - размер 256 точек и 512 точек по выбору, частота дискретизации от 1 кбит / с до 2 Мбит / с
  • Содержимое упаковки 100% новый (высокое качество) 1 x 1 МГц аналоговая полоса пропускания 20 MSa / s Осциллограф DIY Наборы
]]>
Характеристики данного продукта
Фирменное наименование Balance World Inc
Ean 0706001223836
Количество позиций 1
Код UNSPSC 41110000
UPC 706001223836

Scope-O-Matic, осциллограф на базе Arduino nano в формате Euro Rack - DIY STUFF

Scope-O-Matic - осциллограф в формате Euro Rack, построенный с использованием Arduino nano.Он основан на дизайне, описанном в этом блоге.

Код, который запускает Arduino, основан на версии программного обеспечения 2.0. Версия 3 была опубликована в блоге несколько дней назад, но изменения не имеют никакого значения для описанного здесь варианта использования. Для этого вам понадобится arduino nano с Atmel ATMega 328p (примечание: 168p не имеет достаточно памяти для программы). Изменения, внесенные в код, упрощают то, что отображается на экране. Сценарий использования, для которого это было сделано, состоит в том, чтобы иметь простой дисплей сигналов, который показывает форму сигналов, используемых в системе модульного синтеза.Исходный код предназначался для проведения измерений. Весь исходный код C ++ все еще там, он просто больше не показывает столько информации, так как меня интересовала только форма сигнала, а не выполнение точных измерений. Изменения реализованы таким образом, что их можно легко адаптировать к вашим потребностям. Код можно найти в репозитории Scope-O-Matic.

Электроника была адаптирована из исходной принципиальной схемы, так что она также может отображать сигналы переменного тока. Это означало добавление нескольких резисторов к входному каскаду исходной схемы для создания смещения постоянного тока.Потенциометр Rv1 был добавлен в качестве аттенюатора сигнала. Убедитесь, что сигнал ослаблен должным образом, иначе он будет обрезан и то, что вы видите, не то, что вы слышите (WYSINWYH)!

Схема настолько проста, что я не стал тратить время на разработку стрип-платы. Я разработал переднюю панель в формате Euro Rack и пошел дальше. Помимо nano требуется всего несколько компонентов, и большинство из них прикреплено к панели. Если вы хотите построить это в стиле космо, вам, очевидно, нужно будет внести некоторые изменения.

Я начал приклеивать кнопки-переключатели к панели, напечатанной на 3D-принтере (файлы STL и другие можно найти в репозитории Scope-O-Matic).

Я думаю, что использовал версию 10H этого типа кнопок:

Затем я добавил потенциометр и входы для разъема 3,5 мм и приклеил светодиоды на место.
Как видите, места для пайки осталось не так много, поэтому для этого вам понадобится тонкий паяльник. Один светодиод показывает, что прицел запускается, другой мигает, когда вы нажимаете одну из кнопок прицела.Я использовал серый лак для ногтей, чтобы затемнить светодиоды на нано. На мой вкус, они мигали слишком ярко, и я мог видеть, как они мигали в моей евро стойке между панелями.

Печатная плата состоит всего из нескольких компонентов.

Орлиный глаз среди вас, вероятно, заметил это. Розетка для питания была повреждена в какой-то момент, но я оставил ее там. Черный текст «ROOD» указывает, где должен проходить красный провод плоского кабеля. Я использовал специальный тип с длинными медными дорожками, которые идеально подходят для силовых и заземляющих дорожек.

Вы можете получить их с aliexpress

Как видите, плата приклеена к передней панели горячим способом через неглубокую направляющую.
Нано не приклеено к плате, поэтому я могу легко заменить его в случае необходимости.
У меня не было разъемов такого размера, который нужен nano, поэтому я использовал несколько для нужных контактов.

Дисплей плотно умещается в небольшом кармане, который я создал на панели.

Подключается к плате через отверстие в кармане на задней стороне.

Для 1-го изготовленного мною прицела я использовал белый дисплей.

Я сделал второй с желтым дисплеем и добавил к нему дополнительный вход jack (справа на рисунке ниже). Этот второй домкрат предназначен для прохода. Это делает проще, если, например, вы хотите увидеть сигнал, который находится на каком-то модуле, к которому уже подключен какой-либо соединительный кабель. Подключите этот кабель к сквозному входу осциллографа, а прицел - к модулю. Это в основном избавляет вас от необходимости подключать прицел к входу и второй провод к модулю.

Временную развертку осциллографа можно установить с помощью кнопок очень быстро i.е. От 200 микросекунд до относительно медленной, т.е. 200 миллисекунд, за 9 шагов. Вы можете установить срабатывание срабатывания положительного или отрицательного срабатывания и установить отображение на удержании. Устройство имеет автоматическое масштабирование, но через систему меню вы также можете выбрать масштаб. Для получения более подробной информации я отсылаю вас к исходному блогу. Поскольку программное обеспечение имеет функцию автоматического масштабирования, вы можете выбрать настройку A5V или A50V, и она будет адаптироваться к входному напряжению. Из-за добавленной схемы смещения постоянного тока другие настройки могут отображать сигнал со смещением от центра экрана.Так что лучше не используйте их. Как уже упоминалось, используйте ручку атенюатора, чтобы предотвратить ограничение сигналов с высокой амплитудой.

Любые сделанные вами настройки записываются в EEPROM Nano, поэтому сохраняются при запуске.

В этом видео вы можете увидеть в действии 2 моих осциллографа:

[Edit] Пожалуйста, проверьте оставшуюся часть этой ветки на наличие обновленных версий схемы, программного обеспечения и сборки.

Создайте осциллограф с использованием Raspberry Pi и Arduino

В этом руководстве из журнала MagPi, выпуск 71, Майк Кук проведет нас через процесс создания осциллографа с использованием Raspberry Pi и Arduino.Получите свою копию MagPi в магазинах прямо сейчас или загрузите ее в виде бесплатного PDF-файла здесь.

Осциллограф находится в списке желаний каждого, кто начинает заниматься электроникой. Ваш автор говорил своим ученикам, что это были ваши глаза, делающие электричество видимым. К сожалению, они довольно дорогие: от нескольких сотен фунтов до 5000 фунтов стерлингов и выше. Однако, используя Arduino и некоторое программное обеспечение на Raspberry Pi, вы можете сделать сносный осциллограф для начинающих.

В сентябре прошлого года в MagPi # 61 была статья, в которой описывалось, как Raspberry Pi и Arduino могут использоваться вместе.Мы в пекарне занимаемся этим в течение некоторого времени: сначала у нас был крупный проект в книгах «Проекты Raspberry Pi» Эндрю Робинсона и Майка Кука. Большим преимуществом Arduino с точки зрения обработки сигналов является то, что операционная система минимизирует прерывание, и вы можете собирать данные с постоянной непрерывной скоростью. Это как раз то, что нам нужно для изготовления осциллографа. Идея состоит в том, что Arduino как можно быстрее собирает целую кучу выборок напряжения и сохраняет их в памяти.Затем он переносит эту память на Raspberry Pi, снова как можно быстрее. Pi строит данные и отображает их, затем программное обеспечение позволяет проводить измерения на образцах.

Таким образом, вы можете измерить разницу во времени и напряжении, известную как дельта, между любыми двумя точками на образцах. Вы даже можете отобразить частоту, которой соответствует «временная дельта», взяв обратную величину. Это особенности дорогих осциллографов. Мы также встроили функцию триггера; это необходимо для синхронизации начала быстрого сбора данных с возникновением положительного перехода входного сигнала через заданное напряжение.В результате обычные сигналы могут выглядеть на дисплее стабильно.

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

Схема модуля сбора данных Arduino показана на рисунке 1.

Рисунок 1: Схема модуля сбора данных Arduino

Вы заметите, что это довольно просто. Он состоит из трех потенциометров для управления осциллографом и входа напряжения смещения, связанного по переменному току.

Конденсатор гарантирует, что никакие компоненты постоянного тока на входе не проходят, и дает минимальную защиту от перенапряжения.Опорное напряжение, или земля, смещено на +2,5 В выше уровня земли Pi.

Использование гнезда BNC для входа гарантирует, что вы сможете использовать его с соответствующими выводами пробников осциллографа; Обычно они имеют переключаемый аттенюатор X10, позволяющий измерять напряжение +/- 25 В. Полную информацию о конструкции можно найти в пронумерованных шагах.

Гнездо BNC имеет плоские выступы на каждой стороне резьбы, чтобы предотвратить его вращение с крутящей силой, которой он будет подвергаться при подключении любого зонда.Мы сделали это, сначала просверлив отверстие 8 мм для плоских поверхностей, а затем увеличив отверстие круглым напильником с каждой стороны, чтобы оно подошло. Напротив USB-разъема было проделано отверстие 8 × 12 мм для обеспечения доступа.

Программное обеспечение Arduino

Программное обеспечение или скетч, которое вам нужно поместить в Arduino, показано в списке Gather_A0.ino , и это довольно просто. Обычно Arduino этого типа берет выборки со скоростью 10 000 в секунду - или, как мы говорим, с частотой дискретизации 10k.Это не очень хорошо для осциллографа, но мы можем увеличить эту частоту дискретизации, увеличив тактовую частоту аналого-цифрового преобразователя по сравнению с частотой по умолчанию. Похоже, это не слишком сильно влияет на точность считывания. Сделав это изменение, мы можем увеличить частоту дискретизации до 58k. Это намного лучше и позволяет проводить полезные измерения в звуковом диапазоне.

Мы использовали Arduino Nano и припаяли к нему контакты разъема. Затем мы взяли кусок картона с отверстиями 14 на 19 полос и просверлили несколько отверстий, чтобы прикрепить его к основанию коробки.Вы можете сделать это длиннее 19 полосок, если вы не используете резисторы для поверхностного монтажа на нижней стороне. Приложите разъемы жатки к доске и разорвите направляющие на нижней стороне между двумя рядами.

Итак, сначала необязательно вызывается функция триггера, а затем выборки собираются и отправляются в Pi. Функция триггера имеет тайм-аут, что означает, что она все равно сработает через одну секунду, независимо от того, видит ли она переход во входном сигнале или нет. Затем три горшка измеряются и также отправляются в Пи.Обратите внимание, что выборки имеют ширину десять бит и поэтому должны быть отправлены как два байта, которые снова соединяются вместе в программном обеспечении Pi.

Также обратите внимание на использование двойного чтения для горшков с небольшим количеством кода между ними. Это обеспечивает более стабильные показания, поскольку входному конденсатору схемы выборки и хранения Arduino требуется время для зарядки, и у него меньше времени, чем обычно, из-за ускорения ЦАП. Это не слишком сильно влияет на выборки формы сигнала, так как в большинстве сигналов напряжение одной выборки близко к предыдущему.

Затем мы просверлили три отверстия для горшков и добавили маленькие прорези для стопорных выступов. Затем мы установили горшки и соединили их проводами, как показано на схеме выше. Это вид изнутри крышки коробки; Если вы беспокоитесь о том, что паяльником прикасаетесь к краю коробки, подумайте о том, чтобы припаять их, прежде чем прикреплять к коробке.

В конце передачи Arduino находится в цикле, ожидая байта подтверждения от Pi, чтобы он мог начать снова. Этот байт подтверждения также несет информацию о том, следует ли использовать триггер для следующей выборки.

Добавьте резисторы и конденсаторы к монтажной плате и подключите разъем BNC. Припаяйте его перед установкой, иначе вы расплавите пластик. Не забудьте пропустить центральный провод через шайбу заземления, гофрированную шайбу и гайку перед пайкой. Добавьте к ручкам метки «Триггер», «Время» и «Вольт».

Наконец, перед тем, как каждый буфер, заполненный данными, будет собран, вывод 13 на плате загорается, а затем отключается. Это сделано для того, чтобы мы могли рассчитать время процесса на коммерческом осциллографе, чтобы определить частоту дискретизации - этого вам не придется делать, если вы используете рекомендованные Arduinos типа AVR, работающие на частоте 16 МГц.

Программное обеспечение Pi

Программное обеспечение для Raspberry Pi написано на Python 3 и использует фреймворк Pygame. Оказалось, что написать его намного сложнее, чем мы предполагали вначале, и он показан в списке Scope.py . Python 3 по умолчанию использует символы Unicode и позволяет отображать греческие символы дельты (Δ) и mu (μ) для разницы и времени. Код сначала устанавливает неотображаемую часть окна; он рисуется только один раз, а затем при необходимости обновляются его части.В зависимости от того, какой у вас тип Arduino, он может отображаться как другой порт USB; мы обнаружили, что наш обнаружился как один из двух портов. Прокомментируйте, какой из них не применим при определении переменной sampleInput в начале листинга.

Наконец, мы сколотили логотип размером 168 × 78 пикселей для верхнего левого угла, используя фрагмент картинки и вылепив слово «осциллограф» из обведенной версии шрифта Cooper Black. Мы назвали его PyLogo.png и поместили в папку изображений рядом с кодом Python.

Использование осциллографа

Осциллограф производит выборку на частоте 58 кГц, что теоретически означает, что вы можете измерять сигналы на частоте 29 кГц. Но это дает вам только два семпла за цикл, и, поскольку семплы могут быть где угодно на осциллограмме, они выглядят не очень хорошо. В качестве приблизительного ориентира вам нужно как минимум десять точек на форме волны, чтобы она выглядела как форма волны, что дает максимальную практическую частоту 5,8 кГц. Однако, используя опции Time Magnify вместе с функцией Freeze, вы можете измерять гораздо более высокие частоты.Линии курсора времени и напряжения позволяют узнать значения в любой точке формы сигнала, а при нажатии на кнопку «Сохранить» текущий курсор заменяется фиксированной пунктирной линией, и измерения могут проводиться относительно этого. Осциллограф в действии можно увидеть на рисунке 2.

Рисунок 2: Измерение развертки сигнала

Обратите внимание, что нажатие клавиши S на клавиатуре вызывает дамп экрана дисплея.

Дальнейшее развитие

Есть много способов развить этот проект дальше.Простое обновление потребует наличия второго буфера данных, чтобы вы могли отображать сохраненную форму сигнала для сравнения с текущей действующей. Вы также можете добавить режим сбора данных с более низкой скоростью, чтобы видеть более медленные сигналы. Вы можете пойти другим путем и использовать более быстрый Arduino, чтобы видеть более высокие частоты. Осциллограф имеет связь по переменному току; вы можете добавить опцию связи по постоянному току с переключаемым делителем потенциала и усилителем к входному каскаду, чтобы расширить диапазон измеряемых напряжений. Однако все эти улучшения потребуют изменений в программном обеспечении, чтобы можно было проводить измерения этих параметров с более широким диапазоном.

Завершить проект

Чтобы получить полный код проекта, загрузите бесплатный PDF-файл MagPi, выпуск 71, доступный на веб-сайте MagPi.

Как сделать дома мини-осциллограф с помощью Arduino Nano - Quanta Project

В этом видео я покажу вам, как сделать свой собственный мини-осциллограф в домашних условиях. Сделать это просто и легко. Для создания этого проекта я полагался на сторонний исходный код, ссылка на который приведена ниже.Если у вас есть какие-либо вопросы или предложения, не стесняйтесь комментировать мое видео на YouTube и , пожалуйста, не забудьте поставить лайк и подписаться на мой канал YouTube .

Щелкните здесь, чтобы просмотреть полное руководство и исходный код.

Мой IG: https://www.instagram.com/pm.goharian/

Необходимые компоненты

  • Ардуино Нано
  • SSD1306 OLED-дисплей
  • 1N4148
  • Микровыключатель
  • 104 конденсатор
  • Резисторы: 100 Ом, 12 кОм, 120 кОм, 510 кОм

Что такое осциллограф?

«Осциллограф», ранее называвшийся «осциллографом», неофициально известный как осциллограф или o-scope , CRO (для электронно-лучевого осциллографа) или DSO (для более современного цифрового хранилища). осциллограф), представляет собой тип электронного испытательного прибора, который графически отображает изменяющийся сигнал [напряжения], обычно в виде двухмерного графика одного или нескольких сигналов в зависимости от времени.Другие сигналы (например, звук или вибрация) можно преобразовать в напряжение и отобразить.

Осциллографы

отображают изменение электрического сигнала во времени, с напряжением и временем в качестве осей Y и X, соответственно, в калиброванной шкале. Затем форма волны может быть проанализирована на предмет таких свойств, как амплитуда, частота, время нарастания, временной интервал, искажение и другие. Современные цифровые инструменты могут вычислять и отображать эти свойства напрямую. Первоначально расчет этих значений требовал ручного измерения формы волны по шкале, встроенной в экран прибора.

Посмотреть этот пост в Instagram

Тестирование мой самодельный осциллограф 🤖⚡ دیگه آخرای کار این پروژس چند تا بخش دیگه بهش اضافه کنم تموم میشه, با این قیمتای اسیلوسکوپ این پروژه خیلی به کار میاد (کانال یوتیوب رو فراموش نکنید). . ________________ Youtube канал: ссылка в биографии ________________ Теги: #pmgoharian #pedramgoharian

Сообщение, опубликованное ⚡𝐏𝐞𝐝𝐫𝐚𝐦 𝐆𝐨𝐡𝐚𝐫𝐢𝐚𝐧⚡ (@ pm.goharian) 26 апреля 2019 г. в 6:50 по тихоокеанскому времени

Схема к проекту

Примечание: Убедитесь, что все соединения в вашей цепи точно такие же, как на схемах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *