====== 4-х канальный DMX512 приемник на контроллере PIC ======
{{ :zheleznaja_chast:pcb805b_info.jpg?300|}} В этой статье будет описано как сделать приемник [[:wiki:dmx_512|DMX]] 512 на микроконтроллере **PIC** а именно на **PIC16F1823**.
Схема работы устройства практически ничем не отличается от других устройств на контроллерах приведенных на нашем [[zheleznaja_chast:dmx_512_priemnik_svoimi_rukami|сайте]].
Устройство работает на полевых транзисторах **MOSFET**((MOSFET – это сокращение от двух английских словосочетаний: Metal-Oxide-Semiconductor (металл – окисел – полупроводник) и Field-Effect-Transistors (транзистор, управляемый электрическим полем). Поэтому MOSFET – это не что иное, как обычный МОП-транзистор.)), открывает транзисторы ШИМ от контроллера, ничего сверхестественного как и в других схемах здесь нет. __Устройство может работать на любом заданном адресе в диапазоне адресов 512, и использовать 4 канала управления.__ Транзисторы могут управлять нагрузкой светодиодных ламп или сервомоторов или чего пожелаете по шагу диммирования равному 255 или по цифровому включение/выключение канала.
~~DISCUSSION~~
===== Возможности =====
* 4 канала с нижней стороны, с открытым стоком "N'-канальные МОСФЕТ-транзисторы обеспечивают до 3 ампер на канал
* Рабочий номинал номинал токов от **1 мА до 3 А**
* Диапазон напряжения канала от **3 до 36** вольт
Выходы могут управлять LED модулями, LED лентами, лампами низкого напряжения до 35 Вт.
* Два выходных режима работы:
* **8 бит ШИМ режим с периодом 5 мс (200 Гц).**
* цифровой вкл / выкл выход.
* Режимы индивидуально настраиваются для каждого выхода
* Четыре независимых канала управления, которые могут управляться с **1 адреса.**
* Устройство может запоминать предыдущие значения принятого по [[:wiki:dmx_512|DMX]] сигнала и записывать ее в энергозависимую память **EEPROM** на котроллере, а также возможна настройка по выключению всех выходов если не получено никаких данных.
* Вся конфигурация адреса и каналов хранится в **EEPROM**((EEPROM - энергонезависимая память устройства.)), поэтому можно обойтись без **dip switch**((DIP-переключатель — это набор из 8 маленьких отдельных переключателей, собранных в одном компоненте. )) переключателей и всевозможных джамперов.Прошивка использует сохраненные настройки из **EEPROM**((EEPROM - энергонезависимая память устройства.)), если переключатель DIP((DIP-переключатель — это набор из 8 маленьких отдельных переключателей, собранных в одном компоненте. )) не обнаружен.
* Кроме того поставив перемычку, можно настроить адрес канала через значение на 1 адресе [[:wiki:dmx_512|DMX]]. Например ставим на 1 адрес значение 144, убираем перемычку и устройство после перезагрузки поставит адрес 144.
===== Схема =====
{{ :zheleznaja_chast:805bschematic.jpg?600 |}}
===== Схема наложения компонентов на плату =====
{{ :zheleznaja_chast:pcb805boverlay.jpg?600 |}}
===== Готовая плата =====
{{ :zheleznaja_chast:pcb805bphoto.jpg?600 |}}
===== Печатная плата для травления =====
**Верхняя сторона**
{{:zheleznaja_chast:pcb805bartt.jpg?200|}}
**Нижняя сторона**
{{:zheleznaja_chast:pcb805bartb.jpg?200|}}
===== Используемые компоненты =====
{{ :zheleznaja_chast:shop805k8x6.jpg?300 |}}
^ Элемент ^ Свойства ^
| R1,R2,R3,R4 |120R 0.125 Ватт резистор |
| R5,R6,R7,R8,R10,R11 |10K 0.125 Ватт резистор |
| R12 |330R 0.125 Ватт резистор |
| R13 | 120R ( 0.25В или на 0.5 Ватт) резистор |
| R14 | 1K0 0.125 Ватт резистор |
| R9 | не используется |
| 0.125 (1/8) Ватт указанны для хорошего умещения на плате. |
| C1 | 330nF конденсатор (5mm шаг) (или на 470nF) |
| C2,C3,C5 | 100nF керамический конденсатор (2.5mm шаг) |
| C4 | не используется |
| D1-D11 | 1N4148 диод |
| IC1 | PIC16F1823-I/P (Контроллер программируемый [[:wiki:dmx_512|DMX]] прошивкой) |
| IC2 | 78L05 регулятор напряжения |
| IC3 | MAX481 (микросхема на основе RS485 протокола) |
| IC4 | HCF4017B |
| Q1,Q2,Q3,Q4 | STP20NF06L логический N-MOSFET (STP36NF06L альтернатива) |
| LED1 | 5mm LED светодиод зеленый |
| SW1 | 10-ти канальный DIP переключатель((DIP-переключатель — это набор из 8 маленьких отдельных переключателей, собранных в одном компоненте. )) |
| CN1 | 5-pin 0.1" header (not used) |
| ICSP 5-pin 0.1" header (not used) |
| CN2 | 2-pin 0.1" header (not used) |
| JP1 | 2-pin 0.1" header |
| TERM | 2-pin 0.1" header |
| 2,54mm jumper links for shorting JP1 / TERM header |
| DMXin 3-way, 5mm, screw-terminal |
| Power-in terminal block 4-way, 5mm, screw-terminal, 16 amp (2 x 2-way end stackable) |
| Channel output terminal block 8-way, 5mm, screw-terminal, 16 amp (4 x 2-way end stackable) |
| IC1 сокет| 14 пиновый DIP сокет |
| IC3 socket | 8 пиновый DIP сокет|
| IC4 socket | 16 пиновый DIP соккет.
==== Альтернативная замена компонентов====
Резистор R13 и все другие резисторы 0.125 (1/8) могут быть замещены своими, главное чтобы хватило места.
Выходные мосфеты Q1-Q4 STP36NF06L или STP20NF06L могут быть замещены на свои, но с последующим радактированием выходного логического уровня контроллера в прошивки под свои транзисторы.
Альтернатива RS-485 приемника, IC3.
- SP485 (EXAR)
- ST485 (ST)
- MAX483 (Maxim)
- [[:wiki:electronnie_komponenty:max485|MAX485]] (Maxim)
===== Установка элементов на плату =====
Желательно при пайке использовать антистатическую защиту на полевые элементы, контроллер, контролер питания
1. При пайке полевых элементов(Q1,2,3,4) и других компонентов IC's 1,3, 4 желательно использовать антистатик. Самый лучший вариант, это использовать паяльную станцию. Вы получите антистатическую защиту (полезно при пайке полевых элементов и других капризных бяк). Если же нет паяльной станции не растраивайтесь, можно самостоятельно доработать станцию / паяльник: заземление жала в большинстве случаев помогает. Это конечно не та антистатика, которая есть в навороченных станциях, но помогает не хуже.
2.Делаем перемычку, или спаиваем между собой два контакта **RA4-RE** как показано на картинке.
{{ :zheleznaja_chast:dmx805-c01.jpg?200 |}}
Не допускайте попадание сопли припоя между контактами **RE** и **GND** .
3. Припаиваем резисторы на нашу плату.
{{ :zheleznaja_chast:dmx805-c02.jpg?200 |}}
Важно __правильно__ подобрать номинал и разместить их на плате.
**Резистор 0.125** довольно маленький, и цветные полосы на нем очень плохо читаемы.(//Сопротивление резисторов, номинал можно проверить мультиметром.//)
«Подсказка»
{{:kommutacija:r120r.gif|}} - **120R** [//коричневый - красный - коричневый - золотой//] **R1, R2, R3, R4**
{{:kommutacija:r130r.gif|}} - **120R** [//коричневый - красный - коричневый - золотой//] **R13** (//R13 является больше 0,25 Вт резистором//)
{{:kommutacija:r330r.gif|}} - **330R** [//оранжевый - оранжевый - коричневый - золотой//] **R12**
{{:kommutacija:r1k.gif|}} - **1K0** [//коричневый - черный Красное - золото//] **R14**
{{:kommutacija:r10k.gif|}} - **10K** [//коричневый - черный-оранжевый - золото//] **R5, R6, R7, R8, R10, R11**
//Резистор R9 не используется в этом проекте.
//
4. Припаяем наши диоды **D1** по **D11**. Это все тот же тип диодов 1N4148{{:kommutacija:1n4148-diod.jpg?50|}}
{{ :zheleznaja_chast:dmx805-c03.jpg?200 |}}
Каждый диод имеет **черную полосу**(//катод//) на одном конце корпуса. __Установите все диоды, как показано на [[http://dmx-512.ru/_media/zheleznaja_chast/dmx805-c03.jpg?cache=&w=900&h=675&tok=6c12a4|фото]].__
5. Установите три **100nF** конденсатора на** С2, С3 и С5**.
{{ :zheleznaja_chast:dmx805-c04.jpg?200 |}}
6. Установить мосфеты Q1,Q2,Q3,Q4
МОП-транзисторы очень чувствительны к статическому электричеству.По возможности избегайте прикосновения к штырям. Желательно пайку проводить с действующим заземлением жала паяльника.
==== Установка транзисторов ====
- Поместите штифты в отверстия платы, а затем надавите на корпус полевого МОП-транзистора, чтобы согнуть ее печатной плате.
- Используйте M3(6 мм) винт и гайку для крепления МОП-транзистора к печатной плате, как показано на рисунке.
- Когда МОП-транзистор был механически закреплен на печатной плате, припаять все три контакта полевого МОП-транзистора к печатной плате
//Повторить для каждого транзистора//
__Специально под транзисторами находится небольшое поле меди. Это будет служить как теплоотвод от транзистора, который будет проводить ток до 12 ампер.__
{{:zheleznaja_chast:dmx805-c06.jpg?200|}}
{{:zheleznaja_chast:dmx805-c07.jpg?200|}}
7. Установите три гнезда **IC** на печатной плате. Убедитесь, что все штифты проходят через отверстия в печатной плате и убедитесь, что ни один из контактов не согнут под сокет перед пайкой.
{{:zheleznaja_chast:xlr3inout.gif|}}
8. Установите регулятор напряжения **78L05** на печатную плату.
{{:zheleznaja_chast:dmx805-c09.jpg?200|}}
9. Установить на место **330nF** конденсатор **С1**. Отмечен как **.33J63** (//альтернативна 470nF//)
{{:zheleznaja_chast:dmx805-c10.jpg?200|}}
10. Установить светодиод.
{{:zheleznaja_chast:dmx805-c11.jpg?200|}}
{{:zheleznaja_chast:dmx805-c12.jpg?200|}}
11. Припаять 2-х контактные разьемы **JP1**(//DMX-Config//) и **TERM**
{{:zheleznaja_chast:dmx805-c13.jpg?200|}}
12. Припаять 10-полосный DIP-переключатель. Убедитесь в том, чтобы установить его так, что переключатель **«ON»** положении находится ближе всего к краю печатной платы, как показано на фото.
{{:zheleznaja_chast:dmx805-c14.jpg?200|}}
13. Установить 5мм винт клеммные колодки к печатной плате.
{{:zheleznaja_chast:dmx805-c15.jpg?200|}}
14. На обратной стороне печатной платы имеется короткая перемычка открытой меди между концевыми блоками. Необходимо пропаять оловом эту перемычку.
{{:zheleznaja_chast:dmx805-c16.jpg?200|}}
**На этом этапе сборка платы завершена.Проверьте все элементы,и что все паяные соединения хорошо пропаяны, нет брызг.**
Перед установкой трех **IC** элементов в гнезда, проверьте 5 вольт питания к плате.
Подключите подходящий источник питания постоянного тока + VB и GND соединений клеммной колодки разъема питания. Выходное напряжение источника питания должно быть в диапазоне от 9 до 18 вольт.
Измерьте напряжение в контрольной точке 5 вольт на печатной плате, как показано на фото.
{{:zheleznaja_chast:dmx805-c17.jpg?200|}}
Измеренное здесь напряжение должно находиться в диапазоне от 4,8 вольт и 5,2 вольт. Если оно не находится в пределах этого диапазона нужно устранить неисправность.
После того, как питание 5 вольт было проверено и работает правильно, отключить питание, прежде чем продолжить.
15 Установите три микросхемы в гнезда на плате
{{:zheleznaja_chast:dmx805-c18.jpg?200|}}
**IC1** представляет собой 14-контактный элемент, обозначенный **PIC16F1823**
**IC3** является 8-контактный элемент, обозначенный **SP485**
**IC4** представляет собой 16-контактный элемент, обозначенный **HCF4017BE**
Установите каждый IC в свое гнездо. Поскольку каждая микросхема имеет различное количество контактов имеется только один разъем, который соответствует каждому устройству.
Управляющие клемы на плате требуется вход источника питания в диапазоне от 9 вольт до 18 вольт постоянного тока. Это клемы + VB и GND на клеммной 4-полосной колодке.
{{:zheleznaja_chast:dmx805-c19.jpg?200|}}
Если канал Выходы работают в 9 вольт до 18 вольт необходимо поставить перемычку **LK1** она подключает вход питания на вход питания самой управляющей электроники с выхода + VF на клему + VB, убирая необходимость в двух источников питания или дополнительных проводов на выводах разъемов.
**Напряжение на LK1 должно находится в диапазоне 9-18 вольт. Ниже 9 вольт плата не будет работать правильно. Больше 18 вольт могут сгореть компоненты на плате.**
=== Схема подключения к плате ===
{{:zheleznaja_chast:conndiag805b.jpg?600|}}
==== Подключение разьема ====
{{:zheleznaja_chast:xlr3inout.jpg?400|}}
===== Параметры и режимы устройства =====
Плата [[:wiki:dmx_512|DMX]] имеет конфигурируемые пользователем режимы работы, как? Будет кратко изложено ниже.
**Режим вывода привода**
Выходы могут быть сконфигурированы для работы в режиме ШИМ или цифровом режиме. Каждый канал может быть индивидуально настроен для работы в любом PWM или цифровом режиме. В режиме ШИМ выходной канал работает с 8 битным ШИМ - сигналом на частоте 200 Гц. __DMX значения канала выглядит так 0 = 0% до 255 = 100%__ **В цифровом режиме выходной канал либо включен , либо выключен**.
**В Цифровом режиме контролер ведет себя следующим способом:**
* Значение данных на канале 0 - выход выключается
* Данные канала в диапазоне 1-254 - без изменений на выходе.
* Значение данных канала 255 - выход включается
**Спареный режим**
При включенном режиме все четыре выхода управляются одним [[:wiki:dmx_512|DMX]] каналом.
**Нет сигнала [[:wiki:dmx_512|DMX]]**
В этом режиме контролер не получив сигнал(или неверные данные) может сбрасывать шим(выключать выходы) или оставаться в их последнем рабочим состоянии до потери сигнала. Есть возможность задать цикл на ШИМ, для плавного затухания на выходах до 0%. Время до
Когда водитель прекращает получать достоверные данные [[:wiki:dmx_512|DMX]] выходы могут быть сконфигурированы либо оставаться в их нынешнем состоянии / поддержания цикла ШИМ - сигнала, или отключить / установить цикл ШИМ - сигнала до 0%. Время от последнего рабочего пакета до полной отстановки составляет **1,5** секунды//(т.е не получив пакетов до 1,5 сек контроллер сбрасывает шим/оставляет выходы на последнем значении)//.
**[[:wiki:dmx_512|DMX]] адрес первого канала**
Может быть установлен от 1 до 509.
**Методы настройки режимов работы контролера**
__Драйвер может быть сконфигурирован с использованием следующих методов:
__
* С помощью пульта [[:wiki:dmx_512|DMX]] путем посылки данных на канал.
* DIP переключатель устанавливает [[:wiki:dmx_512|DMX]] адрес и режим настройки, сохраняются во внутренней памяти EEPROM микроконтроллера.Так как DIP переключатель несет в себе двойную функцию, то настройки переключаютя СОА / Cfg переключатель. Это означает , что только один из двух параметров может быть установлен в любое время. Неактивные параметры считываются из внутренней памяти EEPROM. Т.е. Если переключатель DIP установлен для настройки адреса [[:wiki:dmx_512|DMX]], режимы конфигурации устанавливаются с помощью значения , сохраненных в EEPROM.
{{ :zheleznaja_chast:setto.png?700 |}}
===== Индикаторы приема DMX и их расшифровка=====
В прошивке заложены статусы приема данных [[:wiki:dmx_512|DMX]] сигнала.
^ Индикация ^ Значение ^
|Горит {{ :zheleznaja_chast:index.6.gif |включен}}| Устройство принимает [[:wiki:dmx_512|DMX]] последние 1.5 секунды|
| ::: | При включении устройства горит 4 секунды. |
|Мигает{{ :zheleznaja_chast:index.7.gif |мигает светодиод}}| Устройство не принимает [[:wiki:dmx_512|DMX]], больше 1.5 секунд |
| ::: | [[:wiki:dmx_512|DMX]] неправильно подключен D+/D-|
===== Прошивка и исходники =====
**HEX - {{ :zheleznaja_chast:prg805_dmx805_v103_1f43.hex |}}
ASM код - {{ :zheleznaja_chast:dmx805_v103.asm |}}**