Как сделать из меандра пилу

Обновлено: 08.07.2024

Илья Крылов

😏

Vasily, чото не вкатила она просто она какая-то грязная. для нойза наверное. а мне как-то ближе чистая пила без артефактов.

Илья Крылов

Дима Хейткор


Дима Хейткор ответил Илье

Дима Хейткор


Дима Хейткор ответил Илье

Самое простое, что можно сделать:
— Добавить диод анодом к коллектору Q1, катодом к базе Q2
— С коллектора на базу Q2 кинуть кондер по вкусу(470p-2n где-то)
— Уменьшить в коллекторе Q2 резистор до примерно 4.7К
Еще можно уменьшить R2 до 51К и придется поменять номиналы в темброблоке, чтобы скомпенсировать изменения

scipy

Меня тут немного покритиковали за мою предыдущую статью. Я сделал генератор псевдослучайных чисел в ПЛИС платы Марсоход3бис и сказал, что мол визуально шумит - значит работает. Визуально распределение равномерное - значит - работает.

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

Кто не знает, что такое спектр, пожалуй дам ссылку на свою же очень давнюю статью.

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

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

SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering.

Чтобы не мучаться с поиском и установкой всяких питоновских библиотек типа SciPy рекомендую устанавливать не чистый питон, а питон вместе со всеми этими пакетами: я использую WinPython.

Программа для рисования исходного сигнала и его амплитудного спектра вот:

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

Чтобы убедиться, что программа рисования спектра правильно работает и все правильно рисует я дополнительно написал программу на C/C++, которая создает три двоичных файла с выборками для сигнала синусоиды, пилы и прямоугольных импульсов. Все три файла длиной 1024 байта. Вот программа, создающая тестовые файлы:

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

Итак, после запуска сишной программы у меня получились три тестовых файла samples_sin.bin, samples_saw.bin, samples_imp.bin. Посмотрим, как их отрисовывает питоновская программа:

sin

Видна одна четкая спектральная линия на частоте 32Гц. Так и должна быть, ведь в тестовом сигнале 1024 выборки на одну секунду как раз 32 периода синусоиды.

Посмотрим на прямогольные импульсы, меандр:

imp

В тестовом периоде за одну секунду 8 импульсов и поэтому первая гармоника 8Гц. Потом видны, как и положено, нечетные третья гармоника 24Гц и пятая гармоника 40Гц.. Ну и так далее.

saw

Шестнадцать импульсов пилы за тестовый период в одну секунду. Первая гармоника 16Гц и потом идут четные гармоники 32Гц, 48Гц и так далее.. Похоже на правду.

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

Я немного модифицировал программу приема случайных чисел из платы Марсоход3бис. Теперь программа не только принимает и показывает распределение чисел, но и имеет возможность записи выборок в файл.

show rnd

В программе появилась кнопка - если ее нажать, то 1024 байт из псевдослучайной последовательности последовательности будут записаны в файл samples_rnd.bin.

Полученный файл можно передать на отрисовку питоновской программе.

Что получается? Вот что:

random

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

Амплидуда низкочастотных составляющих как-то странно ниже - возможно это признак того, что тестовый интервал в мои 1024 выборки плохо склеивается? Вот честно затрудняюсь сказать..

Ну вот такой получился результат.

Все программы в виде исходников, а так же тестовые сигналы в виде двоичных файлов можно взять здесь:

Генератор сигналов на SigmaDSP, Генератор синуса, меандра, пилы и треугольника

При проведении испытаний, исследований и в тестировании работы радиоэлектронных схем работающих в акустике необходимы источники сигналов низкой частоты самых разнообразных частот и форм. С помощью модуля RDC2-0027 и любого контроллера Arduino можно легко построить генератор сигналов низкой частоты очень высокого качества. Например, синусоидальный сигнал будет искажен всего на 0,007% во всем диапазоне звуковых частот.
Давайте построим генератор сразу четырёх сигналов: синус, меандр, треугольник и пила.
Для постройки генератора соберем схему.

Схема

В схеме используются: RDC2-0027 v1 или v2 - модуль цифровой обработки звука на SigmaDSP ADAU1701, Мелисса – клон Arduino Mini, четыре семисегментных светодиодных дисплея RDC1-LD, четыре потенциометра на 10кОм и четыре кнопки.
RDC2-0027 – будет источником НЧ, ардуино управляет частотой сигналов, включает/выключает сигналы одной из четырёх форм в любой комбинации и выводит значение частоты на дисплей. Форму сигналов выбираем кнопками SW1-SW3, а частоту сигнала устанавливаем потенциометрами RV1-RV3.
Перед сборкой схемы необходимо будет в SigmaStudio собрать проект из четырёх генераторов, и загрузить сгенерированный .hex файл в EEPROM RDC2-0027. Сделать это можно с помощью USB программатора FLASH и EEPROM памяти RDC2-0026 или с помощью Arduino. Подробные инструкции найдёте в разделе Цифровой звук.

Проект четырёх генераторов SigmaStudio

SigmaStudio проект

Затем загружаем в Arduino скетч ADAU1701_Gen_LED_Dis.
Для понимания, откуда в скетче взяты данные посмотрите скрин IDE Arduino с загруженным скетчем генераторов. Строчки отвечающие за включение и частоту синуса подчеркнуты цветными линиями. В предыдущем рисунке те же данные в SigmaStudio подчеркнуты теми же цветами.

Arduino скетч

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

Это открытый проект! Лицензия, под которой он распространяется – Creative Commons - Attribution - Share Alike license.


Отправляясь в дальнюю дорогу, на рыбалку с ночёвкой, охоту, или просто отдых, многие рыбаки, охотники и туристы грузят в багаж автомобиля небольшую бензопилу. Чаще всего это маленькая сучкорезка, чтоб напилить сухарника на запас дров для костра. А что же делать любителям пешего туризма, на дальние расстояния? Бензопилу в рюкзак не положишь, пусть даже и небольшую — она просто вытеснит все остальные, необходимые в пешем походе, принадлежности. Да и перспектива тащить лишний вес, пусть и нужной в походе вещи, особого оптимизма не вызывает. Конечно, в рюкзаке всегда найдётся место для небольшого топорика, но бывают моменты, когда нужна именно пила. Например, отпилить отрезок толстого бревна, которое будет гореть всю ночь. Сухой, смолистый ствол палого дерева хвойных пород, необычайно твёрд, и маленьким топориком его можно тюкать всю ночь. Никакой костёр не понадобится! В этом случае нас очень выручит цепочка от этой самой бензопилы, из которой мы и сделаем карманную цепную пилу. С её помощью можно довольно легко и быстро перепилить ствол диаметром до 20 сантиметров. Изготовить такую пилу — дело получаса. У меня, среди прочего барахла в сарае, валялась порванная цепь от бензопилы, из которой я и сделал карманную цепную пилу.


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

Понадобится

  • Цепочка от бензопилы (желательно старая, уже разработанная).
  • Наждачный станок.
  • Напильник (круглый, тонкий, для заточки зубьев).
  • Толстые металлические кольца (от связки ключей, или от брелока) 2 шт.
  • Олово и флюс.
  • Газовую горелку или мощную зажигалку.
  • Пара звеньев от не слишком толстой цепи (как на фото).
  • Масло машинное.

Изготовление цепной карманной пилы:

Сначала избавим цепь от всего лишнего и торчащего. Кроме пилящих зубьев, разумеется.



При помощи наждачного станка, стачиваем или отпиливаем все выступы, зубья для звёздочки и шины, и ограничители, которые расположены сразу за пильными зубьями. Получиться вот такая цепь:


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



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


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



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


Соединяем металлическое кольцо и конец цепи расширенным звеном. Должно получиться вот так:


Далее займёмся рукоятками. Тут я сначала немного не угадал с материалом для рукояток; отрезал 16-ти миллиметровые металлопластиковые трубки в ширину своей пятерни.



Почему не угадал? Потому, что не учёл, что зимой, на морозе, пластик будет выскальзывать из шерстяных варежек, а в перчатках работать холодно. Так что лучше использовать вместо рукояток срезанные там же, на месте, шершавые ветви подходящей толщины. Хотя тут дело каждого своё – лично я (как видно на видео) прекрасно обошёлся только металлическими кольцами, прикреплёнными к концам пильной цепи, когда отправил постоянно выскальзывающие трубки в костёр… итак, после того, как мы соединили все части пильной цепи, надо спаять замкнутые концы металлических колец и звеньев, на всякий случай. Для пущей надёжности, так сказать. Металлические кольца паяльником прогревать слишком долго, потому, я спаял их мощной зажигалкой – просто подчистил спаиваемую поверхность металла наждачной бумагой, смазал флюсом, прогрел зажигалкой и нанёс олово. Осталось только смазать пильную цепочку машинным маслом.


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


Если же понадобится спилить что по серьёзнее – срезать пару веток для рукоятей никогда не поздно. С такой пилой можно легко напилить дрова впрок, чтобы потом не экономя поддерживать огонь для обогрева и готовки.



Смотрите видео

Читайте также: