{"id":4500,"date":"2020-11-07T00:36:25","date_gmt":"2020-11-06T23:36:25","guid":{"rendered":"http:\/\/dronesonen.usn.no\/?p=4500"},"modified":"2020-11-07T00:36:25","modified_gmt":"2020-11-06T23:36:25","slug":"eight-sprint-puck-buddies","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=4500","title":{"rendered":"Eight sprint &#8211; Puck Buddies"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Project Status<\/h2>\n\n\n\n<p>This week we had a meeting to agree on the design moving forward. We agreed on the final specs, which includes to limit the movement of the machine to one axis. It also became apparent that a 50% scale model would be more practical and it would still be able to show our proof of concept. We feel like we are currently in a good position and have the most essential pieces in place for our project as well as the components needed. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Halvard<\/h2>\n\n\n\n<p>This week&nbsp;we&nbsp;the mechanical engineers&nbsp;have&nbsp;started to&nbsp;gather the supplies that we&nbsp;will&nbsp;need to start constructing the machine. I have bought&nbsp;some&nbsp;more filament for the 3d printer to prepare for the manufacturing&nbsp;process. This week I have started to manufacture our final iteration of the hockey machine. I started by 3d-printing the parts for the main assembly, it will consist of 20X20mm square steel tubes. These tubes will&nbsp;be connected with&nbsp;3d-printed parts to ensure easy maintenance and to make sure that we can make changes to the design if needed. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"528\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-4-1024x528.png\" alt=\"\" class=\"wp-image-4501\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-4.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-4-300x155.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-4-768x396.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption> <em>&nbsp;A view in the slicer of one of the mounting blocks used in the firing mechanism.<\/em> <\/figcaption><\/figure>\n\n\n\n<p>For those parts I have choose to use PETG since this will give us sufficient strength as well as it not being too brittle. The PETG was first placed in&nbsp;an&nbsp;oven at 60\u00b0C for 2 hours to make sure that it did not contain any water. This was done since PETG is hydroscopic, which means that it will absorb moisture from the air if exposed to it.&nbsp;We think we&nbsp;are able to&nbsp;get most of the building on the machine done by next week.&nbsp; <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Anders<\/h2>\n\n\n\n<p>The past week I started to implement a binary logical check system to ensure that the windows application is always keeping up with the Arduino. This is done by analyzing all the serial communication coming from the Arduino and then running it through an algorithm that shows the right content in the UI.&nbsp;<\/p>\n\n\n\n<p>Other than that, I have also redesigned the UI to further simplify the number of options you have at any given moment to reduce the chance that the Arduino receives unintended values from the GUI application.&nbsp;<\/p>\n\n\n\n<p>The new design splits content into three panels, one to change between automatic and manual control of the Arduino:\u00a0<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"688\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-10-1024x688.png\" alt=\"\" class=\"wp-image-4514\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-10.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-10-300x202.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-10-768x516.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>One to select\u00a0what between the different manual functions in the Arduino code:\u00a0 <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"690\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-11-1024x690.png\" alt=\"\" class=\"wp-image-4515\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-11.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-11-300x202.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-11-768x518.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> And the final one which enables the user to set the target direction value:\u00a0 <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"687\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-12-1024x687.png\" alt=\"\" class=\"wp-image-4516\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-12.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-12-300x201.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-12-768x515.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Other\u00a0then\u00a0that we have the connection panel at the\u00a0top,\u00a0which\u00a0is visible at all times, and that I plan to have showing the connection status of the serial connection in the future.\u00a0 <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"689\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-13-1024x689.png\" alt=\"\" class=\"wp-image-4517\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-13.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-13-300x202.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-13-768x517.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Gaute<\/h2>\n\n\n\n<p>The focus this week was on\u00a0making the feeding mechanism. As per now it the choice stands between using the\u00a0servo,\u00a0I made last week, or using a stepper like shown under.\u00a0\u00a0 <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"380\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-14.png\" alt=\"\" class=\"wp-image-4519\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-14.png 525w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-14-300x217.png 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Nicholas<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Software<\/h3>\n\n\n\n<p>I started this week with\nupdating the existing Python programs to be more user friendly and to more\neasily move between running tests on my own laptop and the Jetson Nano. The\nfirst step here was to detect what platform the program was running on. Then I\nwould need to have different methods based on what system it was running on as\nhandling of USB ports are done differently between Windows and Linux. I also\nmade other small improvements to the program so that more of the process can be\nautomated. There are now several flags defined at the start of the program that\nwill make selection of different modes easier when testing. <\/p>\n\n\n\n<p>With the new stepper I had to rewrite the Arduino code in order to work with the stepper driver. The new stepper driver only requires two inputs. On which states the direction of the stepper and the other registers pulses and moves the stepper accordingly. How far the stepper will move on one pulse is determined by the DIP switches mounted on the stepper driver. The setStepper() function now looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"183\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-5.png\" alt=\"\" class=\"wp-image-4502\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-5.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-5-300x91.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-5-604x183.png 604w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><figcaption> Stepper function <\/figcaption><\/figure>\n\n\n\n<p>The function now sets the stepper direction depending on where the target is located. Then the stepper moves one step. The moveStepper() function is super simple and only sends a pulse to the stepper driver:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"415\" height=\"176\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-6.png\" alt=\"\" class=\"wp-image-4503\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-6.png 415w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-6-300x127.png 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><figcaption>  Sending pulse to the stepper driver <\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Electrical<\/h3>\n\n\n\n<p>I also made some\nprogress on the electrical system this week. We changed our stepper to a NEMA\n17 that I borrowed from an friend. However, the drivers he had used for this were\nrather cheap and simple. I decided to replace these ones with one borrowed from\nSteven. The new one is based on the TB6600HG, or more correctly the TB67S109AFTG.\nThis driver has much better heat dissipation and allows up to 1\/32 microstepping.<\/p>\n\n\n\n<p>After reading the documentation for the module I wired it up and wrote a small test program for the Arduino. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"454\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-7.png\" alt=\"\" class=\"wp-image-4504\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-7.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-7-300x225.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><figcaption> Stepper test setup <\/figcaption><\/figure>\n\n\n\n<p>Another great thing\nabout this new stepper driver is that it supports input voltages in a wide\nrange. This gives us greater flexibility in what battery to use for our project\nwithout needing extra components to step the voltage up or down. <\/p>\n\n\n\n<p>With the us having decided what components to use I could start working on finishing the different drawings and schematics for the projects. I also wrote a BOM and sent to Halvard and Gaute so they could start to design a compartment\/mounting for the different components. <\/p>\n\n\n\n<p>I started off by drawing a block diagram that shows the different connections between the different components. I also assigned each major component with a ID which will be referenced I other drawings as well. <\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-8-928x1024.png\" alt=\"\" class=\"wp-image-4505\" width=\"604\" height=\"666\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-8-928x1024.png 928w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-8-272x300.png 272w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-8-768x848.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-8.png 1021w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><figcaption>Block diagram <\/figcaption><\/figure>\n\n\n\n<p>Based on this I\nupdated the Arduino wiring diagram whit specific connections. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-9-1024x563.png\" alt=\"\" class=\"wp-image-4506\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-9-1024x563.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-9-300x165.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-9-768x422.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/11\/image-9.png 1603w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Arduino wiring diagram rev B showing where the pins are connected <\/figcaption><\/figure><\/div>\n\n\n\n<p style=\"text-align:left\">Next sprint I plan on finishing\nthe other drawings which includes a wiring diagram and a layout drawing. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Project Status This week we had a meeting to agree on the design moving forward. We agreed on the final specs, which includes to limit the movement of the machine to one axis. It also became apparent that a 50% scale model would be more practical and it would still be able to show our [&hellip;]<\/p>\n","protected":false},"author":77,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62,1],"tags":[],"class_list":["post-4500","post","type-post","status-publish","format-standard","hentry","category-smartsystems2020","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4500"}],"version-history":[{"count":5,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4500\/revisions"}],"predecessor-version":[{"id":4521,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4500\/revisions\/4521"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}