-
Notifications
You must be signed in to change notification settings - Fork 0
HackingSMA/serdac
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
serdac is two channel a serial to analog interface, designed to control a power wheelchair through a modified joystick. For more information see http://www.hackingsma.com/?p=257 The serdac PCB and a 5-pin XLR connector replace the analog joystick. Serial data is transmitted in a packet format, each channel value is represented by a signed 16-bit integer (although the dac is only 12-bit, the low 4 bits are ignored). If the incoming serial data stream stops for more than 100ms the device reverts to neutral (1/2 vref) output voltage for two seconds before resuming normal operation. serdac receives serial data at 115200 baud, 8N1 the data packet format is as follows: 0xaa (sync) 0xaa (sync) 0x04 (length of payload to follow, ie. 4 bytes) Xmsb Xlsb Ymsb Ylsb chksum ( (Xmsb + Xlsb + Ymsb + Ylsb) % 256 ) Other notes: I have tried modifying two different Invacare 1812 joysticks and both exhibit low sensitivity and poor linearity on the left side of the throw. I originally thought that the problem was either with the joysticks or the serdac d/a converter but I have confirmed that the problem is not related to either. I suspect that the problem is with the Invacare joystick firmware or possibly even the TDX3 firmware. The remedy is to swap the X/Y axes in both the chair programming and the serial data source. This moves the problem from the left to the reverse direction, where it is less of an issue.
About
PCB with firmware to convert asynchronous serial data to X/Y analog voltages
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published