{"id":172,"date":"2020-07-01T05:37:16","date_gmt":"2020-07-01T05:37:16","guid":{"rendered":"http:\/\/www.scrootchme.com\/bmc\/?p=172"},"modified":"2020-07-22T04:05:20","modified_gmt":"2020-07-22T04:05:20","slug":"squiggles-means-progress-right","status":"publish","type":"post","link":"http:\/\/www.scrootchme.com\/bmc\/squiggles-means-progress-right\/","title":{"rendered":"Squiggles Means Progress, Right?"},"content":{"rendered":"\n<p>Well, we finally have a schematic for our Arduino UNO compatible ILDA &#8220;shield&#8221; (PDF version <a href=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/Schematic.pdf\">here<\/a>). It&#8217;s pretty close to what we sketched out <a href=\"http:\/\/www.scrootchme.com\/bmc\/time-for-a-piggyback-ride\/\">here<\/a>. And prototyped <a href=\"http:\/\/www.scrootchme.com\/bmc\/dac-detour\/\">here<\/a>.<\/p>\n\n\n\n<p>A big chunk of the DAC section is just a simplified version of the schematic of the DAC81408 EVM evaluation module we used for prototyping (page 13 here). But there are a few extra sections worth covering briefly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Power<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image.png\" alt=\"\" class=\"wp-image-180\" width=\"355\" height=\"257\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image.png 710w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-300x217.png 300w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-676x488.png 676w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/figure>\n\n\n\n<p>Only 5V and 3.3V come to our board from the host card. In the lower left corner you can see we have some filter caps to clean up the voltages provided and a DC-DC switching converter to provide +\/- 9V from 5V in.<\/p>\n\n\n\n<p>We probably could have gotten by with just a 5V to -5V converter, but I was a little concerned that the input impedances of ILDA projectors isn&#8217;t really called out in<a href=\"https:\/\/www.ilda.com\/resources\/StandardsDocs\/ILDA_ISP99_rev002.pdf\"> the specification<\/a>. So I wanted a little extra headroom in case I need to switch op amps to get more drive (more on that below).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Inverting Amplifiers<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-1.png\" alt=\"\" class=\"wp-image-181\" width=\"364\" height=\"314\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-1.png 728w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-1-300x258.png 300w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-1-676x582.png 676w\" sizes=\"auto, (max-width: 364px) 100vw, 364px\" \/><\/figure>\n\n\n\n<p>In the top right corner you can see some inverting amplifiers with a gain of 1:1. I used a <a href=\"https:\/\/www.ti.com\/store\/ti\/en\/p\/product\/?p=TL072BCD\">TL072BCD<\/a>. It is a common JFET op amp with good harmonic distortion and a fast slew rate. My one concern is that it only has a few milliamps of drive capability. But if this turns out to be a problem the footprint\/pinout is common to a number of other amplifiers we can switch in.<\/p>\n\n\n\n<p>If you haven&#8217;t worked with op amps, you can download a <a href=\"https:\/\/www.allaboutcircuits.com\/textbook\/reference\/chpt-7\/introduction-to-spice\/#:~:text=program%20called%20SPICE%2C%20which%20analyzes,does%20the%20actual%20mathematical%20analysis.\">SPICE<\/a> model for this one <a href=\"https:\/\/www.ti.com\/lit\/zip\/sloj068\">here<\/a>. <a href=\"https:\/\/www.analog.com\/en\/design-center\/design-tools-and-calculators\/ltspice-simulator.html\">LTSpice<\/a> is a free version of SPICE for Windows that many electrical engineers use. Although it isn&#8217;t perfect, simulation is a great way to try things out without prototyping them. In this case, I know that the inverting amplifier will put out an inverted form of the +\/-5V signal I put in, but we can still quickly check performance at higher frequencies:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-1024x576.png\" alt=\"\" class=\"wp-image-183\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-1024x576.png 1024w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-300x169.png 300w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-768x432.png 768w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-1536x864.png 1536w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot-676x380.png 676w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/screenshot.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Looks good up to 100 kHz in but, again, my concern is if we have enough output drive capacity for the projector.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Driver Chip<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-3.png\" alt=\"\" class=\"wp-image-186\" width=\"366\" height=\"352\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-3.png 732w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-3-300x289.png 300w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-3-676x650.png 676w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><\/figure>\n\n\n\n<p>Because a shutter and (possibly) a mechanical intensity control can be inductive loads, there is a two channel driver chip for those signals.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DMX In\/Out<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2-1024x342.png\" alt=\"\" class=\"wp-image-184\" width=\"512\" height=\"171\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2-1024x342.png 1024w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2-300x100.png 300w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2-768x256.png 768w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2-676x226.png 676w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-2.png 1081w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p>Along the bottom of the schematic is our <a href=\"https:\/\/en.wikipedia.org\/wiki\/DMX512\">DMX<\/a> circuitry. We have a UART controller on the main board, so we only have to provide RS-485 transceivers. These can operate half duplex, but we have one fixed for receiving, the other for transmitting. We also have a termination resistor on our input.<\/p>\n\n\n\n<p>I thought about making our output more sophisticated to support something called Remove Device Management (RDM), but decided to keep the DMX simple for now.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sync IN and OUT<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-4.png\" alt=\"\" class=\"wp-image-187\" width=\"309\" height=\"339\" srcset=\"http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-4.png 617w, http:\/\/www.scrootchme.com\/bmc\/wp-content\/uploads\/2020\/07\/image-4-273x300.png 273w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/figure>\n\n\n\n<p>As planned, Sync In and Out are pretty simple general purpose IO from the MCU. Both just have a pad resistor for ringing and a little bit of current protection and the Sync In has some beefy protection diodes added. These do add some capacitance to our input, but it should be fine for the frequencies we are interested in for now, and the extra protection diodes give some piece of mind.<\/p>\n\n\n\n<p>That&#8217;s about it. I&#8217;ll push everything to the <a href=\"https:\/\/github.com\/jfitzpat\/BMC\">BCM git repo<\/a> as soon as I wrap up the first revision of the PCB.<\/p>\n\n\n\n<p>Next stop, <a href=\"http:\/\/www.scrootchme.com\/bmc\/pc-with-the-b\/\">gerber files<\/a>&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, we finally have a schematic for our Arduino UNO compatible ILDA &#8220;shield&#8221; (PDF version here). It&#8217;s pretty close to what we sketched out here. And prototyped here. A big chunk of the DAC section is just a simplified version of the schematic of the DAC81408 EVM evaluation module we used for prototyping (page 13 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":190,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","post-preview"],"_links":{"self":[{"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":13,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":308,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/posts\/172\/revisions\/308"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/media\/190"}],"wp:attachment":[{"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.scrootchme.com\/bmc\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}