====== 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 |}}**