From: Keith Packard Date: Sun, 14 Jun 2020 05:40:42 +0000 (-0700) Subject: doc: Update for EasyTimer X-Git-Tag: 1.9.3~1^2~10 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=b9cc05bd3d417c957f47a64493f4a22caf660c55 doc: Update for EasyTimer Signed-off-by: Keith Packard --- diff --git a/doc/Makefile.am b/doc/Makefile.am index 464cd988..1238ea18 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -67,6 +67,7 @@ IMAGES=\ easymega-v1.0-top.jpg \ easymini.svg \ easymini-top.jpg \ + easytimer.jpg \ fire-igniter.png \ graph-configure.png \ graph-map.png \ @@ -142,6 +143,7 @@ INC_FILES=\ easymini-device.inc \ telemega.inc \ easymega.inc \ + easytimer.inc \ installation.inc \ using-am-products.inc \ updating-firmware.inc \ diff --git a/doc/altosui.inc b/doc/altosui.inc index d497ad2f..a0aab0bd 100644 --- a/doc/altosui.inc +++ b/doc/altosui.inc @@ -633,14 +633,14 @@ similar unit as a programming dongle (pair programming). endif::telemetrum,telemini[] - ifdef::telemega,easymega,telemetrum[] + ifdef::telemega,easymega,easytimer,telemetrum[] TeleMega, EasyMega, TeleMetrum v2 or newer, - EasyMini, TeleBT v3 or newer and TeleDongle v3 + EasyMini, EasyTimer, TeleBT v3 or newer and TeleDongle v3 or newer are all - endif::telemega,easymega,telemetrum[] - ifndef::telemega,easymega,telemetrum[] + endif::telemega,easymega,easytimer,telemetrum[] + ifndef::telemega,easymega,easytimer,telemetrum[] EasyMini is - endif::telemega,easymega,telemetrum[] + endif::telemega,easymega,easytimer,telemetrum[] programmed directly over USB (self programming). Please read the directions for flashing devices in diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index 60163888..c2492b0f 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -20,6 +20,7 @@ Keith Packard ; Bdale Garbee ; Bob Finch; Anth :telemega: 1 :easymega: 1 :telegps: 1 +:easytimer: 1 :application: AltosUI :pdf-stylesdir: . :pdf-style: altusmetrum @@ -45,6 +46,8 @@ Keith Packard ; Bdale Garbee ; Bob Finch; Anth include::easymega.adoc[] + include::easytimer.adoc[] + include::installation.adoc[] include::using-am-products.adoc[] diff --git a/doc/config-device.inc b/doc/config-device.inc index 2e3d47d4..15f9129e 100644 --- a/doc/config-device.inc +++ b/doc/config-device.inc @@ -171,7 +171,7 @@ ifdef::altusmetrum[] is fired first, followed after a two second delay by the 'main' channel. - ifdef::telemetrum,telemega,easymega[] + ifdef::telemetrum,telemega,easymega,easytimer[] ==== Pad Orientation Because they include accelerometers, @@ -183,15 +183,16 @@ ifdef::altusmetrum[] with the antenna pointing aft instead. Antenna Up:: - In this mode, the antenna end of the flight - computer must point forward, in line with the - expected flight path. + In this mode, the antenna (or beeper, for devices + without an antenna) of the flight computer must point + forward, in line with the expected flight path. Antenna Down:: - In this mode, the antenna end of the flight - computer must point aft, in line with the - expected flight path. - endif::telemetrum,telemega,easymega[] + + In this mode, the antenna (or beeper, for devices + without an antenna) end of the flight computer must + point aft, in line with the expected flight path. + endif::telemetrum,telemega,easymega,easytimer[] ==== Beeper Frequency @@ -222,7 +223,7 @@ ifdef::telegps[] in the log. endif::telegps[] -ifdef::telemega,easymega,telemetrum[] +ifdef::telemega,easymega,easytimer,telemetrum[] ==== Calibrate Accelerometer @@ -236,9 +237,9 @@ ifdef::telemega,easymega,telemetrum[] Configure Altimeter window and save the new calibration values. -endif::telemega,easymega,telemetrum[] +endif::telemega,easymega,easytimer,telemetrum[] -ifdef::telemega,easymega[] +ifdef::telemega,easymega,easytimer[] ==== Configure Pyro Channels @@ -246,8 +247,8 @@ ifdef::telemega,easymega[] image::configure-pyro.png[width=400] This opens a separate window to configure the - additional pyro channels available on TeleMega - and EasyMega. One column is presented for + additional pyro channels available on TeleMega, + EasyMega and EasyTimer. One column is presented for each channel. Each row represents a single parameter, if enabled the parameter must meet the specified test for the pyro channel to be @@ -274,4 +275,4 @@ ifdef::telemega,easymega[] include::pyro-channels.adoc[] -endif::telemega,easymega[] +endif::telemega,easymega,easytimer[] diff --git a/doc/easytimer.inc b/doc/easytimer.inc new file mode 100644 index 00000000..82689d20 --- /dev/null +++ b/doc/easytimer.inc @@ -0,0 +1,120 @@ +== EasyTimer + + .EasyTimer Board + image::easytimer.jpg[width=400] + + EasyTimer is built on a 0.8 inch by 1½ inch circuit board. It's + designed to fit in a 24mm coupler tube. + + EasyTimer is designed to control events during ascent. It has + an accelerometer and gyroscope that can measure acceleration + and rotation and compute speed and tilt angle. EasyTimer has + two pyro channels which can be configured to fire at various + points during flight. Because EasyTimer has no barometric + sensor, it cannot be used to fire recovery charges at apogee + or during descent. EasyTimer is configured using the AltosUI + application which is available for Linux, Mac OS X and Windows. + + === EasyTimer Screw Terminals + + EasyTimer has two sets of four screw terminals near + one end of the board. Using the picture above, the top + four have connections for pyro channel B and an + external battery and the bottom four have connections + for pyro circuit A and the power switch. Counting from + the left, the connections are as follows: + + .EasyTimer Screw Terminals + [options="header",grid="all",cols="2,3,10"] + |==== + |Terminal #|Terminal Name|Description + |Top 1 + |B - + |Pyro channel B connection to pyro circuit + + |Top 2 + |B +++ + |Pyro channel B common connection to battery +++ + + |Top 3 + |Battery +++ + |Positive external battery terminal + + |Top 4 + |Battery - + |Negative external battery terminal + + |Bottom 1 + |A - + |Pyro channel A connection to pyro circuit + + |Bottom 2 + |A +++ + |Pyro channel A common connection to battery +++ + + |Bottom 3 + |Switch Output + |Switch connection to flight computer + + |Bottom 4 + |Switch Input + |Switch connection to positive battery terminal + |==== + + === Connecting A Battery To EasyTimer + + There are two possible battery connections on + EasyTimer. You can use either method; both feed + through the power switch terminals. + + One battery connection is the standard Altus Metrum + white JST plug. This mates with single-cell Lithium + Polymer batteries sold by Altus Metrum. + + The other is a pair of screw terminals marked 'Battery + +' and 'Battery -'. Connect a battery from 4 to 12 + volts to these terminals, being careful to match polarity. + + === Charging Lithium Batteries + + Because EasyTimer allows for batteries other than the + standard Altus Metrum Lithium Polymer cells, it cannot + incorporate a battery charger circuit. Therefore, when + using a Litium Polymer cell, you'll need an external + charger. These are available from Altus Metrum, or + from Spark Fun. + + === Using a Separate Pyro Battery with EasyTimer + + As described above, using an external pyro battery involves + connecting the negative battery terminal to the flight + computer ground, connecting the positive battery terminal to + one of the igniter leads and connecting the other igniter + lead to the per-channel pyro circuit connection. + + To connect the negative pyro battery terminal to EasyTimer + ground, connect it to the negative external battery + connection, top terminal 4. + + Connecting the switched positive battery terminal to the pyro + charges must be done separate from EasyTimer, by soldering + them together or using some other connector. Note that for + safety, you must put a switch between the pyro battery and + the rest of the circuit! + + The other lead from each pyro charge is then inserted into + the appropriate per-pyro channel screw terminal (top + terminal 1 for pyro channel A charge, bottom terminal 1 for + pyro channel B charge). + + === Using an Active Switch with EasyTimer + + As explained above, an external active switch requires three + connections, one to the positive battery terminal, one to + the flight computer positive input and one to ground. Use + the negative external battery connection, top terminal 4 for + ground. + + The positive battery terminal is available on bottom + terminal 4, the positive flight computer input is on the + bottom terminal 3. diff --git a/doc/easytimer.jpg b/doc/easytimer.jpg new file mode 100644 index 00000000..703e9a14 Binary files /dev/null and b/doc/easytimer.jpg differ diff --git a/doc/getting-started.inc b/doc/getting-started.inc index 5e60986a..bf6cbda8 100644 --- a/doc/getting-started.inc +++ b/doc/getting-started.inc @@ -14,6 +14,7 @@ charging circuitry. endif::telemetrum,telemega,easymega[] The Lithium Polymer + ifdef::easytimer[EasyTimer, ] ifdef::telemini[TeleMini and] EasyMini battery can be charged by disconnecting it from the board and plugging it into a standalone @@ -22,6 +23,7 @@ USB power source. You can also choose to use another battery with + ifdef::easytimer[EasyTimer and] EasyMini, anything supplying between 4 and 12 volts should work fine (like a standard 9V battery), but if you are planning to fire pyro charges, ground testing is required to verify that diff --git a/doc/pyro-channels.inc b/doc/pyro-channels.inc index ab5baef0..1daf2f6e 100644 --- a/doc/pyro-channels.inc +++ b/doc/pyro-channels.inc @@ -13,12 +13,14 @@ rate during descent is a bit noisy and so be careful when using it during these phases of the flight. Height above pad:: Select a value, and then choose whether the height -above the launch pad should be above or below that value. - -Orientation:: TeleMega and EasyMega contain a 3-axis gyroscope and -accelerometer which is used to compute the orientation of the -rocket. A record of orientations over the last 0.64 seconds is kept -and the largest value within this period is compared with the +above the launch pad should be above or below that value. Note that +because EasyTimer has only a low-range accelerometer and no barometer, +this value will not be very reliable on that device. + +Orientation:: TeleMega, EasyMega and EasyTimer contain a 3-axis +gyroscope and accelerometer which is used to compute the orientation +of the rocket. A record of orientations over the last 0.64 seconds is +kept and the largest value within this period is compared with the specified value. Note that the tilt angle is not the change in angle from the launch pad, but rather absolute relative to gravity—the 3-axis accelerometer is used to compute the angle of the rocket on the @@ -89,14 +91,14 @@ through a sequence of states: than 200m/s. Ascent rate will greater than zero. Vertical acceleration will be less than zero. - * Drogue. The rocket has reached apogee and - is heading back down, but is above the - configured Main altitude. Ascent rate will be less than zero during - this state. Vertical acceleration will be negative until the rocket - reaches a terminal descent rate, at which point Vertical - acceleration will be zero. Both Ascent rate and Vertical + * Drogue. The rocket has reached apogee and is heading back down, but + is above the configured Main altitude. Ascent rate will be less + than zero during this state. Vertical acceleration will be negative + until the rocket reaches a terminal descent rate, at which point + Vertical acceleration will be zero. Both Ascent rate and Vertical acceleration are very noisy in this state, so be careful when - trying to use them to control pyro channels. + trying to use them to control pyro channels. This state selection + is not available on EasyTimer. * Main. The rocket is still descending, and is below the Main altitude. Ascent rate will be less than zero @@ -105,7 +107,7 @@ through a sequence of states: it will settle down to a zero value once the rocket has reached the terminal velocity under the main chute. Ascent rate and Vertical acceleration should be much less noisy once the main chute has - deployed. + deployed. This state selection is not available on EasyTimer. * Landed. The rocket is no longer moving. diff --git a/doc/specs.inc b/doc/specs.inc index b69d52ee..5c2c83cc 100644 --- a/doc/specs.inc +++ b/doc/specs.inc @@ -154,6 +154,18 @@ |3.7V endif::easymega[] + ifdef::easytimer[] + |EasyTimer v1.0 + |- + |16g + |- + |BMX160 + |- + |- + |3.7-12V + endif::easytimer[] + + |=== <<<< @@ -214,4 +226,13 @@ |38mm coupler endif::easymega[] + ifdef::easytimer[] + |EasyMini + |Debug USB Battery + |Pyro A Pyro B Battery + |0.8 inch (2.03cm) + |1½ inch (3.81cm) + |24mm coupler + endif::easytimer[] + |=== diff --git a/doc/system-operation.inc b/doc/system-operation.inc index 6cc9986b..888e3891 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -7,9 +7,9 @@ fundamental modes, “idle” and “flight”. Which of these modes the firmware operates in is determined at start up time. - ifdef::telemetrum,telemega,easymega[] + ifdef::telemetrum,telemega,easymega,easytimer[] For - TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is + TeleMetrum, TeleMega, EasyMega and EasyTimer, which have accelerometers, the mode is controlled by the orientation of the rocket (well, actually the board, of course...) at the time power is switched on. If the rocket is “nose up”, then @@ -17,7 +17,7 @@ launch, so the firmware chooses flight mode. However, if the rocket is more or less horizontal, the firmware instead enters idle mode. - endif::telemetrum,telemega,easymega[] + endif::telemetrum,telemega,easymega,easytimer[] Since EasyMini doesn't have an diff --git a/doc/updating-firmware.inc b/doc/updating-firmware.inc index b1047ffa..1999a9c7 100644 --- a/doc/updating-firmware.inc +++ b/doc/updating-firmware.inc @@ -105,6 +105,16 @@ the board. endif::easymega[] + ifdef::easytimer[] + EasyTimer:: + + Connect pin 5 and pin 1 of the debug connector, which + is the six holes next to the beeper. Pin 1 can be + identified by the square pad around it, and then the + pins could sequentially across the board, making Pin 5 + the one on the other end of the row. + endif::easytimer[] + ifdef::telemetrum[] TeleMetrum v2 and newer:: diff --git a/doc/usage.inc b/doc/usage.inc index 68d08bad..4e40240b 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -167,15 +167,15 @@ signals, but no record of the flight will be stored in on-board flash. - ifdef::easymega,telemega[] + ifdef::easymega,telemega,easytimer[] |Additional Igniters |four very short beeps - |Continuity indication for the four additional pyro - channels on TeleMega and EasyMega. One high tone for - no continuity, one low tone for continuity. These are + |Continuity indication for the additional pyro + channels on TeleMega, EasyMega and EasyTimer. One high tone for + no continuity, one low tone for continuity. On TeleMega and EasyMegay, these are produced after the continuity indicators for the two primary igniter channels. - endif::easymega,telemega[] + endif::easymega,telemega,easytimer[] |==== @@ -249,14 +249,14 @@ the current state. See below for how to get the flight computer to come up in Idle mode at power on. - ifdef::telemetrum,easymega,telemega[] + ifdef::telemetrum,easymega,telemega,easytimer[] For flight computers with accelerometers (TeleMetrum, - EasyMega and TeleMega), the mode is selected by the + EasyMega, TeleMega and EasyTimer), the mode is selected by the orientation of the board during the self test interval. If the board is pointing upwards as if ready to fly, it will enter Flight/Pad mode. Otherwise, it will enter Idle mode. - endif::telemetrum,easymega,telemega[] + endif::telemetrum,easymega,telemega,easytimer[] ifdef::easymini[] For EasyMini, if the USB cable is connected to a @@ -315,21 +315,22 @@ === Using a Different Kind of Battery EasyMini - ifdef::telemini[and TeleMini v2 are] - ifndef::telemini[is] + ifdef::easytimer[and EasyTimer are] + ifndef::easytimer[is] designed to use either a lithium polymer battery or any other battery producing between 4 and 12 volts, such as a rectangular 9V battery. - ifdef::telemega,easymega,telemetrum[] + ifdef::telemega,easymega,telemetrum,telemini[] [WARNING] + ifdef::telemini[TeleMini, ] TeleMega, EasyMega and TeleMetrum are only designed to operate off a single-cell Lithium Polymer battery and cannot be used with any other kind. Connecting a different kind of battery to any of these will destroy the board. - endif::telemega,easymega,telemetrum[] + endif::telemega,easymega,telemetrum,telemini[] === Using Packet Link Mode diff --git a/doc/using-am-products.inc b/doc/using-am-products.inc index 1c1ff10e..6048ee0e 100644 --- a/doc/using-am-products.inc +++ b/doc/using-am-products.inc @@ -17,11 +17,11 @@ In the rocket itself, you just need a flight computer and a single-cell, 3.7 volt nominal Li-Po rechargeable battery. - ifdef::telemetrum,telemega,easymega[] + ifdef::telemetrum,telemega,easymega,easytimer[] An 850mAh battery weighs less than a 9V - alkaline battery, and will run a TeleMetrum, TeleMega - or EasyMega for hours. - endif::telemetrum,telemega,easymega[] + alkaline battery, and will run a TeleMetrum, TeleMega, + EasyMega or EasyTimer for hours. + endif::telemetrum,telemega,easymega,easytimer[] A 110mAh battery weighs less than a triple A battery and is a good choice for use with