Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


3775
Елочная гирлянда 2


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

Требования к елочной гирлянде ставились такие:

  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 светодиодов:

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

  Фото устройства:


Файлы:
переходник с 20 контактного jtag на разъем XF2W-1615-1A 
Схемы, прошивки, исходные тексты программ, файлы печатных плат 



Категория: Устройства на микроконтроллерах | Добавил: brys99 (08.12.2011)
Просмотров: 12021 | Теги: гирлянда, Елочная | Рейтинг: 5.0/1


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024