РадіоКот :: Ялинкова гірлянда

>>>>


Ялинкова гірлянда

Давно хотілося зробити ялинкову гірлянду на радість дітям. Звичайно Ви можете сказати що зараз є багато різних китайських світяться стрічок з яких можна вибрати щось підходяще, але я серед китайського товарного різноманіття так нічого і не знайшов того що б мені підійшло.

Вимоги до ялинкової гірлянди ставилися такі:

  1. Управління RGB світлодіодами кожним окремо, включаючи управління яскравістю.
  2. Можливість завантаження програм світлових ефектів по USB без перепрошивки контролера.
  3. Можливість емуляції роботи гірлянди на персональному комп'ютері

В результаті вийшов пристрій складається з наступних частин:

  1. Корпус і блок живлення - використовувалося те, що було під рукою, а саме корпус і блок живлення від старого мережевого світча. Блок живлення має на виході два напруги - + 5в по-слабше і +3.3 по-могутніше. Було вирішено використовувати лінію + 5в для живлення процесорів, а лінію +3.3 - для живлення світлодіодів. Якщо у Вас буде джерело живлення тільки + 5в - це не страшно, тому що контролери RGB світлодіодів на ATTiny2313A можуть працювати і від + 5в тільки треба підібрати токоограничивающие резистори для світлодіодів. Я підбирав по току 10мА при напрузі на 0.3В менше ніж напруга живлення світлодіодів.
  2. Контролер гірлянди на STM32F2XX. В архіві зі схемами, програмами та кресленнями плат є два варіанти плати - для 64pin QFP корпусу і для 144pin QFP корпусу. Як бонус ще є креслення плати для STM32F1xx в корпусі 64pin QFP, благо STM32F1 і STM32F2 варіанти відрізняються тільки призначенням двох висновків. У кажестве роз'єму JTAG використовувався роз'єм під плоский кабель XF2W-1615-1A. Плата перехідника на стандартний 20-контактний роз'єм є в файлах додаток до цієї статті.
  3. Макетна плата, на якій встановлені плати контролера гірлянди на STM32F2XX, SPI eeprom (я використовував W25Q16 ємністю 16 Мбіт, Випаяв з якоїсь старої плати, можлива заміна на іншу, тільки доведеться міняти параметри файлової системи і вносити корективи в протокол спілкування з мікросхемою пам'яті ).
  4. Плоский 10-жильний кабель довжиною 3.6 метра з прикріпленими через кожні 20 см роз'ємами IDC-10 для підключення власне плат контролерів RGB світлодіодів.
  5. Контролери RGB світлодіодів (в моєму варіанті 16 штук). Використовується процесор ATTiny2313A. Дозволяє управляти двома RGB світлодіодами. Номер контролера записується за адресою 1 в eeprom. Він не може бути нулем так як нульовий номер контролера використовується для звернення до всіх контролерам відразу. У моєму варіанті з 16-ю контролерами вони мають номери з 1 по 16 відповідно.

Всі схеми намальовані за допомогою KiCad. На схемах плат STM32 я не вказував блокувальні конденсатори в ланцюгах харчування. Вони мають такі номінали: ті які 0402 і 0603 - 0.1uF, ті які 1206 - 2.2 uF. Найбільші - 100uF або 47uF.

Програмування світлових ефектів виконується на мові Java - дивіться папку sergvs201ledc_jvmDebug - там знаходяться всі потрібні файли для компіляції програм.

Коротенько пройдемося по структурі архіву:

- в корені архіву лежать файли друкованих плат.

- в папці kikad - схеми.

- в папці sergvs2010ledc_jvm - емулятор гірлянди для Windows.

- sergmyProgramsARMboard_stm32f207_ledc_java - проект Keil uVision з кодами для прошивки контролера STM32.

- sergmyProgramsAVRRGB_Led_Control - проект AVRStudio для прошивки ATTiny2313.

Спілкування з контролером гірлянди відбувається через віртуальний USB кому порт. Команди які розуміє контролер такі:

- dir - висновок каталогу файлів на SPI eeprom.

- reset - скидання контролерів RGB світлодіодів.

- format - форматування SPI eeprom.

- run program_name arguments - запуск програми на виконання.

- stop - зупинка програми.

- deletefile - видалення файлу з файлової системи SPI eeprom.

Ініціалізація пристрою:

  1. Форматування SPI eeprom командою format.
  2. Завантаження обов'язкових файлів за допомогою утиліти spi_flash_write:

spi_flash_write імя_ком_порта classes / Message.class / binary

spi_flash_write імя_ком_порта classes / Syst.class / binary

spi_flash_write імя_ком_порта Board.class / binary

Файли знаходяться в папці sergvs201ledc_jvmDebug.

За замовчуванням пристрій при старті намагається виконати програму записану в файл main.class. Завантажити інші файли в пристрій можна за допомогою тієї ж програми spi_flash_write.

У файлі main1.java Ви знайдете чотири програми які я використовував для тестів. Також файл ledc_test служить для тестування модулів на ATTiny2313. (Він має один параметр командного рядка - номер пристрою).

Пройдемося коротко по API для роботи з гірляндою:

  1. Клас classes / Syst:

- HeapgetFree - отримання розміру вільної пам'яті.

- GC_Collect - виклик garbage collector.

- delay - затримка в мілісекундах.

  1. Клас classes / Message:

- show - висновок повідомлення в кого порт.

- printf - аналог такої ж команди на мові С за винятком того що всередині цієї функції всі параметри ппреобразуются в рядки так що для будь-якого типу змінних треба вказувати в рядку формату% s.

  1. Клас Board:

- ledc_reset - скидання контролерів RGB світлодіодів.

- ledc_send - команда контролеру RGB світлодіодів. Має сім параметрів - номер контролера (на номер 0 відгукуються відразу все контролери), і значення яркостей R, G, B для першого і другого світлодіода. Значення яскравості можуть бути від 0 до 255.

- random - отримання випадкового числа від 0 до 0xFFFFFFFF.

Повинен попередити, що далеко не всі класи реалізовані у вбудованій java машині. Список класів і список реалізованих функцій ви зможете знайти в исходниках Java машини.

Фото контролера RGB світлодіодів:

Фото контролера RGB світлодіодів:

Фото плати для STM32F2 144pin QFP:

Фото плати для STM32F2 144pin QFP:

Фото пристрою:

Фото пристрою:


файли:
перехідник з 20 контактного jtag на роз'єм XF2W-1615-1A
Схеми, прошивки, вихідні тексти програм, файли друкованих плат


Всі питання в Форум .


Разделы

» Ваз

» Двигатель

» Не заводится

» Неисправности

» Обзор

» Новости


Календарь

«    Август 2017    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Архив

О сайте

Затраты на выполнение норм токсичности автомобилей в США на период до 1974 г.-1975 г произошли существенные изменения. Прежде всего следует отметить изменение характера большинства работ по электромобилям: работы в подавляющем большинстве стали носить чисто утилитарный характер. Большинство созданных в начале 70х годов электромобилей поступили в опытную эксплуатацию. Выпуск электромобилей в размере нескольких десятков штук стал обычным не только для Англии, но и для США, ФРГ, Франции.

ПОПУЛЯРНОЕ

РЕКЛАМА

www.school4mama.ru © 2016. Запчасти для автомобилей Шкода