{"id":1493,"date":"2018-01-07T21:00:14","date_gmt":"2018-01-08T05:00:14","guid":{"rendered":"https:\/\/nickmccomb.net\/college\/?p=1493"},"modified":"2019-02-14T20:12:41","modified_gmt":"2019-02-15T04:12:41","slug":"iris-comms-galore","status":"publish","type":"post","link":"https:\/\/nickmccomb.net\/college\/iris-comms-galore","title":{"rendered":"IRIS &#8211; Comms galore"},"content":{"rendered":"<p><a href=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1457 size-large\" src=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris-1024x437.jpg\" alt=\"\" width=\"1024\" height=\"437\" srcset=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris-1024x437.jpg 1024w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris-300x128.jpg 300w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris-768x328.jpg 768w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/02\/iris.jpg 1747w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>The &#8220;IRIS&#8221; board, named after a Greek messenger god, is the main communications hub for the 2017-2018 Mars Rover project for the <a href=\"http:\/\/osurobotics.club\">OSU Robotics Club<\/a>. I designed the board to act as the main communication interface for the computer (in this case a Jetson TX2), allowing it to talk to all of the embedded platforms on the Rover. As one of our core design principles for the year was &#8220;decentralization&#8221;, this resulted in a lot of nodes for us to talk to. For robustness and extensibility, communication with these nodes was implemented using the RS485 physical layer, implementing (largely) the Modbus protocol. This board supports 10 seperate\u00a0RS-485 channels, some of which implement bussed networks. Additionally, this board also serves some of the basic functions that the computer required, such as voltage rail monitoring and interpreting of the S.BUS data coming from our RC Controller receiver that we use for close-range manual control. These functions were implemented using a\u00a0MK20DX256VLH7\u00a0microcontroller, using the Teensy 3.2 framework (to enable rapid firmware development).<\/p>\n<p>This easily ranks among the most complicated boards I have designed. It&#8217;s 4 layers, with a ton of USB-traces running around the board. For more information on the board, see the resources below. This design is\u00a0<strong>completely open source.<\/strong><\/p>\n<div id=\"attachment_1683\" style=\"width: 277px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/01\/Electrical-Block-Diagrams-Network-Layout-V2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1683\" class=\"wp-image-1683 size-medium\" src=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/01\/Electrical-Block-Diagrams-Network-Layout-V2-267x300.png\" alt=\"\" width=\"267\" height=\"300\" srcset=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/01\/Electrical-Block-Diagrams-Network-Layout-V2-267x300.png 267w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2018\/01\/Electrical-Block-Diagrams-Network-Layout-V2.png 753w\" sizes=\"auto, (max-width: 267px) 100vw, 267px\" \/><\/a><p id=\"caption-attachment-1683\" class=\"wp-caption-text\">Rover Block Diagram showing Iris&#8217;s central role.<\/p><\/div>\n<h3>System Features:<\/h3>\n<ul>\n<li>Rail voltage monitoring<\/li>\n<li>S.BUS Input<\/li>\n<li>10 individual RS485 channels<\/li>\n<li>Auxillary multipurpose TTL UART available<\/li>\n<\/ul>\n<h3>Project Resources<\/h3>\n<div style=\"width: 600px; margin: 0 auto;\">\n<table style=\"height: 24px;\" width=\"873\">\n<tbody>\n<tr>\n<td>\n<h3 style=\"text-align: center;\"><a href=\"https:\/\/nickmccomb.net\/college\/printed-circuit-boards\/iris-node\">System PCB<\/a><\/h3>\n<p><a href=\"https:\/\/nickmccomb.net\/college\/printed-circuit-boards\/iris-node\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1304\" src=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CIRCUIT_BOARD_1395376-300x300.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CIRCUIT_BOARD_1395376-300x300.png 300w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CIRCUIT_BOARD_1395376-400x400.png 400w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CIRCUIT_BOARD_1395376.png 512w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/td>\n<td><\/td>\n<td>\n<h3 style=\"text-align: center;\"><a href=\"https:\/\/github.com\/OSURoboticsClub\/Rover_2017_2018\/tree\/master\/software\/firmware\/iris\">System Code<\/a><\/h3>\n<p><a href=\"https:\/\/github.com\/OSURoboticsClub\/Rover_2017_2018\/tree\/master\/software\/firmware\/iris\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1302\" src=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CODE_SOFTWARE_1395377-300x300.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CODE_SOFTWARE_1395377-300x300.png 300w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CODE_SOFTWARE_1395377-400x400.png 400w, https:\/\/nickmccomb.net\/college\/wp-content\/uploads\/2017\/09\/if_CODE_SOFTWARE_1395377.png 512w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/p>\n<p>Note: Firmware written by <a href=\"http:\/\/caperren.com\">Corwin Perren<\/a><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;IRIS&#8221; board, named after a Greek messenger god, is the main communications hub for the 2017-2018 Mars Rover project for the OSU Robotics Club. I designed the board to act as the main communication interface for the computer (in this case a Jetson TX2), allowing it to talk to all of the embedded platforms<br \/><a class=\"moretag\" href=\"https:\/\/nickmccomb.net\/college\/iris-comms-galore\">+ Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":1457,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/posts\/1493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/comments?post=1493"}],"version-history":[{"count":8,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/posts\/1493\/revisions"}],"predecessor-version":[{"id":1684,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/posts\/1493\/revisions\/1684"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/media\/1457"}],"wp:attachment":[{"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/media?parent=1493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/categories?post=1493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nickmccomb.net\/college\/wp-json\/wp\/v2\/tags?post=1493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}