Backertrap Ada PDF Skriv ut E-post
Skrevet av Frode Roxrud Gill   
torsdag 12. mars 2015 18:11

I was a top-level backer of Triggertrap Ada, a product that was supposed to be an "infinitely expandable camera trigger, making high-speed, camera trap, and timelapse photography affordable for everyone". Unfortunately, in beginning of march 2015 the project was cancelled.

In end of october 2014, I was given a dump of the source-code for a code review. The code was really bad (everything was done in busy-loops, not using any of the XMEGA power-saving features nor the Event System), but it did show potential. It was clear that the base unit was going to have an ATxmega128A3 mcu, so I started reading up on the XMEGA and started implementing my own version of the software for Triggertrap Ada. Without hardware, and the only simulator available being part of the Microsoft Windows-only Atmel Studio, my framework only contained very generic functionality (while waiting for the Triggertrap Ada source to be completed and open-sourced).
With the cancellation of Triggertrap Ada, I had to look for other options. Atmel has a wide range of Evaluation Kits available, and I ordered an "Atmel XMEGA-A3BU" ($29), an "Atmel XMEGA-B1" ($29) and an "Atmel XMEGA-C3" ($29). Generally speaking, A is better than B is better than C, and 1 has more pins than 2 having more pins than 3.

Hardware specs:

Atmel XMEGA-A3BU
mcu: ATxmega256A3BU (32MHz, 256KB flash)
Display: 128x32 LED (large)
Storage: DataFlash (8MB)
Buttons: 3 mechanical, 1 touch
RTC: 32KHz, battery-backup
Available IO pins: 32 (12 shared with onboard)

Atmel XMEGA-B1
mcu: ATxmega128B1 (32MHz, 128KB flash)
Display: 4 x 40 segment LCD (very large)
Storage: n/a (footprint for DataFlash)
Buttons: 4 touch
RTC: 32KHz
Available IO pins: 32 (19 shared with onboard. Quite a few can be cut)

Atmel XMEGA-C3
mcu:ATxmega384C3 (32MHz, 384KB flash)
Display: 128x32 OLED (small)
Storage: microSD (delivered with 2GB card)
Buttons: 2 mechanical, 2 touch
RTC: 32KHz
Available IO pins: 32 (8 shared with onboard)

Of these, Atmel XMEGA-A3BU is my preferred device. It has

  • A good MCU (given that the code-size will be below 256KB)
  • A decent sized onboard screen (although with very low resolution. The Triggertrap Ada was supposed to use a display from the Nokia 5110 mobile phone, with a resolution of 84x48)
  • Onboard storage for settings etc.
  • Battery-backup for the RTC
  • Enough available IO pins

With hardware selected, I have started preparing the software. For now, I have only created the github repository, created a very basic Makefile so I can use my Linux development tools, and started from scratch making a more device-independent framework.

Sensors:
My main reason for backing the Triggertrap Ada was to get access to a very fast trigger using the Laser sensor. Now that I have to make stuff myself, I have searched for an affordable and fast laser sensor. I already have a powerful 532nm green laser and a weaker 650nm red laser. The Triggertrap Ada Laser sensor would use a sensor with 100ns response time, peak sensitivity at 900nm and a cost of $0.99.
For a mcu running at 32MHz, a single CPU cycle takes roughly 30ns. The Triggertrap Ada Laser sensor would thus have a worst-case response of 4 cycles. I have found a sensor with 10ns response time, peak sensitivity at 860nm and a cost of $0.64. The XMEGA Event System guarantees a response time of 2 cycles, and counting the 1 cycle for the sensor, we should have a worst-case response of 3 cycles (at 32MHz)! To put this into perspective:

1ms = 0.001s
1μs = 0.000001s
1ns = 0.000000001s
3 cycles at 32MHz = 89.4ns = 0.0000000894s (and this is worst-case, best-case would be response-time plus two cycles, 10ns + 59.6ns = 69.6ns)
And your fancy camera with a shutter-speed at 1/8000, which will freeze most fast objects? 1/8000s = 0.000125s = 125000ns

Sist oppdatert torsdag 12. mars 2015 21:46