Skip to content

sergey12malyshev/MIDItesla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDItesla

MIDI Tesla Coil Controller

Программно-аппаратный проект музыкальной катушки Тесла построенной по топологии SSTC полумост. Состоит из непосредсвенно катушки Тесла, MIDI-контроллера состоящего из прерывателя bsvi на Atmega8 и микрокомпьютера Raspberry Pi 3B генерирующего MIDI мелодии.

Hardware-software project of a musical Tesla coil built on the SSTC half-bridge topology. It consists of a Tesla coil itself, a MIDI controller consisting of a bsvi interrupter on an Atmega8 and a Raspberry Pi 3B microcomputer that generates MIDI melodies.

Программная реализация (Software)

Представляет собой python-скрипты выполняющиеся на Raspberry Pi B3:

  • MainMidi.py - python скрипт генерирующий MIDI последовательности в serial-порт raspberry pi. Осуществляет переключение мелодий путём опроса кнопки.
  • lcd1602.py - python скрипт осуществляющий вывод информации о состоянии raspberry на LCD экран 1602 (в проекте опционален).
  • runScripts.sh - исполняемый bash скрипт необходим для запуска скриптов MainMidi.py и lcd1602notButton.py в скрытом режиме при старте системы. Запуск скрипта runScripts.sh прописан в системном файле crontab. Для открытия файла необходимо набрать:
crontab -e

В файле добавить запись:

@reboot /home/pi/Desktop/runScripts.sh

Второй вариант запуска (вместо runScripts.sh) В crontab файле добавить запись:

@reboot python3 /home/pi/Desktop/MainMidi.py &
@reboot python3 /home/pi/Desktop/lcd1602.py &

Аппаратная реализация (Hardware)

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

Cхема электрическая принципиальная трансформатора Тесла(приведена в директории shemes):

Схема подключения MIDI OUT и схема подключения LCD 1602:

Создание MIDI-мелодий (Creating MIDI tunes)

Написание MIDI-мелодий происходит непосредственно в файле MainMidi.py используя функцию playNote(note, timeOn, timeOff), где note - номер ноты от 36 до 71; timeOn - время звучания в секундах; timeOff - время паузы в секундах (нет звучания). Соотношение нота-номер и нота-время приведено на рисунке:

Доступные мелодии:

  • Gershon Kingsley - Popcorn
  • Super Mario Song
  • Mortal Kombat Theme Song
  • Valces Dogs melody
  • Star Wars - The Imperial March
  • Mission impossible theme
  • The Prodigy - Omen

Видео работы (Demo video of work)

https://www.youtube.com/shorts/8kgel5WYpHc

https://youtu.be/iuJQ5y0yN18

Полезная информация (Helpful information)

Code style

PEP8

Удалённое управление (Remote control)

VNC Viewer: http://wiki.amperka.ru/rpi:installation:vnc

Для автоматического запуска VNC запустить скрипт runVNC.sh

Параметры резонансного трансформатора

Емкость тороида: 6 пФ

Индуктивность первичной обмотки: 2.94 мкГн

Индуктивность вторичной обмотки: 32901 мкГн

Количество витков вторичной обмотки: 840

Емкость вторичной обмотки: 5.8 пФ

Общая емкость вторичного контура: 11.8 пФ

Резонансная частота катушки тесла: 255.4 кГц

Доп. информация для искушенных:

Длина волны: 1565 м

Длина провода вторичной обмотки (фактическая): 290 м

Длина провода 1/4 длины волны (расчетная): 391.25 м

Процент совпадения фактической и расчетной длин: 74.1 %

Сопротивление первичной обмотки: xL = 2 * ПИ * F * L = 2ПИ * 255.4 кГц * 2.94 мкГн = 4,73 Ом

Ток первичной обмотки: Ipeack = U/xL = (310 В/2)/4,73 Ом = 32,8 А (выбрал ключи W45NM60 - 45 А)

TODO

Переработать проект под чтение готовых файлов .mid