Wednesday, 27 February 2013

Taurino Power

I'm considering upgrading my Mendelmax to 24 volts threw out.

One of the issues with that is the standard mega2560 is limited to 12v, so you need to arrange 12volt power, or maybe you could power it from USB (haven’t looked into that)

I needed another RAMPS for annother project anyways so I decided to get the Taurino Power and swap some boards about. The Taurino power is a mega 2560 that is designed to run fine with power up to 35 volts, designed to be powered from a 24volt RAMPS board.

I ordered this 02/19/13 and it arrived in my hands 02/25/13, it actually arrived on 02/22/13, but needed a signature and I wasn’t around so it got delayed over a weekend.  So 3-4 days to New Zealand!

It arrived in a standard FedEx Bag
Wrapped nicely in a bubble wrap bag. I don’t know what they stuck this down with, but the glue they used refused to come off, it preferred to rip the bubble wrap than separate.
Inside that is a nice plastic box.
Inside the case, the board in more bubble wrap, and a nice looking USB cable.

I like the USB cables that you can see the sheilding threw the plastic.
The main board.

The board looks very very nice.

The board comes with a test firmware installed so shortly after turning on the tx led is on solid. It is spitting out a simple test pattern in gcode,

Unfortunately I found that I could not upload new firmware to the board.
After a bit of a think I decided to reflash the boot loader on the 2560. This fixed this issue. I can now upload fine.

I also found I couldn’t talk to this board at 250000 baud, but I suspect this is related to my machine.  The more standard baud rates work fine.


Monday, 25 February 2013

SL upload issues

I had a SL board that wouldn’t upload new firmware, so I decided to diagnose what was going on.

All I could could get was sync errors.

I had no idea as to the state of this SL so I started from the beginning. 


First some background

The SL is meant to have a boot loader on it. When the MPU is reset the boot loader is run, it is at this stage that you can upload new firmware from the arduino IDE.

The MPU reset line is tied to the DTR serial line on the FT232RL chip. Pin 2, this gives software the ability to reset the MPU using a simple serial port command.

The first thing was to check the boot loader was running.

The Standard boot loader toggles an IO line during boot up, unfortunately on the SL this is connected to E-DIR. So we cant see what is going on.

I did not want to remove my E Pololu so I went for a software fix.

I changed the port in the bootloader to one of the spare ports on the IO header. I changed it to D4.
NB this is incorrectly labeled on the SL board as D12






I compiled and uploaded the new boot loader.
I connected a resistor and led between pins  D4 and GND. NB LED's have polarity, if you need help with this see http://www.ladyada.net/learn/arduino/lesson3.html


I reset the board and it flashed as expected. So the boot loader does run. So the boot loader is fine and the fuses are probably ok.

I started up Arduino, set everything correctly, and hit upload. Nothing.
Including no flashing led!, so the software controlled reset was not happening.

I decided I didn’t want to have to load up Arduino every time I wanted to try and test the reset so I wrote (ok cut and paste bits from the internet) into a quick python script to toggle the DTR line.

***********setdtr.py*****************

import serial
from time import sleep

conn = serial.Serial('/dev/ttyUSB0',
                     baudrate=57600,
                     bytesize=serial.EIGHTBITS,
                     parity=serial.PARITY_NONE,
                     stopbits=serial.STOPBITS_ONE,
                     timeout=1,
                     xonxoff=0,
                     rtscts=0
                     )
conn.setDTR(True)
sleep(3)
conn.setDTR(False)
sleep(5)
conn.close()
**************************************

Next I checked the hardware.

The DTR line is pin 2 of the small surface mount chip on the back.
I tested it with a multimeter and under a 10x magnifying glass. Looked fine.

I checked Jumper "auto reset" had continuity, yip.
I checked Pin 9 of the MPU, Reset, had continuity to the jumper, yip.
I re-soldered cap C7, no change
I re-soldered the jumper and MPU pins, no change.

Getting frustrated, I re-soldered pin 2 on the FT232RL, Success!!!

The board now resets when I run setdtr.pl and flashes its little LED as it should.



I can only surmise that the underside of pin 2 was dry, and when I tested it with the multimeter the probe pushed the pin onto the PCB making a connection that wasn’t actually there, and I need better than 10x magnification to see this.

I then used Arduino, set it up, hit upload and after compiling the code, the board resets, the LED flashes and the code uploaded!

Success!!