From: Bdale Garbee Date: Sun, 30 Oct 2022 20:59:51 +0000 (-0600) Subject: update EasyMotor content for production version X-Git-Url: https://git.gag.com/?p=web%2Faltusmetrum;a=commitdiff_plain;h=101143839fa9ae8658ca43a4980d24568de712ed update EasyMotor content for production version --- diff --git a/EasyMotor/index.mdwn b/EasyMotor/index.mdwn index aedcfa3..1e9c068 100644 --- a/EasyMotor/index.mdwn +++ b/EasyMotor/index.mdwn @@ -5,56 +5,97 @@ This board is designed for in-flight characterization of research rocket motors. It records chamber pressure and acceleration to an on-board flash memory chip, the contents of which can be downloaded after flight over USB. +This is what a production v3 board looks like: + + + + ## Features ## ### User View ### * Data logger storing motor chamber pressure and acceleration -* supports inexpensive 5V analog output pressure sensors -* 3-axis 200-g accelerometer -* On-board non-volatile memory for flight data storage -* USB for configuration, and data recovery -* Designed for use with a battery from 9-12V +* works with inexpensive 5V analog output pressure sensors +* USB for configuration, data recovery, and battery charging +* Designed for use with a single-cell LiPo battery * 1.5 x 0.8 inch board +### Developer View ### + +* Hardware Features + * [NXP LPC11U14](http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC11U14FHI33.html) System-on-Chip + * ARM Cortex-M0 MCU + * 32k Flash + * 6k RAM + * USB 2.0 + * 8 12-bit analog inputs + * I2C, SPI, async serial + * digital I/O + * Analog Devices [ADXL375](https://www.analog.com/en/products/adxl375.html) 3-Axis Digital MEMS Accelerometer + * +- 200g full-scale + * on-chip digitizer + * on-board USB-based charger for single-cell LiPo battery + * low noise 5V switching regulator to power pressure sensor + * precision divider with 0.1% resistors to scale pressure sensor + analog output to match SOC analog input voltage range +* Software Features + * Written mostly in C with some ARM assembler + * Runs from on-chip flash, uses on-chip RAM, stores flight data to serial flash + * USB serial emulation for "console" interface +* Tools Used + * [lepton-eda](https://github.com/lepton-eda/lepton-eda) for schematic capture + * [pcb-rnd](http://repo.hu/projects/pcb-rnd/) for PCB layout +* Licenses + * The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html) + * The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) + ## Example Installations ## There are lots of ways to mount an EasyMotor board, but since we've been asked, here are a few photos from snap-ring case forward closures -machined by Bdale for -test flights of EasyMotor. The sensor bodies are 316 stainless with a 1/8 NPT -male boss, so the approach chosen is to drill a 1/8 inch touch hole all the -way through the closure, then drill and tap 1/8 NPT female threads part way -through the closure thickness. The hole gets filled with grease and the -sensor screwed in. - -The first example is a 98mm snap-ring closure, with the -sensor and electronics mounted off-center so a 3/8" all-thread could be used +machined by Bdale for test flights of EasyMotor. For launch detection to +work, the board must be mounted so the board's long axis is aligned with the +axis of flight, and by default the "beeper end" must be towards the nose. +Note that these examples all feature earlier versions of EasyMotor that used +a different power supply and battery strategy. Don't be confused by that! The +production version of EasyMotor uses our standard Altus Metrum LiPo batteries. + +The body of the pressure sensors used are 316 stainless with a 1/8 NPT +male boss, so Bdale's usual approach is to drill a 1/8 inch "touch hole" or +sampling port all the way through the forward closure, then drill and tap +1/8 NPT female threads part way through the closure thickness. The hole +gets filled with grease, and then the sensor screwed in. Since Bdale usually +builds airframes that assume the recovery harness can attach to the motor +case, several prototype installations depended on the stainless steel sensor +body to act as a bolt to attach a bracket that supported both circuit board +mounting and recovery harness attachment. + +The first example is a 98mm snap-ring closure, with the sensor and +electronics mounted off-center so a 3/8" all-thread could be used in the center for motor retention in a minimum-diameter-ish airframe. This -motor had a small gap between the last propellant grain and the forward +motor had a small gap between the forward propellant grain and the forward closure, so having the pressure sampling port off-center wasn't a problem. The mounting bracket for the electronics was bent from a bit of 1/16" aluminum sheet and screwed to the forward closure with two short 4-40 -screws into tapped and drilled mounting holes. Note the use of an A23 12v -alkaline battery in a holder on the bracket with the -EasyMotor prototype. These batteries are fine for a flight or two, and both -they and the little holders for them are cheap on Amazon and make installations -like this fairly easy to put together: +screws into tapped and drilled mounting holes. Note that this early version +of EasyMotor used an A23 12v alkaline battery in a holder on the bracket. Those +batteries were fine for a flight or two, but dealing with them was a hassle, +which is one of the reasons the production was designed to use a LiPo. -This second example is on a 75mm snap-ring closure, and was Bdale's first attempt -using 16-gauge steel to bend a mounting bracket that could also be used for recovery -harness attachment. Another A23 and holder are taped on the other side of the -sensor not visible in this photo: +This second example is on a 75mm snap-ring closure, and was Bdale's first +attempt using 16-gauge steel to bend a mounting bracket that could also be +used for recovery harness attachment. Another A23 and holder are taped on +the other side of the sensor not visible in this photo: -This example is a refinement of the 16-gauge steel strap used to form a mounting -bracket and harness retention point, this time for a 54mm snap-ring closure. -Bdale has flown this setup several times now, and the only down-side is that -it obvious takes up a few extra inches of airframe length. Note also the quik-link -wrapped in electrical tape to make sure it doesn't flop down and short against +This example is a refinement of the 16-gauge steel strap used to form a +mounting bracket and harness retention point, this time for a 54mm snap-ring +closure. Bdale flew this setup several times, and the only down-side is that +it obvious takes up a few extra inches of airframe length. Note the quik-link +wrapped in electrical tape to make sure it doesn't flop down and short against any of the electronics in flight. Note also a long piece of shooter wire that gets fed through a vent hole in the airframe as a twist-n-tape power switch. @@ -62,16 +103,26 @@ gets fed through a vent hole in the airframe as a twist-n-tape power switch. ## Artifacts ## -The firmware for this product is part of the [AltOS](../AltOS) suite. +Motor characterization products from Altus Metrum are documented in a manual +available in [html](../AltOS/doc/motortest.html) and +[pdf](../AltOS/doc/motortest.pdf) formats. -This board was designed using lepton-eda and pcb-rnd. +The firmware for this product is part of the [AltOS](../AltOS) suite. Test +data can be downloaded, plotted, and exported in CVS form using the altosui +ground station executable. -The hardware design files are available from +The current hardware design files are available from [git.gag.com](http://git.gag.com) in the project [hw/easymotor](http://git.gag.com/?p=hw/easymotor;a=summary). +For easy reference, pdf snapshots of the files used for production version 3 +are available here: + +* [schematic](v3/easymotor-sch.pdf) +* [pcb artwork](v3/easymotor-pcb.pdf) +* [bill of materials](v3/partslist.csv) + ## Availability ## -Prototypes of v2 were built and successfully flown. The initial production -run is back from our surface-mount assembler, and testing is underway. We -hope to have these available for sale by February 2021. +Version 3 is in production and available for sale. + diff --git a/EasyMotor/v3/bottom-thumb.jpg b/EasyMotor/v3/bottom-thumb.jpg new file mode 100644 index 0000000..a8f2a4e Binary files /dev/null and b/EasyMotor/v3/bottom-thumb.jpg differ diff --git a/EasyMotor/v3/bottom.jpg b/EasyMotor/v3/bottom.jpg new file mode 100644 index 0000000..61722b9 Binary files /dev/null and b/EasyMotor/v3/bottom.jpg differ diff --git a/EasyMotor/v3/easymotor-pcb.pdf b/EasyMotor/v3/easymotor-pcb.pdf new file mode 100644 index 0000000..f00aa8e Binary files /dev/null and b/EasyMotor/v3/easymotor-pcb.pdf differ diff --git a/EasyMotor/v3/easymotor-sch.pdf b/EasyMotor/v3/easymotor-sch.pdf new file mode 100644 index 0000000..6a32a20 Binary files /dev/null and b/EasyMotor/v3/easymotor-sch.pdf differ diff --git a/EasyMotor/v3/partslist.csv b/EasyMotor/v3/partslist.csv new file mode 100644 index 0000000..000679c --- /dev/null +++ b/EasyMotor/v3/partslist.csv @@ -0,0 +1,28 @@ +device,value,footprint,loadstatus,provided,mfg,mfg_part_number,vendor,vendor_part_number,quantity,refdes +"BEEPER","TDK_PS12","TDK_PS12","noload","no","unknown","PS1240P02BT","digikey","445-2525-1-ND",1,"U8" +"CAPACITOR","0.1uF","0402","smt","no","unknown","C1005X5R1E104K050BC","digikey","445-4964-1-ND ",4,"C1 C101 C7 C9" +"CAPACITOR","10nF","0402","smt","no","unknown","250R07W103KV4T","digikey","709-1132-1-ND",1,"C38" +"CAPACITOR","10uF","0603","smt","no","unknown","CL10A106KQ8NNNC","digikey","1276-1038-1-ND",2,"C10 C11" +"CAPACITOR","18pF","0402","smt","no","unknown","GRM1555C1H180FA01D","digikey","490-6203-1-ND",2,"C2 C3" +"CAPACITOR","1uF","0402","smt","no","unknown","CL05A105KP5NNNC","digikey","1276-1076-1-ND",3,"C102 C37 C39" +"CAPACITOR","4.7uF","0402","smt","no","unknown","04026D475KAT2A","digikey","478-10669-1-ND",2,"C4 C5" +"CONNECTOR","6screws","282834-6","noload","no","unknown","20088","4ucon","20088",1,"J12" +"CONNECTOR","Debug","0-215079-4","noload","no","unknown","215079-4","mouser","571-215079-4",1,"J6" +"CONNECTOR","LiPo","B2B-PH","noload","no","unknown","440054-2","digikey","A100034-ND",1,"B1" +"CONNECTOR","unknown","50mil2pin","noload","","unknown","","","",1,"J1" +"CONNECTOR","USBmicroB","11071","smt","yes","unknown","11071","4ucon","11071",1,"J5" +"CRYSTAL","12MHz","ABM8","smt","no","unknown","ABM8G-12.000MHZ-4Y-T3","digikey","535-10901-1-ND",1,"X2" +"IC","ADXL375","lga14","smt","yes","unknown","ADXL375BCCZ-RL","digikey","ADXL375BCCZ-RLCT-ND",1,"U3" +"IC","LPC11U14FHI33","hvqfn33","smt","yes","unknown","LPC11U14FHI33/201","mouser","771-LPC11U14FHI33201",1,"U7" +"IC","MCP1642B-50","dfn-2x3-8","smt","yes","unknown","MCP1642B-50I/MC","mouser","579-MCP1642B-50I/MC",1,"U4" +"IC","MCP73831","SOT23-5","smt","yes","unknown","MCP73831T-2ACI/OT","mouser","579-MCP73831T-2ACIOT",1,"U2" +"IC","TC2185-3.3","SOT23-5","smt","yes","unknown","TC2185-3.3VCTTR","digikey","TC2185-3.3VCCT-ND",1,"U1" +"IC","W25Q64","SOIJ8","smt","no","unknown","W25Q64JVSSIQ","digikey","W25Q64JVSSIQ-ND ",1,"U5" +"INDUCTOR","4.7uH","1008","smt","yes","unknown","AIML-1008HC-4R7M-T","digikey","535-12797-1-ND",1,"L1" +"LED","dualLED","0605","smt","yes","unknown","LTST-C195KGJRKT","digikey","160-1452-1-ND",1,"D1" +"RESISTOR","10k_0.1%","0402","smt","no","unknown","RNCF0402BTE10K0","digikey","RNCF0402BTE10K0CT-ND ",2,"R28 R32" +"RESISTOR","1.5k","0402","smt","no","unknown","RC0402FR-071K5L","digikey","311-1.50KLRCT-ND",1,"R9" +"RESISTOR","1k","0402","smt","no","unknown","RC0402FR-071KL","digikey","311-1.00KLRCT-ND",2,"R50 R51" +"RESISTOR","2.49k","0402","smt","no","unknown","RC0402FR-072K49L","digikey","311-2.49KLRCT-ND",1,"R35" +"RESISTOR","33","0402","smt","no","unknown","RC0402FR-0733RL","digikey","311-33.0LRCT-ND",2,"R54 R55" +"RESISTOR","5.6k_0.1%","0402","smt","no","unknown","RT0402BRD075K6L","digikey","YAG1459CT-ND",2,"R27 R31" diff --git a/EasyMotor/v3/top-thumb.jpg b/EasyMotor/v3/top-thumb.jpg new file mode 100644 index 0000000..bfa700f Binary files /dev/null and b/EasyMotor/v3/top-thumb.jpg differ diff --git a/EasyMotor/v3/top.jpg b/EasyMotor/v3/top.jpg new file mode 100644 index 0000000..7b6beae Binary files /dev/null and b/EasyMotor/v3/top.jpg differ