{"id":395,"date":"2024-05-15T12:53:41","date_gmt":"2024-05-15T12:53:41","guid":{"rendered":"https:\/\/akaflieg.nl\/?p=395"},"modified":"2024-05-31T17:22:06","modified_gmt":"2024-05-31T17:22:06","slug":"project-hobbes-part-9-foundation","status":"publish","type":"post","link":"https:\/\/akaflieg.nl\/index.php\/2024\/05\/15\/project-hobbes-part-9-foundation\/","title":{"rendered":"Project Hobbes: Part 9 &#8211; Foundation"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em><a href=\"https:\/\/akaflieg.nl\/index.php\/2024\/04\/23\/project-hobbes-part-7-feedback\/\">Last time<\/a> I wrote about how I got valuable feedback during my visit at Aero Friedrichshafen.  As I mentioned, I&#8217;m now forced to go back to the drawing board with my enclosure. But not before I gather some more feedback&#8230;<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ground tests<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-1024x768.jpg\" alt=\"\" class=\"wp-image-401\" srcset=\"https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-1024x768.jpg 1024w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-300x225.jpg 300w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-768x576.jpg 768w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-1536x1152.jpg 1536w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/20240505_122818-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Ground tests in one of my club&#8217;s DG-1000S gliders.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately I was unable to test my hardware in flight, but I was able to spend an entire day with the device connected to one of my club&#8217;s DG-1000&#8217;s. These are all equipped with an LX8000 and they have the PDA port avaiable for me to connect to. My main objective was finding bugs and more importantly: checking EMC compatibility. I connected everything and found no sings of any EMC issues. During the five hours everything was connected, the radio didn&#8217;t turn on, other instruments didn&#8217;t behave in an unusual way. No extra noise was audible over the speakers. I consider EMC to be okay for the LXNAV version of my hardware. The other input board, which features a DC-DC Converter (12V to 5V) module, will need a separate test. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I found a few bugs here and there, which were (ironically) all located in parts of the code that I hadn&#8217;t covered with Test Driven Development. I can do a better job at separating code that steers hardware from code that&#8217;s purely logic. That way I can test more of my code and find these bugs earlier. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After some bugfixes, I could see data flow. The $LXWP0 NMEA sentences from the LX8000 were parsed and the Indicated Airspeed was extracted from it. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My &#8220;Tap Detection&#8221; algorithm is too sensitive and will be removed. For the final Idaflieg tests I need a physical button anyway, so no use in keeping it around.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test Driven CAD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A new enclosure arrived during the past few weeks. This enclosure was fundamentally different from previous versions in that I designed it entirely in OpenSCAD. Like with all first tries, this first enclosure was unusable. However, it did reveal important lessons about my CAD process: there are <strong>way<\/strong> much details in a CAD model for me to keep track of.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So I started to wonder what &#8220;Test Driven Development&#8221; in CAD might look like. I want to have an automatic check that tells me if my design satisfies certain constraints. Perhaps the most important constraint is: do the contents of the box actually fit? Another one might be: can I plug in the RJ45 cable? You get the idea&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I solved this by modelling the contents of the enclosure, the PCBs, the standoffs, the nuts and bolts. I then created a scene that is defined as the intersection between the enclosure and the contents. If there is any conflict between the enclosure and it&#8217;s intended contents, this intersection will not be empty. When I render this intersection from 3 angles, all 3 images should be empty. To check if the images are actually empty, I wrote a small python script.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I can now make changes in CAD and get feedback on my changes in a matter of seconds. This makes me much more confident that my next iteration of the enclosure will work. It makes me also a lot more confident to refactor the enclosure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PushButton<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"1024\" src=\"https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/zacher_measure_tape-760x1024.jpg\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/zacher_measure_tape-760x1024.jpg 760w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/zacher_measure_tape-223x300.jpg 223w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/zacher_measure_tape-768x1035.jpg 768w, https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/zacher_measure_tape.jpg 776w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"wp-element-caption\">A closeup of the control stick of a DG-1001S, with measuring tape and force meter attached to the control stick.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">One thing that I&#8217;m really struggling with is the PushButton location. I would like to place this at the stick, as one of Idaflieg&#8217;s pilots suggested, but it is proving to be difficult. There&#8217;s off course also a risk in mounting things to the stick, especially since there&#8217;s also a measuring tape mounted to the flight stick during the Zacher flights.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I have planned a session with a friend to try to address this, but anyone who has ideas is more than welcome to suggest them!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>With some foundational work <\/em>done, <em>I&#8217;m starting to feel ready for a major refactor of the housing and the pushbutton. I am filling in the forms to officially submit my project for this year&#8217;s Idaflieg Sommertreffen, and I&#8217;m looking forward to the feedback from Idaflieg&#8217;s pilots.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last time I wrote about how I got valuable feedback during my visit at Aero Friedrichshafen. As I mentioned, I&#8217;m now forced to go back to the drawing board with my enclosure. But not before I gather some more feedback&#8230; Ground tests Unfortunately I was unable to test my hardware in flight, but I was &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/akaflieg.nl\/index.php\/2024\/05\/15\/project-hobbes-part-9-foundation\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Project Hobbes: Part 9 &#8211; Foundation&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":403,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[5],"class_list":["post-395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-hobbes"],"jetpack_featured_media_url":"https:\/\/akaflieg.nl\/wp-content\/uploads\/2024\/05\/openscad-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/posts\/395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/comments?post=395"}],"version-history":[{"count":3,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/posts\/395\/revisions"}],"predecessor-version":[{"id":402,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/posts\/395\/revisions\/402"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/media\/403"}],"wp:attachment":[{"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/media?parent=395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/categories?post=395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akaflieg.nl\/index.php\/wp-json\/wp\/v2\/tags?post=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}