Page 1 ATE-501: USB Input Controller - 8 Inputs The ATE-500/600 series is a range of modular I/O controllers. It uses small standardized boards which allows you to configure the system to your requirements. The ATE-501 is an input controller with 8 protected inputs. It can be controlled with ASCII commands via USB. Specifications 8 Inputs with 10K pull-up resistors Inputs are protected to 30Vdc max. 8 Inputs can measure analog and digital signals Connections via screw terminals Arduino software compatible Control with ASCII commands USB virtual COM with FTDI adapter or cable Powered via USB Dimensions 10 x 8 x 2 cm (approx.) Open source hardware and software Made in Holland Contents The ATE-501 includes: ATE-101 Carrier Board with Arduino Pro Mini and ATE-501 Sketch firmware ATE-202 Input Boards with 8 inputs Options The ATE-501 has the following options: USB Basic FTDI Adapter 5V (SFE09716) USB FTDI Cable 5V (SFE09718) Enclosure Hammond 1598B Enclosure Sparkfun Project Case (SFE08601 or SFE08632)
Page 2 Assembly The ATE-501 USB Input Controller consists of ATE-101 and ATE-202, which should be assembled as shown on the picture. Connections The ATE-202 Input Board has 8 inputs and one common connected to ground. The board can be used to measure analog and digital signals. Analog 0V until +5Vdc. In the firmware digital logical level 0 is set at +0,5Vdc or less and logical level 1 at +2Vdc or more. The inputs have a 10K pull-up resistor to +5Vdc. A switch contact can be connected directly between input and GND (dry contact input). Also an open collector output can be connected directly to the input. For USB connection the FTDI Basic USB Board can be used or the FTDI USB Cable.
Page 3 FTDI Basic USB Board 5V Power Gnd Input 1 Input 2 Input 3 Input 4 Input 5 Input 6 Input 7 Input 8
Page 4 When an FTDI Cable is used make sure the green wire is connected to the pin indicated GRN and the black wire to the pin indicated BLK. FTDI USB Cable 5V Power Gnd Input 1 Input 2 Input 3 Input 4 Input 5 Input 6 Input 7 Input 8 Power input is not connected. Power input can be used as an alternative input to supply power to the Arduino Pro Mini. In this case jumpers on both boards must be changed. See the schematics for information on jumper settings. The analog inputs use the power supply of the microcontroller as reference. If you need a more stable reference, you can use this Power input to supply only the microcontroller. Power Supply The ATE-501 is powered via USB. The input board and Arduino Pro Mini have a power on led. Jumper settings At delivery the jumpers on both boards are by default set for USB power via the input board. The jumpers settings should be as on the photos above: ATE-101: 4-35V ATE-202: 5-65V, 9-10 USB
Page 5 ATE-501 Tester The ATE-501 Tester is a Windows program which can be used to test the controller. This software and source code can be downloaded from www.antratek.com/ate-501. When an FTDI USB Board or cable is connected for the first time, Windows will install the driver and will give it a port number. After opening the Tester, type in this port number and click on Open. If you do not know the port number, you can click on List Ports and you will see the available port(s). The Tester will read the inputs continuously and show the results. For the inputs, green indicates contact is closed and red indicates contact is open. Communicating with the Controller The Address and Baud Rate of the unit can be set and are stored in the controller s memory. By default the controller is listening for serial data at 9600 baud, and has address 00. The controller will always use 1 Stop Bit, 8 Data Bits and No Parity. The commands the controller uses are in the form @AA CC X<CR> The @ symbol is used to define the start of a command. AA is the address of the unit from 00 to 99. CC is a two letter command used to determine the command type. X is a one or more characters which determines the parameter for the command. <CR> is the carriage return character. This is ASCII character 13, or 0x0d. Each time a valid command is received the unit will respond with #AA followed by any values that are requested from the unit.
Page 6 AI: Analog Input Command The analog input command will read the status of the analog input defined by the parameter and return it as a value between 0 and 1023. E.g.: @44 AI 1 will return #44 512 if the analog input is reading 50%. If the parameter is 0 then the unit will respond with the value of all analog inputs. DS: Digital Status Command This command will return the digital status of the analog inputs (ATE-202 on CON2). If the parameter is between 1 and 8 then the controller will return a 0 or 1 corresponding to that input. E.g.: @44 DS 1 will return #441 if the input is closed (<0.5V), or #440 if the input is open (>2V). If the parameter is 0 then the unit will respond with the status of all the inputs. The parameter of the status response is a decimal number which, in binary, represents the 0 and 1 status of the 8 relays. The least significant bit of this value of input 1. The most significant bit of the parameter is of input 8. E.g.: If inputs 1 and 2 for the unit are on then @44 DS 0 will return #443. 3 is 0011 in binary, and each bit represents each input from 4 down to 1. IS: Input Status Command This command is the same as Digital Status Command. SA: Set Address Addresses are valid from 01-99. A unit will only respond if its address in memory is the same as that of the command sent, or if the address of the command sent is 00. The address is saved to non-volatile memory inside the controller, meaning it will be preserved even after power is disconnect from the controller. SB: Set Baud Parameters from 1 to 10 are valid, corresponding to the following values. 1: 1200 baud 6: 19200 baud 2: 2400 baud 7: 28800 baud 3: 4800 baud 8: 38400 baud 4: 9600 baud (default) 9: 57600 baud 5: 14400 baud 10: 115200 baud The baud rate is saved to non-volatile memory inside the controller, meaning it will be preserved even after power is disconnect from the controller.
Page 7 Serial Terminal Program You can use a serial terminal program to communicate with the controller. One of the popular Windows terminal programs is Tera Term. It can be downloaded from http://ttssh2.sourceforge.jp/. When you have connected the controller to the PC and you start Tera Term, you will get the following screen. If you select Serial you can select the port you are using. After OK you get an empty screen. Default speed is 9600baud. When you push the reset button on the Arduino microcontroller, then after a few seconds the version of the firmware will appear.
Page 8 To be able to see the commands you are typing, you need to change the terminal setup. Click on Setup and Terminal Set New-Line Transmit to CR+LF and switch Local echo on. Click on OK. If you now type a command, you will see it on the screen. To read the digital status of analog input 1, you can type @00ds1. After Enter the I/O controller will respond with #00 and the status. When the input is open the status is 0. When the input is closed to GND, the status is 1.
Page 9 Loading new firmware The ATE-501 uses the Arduino Pro Mini (5V) which is an Atmel ATmega328 microcontroller with Arduino bootloader. The Arduino is loaded with ATE-501 Sketch. The source code can be downloaded from www.antratek.com/ate-501. You are free to modify the code. You can load the modified code or any other code via USB into the Arduino Pro Mini with the Arduino development environment, available at www.arduino.cc. Before loading it is recommended to place the 10-9 Auto Reset jumper on the ATE-101 Carrier Board.
Page 10 Enclosures ATE-501 in Sparfun Project Case (available in black or transparent) ATE-501 in Hammond 1598B