Съдържание:

Arduino-осцилоскоп: Защо работи: 4 стъпки
Arduino-осцилоскоп: Защо работи: 4 стъпки

Видео: Arduino-осцилоскоп: Защо работи: 4 стъпки

Видео: Arduino-осцилоскоп: Защо работи: 4 стъпки
Видео: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Декември
Anonim
Image
Image

Няколко години назад, когато навлизах в електрониката и изучавах основните принципи. Открих, че обхватът е инструментът, който ви помага в почти всичко. Сега, когато разбрах това, се заех да науча основните принципи на работа на обхват, след няколко месеца си помислих, че един осцилоскоп е приложим на микроконтролер, ако се поставя в учебна точка на перспектива. Защо микроконтролер, тъй като имаше всички необходими неща за изграждането му, като ADC за приемане на сигнал (но без контролен интерфейс), той имаше GPIO портове, които можеха да се използват за много цели, той също има процесор, макар и кротък! (Мислех за arduino).

Започнах с проучване на осцилоскопите arduino, които бяха добри и много добри, но бих искал по -прост код, който е лесен за промяна и разбиране. Точно докато търсех, попаднах на базата на текущия код във форумите на arduino от „vaupell“. Започнах да го променям и коментирам и почиствам нещата, за да стане по -читав. Оригиналният код е от Noriaki Mitsunaga.

Така че нека видим как да настроим хардуера и софтуера и как да го използваме.

Все още не съм започнал да пиша обяснението за кода в уикито на GitHub. ако имате малко свободно време, огледайте се наоколо.

! - Този проект не описва подробно как да се направи осцилоскоп, а по-скоро ви показва как можете да използвате прост микроконтролер, за да подражавате на поведението на реалния осцилоскоп, за да разберете как работи осцилоскопът.

Стъпка 1: Познаване на вашия хардуер

Познаване на вашия хардуер
Познаване на вашия хардуер

Целта на този проект е да даде представа за работата на обхвата. Поради тази причина избрах най -простата и популярна хардуерна платформа arduino. Кодът може да се изпълнява на arduino uno или arduino mega, където последният е предпочитан, защото има повече свободни и достъпни пинове, когато на него е инсталиран дисплей.

Така че в този проект ще използвам arduino mega (2560).

Следващият компонент е дисплеят. Тази настройка използва 2,5 -инчов сензорен щит arduino TFT (идентификатор на драйвера е 0x9341). Това дава възможност за показване на множество канали на екрана, които се различават един от друг.

Това е всичко. Възможностите на този обхват обаче са много ограничени, така че не го натискайте до ръба. Някои специфични неща, за които трябва да се грижите, са;

arduino ADC не може да се справи с напрежения над 5 волта много добре и също така не може да се справи добре с напрежения под 0 волта. Защо, защото е проектиран така.

получаването на данни от множество канали едновременно намалява ефективната честота на дискретизация на един канал, тъй като пробите се вземат алтернативно от множество канали.

честотата на дискретизация е много ниска (за един канал придобиването може да достигне до 10kSps, но при два канала спада до 5kSps/канал). Това може да бъде смекчено чрез задаване на референтната честота на ADC (настройка на прескалар) на по -ниска стойност. Това обаче има свои собствени проблеми с лошата резолюция.

Също така не забравяйте компютър, за да качите кода в arduino.

Стъпка 2: Настройка

Настройвам
Настройвам
Настройвам
Настройвам

Настройката е много проста;

Прикрепете щита на дисплея към Arduino Mega, така че щифтовете за захранване на двете платки да се подравнят.

свържете платката към компютъра с помощта на USB кабел.

Отворете arduino IDE и добавете библиотеката за TFT дисплей SPFD5408 (0x9341), ако още не е налична.

Сега качете кодовия файл от github в Arduino.

GitHub - Arduino -осцилоскоп

Ето го!. Можете да се справите с кода, като зададете канали 8 (ch0) и 15 (ch1) ON или OFF в секцията за настройка на кодовия канал. Можете да промените променливата на курс на стойност от масива на скоростта, за да зададете времето/разделянето на обхвата. Можете да зададете тип задействане на автоматично или единично в секцията за задействане на кода.

Следващата стъпка показва 3-осен акселерометър ADXL335, който се захранва и чете от Arduino-Oscilloscope, както се вижда в първия видеоклип.

Стъпка 3: Пример - ADXL335 Четене на акселерометъра

Пример - ADXL335 Четене на акселерометъра
Пример - ADXL335 Четене на акселерометъра
Пример - ADXL335 Четене на акселерометъра
Пример - ADXL335 Четене на акселерометъра
Пример - ADXL335 Четене на акселерометъра
Пример - ADXL335 Четене на акселерометъра

Захранвайте модула на акселерометъра от 5V DC и GND на платката arduino най -вдясно отгоре и отдолу. Сега свържете изходния щифт на модула adxl335 към щифта A8 на платката arduino, както може да се види на снимките. ако оста x на акселерометъра е насочена надолу, линията с данни на екрана с обхват ще бъде изместена от нула, тъй като модулът adxl ще отчита ускорението поради гравитацията. опитайте да го разклатите в посоката x, както е отбелязано на adxl дъската, шиповете ще се покажат на екрана.

За да научите повече за обхвата и неговото функциониране, вижте GitHub Wiki

Стъпка 4: Принос?

Ако искате да допринесете за wiki документацията, добре дошли сте. Осцилоскопът е фантастично оборудване и мисля, че е добър STEM инструмент !.

В момента работя върху малък преден край с манекен PGA и контрол на офсета и бих добавил контрол за времето/div и може би четене на AC напрежения с ниско напрежение.

Препоръчано: