<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SoliForum - 3D Printing Community — [WiP] Electronics overhaul (Updated to part 4)]]></title>
		<link>https://www.soliforum.com/topic/3260/wip-electronics-overhaul-updated-to-part-4/</link>
		<atom:link href="https://www.soliforum.com/feed/rss/topic/3260/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in [WiP] Electronics overhaul (Updated to part 4).]]></description>
		<lastBuildDate>Mon, 09 Sep 2013 13:27:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/35682/#p35682</link>
			<description><![CDATA[<div class="quotebox"><cite>FatalDischarge wrote:</cite><blockquote><p>How did you get power on / off added to the interface? Is it in config.yaml? That only works with a modified PSU though. Right?<br />I just ordered this: <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=181186002816&amp;ssPageName=ADME:L:OC:US:3160">http://cgi.ebay.com/ws/eBayISAPI.dll?Vi … OC:US:3160</a> <br />Would you happen to know how to make this happen?</p></blockquote></div><p>I now know that it could be added to config.yaml, but at that time I just hacked the HTML templates somewhere in the octoptint tree. <br />It only works if you connect the green&amp;grey (/PWR_ON &amp; PS_OK) to sanguinololu.</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Mon, 09 Sep 2013 13:27:18 +0000</pubDate>
			<guid>https://www.soliforum.com/post/35682/#p35682</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/32649/#p32649</link>
			<description><![CDATA[<p>How did you get power on / off added to the interface? Is it in config.yaml? That only works with a modified PSU though. Right?<br />I just ordered this: <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=181186002816&amp;ssPageName=ADME:L:OC:US:3160">http://cgi.ebay.com/ws/eBayISAPI.dll?Vi … OC:US:3160</a> <br />Would you happen to know how to make this happen?</p>]]></description>
			<author><![CDATA[null@example.com (FatalDischarge)]]></author>
			<pubDate>Mon, 12 Aug 2013 05:10:05 +0000</pubDate>
			<guid>https://www.soliforum.com/post/32649/#p32649</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/31197/#p31197</link>
			<description><![CDATA[<p>Top post updated to part 4</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Sun, 28 Jul 2013 09:55:08 +0000</pubDate>
			<guid>https://www.soliforum.com/post/31197/#p31197</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/31070/#p31070</link>
			<description><![CDATA[<div class="quotebox"><cite>adrian wrote:</cite><blockquote><div class="quotebox"><cite>Necromant wrote:</cite><blockquote><div class="quotebox"><cite>WWC wrote:</cite><blockquote><p>The standby works well with a microcontroler</p></blockquote></div><p>It&#039;s tricky. allwinner a10 need MUCH more, than a sanguinololu. Usually something about 500mA, but I want to make sure it gets some solid 1 Amp at the very minimum.</p></blockquote></div><p>If you shut down the graphics drivers and run in 2D mode only, it will drop to about 300ma and also run far cooler. </p><p>Just run a headless Linux variant without video acceleration support...</p></blockquote></div><p>Yes, I&#039;m talking about a complete headless system, nuking all related to graphics out of the kernel, to free up RAM is the first thing I do.<br />Anyway, cracking the ATX open and inspecting the circuitry showed up that these things deliver 2Amps @ 5V in stdby, that looks more than enough. <br />Looks like the doc, that stated that it should be around 50mA was kind of outdated.</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Fri, 26 Jul 2013 16:41:51 +0000</pubDate>
			<guid>https://www.soliforum.com/post/31070/#p31070</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30773/#p30773</link>
			<description><![CDATA[<div class="quotebox"><cite>Necromant wrote:</cite><blockquote><div class="quotebox"><cite>WWC wrote:</cite><blockquote><p>The standby works well with a microcontroler</p></blockquote></div><p>It&#039;s tricky. allwinner a10 need MUCH more, than a sanguinololu. Usually something about 500mA, but I want to make sure it gets some solid 1 Amp at the very minimum.</p></blockquote></div><p>If you shut down the graphics drivers and run in 2D mode only, it will drop to about 300ma and also run far cooler. </p><p>Just run a headless Linux variant without video acceleration support...</p>]]></description>
			<author><![CDATA[null@example.com (adrian)]]></author>
			<pubDate>Wed, 24 Jul 2013 02:56:17 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30773/#p30773</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30722/#p30722</link>
			<description><![CDATA[<div class="quotebox"><cite>WWC wrote:</cite><blockquote><p>The standby works well with a microcontroler</p></blockquote></div><p>It&#039;s tricky. allwinner a10 need MUCH more, than a sanguinololu. Usually something about 500mA, but I want to make sure it gets some solid 1 Amp at the very minimum.</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Tue, 23 Jul 2013 17:20:09 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30722/#p30722</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30710/#p30710</link>
			<description><![CDATA[<p>The standby works well with a microcontroler</p>]]></description>
			<author><![CDATA[null@example.com (WWC)]]></author>
			<pubDate>Tue, 23 Jul 2013 15:18:01 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30710/#p30710</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30626/#p30626</link>
			<description><![CDATA[<div class="quotebox"><cite>cameron20020 wrote:</cite><blockquote><p>How did it all go? </p><p>I&#039;m possibly going to go the mk802 way as well. Sick of having to leave my laptop at the printer for hours. Raspberry pi is too underpowered and has bad power design for what I want. Might go for an all winner a31, but that&#039;s probably overkill</p></blockquote></div><p>So far so good, CS102 boots fine, detects all the stuff. I&#039;m still missing power, since I removed the stock adapter. I&#039;m currently messing with ATX power supply. It can deliver a lot of amps of current, but the wires look too thin to handle some 10 amps (which the stock adapter is rated), and there are too many of them. So the next weekend I&#039;m going to grab a bunch of good thick wires, t-plugs and completely rewire the power circuit, ditching the molex for good. <br />I want to hook CS102 to ATX stdby voltage, so that I can switch 12 Volts whanever I need them with yet another gcode command. I&#039;m still lacking decent docks how much current to expect from ATX 5v stdby voltage, so if it doesn&#039;t work well, some other hackery will be required.</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Mon, 22 Jul 2013 20:40:54 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30626/#p30626</guid>
		</item>
		<item>
			<title><![CDATA[Re: [WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30613/#p30613</link>
			<description><![CDATA[<p>How did it all go? </p><p>I&#039;m possibly going to go the mk802 way as well. Sick of having to leave my laptop at the printer for hours. Raspberry pi is too underpowered and has bad power design for what I want. Might go for an all winner a31, but that&#039;s probably overkill</p>]]></description>
			<author><![CDATA[null@example.com (cameron20020)]]></author>
			<pubDate>Mon, 22 Jul 2013 19:15:20 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30613/#p30613</guid>
		</item>
		<item>
			<title><![CDATA[[WiP] Electronics overhaul (Updated to part 4)]]></title>
			<link>https://www.soliforum.com/post/30564/#p30564</link>
			<description><![CDATA[<p>Okay, this will be a several-part mod. I will post details each weekend as I progress. <br />With the stock solidoodle I didn&#039;t like a few things, so here is my plan: <br /></p><ul><li><p>Get rid of wireporn behind it. I&#039;m too lazy to unpack up my nice 8 atm. air compressor each time I need to clean it. </p></li><li><p>Pop in a nice&amp;fast minipc for network-friendly printing. </p></li><li><p>Remove filament holder. It takes tup too much space</p></li><li><p>Hook a 450W ATX PSU, instead of stock one. Delivers more current, has a nice green wire to turn off&amp;on from an AVR, develivers 5V standby voltage.</p></li><li><p>PROFIT</p></li></ul><p><strong>Part one.</strong> <br />I have reorganised the electronics a little bit, added a USB hub (1.1 actually, but so far 12Mbits of bandwidth should be sufficient for both the printer and the webcam.)<br /><a href="http://www.soliforum.com/misc.php?action=pun_attachment&amp;item=2735">I hacked the hub a little bit, so that I can inject 5v via a JST cable, and have a shorter cable to sanguinololu and a shorter USB cord</a><br />This will deliver 5v power for both the minipc and sanguinololu. Lucky me, the minipc have all 5v rails wired directly to</p><p>As the brains I picked a nice 40-buck minipc based off allwinner a10 armed with debian wheezy armhf. Raspberry is far to big, ugly and slow for that. This one just boots, hooks to my wlan network, and all I have to do is type &quot;http://solidoodle/&quot; in my browser. For the UI I&#039;m using octoprint.<br />I ripped all the mali and gfx stuff from kernel, so that it will not eat up any ram and I will have a solid 1GiB of SDRAM for my stuff. <br />I also posted some info on these cs102 variation of those, with instructions how to add a serial terminal here: <a href="http://ncrmnt.org/wp/2013/05/27/cs102-ii-teardown-adding-a-uart/">http://ncrmnt.org/wp/2013/05/27/cs102-i … ng-a-uart/</a></p><p><a href="http://www.soliforum.com/misc.php?action=pun_attachment&amp;item=2734">The results look somewhat like this</a></p><p>Next part will be hooking a heavily modded ATX power supply and printing a full cover for electronics. Since motor drivers tend to heat up, a10 can get also quite hot under load, I plan to install a fan with a dust filter in the cover. </p><p>P.S. Does anyone need bootable SD card images for allwinner a10 minipc? Please note, that these may be tricky, since some of those need AXP209 driver enabled in the kernel to work properly, others lack the axp209 PMIC and may not boot. They may also have different wireless chips, some need some linux kernel hackery to work, so these may not suit for all.</p><br /><p><strong>Part two: ATX adventures</strong><br /><span style="color: red">PLEASE NOTE: THIS PART MESSES WITH THE GUTS OF A PART THAT DEALS WITH MAINS VOLTAGE, THAT CAN BE LETHAL FOR SOME PEOPLE. IF YOU DON&#039;T HAVE THE SKILL - DO NOT DO THAT. EVER. I TAKE NO RESPONSIBILITY IF YOU SCREW UP.</span> <br />Oh, and make sure you do not drink any alcohol before that. Drinking and messing with mains voltage has never been a good idea, but alcohol also lowers body resistance, so you&#039;ll have a worse shock. </p><p>The following shit may also void solidoodle warranty.&nbsp; </p><p>Enough of scary stuff. Since image upload on PunBB just freaks me out, you can follow all the pictures of this hack <a href="http://pics.ncrmnt.org/projects/ATXmod/">right in here</a></p><p>ATX looks like the PSU of choice here, since it has all the goodies: <br /></p><ul><li><p>A dedicated pin to turn it on/off</p></li><li><p>A voltage status pin</p></li><li><p>stdby voltage</p></li><li><p>Can deliver a lot of current</p></li><li><p>Cheap</p></li></ul><p>So, I looked around and picked a 500W PSU I had around. Despite an ATX PSU has a LOT of wires, there are only 5 voltage rails there. Mine had a nice chart with curent rating: <br />28A @ +3.3v<br />38A @ +5.0v<br />20A @ +12v<br />0.8A @ -12v<br />2A +5v standby</p><p>-5v is dead and buried long ago and removed from the spec.&nbsp; We don&#039;t need that anyway. <br />As you can see from the table above, this is a LOT of current. Enough to power 2 solidoodles with that 12V rails at the same time.&nbsp; However the stock ATX wires didn&#039;t look like they could handle that much current. Or may be they could, but I didn&#039;t want to experiment. Therefore I cracked the ATX supply open, removed all the GND, 12v, 5v and 3.3v wires and replaced them with extra thick 4 mm^2 wires that connect to the screw terminals. <br />That may be a little bit of an overkill, but I only had 1.2 mm^2 and 4mm^2 wires, so I picked the bigger ones. <br />(Spec recommends using 4mm^2 - 6mm^2 wires when routing mains voltage into a house. Just for you to know that this was indeed an overkill. AWG18 looks like the sane choice here). <br />2 Soldering irons (a usual smt rework and a powerful 60W), hot air gun, and a hot glue gun are required here. </p><p>The procesure is simple: <br />Note the voltages. <br />First, gently remove all the stock ATX wires, by heating the side the board with hot air. <br />You will only want to keep Green (/PS_ON), Grey (PWR_OK), Blue (-12V), Purple (+5VSB). These can hadle the current. We&#039;ll need them later. <br />There&#039;s also a brown wire connected to 3.3v. This is the sense wire, that allows the PSU to compensate the voltage drops on the wires. A good idea is to solder a 100 Ohm variable resistor so that we can adjust it whenever we need it. I did that and hot-glued it the case. </p><p>Then, drill the board so that 4mm wires would fit.<br />Fit in new wires, use a powerful soldering iron (60W or more) to solder them. <br />Use hot glue to fix them in place, so that they won&#039;t break away, when you assemble the whole thing. </p><p>Since the solder blobs may be rather big, it&#039;s a good idea to lift the PCB a little bit with brass M3 standoffs. Covering the bottom of the board with urethane is also a good idea. Just give it 2-3 layers and give the time to dry. It stinks, but gets the job done. </p><p>Finally, drill the metal case of the power supply, where you want to fit some screw terminals with 2.55mm&nbsp; drill bit and tap M3 threads. We can save a little bit on nuts this way. <br />Next, cover this part of the PSU with capton. It will serve as an insulation and provide a little protection against accidental shorts.&nbsp; <br />Now, assemble the whole thing, check it for shorts. Tripple check it for shorts. Quadruple check it for shorts. Then test it. If you don&#039;t get smoke and sparks, and multimeter shows realistic voltages - you&#039;re good to go. </p><p>Next we&#039;ll need to connect it to solidoodle. Follow sanguinololu pinout, and connect the 12V voltages. +5 V standby voltage in my case powers the sanguinololu and the CS102 minipc. I&#039;d rather NOT use raspberry pi, since it&#039;s huge, ugly and really slow. 1Ghz Cortex-a8 gives a very fast&amp;snappy web-ui.</p><p>Next, we need to control the PSU from sangunololu. I used the ISP header MISO, and SCK for that, although you can use any GPIO pins for that. Since /PS_ON is routed directly to a base of the transistor, nothing more required. Just hook this and PWR_OK directly to the pins. </p><p><strong>Part Three</strong><br />Firmware hacking.</p><p>This is rather simple. The curent git has Makefile broken yet again, now missing hysteresis.cpp from sources. <br />I quickly added P0/1/2 commands so that I can disable the PSU with P0, enable by P1 and check PWR_OK status with P2<br />Rather hacky, but still. <br />The patch is attached to this post. <br />Mind, that it also reorganises the steppers a little bit, since I had to swap some of these for the wires to fit in new placement.</p><p><strong>Part Four</strong><br />Web UI. </p><p>For WeUI I picked Octoprint. It needs a few hacks to work properly with solidoodle. <br />First, manual baud is broked for 250000, and AUTO connects at 38400 (?) according to the log. The way out of it here is to increase the timeout. </p><p>Next, I wanted PSU on/off buttons right on the WebUI. Easily done.</p><p>Next, Octoprint had separate buttons for HOME X/Y and HOME Z. I wanted another button that just sends out G28 and add some more distances to the bar. </p><p>Patches: <br />0001-Add-buttons-for-PSU-hacks.patch<br />0002-Increase-timeout-so-that-solidoodle-would-work.patch<br />0003-Rework-control-panel.patch</p><br /><p>Screenshot of the modded UI below.<br /><span class="postimg"><img src="http://www.soliforum.com/misc.php?action=pun_attachment&amp;item=2797&amp;download=0" alt="http://www.soliforum.com/misc.php?action=pun_attachment&amp;amp;item=2797&amp;amp;download=0" /></span></p><p>That&#039;s it for this weekend. To be continued.<br />TODO: <br />* Stock on ABS<br />* Print back cover<br />* Print PSU top cover<br />* See if Octoprint&#039;s API is of any good and write an android app. Managing from phone via web-ui is not really comfortable. <br />* Rework fan control and an a custom fan control board.<br />* Firmware update via bootloader broken after octoprint exit. See if this can be fixed.</p>]]></description>
			<author><![CDATA[null@example.com (Necromant)]]></author>
			<pubDate>Mon, 22 Jul 2013 09:28:29 +0000</pubDate>
			<guid>https://www.soliforum.com/post/30564/#p30564</guid>
		</item>
	</channel>
</rss>
