{"id":901,"date":"2014-10-31T23:10:30","date_gmt":"2014-10-31T23:10:30","guid":{"rendered":"http:\/\/www.blog.exrockets.com\/blog\/?p=901"},"modified":"2018-03-15T04:42:10","modified_gmt":"2018-03-15T04:42:10","slug":"mini-flight-computer-breo-m","status":"publish","type":"post","link":"http:\/\/www.blog.exrockets.com\/blog\/mini-flight-computer-breo-m\/","title":{"rendered":"MINI FLIGHT COMPUTER (BREO M)"},"content":{"rendered":"<p>After I some time I found free moments to finish an old project \u2013 a flight computer with programmable outputs. This flight computer is based on my small digital barometric altimeter and the small accelerometer.<br \/>\n<a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-902\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/3.jpg\" alt=\"3\" width=\"1800\" height=\"732\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/3.jpg 1800w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/3-300x122.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/3-1024x416.jpg 1024w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\" \/><\/a>Despite the modest dimensions of the device \u2013 only 60x15x15 millimeters \u2013 it has excellent functionality.\u00a0 The main characteristics are:<\/p>\n<p style=\"padding-left: 30px;\">&#8211; Barometric altitude measurement up to 18km<br \/>\n&#8211; High g acceleration sensor<br \/>\n&#8211; 40 samples per second \/ 13 bit ADC<br \/>\n&#8211; 3.5 minutes recording time<br \/>\n&#8211; Igniters connectivity check for both channels (LEDs for each channel will show the status of the igniter)<br \/>\n&#8211; USB connection<br \/>\n&#8211; 7.5 to 16 VDC power supply with on-board ON-OFF switch<br \/>\n&#8211; 10A (40A pulse) MOSFET for each channel<br \/>\n&#8211; Selectable on-time for each channel (between 0.1 and 5 seconds)<br \/>\n&#8211; Each channel has igniter connectivity feedback for back-up purposes (one channel can substitute the other in case a defective igniter is detected during flight)<br \/>\n&#8211; 2 individually programmable outputs where each output can be set up for one\u00a0 of the following events:<\/p>\n<p style=\"padding-left: 30px;\">1.DISABLED \u2013 Output won\u2019t fire<br \/>\n2.TIME \u2013 Fire after the time elapsed (in seconds)<br \/>\n3.ALTITUDE \u2013 Fire as soon as the predetermined altitude is reached (in meters)<br \/>\n4.APOGEE-IMMEDIATELY \u2013 Fire at apogee<br \/>\n5.APOGEE-TIME DELAY &#8211; Fire n seconds after apogee<br \/>\n6.APOGEE-ALTITUDE &#8211; Fire at a predetermined altitude after the apogee has been reached (in meters)<br \/>\n7.STAGE BURNOUT &#8211; Fire as soon as the initial acceleration falls below 1 (motor burnout)<\/p>\n<p>I have given it a good thought how to miniaturize the flight computer while keeping the assembly relatively easy for a DIY project and the only way to do that was by using miniature MOSFET transistors which are a bit tricky for soldering but not that hard at all.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-910\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/2.jpg\" alt=\"2\" width=\"301\" height=\"261\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-911\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/1.jpg\" alt=\"1\" width=\"270\" height=\"262\" \/><\/a><\/p>\n<p>And the schematic for my flight computer:<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/sch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-913\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/sch.png\" alt=\"sch\" width=\"2200\" height=\"1395\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/sch.png 2200w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/sch-300x190.png 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/sch-1024x649.png 1024w\" sizes=\"auto, (max-width: 2200px) 100vw, 2200px\" \/><\/a><\/p>\n<p>Once I finished soldering the board I started writing the firmware which has basically three main parts \u2013 USB part, on-the-field maximum altitude calculation and the flight mode.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/FLOW_CHART1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-924\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/FLOW_CHART1.jpg\" alt=\"FLOW_CHART\" width=\"1216\" height=\"714\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/FLOW_CHART1.jpg 1216w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/FLOW_CHART1-300x176.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/FLOW_CHART1-1024x601.jpg 1024w\" sizes=\"auto, (max-width: 1216px) 100vw, 1216px\" \/><\/a><\/p>\n<p>Then the next part was to write a suitable desktop application for the USB communication part, here I appreciate Sergey\u2019s excellent suggestions how to better organize the functionality.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-916\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP1.jpg\" alt=\"APP1\" width=\"1369\" height=\"761\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP1.jpg 1369w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP1-300x166.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP1-1024x569.jpg 1024w\" sizes=\"auto, (max-width: 1369px) 100vw, 1369px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-917\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP2.jpg\" alt=\"APP2\" width=\"1369\" height=\"764\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP2.jpg 1369w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP2-300x167.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP2-1024x571.jpg 1024w\" sizes=\"auto, (max-width: 1369px) 100vw, 1369px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-918\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP3.jpg\" alt=\"APP3\" width=\"1369\" height=\"761\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP3.jpg 1369w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP3-300x166.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/APP3-1024x569.jpg 1024w\" sizes=\"auto, (max-width: 1369px) 100vw, 1369px\" \/><\/a><\/p>\n<p>The flight computer passed so far the testing in my improvised barometric chamber and I hope soon to be tested in a real flight.<\/p>\n<p><strong>UPDATE:<\/strong><\/p>\n<p>RocKI (<a href=\"http:\/\/kia-soft.narod.ru\" target=\"_blank\">http:\/\/kia-soft.narod.ru<\/a>) mentioned a situation where a false start condition could trigger the flight computer. As a result the computer could be fooled and the ejection\u00a0\u00a0 charge could be fired untimely. This situation arises when the electronic bay is tidily closed and the next bay is mounted on the top by pressing it down. This acts much like a piston and temporarily increases the pressure in the electronics bay. As soon as the pressure starts falling down to equalize with the surrounding pressure and if this is combined with a strong\u00a0\u00a0 shaking of the rocket, then the start detecting algorithm will be fooled that the rocket is launched.<\/p>\n<p>To avoid this problem I made some modifications in the firmware start detection algorithm \u2013 now it is much harder to have a faulty start triggering. However as a result of the new algorithm you should allow about 30 seconds between switching on the flight computer and launching the rocket. This time is necessary for the flight computer to make some additional calculations. Launching before those 30 seconds have elapsed could result in faulty initial calculations and this could have detrimental consequences.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/Start.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1421\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/Start.jpg\" alt=\"Start\" width=\"2400\" height=\"1425\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/Start.jpg 2400w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/Start-300x178.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/Start-1024x608.jpg 1024w\" sizes=\"auto, (max-width: 2400px) 100vw, 2400px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/BREO_M_N_HID_1_4.zip\">MCU Firmware v1.4 (hex file)<\/a><br \/>\n<a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/12\/BREO-M-N-APPLICATION-v1.1.zip\">BREO M\/N APPLICATION v1.1<\/a><\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2014\/10\/BREO-M-CADCAM.zip\">BREO M &#8211; CADCAM.ZIP<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After I some time I found free moments to finish an old project \u2013 a flight computer with programmable outputs. This flight computer is based on my small digital barometric altimeter and the small accelerometer. Despite the modest dimensions of the device \u2013 only 60x15x15 millimeters \u2013 it has excellent functionality.\u00a0 The main characteristics are: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"gallery","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-901","post","type-post","status-publish","format-gallery","hentry","category-electronics","post_format-post-format-gallery"],"_links":{"self":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":23,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/901\/revisions"}],"predecessor-version":[{"id":1589,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/901\/revisions\/1589"}],"wp:attachment":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/media?parent=901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/categories?post=901"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/tags?post=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}