Schematics:
PCB Designs:
Known Errata:
EtherDrive Firmware Updates:
- Firmware Files (use only latest file, earlier versions provided for fallback)
- etherdrive_20060720.hex
- Added: The 8-channel aux I/O header (JP19, near the RESET button) now supports digital input and output. See command list for more information. Max input/output voltage is 3.3V!
- Added: UDP-Serial services have been upgraded to bi-directional for UART0. If you send a zero-length UDP packet to the UART0 UDP port, a reply will be returned with the received data for UART0.
- Added: The 'G' command allows changing of the Current Sense ADC gain. Recommended gains are:
- Gain=10x ('G 5') for the EtherDrive 2-channel High-Power Motor Driver
- Gain=1x ('G 0') for the Etherdrive 6-channel Motor Driver
- Added: The 'B' command sets the Bipolar/Unipolar mode of the current-sense ADC. The setting must be made as follows:
- Bipolar mode ('B 0') for the EtherDrive 2-channel High-Power Motor Driver
- Unipolar mode ('B 1') for the EtherDrive 6-channel Motor Driver
- Change: Setting the Network Motor Timeout to zero will disable this safety feature.
- Bugfix: A few small bugfixes throughout.
- etherdrive_20060417.hex
- NOTE: Loading this firmware will clear your stored IP address, settings, etc, and cause them to be reset to factory defaults.
- Change: Almost all parameters and all motor coefficients are now loaded from EEPROM upon bootup. There are new commands allowing printing/loading/storing/resetting of the EEPROM config.
- Added: A network timeout feature now automatically disables motors if a motor command packet is not received before the timeout (in case of network failure, for example). This applies only to motor contol via network.
- Added: Reading the 8-channel auxilliary ADC (JP19, near the RESET button) is now supported. Max input voltage is 3.3V!
- Added: A network master mode is now supported where etherdrive sends motor feedback packets continuously at 1KHz. This relieves the host PC from having to control the loop rate with real-time precision.
- Added: Start of UDP-Serial services. You can now send UDP packets to ports 4960 and 4961, and the contents of the packet will be relayed via UART0 and UART1. Note this functions for serial transmit only at the moment.
- Bugfix: Integral control error that has accumulated while motors were disabled is now reset to zero as part of the motor enable command. This eliminates the motor transient previously experienced when enabling motors with current control active.
- etherdrive_20060411.hex
- Bugfix: Serial command-line handling should now respond quickly enough to allow command scripting. Serial receive is handled by interrupt with a 128-byte buffer.
- Added: All serial terminal commands may now be issued via UDP network packet too. See the EtherDrive Command format.
- Added: Feedback packet now includes PWM output drive fields. See EtherDrive Feedback packet format.
- etherdrive_20060317.hex
- Bugfix: Control mode now switches properly between position and current control.
- Change: Network settings now stored in EEPROM. Will retain value after power-off.
- Added: DHCP is enabled by setting IP address to 0.0.0.0. DHCP support is beta.
- Firmware Update Proceedure (Win32)
- Need Win32 computer with RS-232 serial port (either built-in, PCMCIA-type, or USB-connected serial port)
- Download Philips LPC2000 Flash Utility from here
- Install LPC2000 Flash Utility
- Connect serial cable from computer to UART0 on EtherDrive Controller V2.0
- Launch LPC2000 Flash Utility (wait for splash screen to close)
- In Communication box, select appropriate COM port and 115200 baud and check Use DTR/RTS.
- In Device box, select Device: LPC2214.
- In Flash Programming box, enter the path to the EtherDrive firmware *.hex file you downloaded above.
- Press and hold the red RESET button on the EtherDrive controller for 3-4 seconds, then release
- The EtherDrive Controller should go into firmware update mode (all status LEDs lit, not blinking)
- In the LPC2000 utility, click "Manual Reset" and then "Upload to Flash".
- Bar at bottom of window will show re-flashing progress.
- Reset the EtherDrive Controller (press red RESET button briefly)
- You may verify that firmware has been updated by looking at the build date shown in system messages during boot.
- Done!
- Firmware Update Proceedure (Win32/Linux using 'lpc21isp' *unsupported*)
- Need Win32 or Linux computer with RS-232 serial port (either built-in, PCMCIA-type, or USB-connected serial port)
- Obtain 'lpc21isp' programmer software tool
A version is available here: [source code] [win32 *.exe] [linux binary]- Connect serial cable from computer to UART0 on EtherDrive Controller V2.0
- Press and hold the red RESET button on the EtherDrive controller for 3-4 seconds, then release
- The EtherDrive Controller should go into firmware update mode (all status LEDs lit, not blinking)
- Run 'lpc21isp' with appropriate command line options for:
Win32 example: lpc21isp etherdrive.hex COM1 115200 14745
- COM or ttys port you are using
- LPC2214 processor @ 14.745MHz
- new firmware hex file you downloaded
Linux example: lpc21isp etherdrive.hex ttys0 115200 14745- Firmware re-flashing should complete in 10-20 seconds.
- Reset the EtherDrive Controller (press red RESET button briefly)
- You may verify that firmware has been updated by looking at the build date shown in system messages during boot.
- Done!
Datasheets for select parts: