У безкоштовному продовженні статті про мікроконтролер PICAXE https://www.pcrevue.sk/a/IoT-prakticky--prais-tempts-with-the-PICAXE-simple-programmable-in-the-BASIC- language- часто використовується в різних пристроях. Це функції, засновані на таймерах і лічильниках мікроконтролера, які корисні для генерації імпульсів, вимірювання тривалості імпульсу та вимірювання кількості імпульсів, тобто в основному вимірювання частоти

Приклади - у відео

Коротке повторення

Завантажте середовище розробки PICAXE Editor 6 з http://www.picaxe.com/Software, яке дозволяє програмувати мовою, подібною до популярної мови програмування BASIC.

nextech

Підключення кабелю програмування

Ми повторимо команди, які ми використовували в попередньому розділі.

Команди HIGH і LOW встановлюють вихідний рівень. Ви можете використовувати нумерацію PIN 2, або C.2 Команда PAUSE означає затримку на кількість мілісекунд, вказану в параметрі. Коментар може починатися з висловлювання REM, крапки з комою (;) або апострофа (‘). Команда GOTO переходить до відповідної мітки

Також цікаво та легко позначати змінні. PICAXE 08M2 має 28 однобайтових змінних, позначених b0 - b27. Байт-змінні можуть зберігати цілі числа в діапазоні 0 і 255. Вони не можуть використовувати від’ємні числа або дроби, і якщо ви перевищите пороги 0 або 255, вони „переповнюються” без попередження (наприклад, 254 + 3 = 1) (2 - 3 = 255)

Для більших значень можна поєднати байтові змінні в пари, щоб створити 16-бітову змінну з діапазоном 0-65 535. Ці змінні позначені як w0, w1, w2. і є комбінацією байтових змінних

w0 = b1 + b0 w1 = b3 + b2 w2 = b5 + b4 w3 = b7 + b6

w4 = b9 + b8 w5 = b11 + b10 .

Змінні байта b0 та b1 (утворюючи 16-бітове слово w0) також можуть бути використані в окремих бітах, позначених наступним чином:

b0 = bit7: bit6: bit5: bit4: bit3: bit2: bit1: bit0

b1 = біт15: біт14: біт13: біт12: біт11: біт10: біт9: біт8

Новіші мікросхеми від M2 також дозволяють використовувати байтові змінні b2 і b3 (утворюючи 16-бітове слово w1), а біти позначаються bit16 - bit31.

Після скидання програми всі змінні мають значення 0

Шпильки PICAXE 08M2

Розгін чіпів

Спочатку ми пояснимо можливості зміни тактової частоти, тобто розгін та розгін. За замовчуванням встановлена ​​тактова частота становить 4 МГц. Ця частота визначає не тільки швидкість виконання інструкцій, але також функції таймерів та інтерфейсів зв'язку. Використання команди НАСТРОЙКА Ви можете збільшити тактову частоту на мікросхемі PICAXE 08M2 до 8, 16 або 32 МГц або зменшити її до 31 кГц. Для схеми PICAXE 08M2 ви можете використовувати команду SETFREQ з параметрами: k31, k250, k500, m1, m2, m4, m8, m16 і m32. Ви встановлюєте внутрішні тактові частоти 3I кГц, 250 кГц, 500 кГц, 1 МГц, 2 МГц, 4 МГц, 8 МГц, 16 МГц і 32 МГц. У наступному прикладі використовується частота за замовчуванням 4 МГц. Команда PAUSE працюватиме як слід, пауза між спалахами складатиме 1000 мс, тобто 1 секунду. Звичайно, ми встановимо частоту, оскільки вона буде змінюватися в наступних прикладах

Зараз ми спробуємо змінити тактову частоту до 32 МГц, що в 8 разів вище. Світлодіод блиматиме в 8 разів швидше

Здавалося б, для більшості програм буде вигідним встановити максимально високу тактову частоту, наприклад, вже згадані 32 МГц. Однак застосовується просте правило: чим вище тактова частота, тим вище споживання струму. Для порівняння, при частоті 32 МГц сам чіп без підключених пристроїв споживає 2,2 мА. На 31 кГц це майже в 20 разів менше - 0,13 мА

Генерація імпульсів

Команда ВИПУСК дозволяє легко генерувати імпульси. Він має два параметри: номер виводу, на якому генеруються імпульси, і тривалість імпульсу в одиницях 10 мкс. Це значення застосовується при частоті за замовчуванням 4 МГц. При максимальній частоті 32 МГц одиниця виміру, в якій встановлена ​​тривалість імпульсу, логічно в 8 разів коротша, тобто 1,25 мкс. Сформований імпульс протилежний початковому стану на відповідній сосні. Приклад генерує найкоротші можливі імпульси з паузою 100 мс

Вимірювання довжини імпульсу

Команда ПУЛЬСИН вимірює тривалість імпульсу на сосні, визначену за першим параметром. Другий параметр визначає, чи буде вимірюватися імпульс від переднього фронту (1) або від фронту падіння (0) сигналу. Третій параметр - це змінна, в якій зберігається тривалість імпульсу. Це може бути змінна типу байт, що починається з b, або змінна типу слова, що починається на w. Одиниці вимірювання такі ж, як і для функції PULSOUT, тобто за тактовою частотою 4 МГц вона становить 10 мкс. Команда pulsin 2,1, w5 вимірює тривалість імпульсу на PIN 2, починаючи з переднього краю, і зберігає значення в десятках мікросекунд у змінній W5

Вимірювання довжини імпульсу дуже корисно, наприклад, при аналізі сигналу. Типовим прикладом є ШІМ-сигнал для сервомотора, де кут повороту визначається шириною імпульсу. Можливо, вам цікаво, чому це добре, адже коли ви подаєте такий сигнал на сервомотор, він зробить те, що потрібно. Але що, якщо вам потрібно замінити сервопривід на кроковий двигун, наприклад, для досягнення більш високого крутного моменту або більшої точності. Тоді ви можете залишити алгоритм управління незмінним, і в підпрограмі управління двигуном вам потрібно лише перерахувати виміряну довжину імпульсу до кількості кроків, які повинен виконати двигун, щоб його вал обертався на потрібний кут.

Підрахунок пульсу

Команда РАХУВАТИ дозволяє підраховувати імпульси протягом заданого інтервалу часу. Перший параметр - це номер виводу, другий - час у мілісекундах, протягом якого будуть підраховані імпульси, а третій параметр - це змінна, де зберігається кількість імпульсів. Ми рекомендуємо змінну слова. Кількість команд 21000, w5 вимірює кількість імпульсів за 1 секунду, тобто фактично вимірює частоту в Гц. При тактовій частоті 4 МГц імпульси повинні бути довжиною не менше 40 мкс і точно вимірювати частоти приблизно до 10 кГц. Якщо ви збільшите тактову частоту до 32 МГц, ви можете виміряти приблизно до 50 кГц. Використовуйте конструкцію, щоб знайти значення частоти за допомогою налагодження

У наступній частині ми будемо використовувати PICAXE у різних платах-прототипах

Приклад генерації імпульсів

Перші експерименти з чіпом PICAXE, який легко програмується на мові BASIC

На відео показано, як зробити кабель для програмування PICAXE та підключити буквено-цифровий дисплей