Home

Using the Lumos™ SSR Controllers

image

Contents

1. Figure 9 2 Half AC Cycle Divided into 260 Slices controller board uses its built in power supply to sense the AC zero crossing point and makes that available to the on board logic which will base its channel outputs on that timing signal This means that the AC waveform which appears at the output of the relay board starts part way into each half cycle as shown in Figure 9 4 The DC controllers produce a 120 Hz timing pulse internally so they are consitent with the AC controllers but this doesn t need to be synchronized with anything external 9 1 Phase Offset There is an obscure device setting called phase offset on the Lumos con trollers which adds a delay between the receipt of the zero crossing signal and the time of the actual zero crossing event This compensates for the effect of the controller s AC supply being out of phase with the load
2. If that doesn t discover everything you thought it should you can add verbose to the command to see more detail Adding more and more verbose options increases the amount of information printed The de fault port is the first standard port the default speed is 19 200 bits per second and the default address is 0 If you want to print a full report of the state of a device include the report option lumosctl port COM1 speed 19200 address 0 report The port speed and address options assume a reasonable de fault value if they were not specified For the sake of simplicity we ll as sume from here on that you either accept these defaults or are specifying them to have the values you need we won t explicitly show them in the examples that follow 5 1 Read Only Mode Sometimes you will use the Lumos board in situations where you can t re ceive a reply from the device This may for example happen if you use an RS 485 converter which only transmits data but doesn t receive any back or if there is a problem with your PC trying to control the data direction on a half duplex network In this case use the read only option to lumosctl This suppresses the features of lumosctl which monitor the Lumos board s configuration and current state Normally this helps confirm that the requested changes took effect but if your PC is unable to receive information back from the Lumos boa
3. 31 7 3 0x720 0x73f Reserved 0 2 0 0 00 eee eee 38 7 4 0x740 0x77f Configuration Mode Commands 39 7 5 Firmware Update Protocol ooa aaa 42 8 DMX512 Command Structure 47 9 Theory of Operation 49 9 1 Phase Offset 51 9 2 Output Relay Circuits 54 Diagnostic Codes 55 Decoding LED Patterns LL 55 Lumos CLI Command Manual Entries 59 NAME 3 2635 ee A tidus Bont Ge ee RE ASG 60 Troubleshooting 75 Glossary 77 Acknowledgements 81 Colophon 83 3 1 3 2 3 3 3 5 4 1 List oF FIGURES Lumos 48 Channel Controller 8 Lumos 48 Channel Front Panel aana aaa aaa 9 Lumos 24 Channel AC Relay 9 Lumos 24 Channel DC Controller Relay 10 Lumos 4 Channel DC Controller 11 Resetting a 4 Channel DC Lumos Board Via Jumper on J2 2 and J23 a spree tees hei 14 Test mode Channel Indicators aooaa 16 Examples of Escaped 8 bit Data Values 29 0x71f reply Query Response from Lumos Controller 34 Firmware Update Protocol Response Codes 45 DMX Packet scan a abd kee eee ROA Re N 48 Duty Cycles of Channel Logic Drive Outputs 50 Half AC Cycle Divided into 260 Slices 51 Duty Cycles of Logic red and DC SSR Outputs blue 52 Duty Cycles of Logic red and AC SSR Outputs blue 53 Cycle Timing with Phase Offset 53 Cycle Timing with No Phase Difference 54 Diagnostic LED Patt
4. This affects the internal timing mechanism within the Lumos controller used to synchronize dimmer pulses to the AC waveform for AC controllers It shouldn t need to be changed This command is only recognized if the controller is in configuration mode 0x76x config Set Device Address 765 43 2 10 1 7 addr of 6 addr 011 001001 0 0 1000001 1000100 Changes the address of unit from addr to addr This is effective imme diately so the very next command must be addressed to addr for this unit to respond to it This command is only recognized if the controller is in configuration mode 0x770 config Cancel Configuration Mode 76543210 1 7 addr 0 112 40 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS Cancel configuration mode and return to normal operating mode From this point forward commands marked config will no longer be recog nized This command is only recognized if the controller is in con figuration mode 0x771 config Configure Device 765 43 210 1 7 addr 0 113 0 A B C D d C1 0 Co 0 0 0111010 0111101 Sets general configuration parameters not already covered elsewhere in this command set Flags A D control whether a given sensor input line is an input 1 or output 0 If configured as inputs the Lumos controller does not drive a voltage on them but watches for
5. query and data The query command is sent by the PC as a single character Q This causes the Lumos board to respond with a result packet with status code see below If the board was just reset and is ready to begin the process of receiving a new image it will respond to the query with 00000000 The data command sends a 64 byte block of firmware code to the Lu mos board The board will then burn that block into its flash memory and respond with a result packet as described in the next section The data command packet is always 137 bytes and has the form 44 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS 0 L 2 3 4 5 6 7 gt block ID data 128 bytes me for data check The gt and bytes are literal ASCII characters The other fields are described individually below block ID identifies the block being sent encoded as described above The blocks may be sent in any order except for the requirement that block 0x0000 encoded as ID 0000 must be the very last block to be sent Overwriting this block changes the boot vector for the microcontroller which then enables the device to execute the new firmware image the next time it is reset so it is important that this be the last block writ ten The act of successfully sending and burning block ID zero ends flash program mode Once that block is written the device will automati
6. 1 Introduction 1 1 Intended Audience LL 1 2 Limitation of Warranty 1 3 How to Use this Manual naaa aaa aaa 14 The Name ofthe Game 1 5 Getting Additional Help 1 6 DMX Compatibility Warning Safety Information 2 1 Small Part Danger oaaae 2 2 Hazardous Voltage aao 2 3 Electrostatic Discharge ESD Warning 2 4 Circuit Loading 0 00 taar ti aa Overview of the Lumos Controller Models 3 1 48 Channel Controller 3 2 48 Channel Front Panel 0 4 3 3 24 Channel AC Relay 000005 3 4 24 Channel DC Controller Relay 3 5 4 Channel DC Controller Operating the Board Controls 4 1 Resetting the Board 0 000000 0G 4 2 Entering Configuration Mode 4 3 Running a Test Pattern aaa aaa 4 4 Restoring to Factory Settings 0 Configuring the Board 5 1 Read Only Mode 00002 eee eee 5 2 Setting the Device Address aoaaa aaa 5 3 Setting the Device Speed iii iii OONAN A A b b Ka KA kad Ha o O o NI Hu 13 13 14 15 19 20 21 iv CONTENTS BA SENSsOrs ade Larizza TS E T 21 5 5 Setting a Lumos Controller to Use DMX512 23 5 6 Canceling Configuration Mode 24 6 Creating Programmed Sequences 25 7 Communication Protocol Details 27 7 1 0x0 0x6 Common Commands 29 7 2 0x700 0x71f Extended Commands
7. Optionally you may specify the number of dimmer level increments to in crease or decrease at each change 1 128 default is 1 additionally you may specify the amount of time to wait between each step in units of 1 120 second 1 128 default is 1 As a convenience this may be expressed as a real number of seconds followed by the letter s Thus the argument 130127 sets channel 13 to half brightness If this were followed by the argu ment 13u then channel 13 would be smoothly increased in brightness from there to full brightness which is another 128 levels to take it from 127 to 255 by incrementing it one level every 1 120th of a second reaching a full brightness level 128 120 seconds later 1 0666 seconds If the argument 13d 10 2 were given then channel 13 would drop to being fully off going in steps of 10 levels at a time 1 60th of a second between each step Finally an argument 10u 5 0 25s fades channel 10 up from its current value to full brightness by incrementing its value by 5 every quarter second Bulk updating of channels is also supported If multiple values are listed for a channel such as 1000 0 255 255 127 40 30 20 10 Then the channel named 10 in this example is assigned the first value 0 and the subsequent values are assigned to the immediately following channels so channel 11 is set to 0 12 is set to 255 and so forth A pause in the execution of the arguments may be effected by adding an argument of the
8. During each of these slices various 53 9 1 PHASE OFFSET 100 a ta ee re E Gat eer ee Cs 50 25 Os Figure 9 4 Duty Cycles of Logic red and AC SSR Outputs blue 254 2580 2 INT ZC n Q gt n BD G osi a gt Slice 0 2 4 6 8 10 INT Os Figure 9 5 Cycle Timing with Phase Offset 54 CHAPTER 9 THEORY OF OPERATION INT INT working slices Slice 0 2 4 6 8 10 254 2580 2 1 Os T20 5 Figure 9 6 Cycle Timing with No Phase Difference output channels are turned on in order for each of them to generate the desired PWM duty cycle Assuming that the interrupt arrives at the actual zero crossing event as it ideally should the default phase offset delay of 2 means that we get two idle slices before the 256 working slices begin and two idle slices at the end This compensates for any slight timing errors thay may creep into the cycle as well as ensuring the TRIACS settle as already described This is shown in Figure 9 6 9 2 Output Relay Circuits The output solid state relays SSRs used by the Lumos boards are vari ations of the standard SSR design used within the DIY animated lighting community over the years see p 82 For DC boards this is a high power MOSFET circuit while for AC boards this is a TRIAC In both cases the re lay is intended to control a simple resistive load typically incandescent and LED lights They are not designed to control inductive lo
9. Sometimes lumosctl doesn t correctly track board configuration changes and incorrectly reports that the Lumos board s configuration was not as expected even though the operation was successful If this happens try running lumosctl R to get a fresh report of the board s status and verify that it is configured as desired The sequence language is constrained by the limits of the hardware such as 8 bit unsigned integer values and limited arithmetic expression evaluation by the need to be compiled to fit in a very small memory space As such the optimization toward certain use cases and against others may seem odd at first but it serves that purpose Submit any other issues found to support alchemy com 70 LUMOS CLI COMMAND MANUAL ENTRIES NAME lumosupgrade Download new firmware image into Lumos controller hard ware SYNOPSIS lumosupgrade fhNnRv a addr b speed L txlvl m txdelay p port T mode image file DESCRIPTION This command places the target Lumos controller device into flash pro gram mode and downloads a new firmware image onto it This is used in order to upgrade the Lumos firmware to a new version To upgrade your controller s firmware perform the following steps 1 Connect your Lumos controller board to the host PC all by itself not sharing a serial connection with other devices The connection must be bidirectional as the Lumos board needs to be able to acknowl
10. AC sup ply In the very first prototype Lumos design the detector circuit needed this but that is no longer the case In practice there shouldn t be any phase difference between the controller s supply and the load supply which would require changing this offset Note that being 180 out of phase such as being supplied from separate sides of a residential AC breaker panel doesn t matter here since they have the same zero crossing point 52 CHAPTER 9 THEORY OF OPERATION 100 50 Figure 9 3 Duty Cycles of Logic red and DC SSR Outputs blue We will now describe how the phase offset works in the internal timing chain of the Lumos controller firmware in case you should find yourself in some strange circumstance where you need to change this setting Other wise use the normal setting for this value 2 The timing diagram for the controller s output update cycle is shown in Figure 9 5 Note the green AC waveform as perceived by the zero crossing detector vs the blue actual waveform present at the loads The phase offset is compensating for this difference When the zero crossing detector senses 0 V on the incoming power line it triggers an interrupt on the Lumos microcontroller INT on the diagram This starts the phase delay timer which counts down a number of slices equal to the phase offset setting normally 2 Once that many slices have gone by the working slices begin
11. Channel 47 for a 48 channel controller If the packet ends before the Lumos controller has received enough bytes to set all ofits channels the remaining channels simply keep their previously known output values The bytes in these packets are 8 bit values directly giving the channel output values of 0 255 with 0 being fully off and 255 being fully on A packet has the general form shown in Figure 8 1 Note that DMX512 channel numbers start with 1 CHAPTER THEORY OF OPERATION their output channels by using pulse width modification PWM That is each output is always either fully on 0 V output or off 5 V output at any instant in time but cycles between on and off states so that for example if a channel is set to 50 it will be fully on half the time and fully off half the time This is illustrated in Figure 9 1 Each half wave period 1 120 s for the 60 Hz power frequency standard used in many countries such as the USA is divided into 260 slices of approximately 0 000032051s each See Figure 9 2 An output channel may change state at one of those slice boundaries This provides for 256 different output levels to be supported plus a couple of idle slices at the beginning and end to make sure the TRIACs are fully off before the next zero crossing point begins You ll note in the timing diagrams that the outputs are always turned off a very tiny fraction of a second before the start of the next output c
12. a signal there to which the Lumos board will respond if programmed to do so If configured as outputs the Lumos controller assumes they are connected to diagnostic LEDs and will drive them with 5 V to turn on the corresponding LEDs and 0 V to turn them off If flag d is set d 1 the Lumos controller will operate in DMX512 mode however note that anytime it is in configuration mode DMX512 command reception is disabled and the Lumos commands described here are recog nized When d 1 the first DMX512 channel claimed by this controller is channel C 1 which is a 9 bit value in the range 1 512 8 7 6 0 Ci Co This corresponds to Lumos controller channel 0 This command is only recognized if the controller is in configuration mode 0x772 config Set Baud Rate 76543210 1 7 addr 0 114 0 speed 0 0100110 7 4 0X740 0X77F CONFIGURATION MODE COMMANDS 41 Sets the Lumos controller s baud rate as indicated by speed according to the following table speed Bits per Second 0 300 1 600 2 1 200 3 2 400 4 4 800 5 9 600 6 7 8 9 0 19 200 38 400 57 600 115 200 250 000 This setting does not affect DMX512 mode which always uses a fixed speed of 250 000 bps This command is only recognized if the controller is in configuration mode Note that for 48 channel controllers this also sets the intra processor commun
13. area Actually only a reasonable subset of the Intel Hex format is supported specifically record types 00 data record 01 end of file and 04 extended address are recog nized AUTHOR Steve Willoughby Software Alchemy support alchemy com COMPATIBILITY This version of lumosupgrade is compatible with the following boards e Lumos 24 channel DC controller version 1 0 boards with ID mark ings beginning with LUMOS 24SSR DC 1 0 e Lumos 4 channel DC controller version 1 0 boards with ID markings beginning with LUMOS 4SSR DC 1 0 The 48 channel controllers are not compatible with this program These boards must be reprogrammed using a microcontroller programmer HISTORY This program first appeared to support Lumos ROM version 3 0 NAME SEE ALSO lumosctl 1 73 TROUBLESHOOTING While we anticipate the Lumos board will provide many hours of worry free operation as with any device particularly one built as a DIY project some times things don t go quite as planned Here are a few common problems and their solutions Symptom An entire block of out puts does not turn on Likely Cause s No power to the block Solution If the BLOCK PWR light is off check the fuse for that block the connection from the power supply to the block and that the power supply is powered on Power supply not told to wake up ATX style sup plies only Check that the power supply s green
14. arranged in three sepa rate blocks of 8 channels Each block is separately powered and completely isolated from the other blocks and from the low voltage logic side of the 10CHAPTER 3 OVERVIEW OF THE LUMOS CONTROLLER MODELS viale a el 2 x le Co v sler fs CEE XE EEEE Figure 3 4 Lumos 24 Channel DC Controller Relay board which connects to the controller Each block is designed to supply up to 5A per channel with a maximum of 8A total per block at any given time Although a few prototypes of this board have been built and used suc cessfully it has not yet been released as an open hardware project We may do so in the future possibly with an enhanced circuit design 3 4 24 Channel DC Controller Relay This board controls 24 output channels for low voltage DC loads arranged in three separate blocks of 8 channels Each block is separately powered and completely isolated from the other blocks and from the logic side of the board i e the on board controller or connection to an external controller Each block may be powered with 5 V DC or a voltage from 8 to 24 V DC and is designed to supply up to 5A per channel with a maximum of 10 A total per block at any given time Unlike the AC relay board described above this may be constructed as a relay only board and attached to something like the Lumos 48 Channel controller or as a stand alone controller itself In the latter configuration it uses one address for Lumos prot
15. cally reset and resume normal Lumos controller board operation data is the block of 64 bytes starting at the address implied by the block ID Since it s encoded as described above it is transmitted as 128 ASCII characters checksum is a one byte checksum encoded as two ASCII characters The checksum is a running 8 bit total of the two bytes of block ID and each byte of data The two s complement of this total is encoded and sent in this field of the command Only the least significant 8 bits of the total are used for any part of this calculation For example if the 8 bit total of the block ID and data bytes comes out to 0x47 then we calculate its two s complement by inverting and adding one 0x47 01000111 invert 10111000 1 10111001 The checksum sent in this example would be 0xB9 encoded into ASCII as KI Response Codes The response to the query or data commands is always a nine byte packet of the form 7 5 FIRMWARE UPDATE PROTOCOL 45 st x y Description Invalid block ID given Response to query command board ready b Burn error writing to flash memory k Data received and burned successfully n 0x00 0x00 Data packet format error n x 0x00 Checksum error calculated to be x n x 0x40 Illegal character x received n OxFF OxFF Unrecognized command packet v x y Verification error value y r
16. form p t s ec ona s which makes lumosct1 pause for t seconds before continuing on to the next argument The value need not be an integer A number of options are provided as described below These command the SSR controller to perform certain administrative functions or configu ration changes When giving multiple types of commands in one invocation of this pro gram they will be carried out in the following order 1 Address Change Kill all channels Other configuration changes 2 3 4 Disable configuration mode 5 Channel s off on dim etc 6 Shutdown OPTIONS Each of the following options may be specified by either a long option like verbose or a shorter option letter like v If an option takes a pa NAME 63 rameter it may follow the option as a12 a 12 address 12 or address 12 Long option names may be abbreviated to any unambiguous initial sub string address addr a addr Specifies the address of the target controller unit The addr value is an integer from 0 to 15 inclusive It defaults to 0 clear sequences S Delete all stored sequences from the device s memory This is a future feature currently not available on Lumos boards disable sensor s D s Disable inputs from the sensor s specified as the s param eter which are given as a set of one or more letters e g disable sensor ab The Lumos board will
17. information contained in this packet describes several facts about the Lumos unit Device identity The reporting device s current address addr on the network the ROM version major revision R1 minor Ro the de vice s serial number Serial numbers consisting of all 0 or all 1 bits i e 0x0000 or OxFFFF are undefined meaning that no serial number was assigned to this unit probably because it was built by a hobbyist for their own use Serial numbers gt 42000 are reserved for boards created by the author Numbers below 42000 are available for others to assign The device model code is in the mode field The follow ing values are currently defined for model 0 48 channel controller 1 24 channel DC controller General Status The d flag indicates if the device is in configuration mode q 1 or normal run mode q 0 the s flag shows whether it is in sleep mode s 1 The X flag is true X 1 if configuration mode is locked out If a sequence is currently running the Q flag will be set and the sequence number is in field exec The fault code from the last failed command is contained in field fault which is a value in the range 0 16 383 Executing sequences are a future feature not available at this time 13 76 0 fault faulto A value of 0 means there was no fault detected since the last query command i e the fault condition is cleared by the query command CHAPTER 7 COMMUNICATION PROT
18. number of bytes of EEPROM memory free for storage of permanent sequences is given by the E field while the bytes of available RAM memory for temporary storage is in the M field Each of these values is in the range 0 16 383 sent as two fields 13 76 0 Operating parameters The internal timing mechanism s phase offset value P is a number in the range 0 512 given by the combination of two fields For 48 channel units the phase offset of the secondary microcontroller is given in P Pi Po Pi Po The following describes a feature of the Lumos controller which is planned for a future release but not implemented today While this description follows the expected behavior the Lumos board will have when that feature is actually available it is still under development and subject to change 36 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS 0x704 Define Sequence 76543210 1 7 addr 0 4 0 id N 1 data Pes N bytes jo 1000100 jo 1110011 Downloads a new sequence data of N bytes in length into the Lumos controller This sequence will be known with the given id If a sequence is stored as id 0 it will be executed automatically whenever the Lumos board is reset It cannot explicitly be invoked by a command from the host PC Sequences with id in the range 0 63 are stored in permanent EEPROM memory and wil
19. ul steps time x id p time DESCRIPTION This command allows you to directly manipulate the state of a supported Lumos SSR controller unit including administration functions such as chang ing the unit s address phase offset etc Other software such as lumos 1 or providing appropriate drivers are installed popular third party programs such as Vixen are more appropri ate for performing playing sequences of light patterns on these boards By contrast lumosctl is more suited to setting up and configuring the boards although some basic real time control of channel outputs is pos sible using lumosct1 In the absence of any command line options to the contrary the normal operation of lumosct1 is to make a number of channel output level changes as determined by the non option arguments which are of the form channel or channel level or channel u a steps time In the first case a channel number by itself means to turn on that chan nel to full brightness In the second case by specifying a level value a number from 0 to 255 inclusive that channel s output is dimmed to the given level Level 255 is the same as turning on to full brightness level 0 is the same as turning it fully off 62 LUMOS CLI COMMAND MANUAL ENTRIES In the third case the dimmer level is ramped up smoothly from its cur rent value to full brightness u or down smoothly until fully off a
20. wire is attached to the PWR CTL terminal If the LEDs on the board show that it is in sleep mode send it a wake command from the PC or just command it to turn on any output channel Some outputs don t work or are erratic Loose chip Lightly press chips back into their sockets Bad solder connection or loose chip Re check all solder connections on the board re solder any which are cold broken or in complete No units in serial net work respond to com mands Missing terminator Replace terminators on both ends of the daisy chain note the PC s RS485 converter may in clude a built in terminator for that position One unit does not re spond to commands Wrong address Use the lumosctl program to reconfigure the board to have the correct address Blown communication fuse Replace fuse F3 24 channel boards 75 76 TROUBLESHOOTING If all else fails try performing a factory reset as described in section 4 4 page 15 GLOSSARY Address The ID number assigned to a particular device to uniquely dis tinguish it from the other devices plugged into the same serial con nection The commands sent to Lumos boards all contain a target address which identifies the particular Lumos board which is to act on that command All the other Lumos boards will ignore it Baud Rate The speed in bits per second of data that is transferred over a seria
21. 6 48 ch 24 ch Channel CHAPTER 4 OPERATING THE BOARD CONTROLS 48 ch 24 ch Channel he Channel 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 Channel 13 Channel 14 Channel 15 Channel 16 Channel 17 Channel 18 Channel 19 Channel 20 Channel 21 Channel 22 Channel 23 Channel 24 Channel 25 Channel 31 Channel 32 Channel 39 Channel 40 Channel 46 Channel 47 Figure 4 2 Test mode Channel Indicators 4 4 RESTORING TO FACTORY SETTINGS 17 8 Power on the Lumos controller or remove the jumper from pins 2 3 4 When the red green and yellow LEDs flash rapidly pull the jumper off pins 4 5 If those steps were carried out exactly as described the controller will reboot with the factory settings in place This means among other things it will be at address 0 set to use Lumos commands only not DMX512 and will communicate at 19 200 baud Failure to perform each step at the right time will prevent the factory reset from occurring J2 CONIRO J2 CONIRP bn A CHAPTER CONFIGURING THE BOARD trollers Generally this is accomplished by using the lumosct1 com mand line program on the host PC The basic configuration options include such things as setting the device address communication speed etc These can be set directly o
22. ES Stored programmed sequences are a planned feature for the Lu mos boards but is not yet implemented This chapter will fully de scribe the programming environment when that feature is ready for use 25 CHAPTER COMMUNICATION PROTOCOL DETAILS to be compact so as to conserve the number of bytes transmitted to carry out common functions while remaining simple and fast for the controller to interpret It is also designed so that multiple devices can share the same RS 485 network connection As long as they all implement this basic protocol they can safely avoid misinterpreting each other s commands even if they do not know the details of each other s command structure This includes for example Lumos boards at different revision levels There are also more devices designed by the author which have very different command sets but use a compatible protocol so they may peacefully coexist with Lumos controllers on the same network The protocol is essentially a stream of 8 bit bytes transmitted over an asynchronous communication link such as RS 232 or RS 485 Commands may consist of as little as a single byte or could be an arbitrarily large number of bytes long The first byte of a command always has this format p PROTOCOL USED BY LUMOS BOARDS to receive commands is designed 76543210 1 emd addr The most significant bit is always set The next significant three bits cmd specify the command bei
23. Literal text which should be typed as is as well as the names of commands is set in fixed width text e File names are set in Italics Italics are also used for general points of emphasis Optional values are enclosed in square brackets These may be omit ted if appropriate The brackets themselves are not typed as part of the command syntax References to other program manual entries look like lumosct1 1 which indicates that the lumosctl command is documented in section 1 of the manual which is the section for general user commands on Unix like sys tems 59 60 LUMOS CLI COMMAND MANUAL ENTRIES NAME lumosasm Assemble stored sequences for download to a Lumos board The lumosasm program is used to assemble descriptions of stored sequences into the internal binary format recognized by the Lu mos boards Since that feature is not yet supported by Lumos boards this section of the manual is blank until that feature is fully de fined NAME 61 NAME lumosctl Manual control for Lumos SSR controller hardware SYNOPSIS lumosctl dFhkPRrSvwXz a addr A addr b speed B speed c file C file D sens E sens H hexfile L level m mS p port P phase s file T mode t s orw init seq term x duplex channel outputs Where channel outputs may be any combination of channel level channel al steps time channel
24. OCOL DETAILS x D on A w Y Se d C1 Sm Ja Sa X Pi Po Eo Mi Mo Q 0 model reserved ti amp 1 o o of o ofolofofofof o o r reserved reserved reserved each sensor A D reserved fault faulto Pi Po serial serialo 010110011 Figure 7 2 0x71f reply Query Response from Lumos Controller 7 2 0X700 0X71F EXTENDED COMMANDS 35 Sensor information Three values describe the sensor configuration and state S indicates the sensor lines configured as inputs 1 or as LED outputs 0 Sm shows which sensor inputs are masked out 1 or are being monitored 0 and Sa indicates which sensors are currently reading a logic 1 or 0 In each case the sensor lines are represented by these bits in each field At this time the only sensor information available is S and Sa The others are anticipated for a future release of the ROM DMX512 configuration The bit d indicates that the board is in normal Lu mos mode d 0 or DMX512 mode d 1 If in DMX512 mode its starting DMX channel is C 1 which is a value in the range 1 512 sent in two fields 8 7 6 0 Ci Co Memory state The f flag is true f 1 if the sequence storage memory overflowed when being sent a new program The
25. Using the Lumos M SSR Controllers li RISK OF FIRE ELECTROCUTION SERIOUS INJURY OR DEATH This circuit design including but not limited to any associated plans schematics designs board layouts documentation and or components is EXPERIMENTAL and for EDUCATIONAL purposes only It is not a finished consumer grade product It is assumed that you have the necessary un derstanding and skill to assemble and or use electronic circuits Proceed ONLY if you know exactly what you are doing understand the proper procedures for working with the high voltage present on the com ponents and PC boards and understand that you do so ENTIRELY AT YOUR OWN RISK The author makes NO representation as to suitability or fitness for any purpose whatsoever and disclaims any and all liability or warranty to the full extent permitted by applicable law Edition 2 1 for Lumos controllers with ROM version 3 0 Copyright 2013 2014 by Steven L Willoughby Aloha Oregon USA All Rights Reserved This document is released under the terms and con ditions of the Creative Commons Attribution NoDerivs 3 0 Unported li cense In summary you are free to use reproduce and redistribute this document provided you give full attribution to its author and do not alter it or create derivative works from it See http creativecommons org licenses by nd 3 0 for the full set of licensing terms NDE CONTENTS Contents List of Figures
26. act as though those sensors were inactive regardless of their actual inputs The special character appearing in s means to disable all sensors This is a future fea ture currently not available on Lumos boards drop configuration mode d If the Lumos device is in configuration command mode for con figuraiton of the device this will cancel that mode Further configu ration commands will not be recognized on that device dump configuration file file C file Dump the device configuration into the named file See below for a description of the configuration file format enable sensor s E s Enable inputs from the sensor s specified as the s param eter See disable sensor This is a future feature currently not available on Lumos boards factory reset F Resets the board to its initial default settings as it would have arrived out of the box as it were of course this is a DIY project so there s no actual factory but if there were one these are the defaults the board would come shipped with This can also be accomplished by inserting a jumper on the board in the correct sequence See the Lumos controller user s manual for details help h Prints a summary of these options and exits kill all k Turn off all output channels at once 64 LUMOS CLI COMMAND MANUAL ENTRIES load compiled sequence file H file Load one or more pre compiled sequences from th
27. ads e g mo tors or flourescent lights If you intend to use those types of loads with these SSRs you will need to add protective circuitry such as an additional higher power SSR or a snubber circuit to the Lumos circuit which is out side the design scope of the Lumos board Such a modification requires qualified engineering design and should not be attempted by the end user D1aGnostic CODES Decoding LED Patterns The front panel LEDs provide an indication of the state of the Lumos con troller During boot they rapidly change to indicate the phase of the ini tialization process being performed If the device gets stuck during that process the LED pattern will indicate where the problem occurred During normal runtime operation they inform the user of the mode and status of the system errors encountered etc The various codes are summarized in Figure A 1 4 channel controllers use the same pattern as the 24 channel controllers 55 56 DIAGNOSTIC CODES 48 ch 24 ch Description of Condition Fault Indicated exx XXX XKXBX xx xxx XXX xxoO XXX xxt XXX xxe XXX GA AA J XXX XXX XXX boot Boot process not yet started boot EEPROM setup stage boot EEPROM write operation boot EEPROM read operation system initialization boot system initialization boot system initialized but main loop timing system non functional run factory defaults restored will now reboot run
28. arge which caused the damage Never take the risk of handling sensitive components without ESD protection in place These parts include all transistors Q0 Q23 voltage regulators U6 U8 and U11 diodes DO D11 and integrated circuits U0 U5 U9 U10 and U12 U13 2 4 Circuit Loading Always respect the maximum voltage and current capacity of the board and your wiring Overloading any of these may result serious injury death fire and or severe damage to any or all of the devices in use Each block of eight controlled loads may not exceed 10A total for the block Each single output channel may not exceed 5A These should be considered absolute maximum tolerances The board was designed to op erate at sustained levels below those limits Also note that the Lumos output circuits were designed to control simple resistive loads such as incandescent lights They are not appropriate for all kinds of loads Some inductive loads for example electromagnetic relays and motors may require a protective snubber circuit which would be a custom modification to the Lumos circuit requiring qualified engineering work Do not plug any load into a Lumos board which cannot be dimmed CHAPTER OVERVIEW OF THE LuMOS CONTROLLER MoDELS the Lumos family of controllers which are the subject of this man ae ARE CURRENTLY five different hardware projects which are part of ual 3 1 48 Channel Controller This board controls 48 channels o
29. binary Note that 24 channel boards only show the least significant 3 bits so you will see which channel within the block 0 7 is active but not which block 48 channel controllers show the entire channel number See Figure 4 2 for a reference chart of the output codes Four channel boards use the same display pattern as the 24 channel boards Ifthe OPTION button is pressed briefly the pulsing red LED freezes steady on and the cycle pauses on the current output channel Pressing the OP TION button again resumes the cycle Four channel boards may be paused by briefly inserting and then removing a jumper across pins 5 6 of J2 4 4 Restoring to Factory Settings If the board is unresponsive and cannot be reconfigured via the host PC for example if you configured it to use a baud rate your host PC can t match follow these steps to reset the device to its factory default settings Dis connect any input sensors and power supply control wires from the Lumos controller before beginning 24 Channel Boards 1 Turn offthe Lumos controller or press and hold the red RESET button 2 Install a jumper to short pins 4 and 5 of J11 labeled ICSP on the board 3 Power on the Lumos controller or release the RESET button 4 When the red green and yellow LEDs flash rapidly pull the jumper out 4 Channel Boards 1 Turn off the Lumos controller or insert a jumper across pins 2 3 of J2 2 Install a jumper across pins 4 5 of J2 1
30. ce models and addresses read only r Do not query the Lumos board s status Normally lumosct1 reads back the board status at the start and after each configuration change to ensure that the changes were successful Ifyou are using the board under conditions where getting data from the Lumos board is not pos sible e g if your RS 485 adapter doesn t support a return channel use the r option to suppress this part of lumosctl s behavior This means that configuration requests are sent blindly to the Lumos board without any way to confirm that they took effect The name of this option seems backwards but it was named from the Lumos board s point of view that is it sees its data connection as a read only source of data and won t try to send any data back to the PC report NAME 65 R Report on the current device status to standard output in human readable form sensor s orw init seq term t s orw init seq term Define an action to be taken when a sensor is triggered When the sensor is activated the sequence init is run followed by the sequence seq and then finally the sequence term when the sensor event is over The sensor assigned this action is given as the parameter s and is one of the letters A B C or D This may be followed by the following option letters as needed o Trigger once play sequence seq only one time The action will not be taken again until
31. e speci fied hex file This is expected to be the output from the lumosasm 1 command This is a future feature currently not available on Lumos boards load configuration file file c file Load the device configuration from the named file and pro gram that into the device load sequence file s file Load one or more sequences from the specified source file see below for sequence source code syntax and program them into the device If another sequence already exists with the same num ber it replaces the old one however beware that the controller device does not optimize memory storage so eventually stored sequences may become fragmented resulting in running out of storage space for them To avoid this it is best to clear all sequences using the clear sequences option then load all the sequences you want on the device at once This is a future feature currently not available on Lumos boards port port p port Specify the serial port to use when communicating with the controller unit This may be a simple integer value 0 for the first serial port on the system 1 for the next one etc or the actual device name on your system such as COM1 or dev ttys0 probe P Search for and report on all Lumos controllers attached to the serial network If the report option is also specified this provides that level of output for every attached device otherwise it only lists devi
32. e would put this in the file lumos_device_sensor_a enabled yes mode while setup 100 sequence 101 terminate 102 active_low no If we want sensor C to be active low and trigger sequence 42 one time when it activates our file needs this section added to it lumos_device_sensor_c enabled yes mode once sequence 42 active_low yes Once the file is set up with all the configuration changes you wish to make it may be loaded back to the board again with the load config uration file option lumosctl load configuration lumos_board cfg Assigning sequences to as sensor triggered events may also be arranged on the fly via the lumosct1 program The same effects could be performed thus 5 5 SETTING A LUMOS CONTROLLER TO USE DMX512 23 lumosctl sensor aw 100 101 102 sensor co 42 Note that configuring a sensor line as an input or output must be done from the configuration file See Chapter 6 for complete details on how to create sequences and store them into a Lumos controller Full details on the operation of lumosctl in this and other areas begins on page 59 in the appendices 5 5 Setting a Lumos Controller to Use DMX512 The DMX512 support in Lumos is experimental and not expected to work yet If you wish to experiment further to refine this feature for a future release of the Lumos firmware contact the author with your findings and recommendations Setting
33. ead x bytes from end Figure 7 3 Firmware Update Protocol Response Codes 0 1 2 3 4 5 6 7 block ID x y st where block ID is the last known block ID processed by the Lumos board If no block has been processed yet this value will be OxFFFF encoded as Q000 which is never a valid block ID x and y are extra data bytes encoded as two ASCII characters each which provide additional information relevant to the particular status code being reported st is a code indicating the result of the command The possible status results are summarized in Figure 7 3 For example after successfully burning block 0x045C the Lumos board will send the result CDEL k CHAPTER DMX512 COMMAND STRUCTURE Support for DMX512 is included in the Lumos firmware but has not been tested to be reliable yet and in fact may not function at all The information that follows is experimental If you have DMX512 equipment expertise and willingness to help develop this feature of Lumos further contact the author When configured in DMX512 mode none of the Lumos commands doc umented in Chapter 7 are recognized The Lumos controller will be only looking for DMX512 command packets To use the Lumos commands for con figuration of the board e g to turn off DMX512 mode or change the starting channel number activate configuration mode using the OPTION button That will disable DMX512 mode for t
34. econds between each change Since the values passed are actually steps 1 and time 1 the effective ranges for each of those values is 1 256 Note that it may be necessary to escape some of these data bytes so their 8 bit values conform to the overall communications protocol as described at the beginning of this chapter see p 28 for details about this escape mech anism Unimplemented Single byte Codes 76543210 1 5 addr 765 43210 1 6 addr Codes 5 and 6 are not implemented and are reserved for future Lumos features 7 2 0x700 0x71f Extended Commands Less frequently used commands use an extended code where the initial byte s command code is 7 all bits set and the following byte gives the remaining bits of the command The first 32 such codes extended code values 0x00 0x1f are set aside for normal mode commands Addition ally response packets sent back to the host PC from the Lumos boards are 32 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS formatted the same as commands with codes assigned starting at 0x71f counting down while the commands start at 0x700 counting up There is a currently unimplemented zone of codes in the middle which is reserved for future use 0x700 Sleep 765493210 1 7 addr 0 0 011011010 0 1011010 Put the controller into sleep mode This signals the controlled load s power supply to shut down whether the power
35. edge receipt of the new image This may require setting your PC s RS 485 interface appropriately so it may send and receive data Pay attention to whether your Lumos board is full or half duplex 2 Place the Lumos board into configuration mode previously called priv ileged mode 8 Invoke the lumosupgrade program to load a new firmware image onto it as explained in the remainder of this manual page Once started this process must run to successful completion before the Lumos board may be used for normal operations again If anything goes amiss the Lumos board may be reset and the lumosupgrade program restarted using the resume option Upon reset the Lumos board will stay in flash program mode until a new image has been loaded into it Should the board reset reboot for any reason during the process the lumosupgrade process must be started over to ensure a complete image is loaded OPTIONS Each of the following options may be specified by either a long option like verbose or a shorter option letter like v If an option takes a pa rameter it may follow the option as a12 a 12 address 12 or address 12 Long option names may be abbreviated to any unambiguous initial sub string NAME 71 address addr a addr Specifies the address of the target controller unit The addr value is an integer from 0 to 15 inclusive Note that down loading a new firmware ima
36. em The PCB layout illustrations were created by pcb on Linux All of the above are free and open source tools Published electronically in PDF format for ease of viewing on any plat form 83
37. erns 0020002 ee 56 Internal Fault Condition Codes 57 Key to LED Patterns 57 Error Condition Codes Reported Via Query Command 58 CHAPTER INTRODUCTION light enthusiasts theatrical lighting technicians electronics hobby ists and home automation innovators who are experimenting with new ways to have computers control lights and other electronic devices This manual details the software controls implemented by the Lumos controllers and the communication protocols they use with the host PC C ON JOINING the many computer controlled Christmas 1 1 Intended Audience This is an advanced level do it yourself electronic circuit project It is not an off the shelf consumer ready product It is only designed for edu cational and experimental use by experienced hobbyists and professionals who possess the skill to construct electronic circuits to understand how they function troubleshoot problems with them and to use them safely This manual provides basic usage and configuration instructions suit able for all users of Lumos controllers Some of the information in this manual gives a level of technical detail suited to advanced users and software developers who need to understand the workings of Lumos controllers to write applications which interace with them 1 2 Limitation of Warranty Since this is a do it yourself project the quality of the final product and whether it functions as intended is lar
38. f outputs but does not contain any actual relay circuits of its own The TTL level outputs are designed to be sent directly to a 24 channel relay board AC DC or one of each although of course they could be connected to another compatible circuit The controller supports only half duplex RS 485 communications It occupies a single address for the Lumos command protocol When in DMX512 mode it consumes 48 slots beginning at an arbitrarily configured starting slot number This board contains its own power supply It accepts a 120 V AC input with provision for an optional power switch built in This power source provides the 5 V DC supply for the controller itself as well as the logic side components of the relay boards to which it is connected The controller also uses this AC supply to pick up the power waveform s zero crossing point for AC relay board dimmer synchronization This means that it is necessary that the AC power supplied to the controller be in phase with the power supply to the relays loads or exactly 180 out of phase This should be the case in any standard residential or commercial office environment 7 8 CHAPTER 3 OVERVIEW OF THE LUMOS CONTROLLER MODELS ld VAO SXE Avexz V OtI THO9 09 ASLLXZ QOEL 9L 011d hvuouom VHNWYL zi oon 6 2 KAEA S t 73 L n bi 2 N a a K K mi bi Figure 3 1 Lumos 48 Channel Controller Although a few prototypes of this board have been bui
39. ge must be done when the target unit is the only device plugged in to the computer Once the download oper ation is underway the low level protocol used to transmit the image to the device is not necessarily compatible with other units This op tion is required because the command to place the device into flash program mode must be addressed to the unit dry run n Do everything except actually burn the new firmware into the unit This checks that the image file is reasonably sane looking not a thorough check of correctness and communicates with the Lumos controller up to the point where it would put it into flash program mode force f Force upgrade of the board without asking the user for confirma tion help h Print a summary of these options and exit null device N Don t actually communicate with the serial port but still carry out the other actions including sanity checks on image file Implies dry run port dev p dev Specifies the I O port the Lumos device is connected to This may be a simple integer 0 1 2 etc to refer to the first second third etc standard serial port on the system or a device name appropriate to the system such as COMI ttys1 or dev ttys1 resume R Indicates that the Lumos board was reset prematurely while at tempting an upgrade Since the Lumos board will still be in flash programming mode and therefore won t be in a position to recognize the Lu
40. gely a result of your own efforts in 1 2 CHAPTER 1 INTRODUCTION building it As such we cannot offer to troubleshoot repair or replace a board we did not assemble for you Accordingly these instructions and all accompanying plans schematics software hardware and other project materials are provided to you AS IS at no cost as a courtesy between DIY hobbyists with NO WARRANTY of any kind expressed or implied If you pro ceed to build and or use this unit you do so ENTIRELY AT YOUR OWN RISK If you purchased hardware materials from us such as a PC board or pro grammed controller chip we will at our sole discretion replace repair or refund the cost of those materials if they were defective in manufacture as shipped to you up to 90 days from the date they were shipped to you but are not liable for damage caused by your handling or assembly of the unit Otherwise we make no representation of suitability or fitness for any particular purpose and disclaim all other warranty or liability of any kind to the full extent permitted by law 1 3 How to Use this Manual Start with the information in the first part of the manual to learn how to operate and configure your Lumos controller and how to use the host PC to alter its configuration settings If you need to koow the low level details concerning how the board com municates with the PC continue reading the more advanced material which comprises the remainder of this ma
41. he host PC sends a query command to the Lumos controller the ultimate response will be the reply packet documented on page 34 How ever if there will be a delay before the Lumos controller is ready to provide that response it may send this NAK packet to indicate that it s not yet ready to reply This keeps the host PC from timing out and abandoning the controller s reply The PC should assume that the full query response is forthcoming and should continue waiting for it No additional poll is required Any number of NAK packets may be sent by the Lumos controller between the PC s query request and the Lumos board s full query response packet Currently ROM version 3 0 the Lumos board never sends NAK packets but may do so in the future 7 3 0x720 0x73f Reserved These codes are reserved for internal use by the Lumos system and may not be used externally 7 4 0X740 0X77F CONFIGURATION MODE COMMANDS 39 7 4 0x740 0x77f Configuration Mode Commands These commands make changes to the state of the device in some manner which requires the device to be in configuration mode If these are encoun tered outside configuration mode they will be rejected 0x74x config Set Phase Offset 765 43 210 1 7 addr 4 Pi Po 1010000 1001111 0 0 0 0 Sets the controller s phase offset to P which is a 9 bit value in the range 0 511 8 7 6 0 P Po
42. he time the device is in configuration mode The DMX protocol always uses a fixed speed of 250 000 baud There is only one packet type recognized by a Lumos controller All other packets are silently ignored A packet begins with a break condition on the line Immediately fol lowing the break is a sequence of one or more bytes of data The first byte must be a zero other values for this initial byte are used to send other kinds of DMX512 packets but we re not interested in those so they are simply ig nored After the zero byte there will be up to 512 channel value bytes It is per missible for the packet to end before all 512 channel values have been sent The Lumos controller is configured to have a starting address within the DMX512 universe This corresponds to Channel 0 of the Lumos controller For example if a Lumos controller were configured to DMX512 channel 10 then it would ignore the first nine bytes of channel values in each packet 47 48 CHAPTER 8 DMX512 COMMAND STRUCTURE 765438210 Break gt 92 uS Mark gt 12 uS 0 value Start signal values Data packet values values12 Figure 8 1 DMX Packet The tenth byte would set the output value of the controller s Channel 0 the next byte would set the output level for Channel 1 and so on up to the thirty forth byte which sets Channel 23 for a 24 channel controller or the fifty eighth byte which sets
43. ication speed which the two microcontrollers use to coordinate their actions Setting this to a low speed is not recommended 0x773 config Restore Factory Defaults 765 43210 1 7 addr 0 115 010100100 0 1110010 Restores the device to its original factory settings Note that among other things this will change the device s address to 0 and its speed to 19 200 bps This command is only recognized if the controller is in configura tion mode 0x774 config Forbid Configuration Mode 76543210 1 7 addr 0 116 Cancels configuration mode returning to normal operating mode Addi tionally this command prevents the device from re entering configuration 42 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS mode from this point forward until it is reset or power cycled This com mand is only recognized if the controller is in configuration mode but see command 0x709 on page 38 This command is deprecated in favor of command 0x709 which is generally preferred since it can be used in either run mode or configuration mode This command is retained for compatibility with older software but may be removed in the future 0x775 config Update Firmware Image 765493210 1 7 addr 0 117 0100110011 01001100 0 0011100 Initiates firmware update mode on the Lumos controller From this point forward the controller expects to receive the new fi
44. in a list of all the sensors configured as inputs So if we had lines A and C wired up to sensor inputs instead of LED outputs we need to change this line in the lumos_board cfg file to read lumos_device_settings sensors ac Leave the other fields alone just as they are The following describes a feature of the Lumos controller which is planned for a future release but not implemented today While this description follows the expected behavior the Lumos board 22 CHAPTER 5 CONFIGURING THE BOARD will have when that feature is actually available it is still under development and subject to change For each sensor we can arrange for an action to take place every time one of them activates The actions taken are set up as Programmed Se quences see Chapter 6 Assuming that the actions we want to carry out are already programmed and loaded as described in that chapter we asso ciate those sequences with sensor inputs by introducing a new section in the lumos_board cfg file called lumos_device_sensor_ x where x is the sensor letter or we edit that section if it s already in the file For example to set sensor A to play sequence 100 when it first activates then continue to loop sequence 101 as long as the sensor remains active then finally play sequence 102 as soon as the sensor stops being active and assuming we want active to mean when the signal on that input is at a logic 1 level active high w
45. l not be configured to recognize DMX512 packets at all phase offset The AC waveform phase offset for the unit This should only be changed if needed due to some anomaly with the zero crossing detector which throws off the unit s timing This is an integer in the range 0 511 Default is 2 sensors list The value is a list of single letters in the range A D Each letter appearing in this list indicates that the corresponding sensor input should be enabled in the hardware You must ensure that the hard ware is really configured that way Sensor Configuration For each sensor listed in the sensors field a corresponding stanza called lumos_device_sensor_ x appears where x is the name of the sensor A B C or D with the following fields enabled bool If yes the sensor input is set to be monitored If no it is ignored Default is yes mode once repeat while Define the operating mode of the sensor trigger play once per trigger repeat forever until another trigger or explicit command to stop or play as long as sensor remains active Default is once setup id Sequence id number to be played initially when the sensor becomes active 68 LUMOS CLI COMMAND MANUAL ENTRIES sequence id Sequence id number to be played as the main possibly repeated aciton for the sensor terminate id Sequence id number to be played when the action stops Note
46. l cable The term baud refers to the number of electrical state changes per second made to perform the signalling For the kind of signalling done by Lumos boards the baud rate is the same as the bit per second rate although for other applications such as high speed modems it would be more correct to refer to the bit per second BPS rate only Depending on the exact protocol settings used one charac ter takes approximately 10 bits to send so a data rate of 9600 baud would send about 960 characters bytes per second Active Low A logic signal which is considered on when the signal is low binary 0 or 0 V and off when the signal is high binary 1 or 5 V Lumos relay circuits are triggered with active low signals CLI Command line interface A program launched on the command line or shell interface of the computer the cmd window on Microsoft Windows or the shell in a Mac OSX or Unix Linux terminal window or xterm Typically CLI tools interact with the user via keyboard of ten using a combination of options or switches to control the pro gram s behavior rather than using a mouse or other graphical inter faces Generally CLI tools are easier to automate to have the com puter run them autonomously on a schedule or as needed since most of them are designed to be run unattended specifying all of the pa rameters needed right on the command line DIY Do It Yourself Duple
47. l remain in the controller even after a reset or power cycle Those with id in the range 64 127 are stored temporarily in RAM memory and will be lost when the device resets 0x705 Execute Stored Sequence 76543210 1 7 addr 0 5 0 id Starts executing the stored sequence with the given id If another se quence was in progress it is stopped If id 0 the current sequence is stopped without starting a new one 7 2 0X700 0X71F EXTENDED COMMANDS 37 0x706 Define Sensor Action 7 6 b 4 3 210 1 7 addr 0 6 olo wle id 0 pre 0 0 0 exec post S M H E 0 0 Defines the action to be taken when the sensor id triggers id 0 is sensor A id 1 is B id 2 is C and id 3 is D The sensor is triggered on the rising edge if e 1 or the falling edge if e 0 When that sensor is triggered any currently executing sequence is stopped Then the sequence number pre is executed once The exec sequence will be executed one time if o 1 or repeatedly while the sensor continues to be active if w 1 if neither of those bits is set the sequence loops forever until explicitly stopped When the sensor is no longer triggering exec plays on until it completes then post is run once Note that if another sensor triggers or an Execute Stored Sequence command is run it immediately stops the current sequence and all associ ated sequence
48. ling works too Note that this does not undo any permanent settings such as device address or baud rate To return all settings to their original values you must perform a full factory reset RS 232 A standard hardware protocol for sending serial data between two devices such as a computer and a modem or a single Lumos board Shielded cable should be used for best results and the cable length should not exceed 25 ft RS 485 A standard hardware protocol for sending serial data between multiple devices on a single cable length electrically it is a single cable which each device taps into along the line physically it is typ ically a daisy chain arrangement where a short cable connects one device to the next another cable to the next and so on Unshielded twisted pair cable is used like Ethernet cable and the cable lengths should not exceed a total of 4 000 ft 1 200 m SSR Solid State Relay A device which controls an external power load In contrast to a mechanical relay an SSR has no moving parts but does its switching electronically Terminator Plug An RS 485 network requires a terminator at each end This is a small plug which plugs into the last unit in the daisy chain TTL Transistor Transistor Logic One ofthe ways digital logic circuits can be constructed For our purposes here we consider a TTL level signal to be a logic input or output where a voltage near 5 V is high 79 binary 1 o
49. lt and used suc cessfully it has not yet been released as an open hardware project We may do so in the future possibly with an enhanced circuit design 3 2 48 Channel Front Panel Designed to work with the Lumos 48 Channel controller this panel is con nected to the controller s outputs in parallel with the relay boards It pro vides an LED for each output channel allowing you to see at a glance the activity and state of all outputs Additionally it has LEDs which show that power is being sent to the relays cable check LEDs to show that the cables are plugged in the entire length of the network and serial I O status indi cators It allows for the controller s status LEDs to be displayed on the front panel as well This board also contains a pair of RS 232 to RS 485 converters RS 485 converters one full duplex and one half duplex These may be switched between two modes one where the host PC is always holding the bus to transmit constantly or at least at will and the other where the PC can turn the transmitter on or off by changing the state of the DTR line 3 3 24 CHANNEL AC RELAY 9 2a aaa 82 8 Figure 3 3 Lumos 24 Channel AC Relay Although a few prototypes of this board have been built and used suc cessfully it has not yet been released as an open hardware project We may do so in the future possibly with an enhanced circuit design 3 3 24 Channel AC Relay This board controls 24 output channels of 120 V AC
50. ly standard configuration file format similar to the ini files used by early versions of Microsoft Windows and other systems For full details of this format see http docs python org library configparser html but the highlights include 1 One data value per line long lines may be continued by indentation ala RFC 822 headers 2 Each line consists of the name of a data value either an equals sign or acolon and the value itself 3 A syntax name s can be used to substitute values into other val ues Literal percent signs in values are simply doubled 4 NAME 67 All configration data are contained in a stanza called lumos_device_settings The values are detailed individually below Note that some of these de scribe anticipated future features of the Lumos hardware that are not available at this time These future features are recognized by 1u mosctl as documented here but won t actually have any effect until they are fully implemented in the Lumos firmware baud n The configured serial I O speed of the device Supported values in clude 300 600 1200 2400 4800 9600 19200 38400 57600 115200 and 250000 Speeds slower than 9600 baud are not recommended Default is 19200 dmxchannel n If this field exists the Lumos board is to run in DMX512 mode with its channel 0 appearing at DMX512 slot n where n is an integer in the range 1 512 If this field is not present the Lumos board wil
51. ly which it is controlling if any but has no other effect 66 LUMOS CLI COMMAND MANUAL ENTRIES shutdown X Command the unit to shut down completely It will be unrespon sive until power cycled or the reset button is pressed to reboot the controller speed rate b rate Set the serial port to the given baud rate Default is 19200 baud txdelay mS m mS Delay mS milliseconds between each transition from trans mitting to receiving mode and vice versa Usually only needed for half duplex networks txlevel level L level Transmit mode is controlled by either the DTR or RTS lines This option controls what logic level on that line means to en gage the transmitter The value of level may be either 0 to mean a logic low off indicates transmit mode or 1 to mean a logic high on is used txmode line T line Specifies which serial control line is used to control the RS 485 transmitter The value for line may be either dtr or rts wake w Tell the unit to start the attached power supply from sleep mode command is given at a future time verbose v Output messages to the standard output Additional verbose options increases verbosity High levels of verbosity include a dump of every bit sent or received on the serial network CONFIGURATION FILE FORMAT The files read and written by the dump configuration and load configuration options use a fair
52. m of 10 A total at any given time It uses one address for Lumos protocol communication or 4 DMX512 slots Communications options selected permanently at the time the con troller is assembled include full and half duplex RS 485 By sacrificing one or more of the on board diagnostic LEDs 1 4 input signals may be monitored by the controller triggering user programmed actions This allows for things like a light sensor to trigger nighttime light ing which turns off in the daytime or to announce the arrival of guests when a door sensor is opened CHAPTER OPERATING THE BOARD CONTROLS TION and RESET This chapter will describe how to use these but tons to control the board manually We will assume the RESET button is red and the OPTION button is green Depending on components chosen when building the board these colors may vary T LUMOS CONTROLLERS INCLUDE two front panel buttons labeled OP 4 1 Resetting the Board The red RESET button is connected directly to the microcontroller s MCLR in put As long as the button is pressed the CPU will be halted No operations of the controller will be active at this time When the button is released the CPU will reboot as if powered up This restores the ability to enter configuration mode resets all output channels to be fully off clears all faults and error conditions and re initializes all the hardware and software components Four channel boards don t include this b
53. mos con troller unit and or damage to the other devices plugged into the controller Bri you usE your Lumos controller please take the time to carefully 2 1 Small Part Danger This board contains small parts which could pose a choking hazard to small children This product is not a toy and is not intended for use by children in any circumstance The small parts on the product can be swallowed by children under 4 years of age Keep out of reach of children 2 2 Hazardous Voltage Exercise care when working with any electrical system including one such as the Lumos DC controllers even though in theory they deal with low volt ages The power supplies of the loads plugged into the Lumos controller and even the power loads being controlled may present a shock hazard if not wired and handled using standard safety protocols Never touch or work with live circuits Always disconnect the power source before working on your Lumos controller When working with loads outdoors be sure all supplies are plugged into GFIC protected circuits B es 6 CHAPTER 2 SAFETY INFORMATION 2 3 Electrostatic Discharge ESD Warning Many of the components used in this project are sensitive to static electric ity Always use a proper ESD safe work environment when handling them or these parts may be permanently damaged If a part is damaged in this way it is impossible to tell by looking at the part and you won t necessarily feel the static disch
54. mos protocol command to begin a flash programming opera tion this option tells lumosupgrade to simply start downloading the image onto it and to not try to put it into programming mode first speed rate b rate Set the serial port to the given baud rate This is the speed the Lumos board is already configured to use and will be used for the initial command to enter flash programming mode Once in flash programming mode however a fixed speed of 9600 baud will be used Default is 19200 baud 72 LUMOS CLI COMMAND MANUAL ENTRIES txdelay f m ms Delay ms milliseconds after changing the transmitter con trol line for half duplex networks txlevel 0 1 L 0 1 Specifies the logic level used to signal transmit mode for half duplex networks A 1 indicates that the DTR or RTS line as selected by the txmode option is asserted to transmit while a 0 means the line is deasserted to transmit txmode dtr rts T dtr rts Specifies which I O line is used to signal transmit mode on half duplex networks verbose v Output messages to the standard output Additional verbose options increase verbosity High levels of verbosity include a dump of every bit sent or received on the serial network FILE FORMAT The firmware image file is expected to be in standard Intel Hex format Attempts to change memory addresses outside the supported range will be ignored including configuration fuses and EEPROM
55. n the command line with lumosct1 In the following examples the command line prompt is represented by a character Text that is typed literally as shown in printed in fixed width type while values which are to be replaced with a value appropriate for your usage are printed in Italics in angle brackets the angle brackets are not actually typed however For every command you need to include three values Ts ARE A NUMBER OF SETTINGS which can be made on the Lumos con e The serial port on the host PC to which the Lumos controller is at tached This is given to lumosctl s port option as port name On many systems it is enough to say port 0 or port 1 to spec ify the first or second standard port A specific port name may be given such as port COM1 or port dev ttys0 The speed baud rate at which to communicate with the Lumos con troller This is the speed the controller is currently using not the one you want to change it to This is given as speed rate such as __speed 19200 e The Lumos controller s address given as address addr For example addr 0 If you aren t sure what device addresses exist on the serial line you can have lumosct1 probe to discover them all 19 20 CHAPTER 5 CONFIGURING THE BOARD lumosctl port COM1 speed 19200 probe Probe discovered 2 devices Address 00 lumos48ctl Address 04 lumos24dc
56. ng given to the device The least signifi cant four bits addr specify the address of the device which should act on this command Any following data bytes in a multi byte command always have their most significant bit clear 27 28 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS 76543210 0 data This suggests the following algorithm for devices listening to the data stream upon the receipt of each byte 1 If bit 7 is set a If I was in the middle of collecting data bytes for a command clearly the host has abandoned it and is beginning a new com mand so I should abandon it too and return to normal passive scanning mode b If addr matches my address interpret command code cmd and act upon it c Otherwise ignore this byte 2 Otherwise a If I was in the middle of collecting data bytes collect this one too Act on the command when the last expected byte is received b Otherwise ignore this byte If more than eight commands are needed we reserve command 7 as an extended command where the bits in the following byte are used 765 43 210 111 1 1 addr 0 cmd Note that where a value for channel is given in the commands that follow the protocol s bitfield may allow for a greater number of channels than the Lumos board actually has For example typically six bits are allocated for channel numbers giving a range of values of 0 63 but Lumos boards are usually b
57. normal run mode run received command addressed to this unit config configuration mode run intra processor communication activity run command rejected invalid bad arguments disallowed etc run communications error framing error run communications error overrun error run communications error device buffer overflow run internal fault detected sleep in sleep mode halt system halted shutdown normally halt system failure while trying to halt halt system failure exact error on other LEDs Figure A 1 Diagnostic LED Patterns DECODING LED PATTERNS 57 48 ch 24 ch Description of Condition Fault Indicated bX IO 000 DX KA L LEAL ote DX xee Oxo xee Gxt ese X 3 2 86 O x v Dispatch table overrun x 3 Input validator failure x Reset failure x Hardware fault x Internal command error x Z Other unknown failure Figure A 2 Internal Fault Condition Codes steady on steady off slowly fading up down quickly fading up down slowly flashing quickly flashing blink then fade once super slow flashing not involved or affected may have any value Figure A 3 Key to LED Patterns 58 0x01 0x02 0x03 0x05 0x06 0x07 0x08 Ox0A 0x0B 0x0C 0x0D Ox0E OxOF 0x10 0x11 0x12 0x20 0x21 0x22 0x23 0x70 DIAGNOSTIC CODES Command interpreter dispatch overrun Pass down command in n
58. nual 14 The Name of the Game The name Lumos is a combination of lumen the Latin word for light and the initial letters of Orchestration System Hence Light Orchestra tion System which is the most common application for which the Lumos hardware and software are used running computerized lighting displays 1 5 Getting Additional Help The product website at www alchemy com lumos contains additional docu mentation pointers hints and tips to assist you further If that doesn t answer all your questions there is an online forum where you may submit questions for help 1 6 DMX Compatibility Warning These boards do not support the DMX512 protocol although we have exper imented with this as a feature As such the firmware includes a DMX512 mode which the board and accompanying software will recognize How ever this is still experimental and does not yet function enough for actual production use While this feature may be ready for use in a future upgrade 1 6 DMX COMPATIBILITY WARNING 3 to these boards at present the Lumos boards will only work in native Lu mos not DMX512 mode Any and all references in the Lumos manuals to DMX modes should be regarded as describing experimental features not yet ready for actual production use CHAPTER SAFETY INFORMATION read the following safety precautions Failure to follow this advice could result in death or serious injury damage to the Lu
59. ocol communication or 24 DMX512 slots Communications options selected permanently at the time the controller is assembled include RS 232 full duplex RS 485 and half duplex RS 485 3 5 4 CHANNEL DC CONTROLLER 11 pr CNS Yiya NUNIIY AEF f MOMIRN e Su TC pi Le 00Aa dI 193735 39910A N 1907 ED n N 19373S 391704 J N28 PASS s AG Omer O00 e Leb aie st Q o o GJ TESLEZIDP L SUN TANNYHD a S D 4 wn e v i N lt 19101 SdWY BT O B 2 L lt S QO HdLt8A EN D G Q t m D x a gt KZ m 9 O Ir D Zz FA gt 39 SENSOR INPUTS IS D zi 3 n T m D 2 zZ S M D U 4 CHANNEL DC SSR CONTROLLER 1 8 www alchemy com lumos Figure 3 5 Lumos 4 Channel DC Controller By sacrificing one or more of the on board diagnostic LEDs 1 4 input signals may be monitored by the controller triggering user programmed actions This allows for things like a light sensor to trigger nighttime light ing which turns off in the daytime or to announce the arrival of guests when a door sensor is opened 3 5 4 Channel DC Controller This board controls four output channels for low voltage DC loads The controlled channel block is separately powered and completely isolated from the logic side of the board It may be powered with 5V DC or a voltage from 8 to 24 V DC and is designed to supply up to 5A per channel with a maximu
60. on master ROM set level Pass down command in non master ROM bulk update Command interpreter dispatch overrun in state 6 Pass down command in non master ROM ramp level Command interpreter dispatch overrun in state 9 Command interpreter dispatch overrun in state 10 non slave Bad sentinel byte in internal command Command interpreter dispatch overrun internal commands Command interpreter dispatch overrun internal commands Command interpreter dispatch overrun state 13 Command interpreter dispatch overrun state 17 Could not determine ROM type query Operation on wrong ROM type query Device does not support T R operation Code executed on wrong ROM M S communication Invalid command Configuration mode command outside configuration mode Command not implemented Command incomplete Failed to reset following factory default restore Figure A 4 Error Condition Codes Reported Via Query Command Lumos CLI Commanp MANUAL ENTRIES This chapter provides the documentation for the lumosasm lumosct1 and lumosupgrade commands This same information is also provided to the CLI user on Unix Linux or Macintosh systems via the man command In this documentation the following typographical conventions are used e Variables which indicate values to be replaced with suitable values when you invoke the program are shown in Italic type inside angle brackets The angle brackets are not typed as part of the command syntax s
61. overy of Hill Robertson s Com puter Christmas website www computerchristmas com It continues on sites such as Chuck Smith s Planet Christmas www planetchristmas com doityourselfchristmas com and many others Over the years the users of these forums have produced some great de signs which have become de facto standards as others adopt them and refine them in their own designs The Lumos boards TRIAC and MOSFET relay cir cuits the final few components at the controlled outputs are a continuation ofthe standard circuits used by those communities inspired most by Robert Stark s TRIAC design and the DC MOSFET circuits by John Wilson from Com puter Christmas and Do It Yourself Christmas respectively I am pleased to contribute my own innovations on these common design themes back to the same community the remainder of the Lumos circuits other than the TRIAC and MOSFET output sections are entirely my own original design COLOPHON This manual was composed and typeset by the author using ETfX with Memoir layout macros augmented by wrapfig lettrine bytefield wallpa per TikZ and a host of miscellaneous behind the scenes working packages It was set 10 12 pt using the TEX Gyre Schola font family created by GUST the Polish T X User Group This typeface is based on URW Century Schoolbook L originally designed by Morris Fuller Benton in 1919 for the American Type Founders Schematics were generated using the gEDA tool gsch
62. r true and a voltage near 0 V is low binary 0 or false The inputs should never be above 5 nor below 0 volts Kickstarter Project ACKNOWLEDGEMENTS We launched a Kickstarter project to build a test network of Lumos DC boards for final testing and debugging before releasing the final designs and firmware as an open source DIY project Thank you to all our Kickstarter backers who made the final testing of the Lumos DC controllers possible Fan Level Amanda Allen Supporter Level Casey Adams Beth Gordon Sue Allen Sara Jacobson Andrej Cibej Tanya Spackman Betsy Fernley Backer Level DC Silver Level David Johnston Melf Gold Level Rob Beasley Phil Willoughby Patron Level Casey A Robert A Nesius William H Ayers Jon and Rebecca Garver Andy Kitzke Joseph Moss Patrick Quinn Graham Jama Scaggs Doug Van Camp Matthew Wentworth We also wish to thank Darren Bliss who has been a great supporter of the Lumos project since the very first prototype was being experimented with and the other Kickstarter backers and friends who offered moral support other contributions or who wished to contribute anonymously 81 82 ACKNOWLEDGEMENTS Technical Legacy The do it yourself computerized Christmas light hobby thrives as a com munity of enthusiasts who contribute their ideas and designs for others to build enjoy and improve upon with new designs of their own This jour ney began for me years ago with the disc
63. rd lumosctl won t be able to work without the read only op tion 5 2 Setting the Device Address Set a new address by giving set address newaddr Don t forget to in clude the device s current address with address oldaddr For example to change a board from address 0 to 12 5 3 SETTING THE DEVICE SPEED 21 lumosctl address 0 set address 12 Once the address is set you ll need to use that value for address from that point forward 5 3 Setting the Device Speed Set a new speed by giving set baud rate newspeed Don t forget to include the device s current speed with speed oldspeed so it has any hope of seeing the command to change it For example to change a board from 19200 to 57600 baud lumosctl speed 19200 set baud rate 57600 Once the speed is set you ll need to use that value for speed from that point forward 5 4 Sensors If your board is built to accommodate sensor inputs you need to set the EEPROM settings so the controller stops driving those lines as outputs and starts watching them as inputs To do this use the dump configuration file option This dumps the device s configuration state into a text file on the host PC lumosctl dump configuration lumos_board cfg Looking in the lumos_board cfg find a section beginning with the stanza tag lumos_device_settings There is a field sensors list which should conta
64. rmware image using a special protocol If the board is reset during this process it remains in firmware update mode since it may have an unusable firmware image at this point See page 70 for full documentation about the lumosupgrade command used to perform this operation The protocol used between the lumosupgrade program and the Lumos board is documented in section 7 5 below starting on page 42 This command is only recognized if the controller is in configu ration mode Reserved Command Codes Codes 0x776 0x77f are reserved for future use as configuration mode com mands 7 5 Firmware Update Protocol Once the Lumos board has been placed in flash program mode via the 0x775 Update Firmware Image command see above all other normal operation of the Lumos board is suspended including any of its command protocols Lumos native or DMX In this mode the board communicates using a sim ple bidirectional serial protocol at a fixed speed of 9600 baud 8 bits no parity This protocol is designed solely for the purpose of uploading a new firmware image into the flash memory All communication is 7 bit clean ASCII which won t be confused as Lu 7 5 FIRMWARE UPDATE PROTOCOL 43 mos commands by any other listening units but since the firmware update happens at 9600 baud we recommend disconnecting other units from the network that aren t configured to run at that speed normally Encoded Byte Values Most of the values sen
65. s This may cause post to not execute 0x707 Mask Sensors oloje J Sets input sensor masks for the given sensors If the mask value is 1 that sensor is ignored If the mask is 0 it is responded to normally 0x708 Erase All Stored Sequences 765 43210 1 7 addr 0 8 01000011 0 1000001 2The action if both bits are set is undefined 38 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS All stored sequences are erased 0x709 Forbid Configuration Mode 765 43 210 1 7 addr 0 9 Turns off configuration mode if the board was in that mode at the time and prevents the board from going into configuration mode in the future Once the board is reset or power cycled it may again be placed into config uration mode This command is intended to replace command 0x774 see p 41 since it can be used regardless of whether the Lumos board is already in con figuration mode at the time This makes it a better choice than 0x774 as a general purpose initialization step to ensure boards stay in normal run mode during a performance Command 0x774 is therefore deprecated and may disappear in the future Reserved Command Codes Codes 0x70a 0x71d are reserved for future commands 0x71e Ox71f are currently used for response packets from the Lumos controller 0x71e reply Query NAK 765 43 210 1 7 addr 0 30 When t
66. s of Channel Logic Drive Outputs dimmers so as a general rule of thumb a light such as a CFL marked as non dimmable should not be dimmed by a Lumos board Damage to the Lumos board and the lamp may result For DC loads this PWM signal appears as is on the output channel al though inverted Note that the frequency of these pulses is 1 120 s which should be sufficient to avoid visible flicker for both incandescent and LED lights This is shown in Figure 9 3 Dimming AC loads works along similar lines but the TRIAC outputs on those controllers require that these timing pulses be synchronized to the points where the AC power waveform crosses the 0 V line The reason for this is that TRIACS once turned on stay on as long as power is applied to them even if the controlling gate signal turns off So the only opportunity to delay them from switching on is at a zero crossing point The 48 channel trusting that your host PC software won t accidentally command the board to do something to fade that output or a stored sequence won t do that or a glitch in communications won t be misinterpreted as such or even that a firmware bug on the controller won t cause this It s an informed risk you can decide whether to take but we don t officially recommend it 9 1 PHASE OFFSET 51
67. st commonly used features of the Lumos boards thereby using the minimum number of bytes to transmit over the wire possibly even a single byte for the entire command 0x0 Blackout 765 43 2 10 1 0 addr Immediately turns all output channels completely off 0x1 Channel On Off 76543210 1 1 addr 0 n channel Turns output channel fully on s 1 or off s 0 30 CHAPTER 7 COMMUNICATION PROTOCOL DETAILS 0x2 Set Channel Output Level 76543210 2 addr channel level S 1 0 0 Sets the output level of the designated channel to a level in the range 0 255 The controller will simply switch the output to a steady off or on state if the level is 0 or 255 respectively Otherwise it will use pulse width modification to send a square wave pulse that will be on a fraction of the time approximately equivalent to the value on a 0 255 scale See Chapter 9 for more information about how this pulsing works and how it affects the apparent brightness of lights controlled by that channel Note that the value of the output level is encoded as the combination of the level field and the h bit with h forming the least significant bit of the resulting value 765 43 210 level hl This means is that for the sake of simplicity you may choose to ignore the h bit and just use a 0 127 value for level and it will work although
68. supply is equipped or inclined to obey that signal is another matter The Lumos board may automatically even immediately wake out of sleep mode if it is asked to supply an output gt 0 on any of its channels 0x701 Wake 765 43 210 1 7 addr 0 1 011011010 0 1011010 Wake up the controller out of sleep mode This signals the controlled load s power supply to turn on whether the power supply is equipped or inclined to obey that signal is another matter The Lumos board may automatically go into sleep mode again if some period of time elapses during which it had no output channels with levels gt 0 0x702 Shut Down 765 43 210 1 7 addr 0 2 011011000 0 1011001 Shuts the controller completely down After this command executes the Lumos board will shut down as many of its functions as possible reducing 7 2 0X700 0X71F EXTENDED COMMANDS 33 its power consumption to the bare minimum It will no longer respond to any commands sent The only way out of a shut down is to reset or power cycle the board 0x703 Query 765493210 1 7 addr 0 3 0100100100 011010100 Reports the device status back to the host PC On half duplex networks the host PC needs to switch to listening mode immediately after sending this command although on full duplex networks this is not necessary The response packet is shown in Figure 7 2 The
69. t using this protocol are encoded in a modified form of hexadecimal rather than using the characters 0123456789ABCDEF as the base 16 digits the character set CABCDEFGHIJKLMNO is used instead The most significant nybble is sent first as would normally be the case with hexadecimal representation of values This encoding makes it easier to encode and decode values since the nybbles are simply sent with the constant upper nybble value set to 0100 765 43 210 0111010 value For example the value 0x00 is encoded as 0x12 as AB and OxFF as 00 Address Encoding The firmware image is transmitted to the Lumos board in 64 byte blocks Each block must be evenly aligned on a 64 byte address boundary so the least significant six bits of the address will always be zeroes Because of this the least significant nybble is never transmitted and is implied to be zero The 64 byte blocks are specified in the protocol by their block ID which is simply the more significant 16 bits of the block s address in program memory Therefore the block at memory address 0x12580 0x125BF would be known here as block ID 0x1258 When sent using this protocol the nybbles of the block ID are sent from most significant nybble to least encoded as described above For example block 0x1258 would be transmitted as ABEH Valid block ID values may range from 0x0000 0x16FC Command Protocol Two commands are recognized in this mode
70. that the main sequence might not have played to completion SEQUENCE SOURCE SYNTAX Each source file given to load sequence contains one or more sequence definitions as described here The formal syntax definition for the sequence language is still being designed and will be documented here when it is implemented AUTHOR Software Alchemy support alchemy com COMPATIBILITY This version of lumosct1 is compatible with the following boards Lumos 48 channel controller version 3 1 or 3 2 providing it has been upgraded or installed with ROM firmware version 3 0 or later boards with ID markings beginning with 48CTL 3 1 or LUMOS 48CTL 3 2 Whether this controller is driving AC or DC boards is irrele vant e Lumos 24 channel DC controller version 1 0 boards with ID mark ings beginning with LUMOS 24SSR DC 1 0 Lumos 4 channel DC controller version 1 0 boards with ID markings beginning with LUMOS 4SSR DC 1 0 HISTORY This program first appeared under the name 48ssrctl and was used only for the Lumos 48 channel AC controller boards employing the older firmware ROM versions less than 3 x This document describes version 2 0 of this utility which is the first to carry this name and to include the expanded features for firmware version 3 0 SEE ALSO lumosasm 1 NAME 69 LIMITATIONS This program does not send DMX512 commands to the device s only Lu mos native commands BUGS
71. the sensor input transitions to inactive and then asserts itself as active again This is the default action r Repeat mode play sequence seq indefinitely until explicitly told to stop by an overt stop command such as an x0 argument or another sequence being triggered manually or by sensor ac tion w Trigger while active play sequence seq repeatedly as long as the sensor remains active When the sensor input transitions to inactive again terminate the action The sensor is to be considered active when at a logic high out put active high mode Normally sensors are active low active when the input is at ground If 0 is specified for any of the sequence numbers that means no se quence is called for that part of the trigger action This is a future feature currently not available on Lumos boards set address addr A addr Change the device address to addr This must be an integer in the range 0 15 set baud rate speed B rate Set a new baud rate for the device to start using from now on set phase offset P offset Set the phase offset in the device to the specified value This must be an integer in the range 0 511 This is an advanced set ting which affects the ability of the AC relay boards to function prop erly Do not change this setting unless you know exactly what you are doing sleep z Tell the unit to go to sleep this instructs the board to turn off a power supp
72. the steps between each level will be twice as large 0x3 Bulk Channel Update 765 43 210 1 3 addr ol channel N 1 levels a MR SES 011010101 If more than a small number of channel levels are being updated at once it is more economical to send a single bulk update command with all their new values in one payload rather than initiate individual commands for them 1For best results if you choose to do this set h 0 unless setting the channel at maximum brightness in which case set h 1 7 2 0X700 0X71F EXTENDED COMMANDS 31 This updates N channels starting with channel and continuing to channel N 1 Note that the value N 1 is passed not N This allows for any number of channels from 1 256 to be updated in theory no Lumos controller currently implements that many channels Note that it may be necessary to escape some of these data bytes so their 8 bit values conform to the overall communications protocol as described at the beginning of this chapter see p 28 for details about this escape mech anism 0x4 Ramp Channel Level 765 43210 1 4 addr old channel steps 1 time 1 Smoothly increases d 1 the brightness of channel from its current value until it reaches the maximum level or decreases d 0 it until it is fully off changing it in increments of steps each time with a delay of time 120 s
73. to change critical settings To leave configuration mode the host PC may issue a command to cancel the mode or you may press the red RESET button which also has the effect of rebooting the system For four channel boards follow the instructions in the previous section to reset the board 4 3 Running a Test Pattern When setting up a board in the field it may be helpful to manually have the board turn on its output channels as a test that everything is connected and working properly now configuration mode 2In normal run mode the green LED s are slowly fading up and down 4 4 RESTORING TO FACTORY SETTINGS 15 To do this first place the board in configuration mode as described in Section 4 2 After the green light is flashing rapidly and the others are off press and hold the OPTION button again for another 2 seconds then release For four channel boards insert and remove the jumper across pins 5 6 again leaving the jumper in place for about 2 seconds as you did to place the board in configuration mode The red LED will now be slowly fading up and down instead of the green LED doing that as it does in normal run mode The controller will turn off all output channels and turn channel 0 on fully After a one second delay channel 0 will turn off and 1 will turn on This will continue indefinitely each channel turning on in its turn each second The panel LEDs will display the currently active channel number in
74. uilt to have 24 or 48 channels If a command specifies a channel value the board does not support it will flag the command as an error and ignore it If a binary value greater than 127 needs to be sent as part of a com mand packet the following escape mechanism is used Two byte values are special 0x7E The following byte will have its MSB set upon receipt 0x7F The following byte will be accepted as is without further interpreta tion This means a literal 0x7E byte needs to be sent as 0x7F 0x7E and a literal 0x7F byte as 0x7F Ox7F See the examples in Figure 7 1 In the command descriptions that follow we will show the bytes sent or received typographically using the following notation 7 1 0X0 0X6 COMMON COMMANDS 29 Intended Value Transmitted Byte s 0x42 0x42 0x7D 0x7D Ox7E Ox7F Ox7E Ox7F Ox7F Ox7F 0x80 Ox7E 0x00 0x81 Ox7E 0x01 OxFD Ox7E 0x7D OxFE Ox7E Ox7E OxFF Ox7E Ox7F Figure 7 1 Examples of Escaped 8 bit Data Values e Binary bits are shown in fixed width type 0 1 Decimal numbers are shown in normal type 123 e Hexadecimal numbers are shown in fixed width type with a leading Ox 0x42 Single bit flags are shown in Italics as single letter names f e Multi bit fields are shown in Italics with angle brackets speed 7 1 0x0 0x6 Common Commands With the command code embedded in the packet s initial byte these com mands represent the mo
75. up the controller to be a DMX512 device is another task performed via the configuration file see Section 5 4 for instructions about how to dump and load a configuration file First get the current configuration settings into a file lumosctl dump configuration lumos_board cfg In the lumos_device_settings section add a new field dmxchannel c where c is the starting slot number you wish the Lumos controller to use This will be channel 0 on this board To cause a 24 channel Lumos board to occupy DMX slots 200 247 this would be lumos_device_settings dmxchannel 200 Now download that configuration into the controller board lumosctl load configuration lumos_board cfg If you want to change the board to be a Lumos protocol board instead of DMX512 just follow the same process but delete the dmxchannel c line completely before loading the configuration onto the Lumos board 24 CHAPTER 5 CONFIGURING THE BOARD 5 6 Canceling Configuration Mode When you re finished configuring the controller board you may use either of these options lumosctl disable configuration mode lumosctl forbid configuration mode Either of these returns the board to normal run mode The second goes a step further forbidding the board from going back into configuration mode again until the next time the board is reset or power cycled CHAPTER CREATING PROGRAMMED SEQUENC
76. utton To reset one of these boards insert a jumper across pins 2 3 of J2 as shown in Figure 4 1 This will halt the board Then remove the jumper which will reset and restart the board 4 2 Entering Configuration Mode Some functions are only enabled when the controller is in a special config uration mode to prevent potentially harmful effects such as accidentally In some places in other documentation including the controller s firmware source code this is also referred to as privileged mode This term is deprecated The preferred term is 13 14 CHAPTER 4 OPERATING THE BOARD CONTROLS Figure 4 1 Resetting a 4 Channel DC Lumos Board Via Jumper on J2 2 and J2 3 changing the device s address baud rate or other configuration parame ters To initiate configuration mode press and hold the green OPTION but ton until the LEDs start flashing rapidly approximately 2 seconds Then release the OPTION button until the LEDs fade to a state where the green LED s are flashing rapidly The four channel boards do not have OPTION and RESET buttons directly unless off board buttons were used connected to the board at J2 These boards are controlled by inserting jumpers onto header J2 as follows 1 Insert a jumper across pins 5 6 of J2 2 Wait until the LEDs start flashing rapidly approximately 2 seconds 3 Remove the jumper The board is now in configuration mode and can be instructed by the host PC
77. x a feature of a serial line On a full duplex connection separate data wires are present to carry data in both directions so one device can send and receive data at the same time On a half duplex connec tion only a single set of data wires is present so devices must take turns transmitting over them 77 78 GLOSSARY Factory reset The process of resetting all user configurable options on a device to their original state as the device presumably was shipped in the box from its factory Lumos boards can be reset in this manner as described on page 15 Jumper Block A series of pins mounted to the PCB Different options are configured for the circuit by placing a jumper over certain pairs of pins shorting them together LED Light Emitting Diode A special kind of diode which emits light when current passes from its anode to its cathode MOSFET The type of transistor which forms the major part of a Lumos DC relay channel The name is an acronym for Metal Oxide Semiconduc tor Field Effect Transistor PCB Printed Circuit Board The board where electronic components are mounted to form a complete circuit Metal traces are printed actually etched onto the surface of the board itself to make the con nections between components Power Cycle To turn the power off then on thus resetting the state of the device On a Lumos board the same effect can be had by pressing the RESET button momentarily although power cyc
78. ycle For the intended application of these controllers incandescent lamps for the AC boards and LEDs for the DC boards this produces the visual effect of the light being dimmed Note that not all devices can tolerate being supplied power like this so you need to make an informed decision about what to plug into a Lumos controller This is similar to many household p LUMOS CONTROLLER BOARDS provide 256 levels of dimmer control on The AC powered Lumos boards are not designed to work in environments where the power frequency is not 60 Hz DC powered boards will work regardless since they never see the AC power directly 2You might think it s an acceptable risk to attach one of these loads such as a non dimmable CFL light if you tell the Lumos board to only turn it on or off and never use the dimmer settings In theory that might be ok all other things being equal but Youre 49 50 CHAPTER 9 THEORY OF OPERATION Il olii pee B lecce 145V Il Il LO ROERO dann A SA l 0V l l 1 l l l REPORT NK N i eeeceee l sanaa 145V od a i meee pa i i sees l T HE L DR ov i i i i l l H ETE H BV Il I I 50 cone ag I ae EAT i i i 10V l l I l l 1 5V 25 oe ex v nad S i l 10V i i i 1 l i i 5V 0 l di T eee es Bead be aai rt ee s ET P ee fey eer ew cee lo dial aiin T a ee ey l Il Il 0s aos as as EE 120 60 40 30 Figure 9 1 Duty Cycle

Download Pdf Manuals

image

Related Search

Related Contents

ÿþþ ÿ M a s s M o t i o n  Epson Progression Product Information Guide    Marmitek CM15Pro  CP IT  Installation and Operating Instructions Remote  Nouveautés 2014 - SubZero  

Copyright © All rights reserved.
Failed to retrieve file