Мини осциллограф Arduino на LCD 5110

Joiner
Offline
Зарегистрирован: 04.09.2014

Jtest пишет:

dtvims, Я с кнопками предполагаю проблему сдвига сигнала и его обрезку, а не быстро/медлено. Хотя завтра отпаяю кнопки, проверю, что-либо изменится или нет.

Joiner, у Вас вообще другой проект, насколько я понимаю. Мы сейчас обсуждаем вот этот проект: http://www.semifluid.com/2013/05/28/arduino-fio-lcd-oscilloscope/ Можете привести ссылку или скеч?  Может чего полезного из него извлеку. А какие характеристики этого осциллографа?

А по вашей ссылке используется экран 128х128. Нашел на ебее такой.  Называется LCD Nokia5110 128x128. Если его купить, то проект повторится без проблем....мне так кажется.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Вот нарыл проектик под 5110 http://fritzing.org/projects/arduino-logic-tester-oscilloscope

 

Код 

/* 
 ###########################################################
 Title:       Arduino Oscilloscope
 Purpose:     Use a Nokia 3310 GLCD screen with the arduino
 Created by:  Fileark. see Fileark.com for more info.
 Note:        Please reuse, repurpose, and redistribute this code.
 Note:        This code uses the Adafruit PDC8544 LCD library  
 ###########################################################
 */
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// pin 2 - Serial clock out (SCLK)
// pin 3 - Serial data out (DIN)
// pin 4 - Data/Command select (D/C)
// pin 5 - LCD chip select (CS)
// pin 6 - LCD reset (RST)
Adafruit_PCD8544 nokia = Adafruit_PCD8544(2, 3, 4, 5, 6);

// a bitmap of a 16x16 fruit icon
static unsigned char __attribute__ ((progmem)) logo16_glcd_bmp[]={
  0x06, 0x0D, 0x29, 0x22, 0x66, 0x24, 0x00, 0x01, 0x87, 0x00, 0x27, 0x6C, 0x20, 0x23, 0x06, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
#define LOGO16_GLCD_HEIGHT 16 
#define LOGO16_GLCD_WIDTH  16 

int channelAI = A1;      // select the input pin for the Oscilioscope
int scaleYAI = A2;       // select the input pin for the Y (horizontal) potentiometer
int scaleXAI = A3;       // select the input pin for the X (Vertical) potentiometer
int offsetXAI = A4;       // select the input pin for the X (Vertical) potentiometer

int delayVariable = 0;   // define a variable for the Y scale / delay
int xVariable = 0;       // define a variable for the x scale 
int yCtr = 0;            // define a variable for the y counter used to collect y position into array
int posy = 0;            // define a variable for the y position of the dot 
int myArray[85];         // define an array to hold the data coming in 
int offsetX = 0;
int fiveV = 1023;


void setup(void) 
{

  nokia.begin();
  nokia.setContrast(50);

  // show splashscreen
  nokia.display();
  delay(500);
  nokia.clearDisplay();
}

void loop() 
{  
  delayVariable = analogRead(scaleYAI);
  delayVariable = (delayVariable);
  delayVariable = map (delayVariable, 0, 1023, 0, 10);
  xVariable = analogRead(scaleXAI);
  xVariable = map (xVariable, 0, 1023, 0, 100); 
  offsetX = analogRead(offsetXAI);
  offsetX = map(offsetX, 0, 1023, -100, 100);

  for(yCtr = 0; yCtr < 43; yCtr += 1)   // the for loop runs from 0 and < 85, it fills the array with 84 records
  {                                 
    posy = analogRead(channelAI);       // read the value from the sensor:
    posy = map (posy, 0, 1023, 1023, 0); 
    myArray[yCtr] = (posy/xVariable);   // scale the value based on the x scale potentiometer      
    delay (delayVariable);           // scale the y collection of data using the delay from the y potentiometer   
  }

  yCtr == 0;                           // set the counter to zero so we can use it again
  nokia.clearDisplay();                       // clear the LCD screen so we can draw new pixels

  for(yCtr = 0; yCtr < 43; yCtr += 1)  // for loop runs 84 times
  {
    nokia.drawLine((yCtr*2)-2, myArray[yCtr-1]-offsetX, yCtr*2, myArray[yCtr]-offsetX, BLACK); // draw the 84 pixels on the screen

  }
  yCtr == 0;
  
  for(yCtr = 0; yCtr < 85; yCtr += 3){
    nokia.drawPixel(yCtr, (fiveV/xVariable)-offsetX, BLACK); // Draw 5V Line
    nokia.drawPixel(yCtr, (fiveV/xVariable/2)-offsetX, BLACK); // Draw 2,5V Line
    nokia.drawPixel(yCtr, 0-offsetX, BLACK); // Draw 0V Line
  }
  
  nokia.display();                     // show the changes to the buffer
  yCtr == 0;                           // set the counter to zero so we can use it again

} 


 

Jtest
Offline
Зарегистрирован: 02.06.2015

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

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Камень слабоват для более серьезного имхо..

Joiner
Offline
Зарегистрирован: 04.09.2014

fly245 пишет:

Камень слабоват для более серьезного имхо..

Сегодня наткнулся в инете на статейку импортную про осцилоскопы. Чувак пишет, что ардуинка может максимум 100 выборок в секунду. а какой-то микроконтроллер на плате размером, как ардуинка мини (не помно что там за мк), может аж 2000 раз в секунду.

Разница ощутима.

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

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Joiner пишет:

то микроконтроллер на плате размером, как ардуинка мини (не помно что там за мк), может аж 2000 раз в секунду.

Явно какой-нибудь на ядре ARM Cortex-M, например тот же STM32. Больше флеша, больше оперативки, более скоростное ядро и переферия. AVR слабоваты для осциллоскопа.

Joiner
Offline
Зарегистрирован: 04.09.2014

Jeka_M пишет:

Явно какой-нибудь на ядре ARM Cortex-M, например тот же STM32. Больше флеша, больше оперативки, более скоростное ядро и переферия. AVR слабоваты для осциллоскопа.

А может я не так понял содержание. Так как не являюсь знатоком английского. Если кто-то сможет понять о чем там речь, могу дать ссылку.

Там про Teensy 3.0 (mk 20dx128).

Здесь про нее. Цена.....однако

http://amperka.ru/product/teensy-31

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Я почти угадал :) 

Как и говорил: 32-битный МК на ядре ARM Cortex-M. Только производитель не STM32, а Cypress.

ng0d
Offline
Зарегистрирован: 04.05.2013

Интересовался я некоторое время данной темой, но пришол к выводу, что ничего толкового не получиться. Лучший наверно дешёвый осциллограф своими руками это miniscope на STM32, до 500 кбит. Но для себя решил, что лучше заказать вот такой набор всего за 22 доллара.

dtvims
Offline
Зарегистрирован: 26.11.2012

Я тоже смотрел на такой. Но решил чуть доплатить и взять USBee AX Pro. Сделанный как раз на Cypress. Частота выборки выше всех аналогов. ПО понимает (распознает) различные интерфейсы.

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

dtvims
Offline
Зарегистрирован: 26.11.2012

Joiner, первый скетч делает выборку если выключена первая кнопка (саму кнопку возможно никто и не ставил, судя по видео, чисто джамперами), и обновляет экран, если включена вторая кнопка, т.е. можно как бы заморозить временно картинку, отключив обновление экрана. Второй скетч аналогичный, только оптимизирован с точки зрения функционального программирования и под другой экран, очевидно ILI9340. Результат АЦП режется с 10 до 6-ти бит. Имеет преимущество с точки зрения простоты, не имеет статистических данных и, вроде как, не может подстраиваться под частоту сигнала, только подстраивается под начало волны.

Joiner
Offline
Зарегистрирован: 04.09.2014

dtvims пишет:

Joiner, первый скетч делает выборку если выключена первая кнопка (саму кнопку возможно никто и не ставил, судя по видео, чисто джамперами), и обновляет экран, если включена вторая кнопка, т.е. можно как бы заморозить временно картинку, отключив обновление экрана. Второй скетч аналогичный, только оптимизирован с точки зрения функционального программирования и под другой экран, очевидно ILI9340. Результат АЦП режется с 10 до 6-ти бит. Имеет преимущество с точки зрения простоты, не имеет статистических данных и, вроде как, не может подстраиваться под частоту сигнала, только подстраивается под начало волны.

Спасибо. Буду разбирать. Игрушка бесполезная :)

Гораздо разумнее за 1400р купить набор обозначенный выше. Там хоть до двухсот  килогерц.

Но подумал..и решил не покупать.

dtvims
Offline
Зарегистрирован: 26.11.2012

за 1400р - это тоже игрушка. Если хотите разумно потратить деньги, то берите сразу нормальный анализатор: http://we.easyelectronics.ru/hexus/klon-usbee-ax-pro-i-dx-pro-loganalizatoroscill-za-3899-i-8239-s-kuponom-iz-kitaya.html

Joiner
Offline
Зарегистрирован: 04.09.2014

dtvims пишет:

за 1400р - это тоже игрушка. Если хотите разумно потратить деньги, то берите сразу нормальный анализатор: http://we.easyelectronics.ru/hexus/klon-usbee-ax-pro-i-dx-pro-loganalizatoroscill-za-3899-i-8239-s-kuponom-iz-kitaya.html

Спасибо. Подумаем.

ng0d
Offline
Зарегистрирован: 04.05.2013

dtvims пишет:

за 1400р - это тоже игрушка. Если хотите разумно потратить деньги, то берите сразу нормальный анализатор: http://we.easyelectronics.ru/hexus/klon-usbee-ax-pro-i-dx-pro-loganalizatoroscill-za-3899-i-8239-s-kuponom-iz-kitaya.html

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

dtvims
Offline
Зарегистрирован: 26.11.2012

ng0d, т.е. Вы утверждаете, что ручная поделка в данной теме лучше USB осциллографа? Не путайте устройства за 1000$ с устройствами за 30$. Набор за 22$ ничем не лучше поделки топика - тогда лучше сделать такое устройство самостоятельно. А некоторые вообще успешно используют возможности звуковой карты как осциллографа. Работать с высоковольтными схемами - это не все возможности осциллографа. Сами же утверждаете, что даже дорогие осциллографы не имееют гальванической развязки и указываете это на необходимость. Что касается usb осциллографа, то подключите его к ноутбуку и оппа!

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Если надо именно с таким подходом,то качаем программу осциллографа и ставим на Android  устройство сигнал подаем на разъем наушников через резисторный делитель.

Joiner
Offline
Зарегистрирован: 04.09.2014

fly245 пишет:

Если надо именно с таким подходом,то качаем программу осциллографа и ставим на Android  устройство сигнал подаем на разъем наушников через резисторный делитель.

Посмотрел в плеймаркете....интересненько. Кто-нибудь делал такое?

Мне понравилось с коробочки по блютуз на планшет.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

По зубу не делал,а так пробовал-работает

Joiner
Offline
Зарегистрирован: 04.09.2014

fly245 пишет:

По зубу не делал,а так пробовал-работает

Какой диапазон получается? А фотки экрана нет?

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

В прошлом году пробовал-чисто ради эксперимента.В ютюбе ролик увидел и попробовал

Joiner
Offline
Зарегистрирован: 04.09.2014

fly245 пишет:

В прошлом году пробовал-чисто ради эксперимента.В ютюбе ролик увидел и попробовал

Понял, спасибо.

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

http://oscill.com/

Я себе такой купил, правда с нынешним курсом бакса... Но я покупал ещё до всей этой свистопляски.
Хотя за такую цену уже Холтек двулучевой можно посмотреть.

Joiner
Offline
Зарегистрирован: 04.09.2014

Gres пишет:
http://oscill.com/ Я себе такой купил, правда с нынешним курсом бакса... Но я покупал ещё до всей этой свистопляски. Хотя за такую цену уже Холтек двулучевой можно посмотреть.

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

P.S. Посмотрел Хантек двухканальный USB. 4400р на ебее.... Пожалуй самый лучший вариант.

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

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

Ganster41
Offline
Зарегистрирован: 03.11.2014

К слову об STM32, нагуглился такой вот "антикризисный" проектик. Аж руки зачесались попробовать соорудить)

Joiner
Offline
Зарегистрирован: 04.09.2014

Ganster41 пишет:

К слову об STM32, нагуглился такой вот "антикризисный" проектик. Аж руки зачесались попробовать соорудить)

 

Спасибо. Почитаем. На первый взгляд смотрится неплохо.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013
areht
Offline
Зарегистрирован: 14.03.2015

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

Joiner
Offline
Зарегистрирован: 04.09.2014

areht пишет:

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

Границы "что валяется на столе" и "выбор нормального осцилографа" сильно размыты.

Например, для меня может быть какой-то осцилограф вполне нормальным, а кто-то скажет - "Ну и говно!"

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

" В теме смешивать..."  Вроде бы ни чего и не смешивается. Пока в теме остановка, просто обсуждаем - делать или купить.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Ganster41 пишет:

К слову об STM32, нагуглился такой вот "антикризисный" проектик. Аж руки зачесались попробовать соорудить)

Вроде смотриться не плохо,железо тоже не дорогое.Экранчик имеется в запасе, а вот платку не прикупил на али-что-то постеснялся.Вот бы пернести его на STM DISCOVERY

dtvims
Offline
Зарегистрирован: 26.11.2012

Тут еще присутствует элемент: из чего сделан готовый или на чем его лучше делать, используя опыт готовых.

Например, на мой взгляд контроллеры AVR и простые серии STM32, вроде STM32F103, негодятся для приличного проекта осциллографа, ввиду того что они имеют, или медленные, или "шумные" АЦП. Но тогда надо брать, или внешний АЦП, или более навороченый контроллер, в качестве примера которого я привел вариант USBee, который, кстати, оригинальный (Не китайский) стоит весьма не дешего.

areht
Offline
Зарегистрирован: 14.03.2015

Joiner пишет:

Границы "что валяется на столе" и "выбор нормального осцилографа" сильно размыты.

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

 

Для самосбора нужно наличие свободного времени, нежелание тратить деньги(больше пары баксов), ждать месяц. И быть готовым к тому, что на выходе будет говно.

Собирать хороший можно, но зачем, если для этого есть китайцы? В общем, совсем разные кейсы.

Joiner
Offline
Зарегистрирован: 04.09.2014

fly245 пишет:

Ganster41 пишет:

К слову об STM32, нагуглился такой вот "антикризисный" проектик. Аж руки зачесались попробовать соорудить)

......,железо тоже не дорогое.Экранчик .....

Я вот посчитал...где-то больше пяти штучек выходит. Да еще и сделать надо. А Hantek на 2 канала четыре с половиной стоит, да еще и вывод на большой экран (на ноут).

Ganster41
Offline
Зарегистрирован: 03.11.2014

Joiner пишет:

Я вот посчитал...где-то больше пяти штучек выходит.

Сколько, простите? Плата эта на ebay стоит до 4$, экран до 5$. Остальное куда?

Joiner
Offline
Зарегистрирован: 04.09.2014

Ganster41 пишет:

Joiner пишет:

Я вот посчитал...где-то больше пяти штучек выходит.

Сколько, простите? Плата эта на ebay стоит до 4$, экран до 5$. Остальное куда?

Я вот это нашел http://www.ebay.com/itm/Leaf-Maple-Cortex-M3-72-MHz-Input3-0-12V-39Digital-I-O-pins-16Analog-Input-pins-/291446270290?hash=item43db8d2952

http://www.ebay.com/itm/3-3V-240x320-2-4-SPI-TFT-LCD-Touch-Panel-Serial-Port-Module-with-PBC-ILI9341-/311058563993?hash=item486c890399

Поправьте меня, если я не так понял.

Ganster41
Offline
Зарегистрирован: 03.11.2014

Платы с ARM'кой достаточно такойЭкранчики тоже есть подешевле.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

ШТА!? Отладочная платка на STM32F103RB за 64 бакса!!? 0_о

Вот вам платка на этом же МК за ~10$ (1, 2, 3, 4)

На более продвинутом STM32F103VE за ~11$ - 12$ (1, 2, 3, 4)

Похожий экранчик, только без тача и на 2.2" за $4,75

UPD: Только эти экранчики работают через SPI (последовательный интерфейс). Хватит ли скорости отрисовки для осциллографа? Быстрее будет экранчик, который работает через параллельный интерфейс. Особенно, если замутить через FSMC (1, 2).

Joiner
Offline
Зарегистрирован: 04.09.2014

Значит я не умею искать :)

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

Спасибо.

Joiner
Offline
Зарегистрирован: 04.09.2014

Вчера приехал из деревни. В ходе поездки стал счастливым обладателем осцилографа. Подарил один хороший человек.

Вот это чудо

Теперь его нужно немножко причесать, емкости, возможно, перепаять.

Думаю, вопрос осцилоскопа на ардуино у меня отпал.

Сегодня поигрался с осцилографом. Загрузил в ардуинку пример под названием Fade, подключил к 9 пину осцилограф. Вот что он мне показал (извините за качество видео)  http://www.youtube.com/watch?v=eGii0t7j2Zo

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Вот себе для работы собрал.

Пользовался пользовался, смотрю все выкладывают.

Вот и мой Пультоскоп!)

https://youtu.be/OuyTVQXz458

 

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

bodriy2014 пишет:

Вот себе для работы собрал.

Пользовался пользовался, смотрю все выкладывают.

Вот и мой Пультоскоп!)

 

Планируете ли схему и исходники в открытый доступ вылоить?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

fly245 пишет:
Планируете ли схему и исходники в открытый доступ вылоить?

Конечно планирую. И в видео это так и сказал.

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

Для того чтоб этот проэкт стал комерческий не хватает как минимум еще одного МК или ЧАП чтоб занимался чисто обработкой сигнала хотябы до 10МГц.

Ведь не у всех такие низкие требования как у меня по частоте.

 

Joiner
Offline
Зарегистрирован: 04.09.2014

bodriy2014 пишет:

fly245 пишет:
Планируете ли схему и исходники в открытый доступ вылоить?

Конечно планирую. И в видео это так и сказал.

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

Для того чтоб этот проэкт стал комерческий не хватает как минимум еще одного МК или ЧАП чтоб занимался чисто обработкой сигнала хотябы до 10МГц.

Ведь не у всех такие низкие требования как у меня по частоте.

 

Обязательно выкладывайте. Классная штука получилась! Хочу себе такой же.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Joiner пишет:

Обязательно выкладывайте. Классная штука получилась! Хочу себе такой же.

Ок.

Оформлю и все выложу.

Жаль что даже добавив еще один МК и АЧП даже не приблизиться к советским моделям прошлого века))

Максимум китайские DSO можно переплюнуть.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Возможно и появятся-просто нет стимула-проще же в китае купить..

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Выкладываю наработки.

Успехов в сборке!

Скетч, схема, фото сборки и описание здесь. http://srukami.inf.ua/pultoscop_v1_1.html

У кого будут замечания прошу не пишите просто "быдлокод" а ткните что можно оптимизировать.

Тогда ваша критика будет конструктивной и воспринята с уважением!

Jtest
Offline
Зарегистрирован: 02.06.2015

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

Кстати, какой преобразователь использьзовался, чтобы поднять напряжение с аккумулятора до 5в?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

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

Кстати, какой преобразователь использьзовался, чтобы поднять напряжение с аккумулятора до 5в?

Обычно делаю их сам чтоб дешевле и не ждать доставки с китая.

Но счас появилось много готовых дешевле "грибов" как говорится. меньше доллара.

Ставил такой http://aukro.ua/dc-povyshayushchij-preobrazovatel-0-9v-5v-i5644641722.html

УСБ конектор выпаял чтоб не мешал.

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, спасибо, я понял. У меня имеется таких несколько штук. Раньше собирал на 34063, а сейчас тоже, в некоторых случаях, ставлю готовые.