ArduSub is an underwater submarine that explores and measures the ocean or other bodies of water using its on-board PH, dissolved oxygen (DO), oxidation reduction potential (ORP), salinity, pressure, and temperature sensors. The ArduSub has two on-board Arduinos, which would allow users to upload experiments. The ArduSub would gather ocean data during night missions and surface during the day to charge its batteries using solar energy. While on the surface of the ocean, the ArduSub would transmit the gathered data to social sites such as Twitter and Facebook via PACTOR or WINMOR protocols on the high frequency (HF) amateur radio (HAM) band.
The goal of this project is to provide a low cost platform in which various groups of people can have access to remote real-time data for experiments and research of various bodies of water.
I have discovered a few problems with the MDM board.
1. Missing pull up on tx out pin on the rs485 driver. I discovered that when the ~re (receive enable) pin on the 485 driver goes high, the tx out pin goes low. This high to low transition will appear as a start bit and cause a character interrupt on the xmega. By pulling up th tx out pin the line will stay high when the receiver is turned off.
2. The chip select lines for all six motor drivers are connected together but are not connected to the xmega.
I finally got around to building up the MDM board. I populated 1 motor driver IC and the rs485 driver. I had a problem where the package I used from Kicad for my Atxmega was too small so I had to create another Atxmega break out PCB and wire that to the original MDM board. Long story short I have lab view on the PC sending messages via rs485 to the xmega which is driving PWM to the motor driver that drives the motor with a propeller attached. The motor draw less than an amp at full speed when unloaded and about 3 amps when submerged in water.
I got the MDM PCB from OSH Park a couple of weeks ago. I started to assembly the board tonight, but I relized that the ATXMEGA128D3 was too large for the footprint I had put on the board. I selected the TQFP64 footprint from Kicad, but didn't verify the dimensions against the data sheet.