A brief outline of my plans for the weekend in case you share similar interests.
The primary aim is to get an accelerometer talking to an Arduino within the
context of the Aiko framework.
Specifically an LTC1298 12 bit SPI A/D converter capturing the output from an
ADXL50 accelerometer and storing the 12 bit readings in a ring buffer in an
ATMEL AR45DB161B Dataflash ROM (which also interfaces via SPI) - there is some
code in the playground http://www.arduino.cc/playground/Code/Dataflash for this
memory - everyone seems to be rolling their own SPI code as there appears to be
no standard Arduino library for SPI - a shame because the ATMEGA8 et.al. has
hardware SPI.
When this is working on a breadboard I'll make up a small flight computer board
and do some flight testing. Since the LTC1298 is a 2 channel A/D the other
channel could read air pressure (and hence altitude) from one of the MPX4115A
pressure sensors that I've had sitting around since 2001 waiting for some decent
software that can run on a low-cost microprocessor that I can afford to lose in
a rocket.
Additional miscellaneous I2C peripherals that I currently have working (but
outside the framework) include a temp sensor and realtime clock. I have some
funky 0.4mm fibreglass PC board that I'm looking forward to trying out once
I etched my first proper double-sided PCB last night (on 1.6mm board) and it
feels like 3 to 4 times as much work as single sided board.
I have also bought a bunch of the DR3100 Virtualwire compatible transceivers
from RFM http://cypress.rfm.com/products/spec_sheet.php?record=DR3100 and might
have a play with those as well - they are similar in concept to the separate
transmit and receive modules from Jaycar that Jon has being experimenting with
(and work with the same library discussed below) although they suggest the
possibility of two-way telemetry - such as an airborne network instantiated
between multiple vehicles simultaneously - real cloud computing. Australian
based Mike McCauley has written a Virtual Wire Arduino library for these radios
that is really well documented here (beware PDF)
http://www.open.com.au/mikem/arduino/VirtualWire.pdf
Mike
------------------------------------------------------------
This email was sent from Netspace Webmail: http://www.netspace.net.au
> I have also bought a bunch of the DR3100 Virtualwire compatible transceivers
> from RFM http://cypress.rfm.com/products/spec_sheet.php?record=DR3100
Yes, those look really interesting and the lure of bidirectional comms
is very strong! The only reason I went for the other modules was that I
could get them quickly and cheaply at the local Jaycar.
Where did you get the DR3100s, and how much were they?
> Mike McCauley has written a Virtual Wire Arduino library for these radios
> that is really well documented here (beware PDF)
> http://www.open.com.au/mikem/arduino/VirtualWire.pdf
I'm impressed by that library. It worked very well right out of the box
with the Jaycar modules.
Cheers :-)
--
Jonathan Oxer
Ph +61 4 3851 6600
Geek My Ride! <http://www.geekmyride.org/>
>
> On Thu, 2009-05-21 at 17:26 +1000, hol...@netspace.net.au wrote:
>
>> I have also bought a bunch of the DR3100 Virtualwire compatible
>> transceivers
>> from RFM http://cypress.rfm.com/products/spec_sheet.php?record=DR3100
>
> Yes, those look really interesting and the lure of bidirectional comms
> is very strong! The only reason I went for the other modules was
> that I
> could get them quickly and cheaply at the local Jaycar.
>
> Where did you get the DR3100s, and how much were they?
I picked them up from Rockby www.rockby.com.au (stock number 36392)
they are $26 individually but like all of their products there are
good discounts available if a bulk buy were organised. I bought a few
if people want to try them out first without hiking out to Clayton.
Examples of some other Rockby parts that are germane:
* The Dataflash chips I mentioned in the previous email AT45DB161B at
50c each (stock number 36863) CASON package. (Sparkfun sells the D
version for USD2.95 albeit in a slightly more friendly package) - I
bought 10 if anyone wants to play. The onboard Flash or EEPROM might
be large enough for some seconds of model rocket flight though ...
* HEF4094BT @ 20c each In QTY 10 (stock number 34707) - a surface
mount 8-stage shift-and-store bus register that can be used to connect
an LCD using only 3 I/0 lines on the Arduino (instead of at least 7)
by using the technique incorporated by Andy in the Aiko framework http://github.com/geekscape/arduino-framework/tree/master
Also see Dick Smith part number Z5692 at .94c for a well-priced
through-hole functional equivalent.
Rockby don't have everything but what they do have is well-priced.
They have interesting weekly specials and a surplus warehouse which
can be fun to rummage around.
I'd be happy to design a little daughter board using this shift
register if a few people were interested in de-cluttering their
breadboards without going to the slightly more expensive option of a
serial LCD such as Peter Anderson's K107 ie. http://moderndevice.com/LCD.shtml
, Sparkfun's SerLCD, Scott Edwards backpacks http://www.seetron.com/slcds.htm
or the many displays aimed at the case modding community.
Mike
I'm currently running this code http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206784528
which happened to work out-of-the-box with the LTC1298 AD however it
is not using the hardware SPI (even though it is using the same pins
as the hardware SPI!).
This is a really nicely documented example of how to R/W to an SPI
EEPROM http://www.arduino.cc/en/Tutorial/SPIEEPROM and it uses the
hardware SPI functionality which presumably means it can read faster
with less instruction clock cycles than the "bit banging" approach.
>
>
>> Additional miscellaneous I2C peripherals that I currently have
>> working (but
>> outside the framework) include a temp sensor and realtime clock.
>
> We do need real-time clock for Aiko. I've got one of these ...
> http://www.sparkfun.com/commerce/product_info.php?products_id=99
Yes the DS1307 is the popular of the Dallas RTC parts amongst
hobbiests - I had one running at your place the other day. Futurlec do
a nice board for less than half the cost of Sparkfun http://www.futurlec.com/Mini_DS1307.shtml
and Microzed - a supplier who have not emerged in the discussion so
far sell that bare part for $5.00 including the 32.768KHz "watch"
crystal http://www.microzed.com.au/chips.html (Jaycar only sell a
38KHz crystal - how time flies!).
However Dallas have much more interesting RTC chips than the DS1307
offering for example: built in temperature control of an internal
crystal; alarms and Ferroelectric RAM for not much more money and i
would get one of those if I was starting from scratch.
Nice work Luke! Your modular approach is very sensible given that we may
want to interchange various chunks of functionality, and it allows the
various subsystems to be documented (and even built and tested)
individually much more easily than with a monolithic design. The
schematic is very clear and well thought out.
> ii) GPS.
> Here I've just picked an EM406A from SparkFun for the sake of drawing
> this schematic
The 406 has been around for a while, is well documented and supported,
and should be fairly easy to get going. However, it only provides 1Hz
updates and in a fast-moving rocket we probably want a bit more than
that. I got a Locosys LS20031 from Sparkfun which does 5Hz updates but
has the downside that it's a 3.3V device and so is a little harder to
interface to a Duemilanove. And at 5Hz...
> (without a spare
> UART available, this serial communication needs to be bit-banged using
> software, which isn't really a problem, I don't think, but then again
> I'm not a programmer. Do we need to choose a microcontroller pin for
> the serial input with a hardware interrupt, or something like that?)
... the serial comms has to be a lot faster than 4800bps to push that
volume of data through fast enough. In fact the suggested rate is
57600bps when running 5Hz updates and SoftwareSerial really has trouble
(read: won't work at all with the old timer code, barely works with the
new timer code) at that speed. The end result is that the GPS will
almost certainly need to be connected to a real UART rather than
bit-banged in software.
For reference, this is the GPS I have:
http://www.sparkfun.com/commerce/product_info.php?products_id=8975
I haven't actually got it working at all on an Arduino yet. I can talk
to it from a Windows machine connecting via a 3.3V FTDI cable, but my
initial testing with a Mega got pretty much nowhere and I haven't had a
chance to revisit it yet.
http://www.miniatur-wunderland.com/exhibit/technology/carsystem/technology/
Shaun
I just randomly came across this pressure sensor while looking around
the Sparkfun site, and it could be good for altitude sensing:
http://www.sparkfun.com/commerce/product_info.php?products_id=8128
According to the specs it does 17-bit samples, which equates to a
resolution fine enough to measure the pressure difference in a 9cm air
column! It can only sustain a 1.8Hz sample rate at that res, but it can
also support a 15-bit mode in which it can do 9Hz updates.
It speaks SPI so perhaps it's worth investigating putting this on
ARTEMIS.
Cheers :-)