tag:blogger.com,1999:blog-62901298432669760442024-02-20T04:28:49.379-05:00Tasty CrepesRamblings and bloggings of a nerd.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-6290129843266976044.post-50776244491068188352015-05-05T01:48:00.002-04:002015-05-05T01:48:17.909-04:00Building the new 3D printerIt's been awhile since I've updated this blog, but I try to do it when i'm venturing into new territories, even through I've failed with the last one..<br />
<br />
I built a huge RepRap, which I barely documented. It is big, and mostly works, kinda, but it's neat to look at.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/b8C0edY.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/b8C0edY.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pkLjJxC4PuY/0.jpg" src="https://www.youtube.com/embed/pkLjJxC4PuY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Now I'm working on something else, which is a lot bigger, and hopefully a lot more stable.<br />
<br />
I've decided to go with a <a href="http://www.corexy.com/" target="_blank">CoreXY</a> design, which is pretty interesting in that it uses two belts to drive an X and Y axis, but by working together.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://corexy.com/reference.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://corexy.com/reference.png" height="320" width="301" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Now, I'm not the first one to build something like this, it's nothing new. However, i'm doing what I did before, and building it really big. This thing will hopefully have a 2' cubed printable area. I'm not 100% on that, but it's what I'm shooting for.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So far I've gotten the frame built up and some V-slot cut to handle the rails, but I'm going to start blogging about what I'm doing here and why, since there's so little information on CoreXY design out there.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Anyway, a quick picture on where I'm at right now:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/zumSRyJ.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/zumSRyJ.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-62684999302715323802012-01-23T02:43:00.002-05:002012-01-23T02:44:36.736-05:00Falcon ProjectSorry for the lack of updates here, folks. I've been very busy with a project which is big enough to have it's own blog, restoring my Mutoh Falcon Outdoor 48. I'll update this with interesting projects from time to time, but for now, my main focus is getting this thing working.<br />
<br />
Check out all the posts and tons of photos over at <a href="http://falconoutdoor.blogspot.com/">http://falconoutdoor.blogspot.com</a>Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-48256812776371213222011-11-23T20:30:00.001-05:002011-11-25T01:13:02.239-05:00Battling tftpd<span style="font-size: large;">*Update!* If you are using this to actually host configs for IP phones that will be used on a live network, I strongly suggest using atftpd instead.</span><br />
<span style="font-size: large;"><span style="font-size: small;">Atftp does not have these odd file permission issues that plain tftpd does (i.e. once a file is created (such as a log file from a phone) by tftpd, it cannot be overwritten for some crazy reason.) Most IP phones store their configurations on the server, and if they cannot write them down after the first time, users (and you!) will not be happy!</span></span> <br />
<br />
<br />
Alright so this new job has got me documenting everything the minute I do it, so that I know what the hell to do the next time something happens.<br />
<br />
So, this time? It's something I'm doing for myself.<br />
<br />
Installing at tftp server in Ubuntu.<br />
<br />
I know it sounds stupid, but every tutorial is from 2005 and none of them work on the current version of Ubuntu nowadays. If you want a working tftp server, here's how you do it:<br />
<br />
Install the tftpd program. This will also install xinetd, which is how it's started. inetd starts xinetd, who then starts tftpd. I know, dumb, but that's how it works.<br />
<br />
<b><span style="font-family: "Courier New",Courier,monospace;">$ sudo apt-get install tftpd</span></b><br />
<br />
Next, we need to set up the file that xinetd will read when it starts tftpd.<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>$ sudo nano /etc/xinetd.d/tftp</b></div>
<br />
Put this stuff inside it:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>service tftp</b><br />
<b>{</b><br />
<b>socket_type = dgram</b><br />
<b>protocol = udp</b><br />
<b>wait = yes</b><br />
<b>user = (change this to your username)</b><br />
<b>server = /usr/sbin/in.tftpd</b><br />
<b>server_args = -s /tftpboot</b><br />
<b>per_source = 11</b><br />
<b>cps = 100 2</b><br />
<b>disable = no</b><br />
<b>}</b></div>
<br />
Now, we need to make a directory that this thing will use to put/get files out of. It's commonly right in the root.<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>$ sudo mkdir /tftpboot</b></div>
<br />
Make that directory readable/writable by your user<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>$ sudo chown youruser:youruser /tftpboot</b><br />
<br />
<b>$ sudo chmod -R 777 /tftpboot</b></div>
(this step is required, so that new files created are able to be overwritten.)
<br />
Now things should be cooking. Let's try starting tftp.<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>$ sudo service xinetd restart</b></div>
<div style="font-family: "Courier New",Courier,monospace;">
<b>* Stopping internet superserver xinetd [ OK ] </b><br />
<b>* Starting internet superserver xinetd [ OK ] </b></div>
<br />
If things are NOT ok, then you need to check the logs. Xinetd dumps it's goodies in the syslog (/var/log/syslog). Tail that logfile (tail -f /var/log/syslog) in another console/terminal while you restart and you'll see what's going on.<br />
In my case, I didn't have the user specified correctly, in which case xinetd just doesn't start tftpd.<br />
<br />
Now, you should have tftpd running. Look for the open port on the machine, owned by xinetd. This process will be run by the system, so use lsof to check: <br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<b>$ sudo lsof -i | grep tftp</b></div>
<br />
You should get a line back like the following:<br />
<b><span style="font-family: "Courier New",Courier,monospace;">xinetd 942 root 5u IPv4 5132137 0t0 UDP *:tftp </span></b><br />
<br />
This means you're up and running! Try pointing something at your tftp server and see if you can get/put files. (Cisco switches, IP phones, etc)<br />
<br />
If it fails, check the permissions of your chosen directory, and check syslog for errors. I've seen it noted that adding -v to the options in the tftp file (server_args = -v -s /tftpboot) will make it more verbose, but all I get with that is lines in syslog saying "invalid argument - ?"Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-37941636297437264332011-08-26T00:22:00.001-04:002011-08-26T00:29:02.423-04:00Playing with FritzingSo I've been looking at various chips to use for memory, and they all seem to be pretty much the same, so I decided to take one and start designing for it. I started playing around in Fritzing, making a simple schematic with just the micro and the SRAM to see how the software works.<br />
<br />
Here's my schematic, autorouted by Fritzing. If I try and autoroute with that last R/W- CE line, it will crash the software. Maybe I can send that in...<br />
<br />
This is just the 6802 Microprocessor and an Alliance Memory <a href="http://www.alliancememory.com/pdf/AS6C6264A.pdf">AS6C6264A</a> 8Kx8Bit SRAM. Not all necessary lines are connected, the CS line goes through a decoder chip which isn't on here yet, and the power/grounds aren't wired up either.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVyTGsLMN2LQ45Xy7wI_qi2OG6bgXOYZOS4-6gYmQ2Xf9NoFBrH0XnPtwWoGO8SI77yAtiRrmQhc0YDKA3btJKU26YZEsXNrfbAEKRISK4lpwdiE64pCp8iS5_QJAtTXnukmrja9bITpo/s1600/fritzingtest2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVyTGsLMN2LQ45Xy7wI_qi2OG6bgXOYZOS4-6gYmQ2Xf9NoFBrH0XnPtwWoGO8SI77yAtiRrmQhc0YDKA3btJKU26YZEsXNrfbAEKRISK4lpwdiE64pCp8iS5_QJAtTXnukmrja9bITpo/s320/fritzingtest2.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
This worked out pretty well, but I was really interested in trying out the PCB designer part, because I've tried a few before, and while they're interesting, they all have their quirks. Fritzing is no different, but there are a few little things that help. One in particular is the shift-click on bendpoints on traces.. It lines the trace bendpoint up in an intuitive way, though it does require a bit of getting used to in order to make things work the way you want. The autorouter leaves much to be desired, but it's still an alpha piece of software, so I decided to route by hand to see what I could do. Here's the result:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHz-hcO2OFT__8GThESrYG4eNs98QteHoocGc7PaelmTATb7FteW4UZdjLxyYxodXeJ-qitTmXafXQPcrTZcql2CmXlv1TnGltqeeCSQDWJtCKZAZVEUcIHpBjSpbC810XVyjQlpsb-t0/s1600/fritzingtest.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHz-hcO2OFT__8GThESrYG4eNs98QteHoocGc7PaelmTATb7FteW4UZdjLxyYxodXeJ-qitTmXafXQPcrTZcql2CmXlv1TnGltqeeCSQDWJtCKZAZVEUcIHpBjSpbC810XVyjQlpsb-t0/s320/fritzingtest.png" width="320" /></a></div>
<br />
It's not too bad, yeah, I might not be able to fit a 16 mil trace between those pads, but I was getting a little impatient after things kept crashing and I wanted to get this blog post up. I just did a quick bit of hand-routing to make this work, which it seems to quite decently. Vias work, the way they should after you figure them out, and it's something I've been able to quickly pick up and run with.<br />
<br />
One lesson I've come back to: Save often!<br />
<br />
I'm going to keep going in Fritzing I think, laying out the schematic mainly and building parts I need, then I'll work on getting the traces all worked out on the schematic. I'm going to keep posting progress pictures, though this weekend will be a bit busy, going to see what I can get done.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-66618587232452571942011-08-20T13:55:00.001-04:002011-08-26T09:13:52.394-04:00Starting outOkay. So for this Type 'n Talk thing to work, I need to design a schematic. Then I can lay out a board, then get it made, populate it, etc..<br />
<br />
Decided to give <a href="http://fritzing.org/">Fritzing </a>a go. It's an interesting, relatively new electronics design software that's open-source and seems fairly friendly. I don't think it has an autorouter, but that's no problem, I can lay out the traces myself; there's not too many of them on this board. I'm combining components too, so that should reduce part count and traces even further.<br />
<br />
So, to give you an idea of what I need to do, I need to take <a href="http://www.kevtris.org/Projects/votraxtnt/tnt_schematic.jpg">this</a> schematic, and create my own with new parts that I can actually get, and make it actually work.<br />
<br />
The first thing I decided to tackle is the ICs. I don't know what a lot of these ICs are, I've never used them before. A lot of electronics veterans may know about them from seeing or using them in the past, but I'm new to this game. What's a 2114? a 6802? a 7442? Well, they used to be some industry standard parts. Every manufacturer made their own version of them, and they would prefix them with their specific letters to denote they made it.<br />
<br />
<b>This gets technical. I start explaining memory storage and how these chips work. If you don't want to know about that, you can skip</b>.<br />
<br />
If this gets a little 'teachy', it's because I just learned this stuff. It's really cool. This explanation may help someone else who would like to understand how this memory works.<br />
<br />
Well, the chips I started out with are 2114's. They are 1024x4 bit memory modules. <a href="http://www.datasheetarchive.com/indexdl/Scans-004/Scans-0098830.pdf">Here's the 1979 datasheet.</a><br />
What does that mean? In these chips, memory is organized into groups. You'll usually see this type of notation such as 1024x4, 512Mx8, etc. This is basically how many 'cells' of how many bits the memory chip can hold.<br />
<br />
Let's take the 1024x4 as an example. This means that there are 1,024 cells of 4 bits each. Imagine your house has 1,024 rooms in a grid, like an office. Each room has 4 light switches. You can go to any room, and turn on or off the switches, in any pattern you like. This is how memory is stored. Each 'switch' is a bit, and each 'room' is a cell. So, total, since each room has 4 switches, and there are 1,024 rooms, you can have a total of 4,096 switch positions, or 'bits' of information stored.<br />
<br />
Now, how do you tell which room to go in?<br />
The chip has row decoders, and column decoders. Basically, they use binary to specify which row, and which column to enable, depending on how those pins are toggled, and what binary coded numbers are produced by toggling them.<br />
For example, if we had row pins set to 1,0 and column pins set to 0,0 that would tell the chip to look in Row 2, and Column 0, and either read or write to that spot.<br />
Reading and writing is easy, if you want to write, you set your row and column pins to the cell or 'room' you want to write to, then set the 4 inputs to the 1 or 0 bits you want to write, and toggle the write enable line to the write position, which will write the data into those bits or 'switches'. If you want to read it back, simply set the row and column pins as before, and then leave the write enable to read position. The contents of that cell will appear on the data lines.<br />
<br />
<b>Ok, back to our regularly scheduled program...</b><br />
<br />
So, my dilemma is that the 2114's are no longer made. They haven't been made for years, and for good reason. Memory technology has come a long, long way since then and we have faster, bigger, lower power memory chips now. 2114's were about $10 apiece when they were originally made, and you can get ten times that much memory now for the same price. Luckily though, while the newer chips can store more things, they also work the same was as the old ones!<b> </b><br />
<br />
So let's look at a new SRAM chip from a common manufacturer, Cypress Semiconductor. It's model CY7C185.<br />
This chip has 8Kx8, or 8192x8. Looking back at how we broke down the 1024x4, this means that this chip has 8192 cells (or 'words' as they are called in the industry) of 8-bits each. This means that the new Cypress chip can hold 65,536 bits of data. That's 16 times more data than the old 2114 chip, and they only cost about $2 per chip! The new one also reads almost three times faster than the old chip, and it uses about 4 times less power!<br />
<br />
So the issue now is how to integrate this chip. Well, there's a reason I chose a x8 chip and not a x4 chip. See, the original circuit design combined two x4 chips into a single 'x8 chip'. Since all the row and column registers are tied together in the schematic, whatever row and column the microcontroller selects, is selected on both chips. Whenever the micro flips on the chip select, both chips are on. The Write Enable lines for both chips are also tied together, so the micro can't tell which chip it's writing to, so each time it writes, it writes in 8-bit blocks. If it only wrote 4 bits, both chips would still have their write lines turned on, so one chip would write garbage while the other one wrote good data! This means that they *have* to write all 8 bits at a time.<br />
<br />
This makes it easy. It's already writing in 8-bit blocks, so just put in a chip that will handle 8 bits for each cell, instead of two chips with 4 bits each! For the row and column selectors, being that the new chip has more memory, it also has more pins for those selectors. However, since we're only going to be using the first 1024 cells (this is all the original memory chips could address, remember?), the cells above 1024 will simply go unused. No big loss, since the memory is so cheap. We will simply tie the other ends low so they are not used when selecting rows or columns.<br />
<br />
Here's my diagram. The top drawing shows how the memory is organized now. Notice that the D0-D7 lines are split up evenly between the two chips. This is how they combine the two smaller chips into one big 'chip'.<br />
The bottom diagram shows an example (using a different chip than I mentioned above) of how I could integrate a larger memory chip utilizing all 8 bits at once into something much larger.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcv2vs7cqy3PeJA-QAGrunX4E_WTenrKniJKImRR6TnhM__EfytJRfyxDJL147_nOheayYgWhdmicLXqFyUZK2moXu22KPh5ekmFvdQEHLVsZTmZ03YNpJeM_RLLp-IiAIbDi3a6k4PY/s1600/votrax.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" id=":current_picnik_image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcv2vs7cqy3PeJA-QAGrunX4E_WTenrKniJKImRR6TnhM__EfytJRfyxDJL147_nOheayYgWhdmicLXqFyUZK2moXu22KPh5ekmFvdQEHLVsZTmZ03YNpJeM_RLLp-IiAIbDi3a6k4PY/s640/votrax.jpg" width="536" /></a></div>
<br />
<br />
So, that's about it so far. I'm starting work in Fritzing, going to have to add my own components in and such, and I'm still researching memory options. I'll post some WIP schematics soon!Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-25093345590926839902011-08-20T13:00:00.000-04:002011-08-20T14:31:28.374-04:00Votrax Type 'n Talk<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.computercloset.org/VotraxTypeNTalk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="http://www.computercloset.org/VotraxTypeNTalk.jpg" width="320" /></a></div>
<br />
Well, I have decided that I'm going to be building a Votrax Type 'n Talk from scratch. Well, aside from the Votrax SC-01 chip, that is.<br />
<br />
I used to play with one of these a long time ago; my dad bought one and I would play with it at an old IBM computer, sending it text and making it say things. They're fun boxes, and they are (relatively) good at reproducing speech. They were made by a company called <a href="http://en.wikipedia.org/wiki/Votrax">Votrax</a>, which was a division of Federal Screw Works, in Detroit, MI. There's a lot more on their history on Wikipedia, so if you'd like to learn more about the company and the various products they produced, as well as how their voice synthesis works, check out <a href="http://en.wikipedia.org/wiki/Votrax">that article</a>.<br />
<br />
The synthesizer is a basic design, uses a simple Motorola 6802 CPU with a 4K ROM and 8192 Bits of memory.<br />
A really awesome guy has taken several Votrax products and de-potted the ROM/CPU, dumped out the ROM and completely traced out the schematic on the board. His website is here: <a href="http://www.kevtris.org/Projects/votraxtnt/index.html">http://www.kevtris.org/Projects/votraxtnt/index.html</a><br />
<br />
Basically, my project is to take the schematic, and build a smaller, more modern version of the Type 'n Talk. Mine will have the same volume/frequency knobs, the same ROM, will operate the same way, with some improvements. Particularly, the updated version I'm building will have a USB port instead of a DB-25 serial, will do away with the baud rate switches (not necessary if I'm handling that internally) and will have a better power supply. Also, it'll have a smaller box, and more speaker outputs.<br />
The difficult part is that the ROM has code in it that takes incoming ASCII text, interprets words into phoneme data, and feeds that into the SC-01 chip. The SC-01 is the actual Votrax chip that generates the speech from <a href="http://en.wikipedia.org/wiki/Phoneme">phonemes</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.indianapolis.net/robotics/images/cyber1/SC-01-A.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.indianapolis.net/robotics/images/cyber1/SC-01-A.jpg" /></a></div>
<br />
<br />
SO. I have the schematic, a list of parts, an SC-01, time, and the internet. LETS DO THIS.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-56261844231012953332011-05-18T11:35:00.005-04:002015-05-05T01:57:20.285-04:00Active Directory and BackupPC, continued...<i>Preface:</i><br />
<i>I originally wrote this post a long time ago. Looks like around 5/18/2011. While I never finished it, I came across it recently and think it deserves to at least be put out there to provide a bit of info that may help, rather than languishing in a draft. It may not end in a cliffhanger, but hopefully it will get you somewhere.</i><br />
<br />
<br />
Well, in the continuing saga of BackupPC and Active Directory, the old BackupPC server that worked fine for so long finally died, prompting a new one.<br />
<br />
Ok, so it didn't really die. The BackupPC box at my work has been a virtual machine (under VirtualBox in Win2k3 Server) that has had it's fair share of quirks. Yes, I'm not running VMWare or something high end, but it did the job, even though it needed to be restarted once a month or so. Mainly due to disk and network driver issues.<br />
<br />
So, since we're getting a new server and the current one running the VM is being repurposed, I decided to pull an older P4 desktop out of the back to finally get a dedicated server running which should be MUCH more efficient and have less network/disk related issues. Obviously, this requires me to reinstall the whole mess.<br />
<br />
I'm going to do it again this time, and do a better job of documenting it. I'll also be using the latest Ubuntu, Natty Narwhal, 32-bit Server edition, to do this. I'll walk through the steps of installing Linux, getting the machine on the domain using the newer Likewise-Open package, getting Apache up and happy with AD authentication, and then hook BackupPC into the whole mess. I'm going to have to do some interesting stuff with getting the pool over, though I may just say screw it and dump the pool since the data isn't that important. I will need to copy over the config file from the old BackupPC install though, so I don't have to spend another 5 hours configuring hostnames and excludes.<br />
<br />
This post will be edited several times over the coming days, because it's going to take me a bit to properly do this.<br />
<br />
<span style="font-size: large;">Step 1: Installing Linux</span><br />
<span style="font-size: large;"><span style="font-size: small;">The obvious first step here is to install Ubuntu on the machine. I'm using the normal Ubuntu Server 32-bit install disc from 11.04, Natty Narwhal.</span></span><br />
<span style="font-size: large;"><span style="font-size: small;">The first (relevant) thing it's going to ask you is the hostname. I'm on a Big Corporate network, so as an IT Manager at a location, I only have access to do things to my location's OU. Unfortunately, when you join a computer to a domain without specifying where to put it, if there's no object, it tries to create it in the big "Computers" area, which I don't have access to. So what I do is create the computer object in my OU, and then make the hostname of the Linux box the same.</span></span><br />
<span style="font-size: large;"><span style="font-size: small;">There IS a way to have Likewise-Open create in a specific OU, but I haven't played with that, and so I'm just explaining how I do it.</span></span><br />
<span style="font-size: large;"><span style="font-size: small;">So, set the hostname to your created computer object's name.</span> </span> <br />
<br />
Next, you'll be asked what groups of packages to install. I choose OpenSSH (necessary to be able to SSH into the server) and Samba (for pulling data from desktops)<br />
<br />
<span style="font-size: large;">Step 2: Setting up Likewise-Open</span><br />
<span style="font-size: large;"><span style="font-size: small;">The next thing to do after you get the machine up and running is to logon to it and get all the updates and such, make sure things are up to date. Then, install the Likewise-Open package.</span></span><br />
<blockquote>
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: large;"><span style="font-size: small;">$ sudo apt-get update</span></span></div>
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: large;"><span style="font-size: small;">$ </span></span>sudo apt-get upgrade</div>
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: large;"><span style="font-size: small;">$ sudo apt-get install likewise-open</span></span></div>
</blockquote>
<span style="font-size: large;"><span style="font-size: small;"> The setup will ask you a question during the config of likewise-open regarding the Kerberos configuration:</span></span><span style="font-size: large;"><span style="font-size: small;"> </span></span><br />
<ul>
<li><span style="font-size: large;"><span style="font-size: small;"> <b>Default Kerberos version 5 realm</b> This is (as the dialog explains) what the system will default to if someone tries to do a domain login as "person" rather than "domain\person". Basically, the default logon domain. This should probably be the same FQDN as the domain you're joining to.</span></span></li>
</ul>
<span style="font-size: large;"><span style="font-size: small;"> On my install, towards the end it says "Importing Registry Configuration", which sits there for awhile. I hit enter a couple times after a few minutes and it seems to complete; I'm not sure why it waits until enter is hit. Might be a little bug in the install script.</span></span><br />
<span style="font-size: large;"><span style="font-size: small;"><br />
</span></span><br />
<span style="font-size: large;"><span style="font-size: small;">The <a href="http://www.likewise.com/resources/documentation_library/manuals/open/likewise-open-54-guide.html">Likewise-Open install guide</a> has a few things that you need to do to prep the system for joining to the domain. I'm going to only run through a couple, but if you have issues definitely check that as it has more info on DNS and some other important things which may be already configured in Ubuntu, as the install guide is aimed at people loading the file directly onto a bare Linux system.</span></span><br />
<ul>
<li><span style="font-size: large;"><span style="font-size: small;">Check /etc/nsswitch.conf and make sure that the line <span style="font-family: "Courier New",Courier,monospace;">hosts:</span> is followed by 'files dns'. In Ubuntu 11.04, this is the default, so just double-check.</span></span></li>
<li style="font-family: inherit;"><span style="font-size: large;"><span style="font-size: small;">Make sure that /etc/resolv.conf contains nameservers that can perform SRV lookups for the domain you're trying to join. DHCP at my company already has internal nameservers in it, and provides the proper domains, so I don't have to do anything here. If you're using static IP and such, make sure that your nameserver can do SRV lookups.</span></span></li>
<li style="font-family: inherit;"><span style="font-size: large;"><span style="font-size: small;">Make sure you have your network set up correctly, i.e. primary gateway, firewall on the machine (if any), DNS lookups resolve properly to your machine name, etc. There is a laundry list of things to check on the Likewise-Open guide, definitely give it a once over before you start trying to join in case there's anything glaringly wrong.</span></span> </li>
<li style="font-family: inherit;">Next, we need to check the /etc/krb5.conf file to make sure it has the right domain info in it. You should see your domain listed as the default realm at the top of the file.</li>
</ul>
<span style="font-size: large;">Step 3: Joining to the domain</span><br />
<span style="font-size: large;"><span style="font-size: small;">This is the easy part. From the command prompt, enter the following:</span></span><br />
<blockquote style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: large;"><span style="font-size: small;"> $ </span></span><span style="font-size: large;"><span style="font-size: small;">sudo domainjoin-cli join sub.domain.com DomainAdmin</span></span></blockquote>
where 'sub.domain.com' is your domain, and 'DomainAdmin' is a user that has administrative rights to join a computer.<br />
If it works out, it should take a little while after entering the password to complete the join and do all the good configuration type stuff necessary to allow the machine to authenticate users via AD.<br />
<br />
If successful, after it's finished you'll see a message telling you to reboot the machine or restart all services. I'm going to reboot, cause this isn't a high availability server or anything.<br />
<br />
After the reboot, you can test the connection by attempting to logon with a domain user and password at the linux logon prompt. You should see "Created user: UserName" and it should log you on. It will even tell you if your password is about to expire! <br />
<br />
As you can see, I've had a much easier time joining to the domain than I did previously, though most of that might just be from me not doing things correctly the first time around.<br />
<br />
Next, we'll look at installing BackupPC and getting it working on the domain!<br />
<br />
<span style="font-size: large;">BackupPC: Getting that thang installed</span><br />
<span style="font-size: large;"><span style="font-size: small;">Okay. Ubuntu server has version 3.2.0 of BackupPC, and while it's not the latest (3.2.1) there's not too much of a difference. I'm just going to use the one that comes with it for now.</span></span><br />
<br />
<blockquote>
<span style="font-size: large;"><span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">$ sudo apt-get install backuppc</span></span></span></blockquote>
<span style="font-family: inherit;">This will get backuppc installed. It installs x11 and a bunch of unnecessary stuff, but you just hafta kinda live with it for now. I haven't found a way to install it via APT without it.</span><br />
<br />
<span style="font-family: inherit;">Make sure you have Apache installed properly, it should have installed as a requisite of BackupPC. </span><br />
<br />
<span style="font-family: inherit;">Now there's a couple ways to authenticate users via AD. One is via the LDAP module, which is nifty, but you need to have a user account and password that the server can use to lookup users in the domain. I don't like that, so I'm going to use Kerberos.</span><br />
<span style="font-family: inherit;">An interesting side-effect of Likewise-Open is that it seems to generate the keytab file for you! This makes config much easier, as we don't need to bother with a lot of stuff. You can check for the existance of it, it should be in /etc/krb5.keytab. You can also check the contents with this command:</span><br />
<blockquote>
<span style="font-family: inherit;"><span style="font-family: "Courier New",Courier,monospace;">$ sudo klist -k /etc/krb5.keytab</span></span></blockquote>
<span style="font-family: inherit;">This will show you a list of all the bits inside it, you should see several lines listing your computer's name as well as the domain you've joined.</span><br />
<span style="font-family: inherit;">Now we need to make it so that Apache can read the file, as it's modules will need to see it to authenticate to the network.</span><br />
<blockquote>
<span style="font-family: inherit;"><span style="font-family: "Courier New",Courier,monospace;">$ sudo chmod 740 /etc/krb5.keytab</span></span><br />
<span style="font-family: "Courier New",Courier,monospace;">$ sudo chgrp www-data /etc/krb5.keytab</span></blockquote>
<span style="font-family: inherit;">Now I'm not condoning this as the most secure way to do things, but I'm in somewhat of a low-security environment because I'm behind copious firewalls and such. You might want to come up with a better way to secure the keytab.</span><br />
<br />
<span style="font-family: inherit;">(I copied the following section from my previous post) </span><br />
<br />
Now we need to edit the backuppc Apache configuration to tell Apache how to authenticate users.<br />
The file to edit is located in <b>/etc/apache2/conf.d/backuppc.conf</b><br />
This is how my file has been setup. I have commented out the four lines at the bottom there, leaving the require valid-user line in place. I added the six lines at the top.<br />
<b> </b><span style="font-family: "Courier New",Courier,monospace;"> </span><br />
<blockquote>
<span style="font-family: "Courier New",Courier,monospace;">AuthType Kerberos</span><br />
<span style="font-family: "Courier New",Courier,monospace;">AuthName "Kerberos Login"</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbAuthRealms CONTOSO.TEST.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;">Krb5Keytab /etc/krb5.keytab</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbMethodNegotiate On</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbMethodK5Passwd On</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthGroupFile /etc/backuppc/htgroup</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthUserFile /etc/backuppc/htpasswd</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthType basic</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthName "BackupPC admin"</span><br />
<span style="font-family: "Courier New",Courier,monospace;">require valid-user</span></blockquote>
<b> </b><span style="font-family: inherit;"> </span>Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-71247534912327466802011-03-15T09:12:00.003-04:002011-03-15T09:40:48.528-04:00Beds..Well while things are going decently on the bot, aside from having trouble getting the PLA to stick to the kapton (it doesn't seem to like it like ABS does), I'm having a bit of trouble with bed temperatures.<br />
<br />
The temps on the bed have a large gradient from the center to the outside of the bed. The thermocouple that I have kapton taped an inch or so from the edge reads 65C while the center of the bed reads 100C. I've checked independently with a IR temperature gun, and it's showing me the same thing. The edges are staying way cooler than the center. This has caused some issues where the far side of a print will start to curl a little and the center will stay (while doing ABS at least). This issue is somewhat understandable as the aluminum is very thin and because of that, acts like a heatsink in the open air; the edges dump their heat quickly while the center is trying hard to keep things warm. I need something with a better heat transferrance and capacity.<br />
<br />
I had previously purchased a larger heater mat cause I intended to buy one of the Mendel-Parts.com beds, since they're made from almost 5mm thick aluminum. That'd have some serious heat transfer abilities.<br />
Unfortunately, it's kind of pricy to get that shipped from europe here, especially with such a commodity material as metal. So I started looking around for places to get the bed from, as it's simply a 9"x9" sheet with some holes drilled in it. The little notch is optional for me as it isn't there for clearance, just as a hole for the extruder to dump test extrusions into.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBsr6-CEWh5acg5t7Ft382OUz0-ZOOLdLCdrL8UhGh-XbGVpOlqjq2czQpocQUtLFktWDDP_i7K4nmJ-ydbbCJ3G7c2wIGKY_2pHIdKRIPTBi59uZmvCN4jeySb4cIkBkMQRxeU4pZiNU/s1600/IMG_20110315_090252.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBsr6-CEWh5acg5t7Ft382OUz0-ZOOLdLCdrL8UhGh-XbGVpOlqjq2czQpocQUtLFktWDDP_i7K4nmJ-ydbbCJ3G7c2wIGKY_2pHIdKRIPTBi59uZmvCN4jeySb4cIkBkMQRxeU4pZiNU/s200/IMG_20110315_090252.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxeWrpYoExCmOB1qKHoTBRdy6tspE2RIVhIFajfjbrtW5N3gta3sBHmyRe3JEh7SCKxrEzjljC_RzhsLiBK7Dch8WCMSbsbGjNCPdgah7bcOZHT7MrgE2sd6MZ60WwDmx1hN1VL5x3no8/s1600/IMG_20110315_090319.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxeWrpYoExCmOB1qKHoTBRdy6tspE2RIVhIFajfjbrtW5N3gta3sBHmyRe3JEh7SCKxrEzjljC_RzhsLiBK7Dch8WCMSbsbGjNCPdgah7bcOZHT7MrgE2sd6MZ60WwDmx1hN1VL5x3no8/s200/IMG_20110315_090319.jpg" width="200" /></a>However, I got to thinking. If aluminum is good, then copper must be better! It has almost twice the thermal conductivity of aluminum (Copper: ~ 385<span> W/m K, Aluminum: ~ </span>204.3 W/m K)<span> </span>and I can get it relatively easily (though not cheaply). I went to OnlineMetals.com and purchased a 9" x 9" x 0.125" sheet of copper. It's nice because they will cut the sheet to your specs for you, and it can make things cheaper as well! It was about $70, so to bump things up to the $100 mark (where you get a discount) I added a couple pieces that my friend would need for his RepRap on there, as well as a version of the bed in 5mm thick aluminum, just in case the copper didn't work out.<br />
<br />
The items came in today, and wow! The copper really is heavy. I hope that the steppers can drive this thing around. The Aluminum bed is also quite large.<br />
<br />
I can't wait to get the new heater glued in so I can see how well the copper plate reacts to the temps, and if the temp gradient is the same.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com3tag:blogger.com,1999:blog-6290129843266976044.post-9133980170753063352011-03-01T10:31:00.002-05:002011-03-01T11:20:26.095-05:00Finally!Well, after much time not working on this thing, I have the time and drive to do it. So, got down to business.<br />
<br />
The RepRap, when we last left it, was in a mostly working state. Aside from the temp controller. After chasing down the odd issues revolving around problems with it not able to hold temp correctly, I really got serious about looking for issues. I finally found a problem in the power signal coming from the supply. It appears that the cheap Chinese power supply we ordered was indeed cheap, but also noisy. As you can see in the following video, the oscilloscope shows huge spikes and changing noise on the line as the thermocouple turns on and off. I should mention that this reading is on the thermocouple itself, not on the output of the power supply, even. It was creating huge amounts of noise.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/6zMJw-pb3Uc?feature=player_embedded' frameborder='0'></iframe></div><br />
I had a <a href="http://www.bkprecision.com/products/model/1692/3-15vdc-40a-switching-digital-dc-power-supply.html">0-15VDC 40A capable power supply</a> (yeah, big) hanging around, so I decided to give that a shot. Hooked it up and the noise was gone, and the temp controller is much more stable now. It still fluctuates a couple degrees between when the heater is on or off, but it's within the limits of the controller's abilities to hold it mostly stable, so I decided to just go ahead and proceed with getting it up and running.<br />
<br />
To start, I got a copy of <a href="https://github.com/timschmidt/repsnapper">RepSnapper</a> and compiled it, and gave it a test STL and after much playing around trying to get the machine actually talking, I finally got things moving, and made a test print. It's not much to look at, but it's a print.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilddz7voOiGLZsq554D3rsqkdbcGcoiiPUApjCk5QZN73N6QsBC-t5i6NVgr_sKggWkxacugg60irbzIzAfgBAU8-zML2JlZUA4vqwJdh_kqD6opYpDYdQ6cRcZZwk0q_Mg8ZuC6TeNMs/s1600/IMG_20110227_010853.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilddz7voOiGLZsq554D3rsqkdbcGcoiiPUApjCk5QZN73N6QsBC-t5i6NVgr_sKggWkxacugg60irbzIzAfgBAU8-zML2JlZUA4vqwJdh_kqD6opYpDYdQ6cRcZZwk0q_Mg8ZuC6TeNMs/s320/IMG_20110227_010853.jpg" width="320" /></a></div><br />
<br />
<br />
<br />
<br />
After this, I began working on <a href="http://fabmetheus.crsndoo.com/">Skeinforge</a> to get it to make a decent gcode file. I had issues getting the plastic to stick to the cold kapton and aluminum, so since I already had a heater mounted to the aluminum, I set up my other temp controller and an SSR to control the 110v going to the bed heater. It heats up in about 20 seconds. Things started sticking MUCH better after that.<br />
<br />
Following getting things to stick, I tried a few calibration squares, then <a href="http://www.thingiverse.com/thing:6014">a ring from Thingiverse</a> to see how good it was working. The calibration cubes are coming out mostly squared up nicely, though I'm having some issues with flow rate. I think I'm not putting enough pressure on the filament in the extruder and I'm having issues here and there with it stripping out occasionally, usually due to the FTDI cable not being hooked up when the stepper controllers are powered on. If the enable line floats and so does the input, the steppers will drive all crazy until they're pulled in a certain direction by the motherboard. Here's a video of building one of the rings:<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/kHUSFnl4F3k?feature=player_embedded' frameborder='0'></iframe></div><br />
<br />
Last night I tried printing a few more rings as well as an object someone in the lab had tried to make (a mixing paddle from a bread machine) and it did a decent job, albeit with flow problems again. I printed a pair of tweezers as well. So far, so good. A few pieces of the machine aren't tightened up properly and they're falling off, but I'm keeping it together. I'm going to build my own small control board and mount for the <a href="http://www.ia.omron.com/product/family/1434/index_fea.html">Omron controllers</a>, and finish getting the wiring cleaned up. I'm looking at making one of the new sexy Wade's derivatives that popped up on Thingiverse recently:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.thingiverse.com/thing:6713"><img border="0" src="http://thingiverse-production.s3.amazonaws.com/renders/98/64/71/02/b9/IMGP0766_preview_large.jpg" /></a> </div><div class="separator" style="clear: both; text-align: left;">It's got better accessibility to the hobbing as well as a better gear ratio and smaller styling. I'm excited to start printing stuff on this thing! Hopefully the blog will be going a bit faster now that we've got some activity! </div>Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-72038963274652696262010-07-14T11:45:00.007-04:002015-05-05T01:32:19.716-04:00Active Directory and BackupPCThis post is going to be slightly off-topic. Mainly because it's the best place for me to put this information.<br />
<br />
When I spend a couple days getting a particular setup to work properly, I feel I should post about it as many others have to help someone out who's in the same boat. So, without further ado, here's how I set up BackupPC to work on my corporate network using ADS authentication.<br />
<br />
For this setup, I'm using Ubuntu Lucid Lynx 10.04 Server 64-bit with the latest packages as of 7-14-10. This includes BackupPC v3.1.0.<br />
<br />
My setup is this: I have the Ubuntu box (backuppc-srv) running as a VM on a local server. For all intents and purposes, this should not change any configuration as it's bridged networking. We have a set of Windows XP machines that need to be backed up. All machines including the server are joined to the corporate domain (Contoso) and have a FQDN of (contoso.test.com) I have a domain account that has the ability to create computer objects and join machines to the domain, however, I do not have console access to the domain controller. This will come into play later when we create the keytab.<br />
<br />
The Ubuntu help sites have started recommending using Likewise to join the domain. While this is easy to do with a desktop, while trying to get Kerberos working, I had nothing but problems with it, and eventually removed it and decided to go about it with straight Samba. It's actually not that hard, and just requires a little work.<br />
<br />
We first need to set up the machine to join the domain. I used this excellent blog post <a href="http://michele.pupazzo.org/diary/?p=460">here</a> which I will use several commands from to illustrate the process.<br />
<br />
As the linked article mentions, it is very important to have a good working DNS setup on the domain. ADS relies heavily on it for authentication and will not work without being able to do forward and reverse lookups. Also, make sure that your machine has good time synchronization. Chances are, if you have a Primary Domain Controller (PDC) it will also be running as a time server. You should be able to use ntpd or ntpdate to synchronize time, which is also very important to Kerberos, as it is normally configured with a narrow clock skew. More than a few seconds difference and you can experience some issues.<br />
<br />
To start, this command can be used to install the requisite packages to run Kerberos and Apache authentication:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
backuppc-srv:~$<b>sudo apt-get install apache2-mpm-prefork libapache2-mod-auth-kerb krb5-config krb5-clients krb5-user samba-client openntpd</b></div>
<br />
Now that we have the packages installed, we need to setup Kerberos to authenticate to the proper domain.<br />
<br />
Edit the /etc/krb5.conf file with your favorite text editor and start looking around. By default there are a few comments that may or may not be helpful. Here's how mine is:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">[libdefaults]</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"># The following krb5.conf variables are only for MIT Kerberos.</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> krb4_config = /etc/krb.conf</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> krb4_realms = /etc/krb.realms</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> kdc_timesync = 1</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> ccache_type = 4</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> forwardable = true</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> proxiable = true</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> default_realm = CONTOSO.TEST.COM</span><br />
<br />
Under the next heading you should set up your PDCs.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">[realms]</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> CONTOSO.TEST.COM = {</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> kdc = pdc.contoso.test.com</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> master_kdc = pdc.contoso.test.com</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> admin_server = pdc.contoso.test.com</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> default_domain = contoso.test.com</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> }</span><br />
<br />
Now that those are set up, put in the last couple bits here to make things work right:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">[domain_realm]</span><br />
<div style="font-family: "Courier New",Courier,monospace;">
.test.com = TEST.COM</div>
<div style="font-family: "Courier New",Courier,monospace;">
.contoso.test.com = CONTOSO.TEST.COM</div>
<br />
Now those are out of the way, we can test the Kerberos setup by using kinit. domainuser is the name of some user account who is in the domain and enabled, i.e., it works on other machines.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>kinit domainuser</b></span><br />
<span style="font-family: "Courier New",Courier,monospace;">Password for domainuser@CONTOSO.TEST.COM: </span><br />
<br />
Once you've done this, you can check to see if it issued you a ticket by using klist.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>klist</b></span><br />
<span style="font-family: "Courier New",Courier,monospace;">Ticket Cache: FILE:/tmp/krb5cc_0</span><br />
<span style="font-family: "Courier New",Courier,monospace;">Default principal: domainuser@CONTOSO.TEST.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">Valid starting Expires Service Principal</span><br />
<span style="font-family: "Courier New",Courier,monospace;">07/14/10 12:00:15 07/14/10 00:00:25 krbtgt/CONTOSO.TEST.COM@CONTOSO.TEST.COM</span><br />
<br />
<span style="font-family: inherit;">Now we see that the account has been issued a ticket. You can then release the ticket with kdestroy:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: inherit;"><span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>kdestroy</b></span> </span> </span><br />
<br />
Now we can setup Samba. Edit the file /etc/samba/smb.conf. These lines will be scattered throughout the file, if they're not there, just put them in the general section.<br />
<br />
<div>
<div style="font-family: 'Courier New', Courier, monospace;">
netbios name = backuppc-srv</div>
<div style="font-family: 'Courier New', Courier, monospace;">
realm = CONTOSO.TEST.COM</div>
<div style="font-family: 'Courier New', Courier, monospace;">
security = ADS</div>
<div style="font-family: 'Courier New', Courier, monospace;">
encrypt passwords = yes</div>
<div style="font-family: 'Courier New', Courier, monospace;">
password server = pdc.contoso.test.com</div>
<div style="font-family: 'Courier New', Courier, monospace;">
workgroup = CONTOSO</div>
<div style="font-family: 'Courier New', Courier, monospace;">
<br /></div>
<div>
<span style="font-family: inherit;">You should also add the keytab settings for completeness:</span></div>
<div style="font-family: 'Courier New', Courier, monospace;">
<br /></div>
<div style="font-family: 'Courier New', Courier, monospace;">
keytab method = dedicated keytab</div>
<div style="font-family: 'Courier New', Courier, monospace;">
dedicated keytab file = /etc/krb5.keytab</div>
</div>
<div style="font-family: "Courier New",Courier,monospace;">
<br /></div>
<div>
<span style="font-family: inherit;">Now we can join the computer to the domain. Domainadmin is a user on the domain who has privileges to join a computer to the domain.</span></div>
<div style="font-family: "Courier New",Courier,monospace;">
<br /></div>
<div style="font-family: "Courier New",Courier,monospace;">
backuppc-srv$ <b>sudo net ads join -U domainadmin </b></div>
<div style="font-family: "Courier New",Courier,monospace;">
<br /></div>
<div>
<span style="font-family: inherit;">It will do several things which will eventually end up joining the computer to the domain.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Now you should ensure your /etc/hosts file is setup correctly. It will have your computer name (backuppc-srv) linked to your localhost as such:</span><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
127.0.0.1 localhost</div>
<div style="font-family: "Courier New",Courier,monospace;">
127.0.0.1 backuppc-srv.contoso.test.com backuppc-srv</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
</div>
<span style="font-family: inherit;">You need to add another line to this with your server's IP address. 192.168.1.123 is the IP address of backuppc-srv</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">192.168.1.123 backuppc-srv.contoso.test.com backuppc-srv</span><br />
<br />
<span style="font-family: inherit;">When this is all completed, we can now get a keytab so that Apache can use it to authenticate against the server. As the linked article mentions, a lot of the tutorials on the web mention using ktpass on the windows machine, but you don't always have access to that, or a secure method of transporting the resultant keytab into the linux box. Luckily you can just get Samba to get one right off the PDC.</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>sudo net ads keytab add HTTP -U domainadmin</b></span><br />
<br />
This will get a keytab, and put it into the default file specified in the krb5.conf file, which is /etc/krb5.keytab in this example.<br />
<br />
You can now verify that the keytab was successfully retrieved by using klist.<br />
<br />
<strike>ktutil: (the last command is a lowercase L)</strike><br />
<strike><span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>sudo ktutil</b></span></strike><br />
<strike><span style="font-family: "Courier New",Courier,monospace;">ktutil: </span><b><span style="font-family: "Courier New",Courier,monospace;">rkt /etc/krb5.keytab</span></b></strike><br />
<strike><span style="font-family: "Courier New",Courier,monospace;">ktutil: <b>l</b></span></strike><br />
<br />
<br />
<span style="font-family: inherit;">This method is much easier than typing all that stuff and was just recently brought to my attention:</span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: inherit;"> </span> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>sudo klist -k /etc/krb5.keytab</b></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">slot KVNO Principal</span><br />
<span style="font-family: "Courier New",Courier,monospace;">---- ---- ---------------------------------------------------------------------</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 1 13 HTTP/backuppc-srv.contoso.test.com@CONTOSO.TEST.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 2 13 HTTP/backuppc-srv.contoso.test.com@</span><span style="font-family: "Courier New",Courier,monospace;">CONTOSO.TEST</span><span style="font-family: "Courier New",Courier,monospace;">.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 3 13 HTTP/backuppc-srv.contoso.test.com@</span><span style="font-family: "Courier New",Courier,monospace;">CONTOSO.TEST</span><span style="font-family: "Courier New",Courier,monospace;">.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 4 13 HTTP/BACKUPPC-SRV@</span><span style="font-family: "Courier New",Courier,monospace;">CONTOSO.TEST</span><span style="font-family: "Courier New",Courier,monospace;">.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 5 13 HTTP/BACKUPPC-SRV@</span><span style="font-family: "Courier New",Courier,monospace;">CONTOSO.TEST</span><span style="font-family: "Courier New",Courier,monospace;">.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> 6 13 HTTP/BACKUPPC-SRV@</span><span style="font-family: "Courier New",Courier,monospace;">CONTOSO.TEST</span><span style="font-family: "Courier New",Courier,monospace;">.COM</span><br />
<br />
This shows that there are the proper entries in the keytab.<br />
<br />
You need to then give permission to Apache to read the file.<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
backuppc-srv$ <b>sudo chmod 740 /etc/krb5.keytab</b></div>
<span style="font-family: "Courier New",Courier,monospace;">backuppc-srv$ <b>sudo chgrp www-data /etc/krb5.keytab</b></span><br />
<br />
Now it's time to get apache working. You can use the command <b>a2enmod auth_kerb</b> to ensure that mod_auth_kerb has been properly enabled.<br />
<br />
Now we need to edit the backuppc Apache configuration to tell Apache how to authenticate users.<br />
The file to edit is located in <b>/etc/apache2/conf.d/backuppc.conf</b><br />
This is how my file has been setup. I have commented out the four lines at the bottom there, leaving the require valid-user line in place. I added the six lines at the top.<br />
<b> </b><span style="font-family: "Courier New",Courier,monospace;"> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">AuthType Kerberos</span><br />
<span style="font-family: "Courier New",Courier,monospace;">AuthName "Kerberos Login"</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbAuthRealms CONTOSO.TEST.COM</span><br />
<span style="font-family: "Courier New",Courier,monospace;">Krb5Keytab /etc/krb5.keytab</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbMethodNegotiate On</span><br />
<span style="font-family: "Courier New",Courier,monospace;">KrbMethodK5Passwd On</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthGroupFile /etc/backuppc/htgroup</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthUserFile /etc/backuppc/htpasswd</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthType basic</span><br />
<span style="font-family: "Courier New",Courier,monospace;"># AuthName "BackupPC admin"</span><br />
<span style="font-family: "Courier New",Courier,monospace;">require valid-user</span><b><br />
</b><br />
<b><br />
</b><br />
Now that apache is setup, make sure you restart it (<b>sudo /etc/init.d/apache2 restart</b>), or perhaps better, reboot at this point, just to make sure the domain join is working properly. After it restarts, try to access the backuppc web interface. If you are getting the Kerberos login prompt, login with your domainuser name. No domain prefix is required as it's set to logon to a specific domain and Kerberos on linux cannot handle cross-domain logons.<br />
<br />
If you are having errors, it's best to <b>tail -f /var/log/apache2/error.log</b> and set the debug level to <b>debug</b> in the /etc/apache2/apache2.conf file to display errors while attempting to login.<br />
<br />
If you get a <b>failed to verify krb5 credentials: Server not found in Kerberos database</b> error, that's usually due to DNS issues, double-check your hosts file that you have the right IP addresses and names listed.<br />
<br />
<b>Client not found in Kerberos database</b> means just that, it can't find that username. Make sure it's valid on the domain. I found that trying to logon to backuppc using a local linux user doesn't seem to work afterward, maybe I'm not setting something up right.<br />
<br />
<b>Wrong principal in request</b> usually has to do with the keytab file. Check to make sure it has the HTTP sections, and if it does, just delete and recreate it with the command above used to initially make the file. Remember to change the permissions back! This has been the fix for the authentication randomly dropping occasionally, for me.<br />
<br />
Once you've got yourself logging on via Kerberos, edit the backuppc /etc/backuppc/config.pl file with the proper user settings. I found that i needed to add the domain to make it recognize the user.. i.e. assign a computer with 'user' set to <b>domainuser@CONTOSO.TEST.COM</b> and that should work when they authenticate. You can also add a user into the CGI admin group in the same file, in the same way to allow that user to have admin access.<br />
<br />
You will need to make a modification to the samba command that BackupPC uses if you back up with a local user account that's on the computer and not on the domain. On the Xfer tab of the BackupPC config, just before the -U $user, add -W $host. This will tell Samba that the username you're specifying is for the 'local host' domain, i.e., don't try to authenticate to the active directory, only authenticate locally to the computer. In my case, the local backup user accounts are not valid domain users, so this change needs to be made.<br />
<br />
I'll update this when I figure out how to get Single Sign-On working on this through IE6. Right now i'm getting a <b>gss_accept_sec_context() failed: An unsupported mechanism was requested (Unknown error)</b>.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com4tag:blogger.com,1999:blog-6290129843266976044.post-88947754621472272872010-06-15T01:03:00.002-04:002010-06-15T01:05:17.619-04:00Stepper Driver is live!I brought the completed boards that my friend had drilled and cut out to work, and started the process of populating the board with all the fun components that make it work.<br />
<br />
I formulated a strategy, which was to install all the tiny vias, then use the large Chipmaster hot-air machine to flow the large chip and the big current sense resistors on, then solder on all the other smaller SMT components with a hot air pencil, then do the large through-hole components. I chose this mainly because if I were to hot air the large chip last, the air temp would cause many of the plastic pieces on the big components to melt, or blow some of the smaller components off the board.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq_rchJeqcmyI9ZW9JwBwTCx3U22RNM_EvJrUhAJUmsdonDOJ9hox6a5NDbG_4I-8857iZwWPuch6d3B4z9EjgKD86QG3jmSLggzRyqiOjnvToSPunp44qMGHZsxhf6UdRuQ0cg9uj_0E/s1600/IMG_20100614_233122.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq_rchJeqcmyI9ZW9JwBwTCx3U22RNM_EvJrUhAJUmsdonDOJ9hox6a5NDbG_4I-8857iZwWPuch6d3B4z9EjgKD86QG3jmSLggzRyqiOjnvToSPunp44qMGHZsxhf6UdRuQ0cg9uj_0E/s320/IMG_20100614_233122.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">First power up!</td></tr>
</tbody></table>Overall, the technique worked well. I produced a working board with only one small short, which I located and fixed. I then took the board up to FamiLAB, where we tried to hook it up and get it working. The blue light came on, which is power, so we were quite happy there. Then, after fiddling around and finding we had a bad cable, we got it to start stepping!<br />
<br />
We got RepRap host up and running and started jogging the stepper around on it, which worked great! We enabled and disabled microstepping, which seemed to also work quite well. All the LEDs and such were running properly, and the chip barely got warm. All good signs. We even took a short video of the first movement here:<br />
<object height="385" width="480"><param name="movie" value="http://www.youtube.com/v/lD2bC537m0k&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lD2bC537m0k&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
<br />
Now tomorrow I need to start work on the second one, and I'll have enough drivers to run all the motors. Then it's on to finishing up the electronics...Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-86464979692309527662010-06-09T13:19:00.000-04:002010-06-09T13:19:04.255-04:00We have PCB!So up at FamiLAB last night, we spent some time getting the PCB setup going.. I got some containers to do the PCB etching and developing in, and a few other bits and pieces needed. I started the PCB thing by printing the masks onto paper and holding them to our fluorescent light source to line things up and see how well they would fit. <br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.flickr.com/photos/chorca/4683868153/sizes/l/" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="213" src="http://farm5.static.flickr.com/4028/4683868153_f261fa7dac.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fluorescent lights upside-down with glass for registration</td><td class="tr-caption" style="text-align: center;"><br />
</td></tr>
</tbody></table>Once I had the designs set up properly and it looked good, I printed them out on the transparencies we got. Then we lined them up, used a little spray adhesive on the far corners to hold registration, and opened the board.<br />
<br />
The boards are a dark greenish color when you remove the protective sheet from them, the light blue is just a thick film that covers the board that needs to be removed. We pulled it off and set the board in the area we had decided on, and slid it between the glass and under the light. We then set the timer for 8 minutes and exposed each side for that amount of time.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.flickr.com/photos/chorca/4683868159/sizes/l/in/photostream/" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://farm5.static.flickr.com/4059/4683868159_05715b204a.jpg" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Immediately after developing. Green is the resist.</td></tr>
</tbody></table><br />
After exposing, you can barely see the pattern on the board. The dark green has changed to a dark yellow-green, so it's hard to really tell without a bright light, which you can't use yet. Next, you drop the board into a mix of 1 part developer to 10 parts water, and swish it around. Immediately the developer begins to remove the resist and you can see the circuit pattern. <br />
<br />
<br />
After developing, we needed to actually etch the PCB. We mixed two parts Hydrogen Peroxide with one part Muratic Acid and used that to etch. This stuff fumes pretty good when you mix it, so I'd advise doing that bit outside or in a well-ventilated area. Careful breathing around it or you'll be coughing a lot. We dipped the PCB into the solution and began swishing back and forth by tipping the container. The solution begins to turn green quickly and you can see wisps of material coming off the board, but the process takes about 4 minutes before you see any clear progress. This usually starts around the edges where the copper begins to be completely etched away, revealing the fiberglass board beneath. The total time we had was about 6-7 minutes of gentle agitation and flipping the board every so often.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.flickr.com/photos/chorca/4683868171/sizes/l/in/photostream/" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="213" src="http://farm5.static.flickr.com/4050/4683868171_d411c3b245.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Final product. Green is stains from removing the resist.</td></tr>
</tbody></table><br />
<br />
After etching has completed, we rinsed and dried the board, then removed the resist with Acetone. It comes off pretty readily, but also seems to stain the fiberglass. Not a big issue. What's left is ready for drilling and soldering. I used a script in the EAGLE software called 'drill-aid', which takes the large holes normally printed for the vias and components and fills them in, leaving only a tiny 0.3mm hole in the center. This helps with drill centering, I'm told, so I went ahead and used it, and the tiny holes etched perfectly.<br />
<br />
The finished product is really good. Although I still would like to get it on the stereoscope at work and take a look at it really up close, everything I can see went perfect. The process was so complete, that even a place where the toner had a few holes showed exactly the same on the board. (The toner is several years old, as is the printer, an HP LJ 2200D.) We're really excited about the possibilities of what we can make with just some simple work on the computer. I'm really interested to try my hand at laying out some boards myself!<br />
<br />
Those who have been working with the Stepper Driver 3.2 will notice that the board there is a little messed up. I accidentally mirrored both sides, and this caused the board to be etched incorrectly. Now there's no way to actually make these boards work, so we're calling this our photoresist test board, and we're going to do another using better transparencies, a better printer with darker toner and higher resolution, more accurate registration marks, etc. Hopefully the next will turn out just as good, or hopefully even better than the first!<br />
<br />
(There will be a video of the etching process posted tonight, I need to edit it up a little.)Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-32244068059863699632010-06-08T10:16:00.000-04:002010-06-08T10:16:34.572-04:00Almost there...Well, we're still working on finishing up the bits and pieces of the Mendel. Mainly, we need to get the PCBs done for the stepper controllers. My partner in crime ordered some stepper motors and those should be coming in today or tomorrow, and we'll be using those with the stepper controllers to get this thing running.<br />
<br />
In my previous post I was talking about the Stepper Driver 3.0 that we were going to be building. Well, I got a short email dialogue with <a href="http://www.zachhoeken.com/">Zach Hoeken</a> and he informed me that the modifications that Nophead suggested were made on the newer revision of the board, which he <a href="http://svn.makerbot.com/trunk/electronics/stepper-motor-driver/">directed me to</a>. (the XLS file is out of date, schematics are up to date)<br />
So, the only problem is that I ordered all 1206 parts, when the new revision changes up a lot of components for 0805 parts (SMT part sizes). This causes an issue cause the parts I ordered are too large now to fit on the revised board's pads. So, I need to order all new parts, which I did yesterday. Hopefully the LEDs will be nice.. I got a good variety.. Deep Red, True Green, and Hyper Blue. RGB are my favorite colors to have on things.<br />
<br />
We got the PCB boards and developer in, and we're going to make some Cupric Chloride to etch the boards. It's much safer than the Ferric Chloride, and better for the environment too. I spent last night working a little in Eagle. The light version won't let you panelize the board because it's too big, so I exported each side of the board as a PDF and then imported it into Inkscape. From there, I created an outline the same size as our board to help me in positioning the sides, then used align tools to create top/bottom layers. Now I can mirror the top layer and print them onto transparencies. We're building a UV light source with a lot of LEDs to see if that will expose better than fluorescent lights. It seems to be pretty sensitive, the package says to expose for 60-90 seconds under "exposure unit" which we're assuming is a UV source. or 6-10 minutes under a normal fluorescent lamp.<br />
<br />
I got around to redoing the H bridges on the extruder controller, because I had hooked it up backwards to 12v at one point and blew the H bridges. So now I have a new set of H bridges on the board, so we should be good to go. However, I'm still going to be using the Stepper Driver 3.2 on the board. I may use the 3.2 boards I'm making for the X and Y axises, and the normal ones for the Z and extruder, as they require less precision. The 3.2 boards are tunable via 4 potentiometers and also have selectable microstepping. That will be an interesting feature to experiment with.<br />
<br />
I'll try to get some photos or video of the etching process, as I think it would be a cool thing to watch!Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-13516547738297559002010-06-01T10:26:00.000-04:002010-06-01T10:26:13.048-04:00Lots of progress!Well, I apologize for the lack of updates, but we're in a pausing point here, so I will post a bunch of stuff that documents our progress since the last post.<br />
<br />
When we last left our hero, he was having issues getting the MakerBot to work properly with the new FiveD firmware. Since then, we've managed to figure out what's up, remove those offending M codes from the file (M101, M103) and get printing again.<br />
<br />
I've gotten the Wade's extruder all tuned up in Skeinforge, and it's doing an awesome job printing parts. We've even gone back and reprinted parts during our assembly that were done on the old Plastruder, and they've come out with much better tolerances on the new extruder. I've gone ahead and printed out another copy of it to use on the Mendel, so we will see how it works on there!<br />
<br />
The Mendel. Yes, we started construction as we neared just a few parts left, and have gotten it pretty much completely built! There are a few little quirks here and there, like if you're using Josh Updyke's milled plastic frame vertexes, you should add another 1/2 to 3/4" to your x-plane rods. We added more washers to the Z belt bearings to space them out further from the plastic. We created our own M3 set screws with a Dremel, and hopefully have a good hobbed bolt for using on the new extruder!<br />
I've almost finished up the HeatCore for the Mendel, which we'll be using temporarily while I experiment with the cartridge heater and copper block I'm building.<br />
<br />
(When I say "we" I mean myself and another friend at our hackerspace, who is also building a Mendel.)<br />
<br />
While I originally planned on documenting the entire build by photo, we had forgotten to do this and decided that when we build the second one, we will try our best to document the build process.<br />
<br />
Other than that, the build went fairly smoothly. Belts are attached, frame is squared and tightened down, and we got some of the electronics mounted up on it. That's our current holdup. I used one of the stepper drivers in the MakerBot to drive the stepper for the extruder, and the <a href="http://objects.reprap.org/wiki/Generation_3_Electronics/Tech_Zone_Remix">TechZone kit</a> only comes with three. So currently we're at two stepper drivers, and one half-broken extruder controller (I hooked the 12v up backwards and fried the H bridges.. but hopefully we won't need those).<br />
To fix this dilemma, my friend an I have decided to build our own stepper driver PCBs. TechZone will sell individual PCBs, but we decided that it would be interesting to try the new 3.0 driver and see how well it works. We have PCB making supplies, and are currently in the process of getting a couple more things. We're going to go ahead and try the UV method to put down the resist, so hopefully that will work out well.<br />
<br />
I've asked around about people using the 3.0 drivers, but all I can find is a forum post saying they'll be available for purchase sometime around February.. Well, it's been quite awhile since then, and the design on the SourceForge hasn't changed in 5 months or so. I'm assuming there just hasn't been any more testing on it. We've got the components ordered up to build 3 of them, and the tools to do all the SMT work. Hopefully we'll be able to get a usable board out of this process. We will also document what we're doing here, cause it's a pretty exciting thing to make your own PCBs and build them!<br />
<br />
Aside from that, the axises on the machine are all moving with the stepper controllers we have. The TechZone board did not come with a bootloader burned on the chip, but luckily we had a <a href="http://www.ladyada.net/make/usbtinyisp/">USBtinyISP</a> that we used to burn one on there. After that and a quick load of the FiveD firmware, things are moving around. We'll do the same for the extruder controller soon and hopefully it'll be running the machine within a week or two! Then we can start tuning Skeinforge again. I can't wait.<br />
<br />
(photos will be posted later today)Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-64305287280004562042010-05-01T23:37:00.000-04:002010-05-01T23:37:58.402-04:00FiveD MakerBot MishapsWell, not to start out unhappy, but I've been working a lot on trying to get this thing to work right. It's not easy, let me tell you. I've had a few successes, but it seems I've run into every problem possible while doing this.<br />
<br />
Now I've got my machine set up with the endstops and motor directions (by moving endstops and reversing motor cables) so that from the front, it plots in the same direction as all the software we use shows us things. i.e., origin is closest to viewer, left. (Bottom-left). This helps not build parts backwards, and makes visualizing the platform and x/y movements a bit easier.<br />
<br />
The geared extruder is hooked up and running well. Haven't had many issues so far with the extruder itself; as a matter of fact it's gone quite well. The big part has been getting the table and software to work well.<br />
<br />
A lot of the issues I had tonight dealt with Skeinforge. I'm using the latest version as of the time of this writing (2010-04-26). The RepRap host software (once I figured out some decent settings, which I'll post tomorrow) works good enough to get out a demo print. It's not perfect, but it will build an object.. roughly.<br />
<br />
The objective here is to use Skeinforge's Gcode creation to build objects, since it's much more developed than the other. We still use RepRap Host software to send the gcode to the printer, but Skeinforge is doing the creation. I'd like to try/use RepSnapper soon, but it has issues with the 3d on this laptop.. seems the Intel drivers on here aren't really up to par for 3d stuff. We'll have to wait until they fix that. It doesn't run all that hot in the VM on here.<br />
<br />
Had an issue earlier with the Z axis not working correctly. Turns out, Skeinforge's Z feedrate needs to be set quite low.. mine's set to 1.5mm/sec. Set anywhere higher and it freaks out a lot..<br />
<br />
My main problem was that I had issues with it doing odd things.. I tried printing calibration blocks, but they definitely were not correct, and when I tried printing a 20mm solid block, I knew we had an issue.. Here are the photos:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuzg8otFG9nAXGIfctnsHNiX5cjHacy3s-Kn1R-lSb3XqkMAUUroQCasRbhmLqe1mW07lR_Pj1a9f1L53lJZwGPqv-HsuiWIW8Cymx-Z1akMBg4q6WhKU6JbZ4GWUCAPSqVpZYG7Fz1hk/s1600/2010-05-01%2018.52.40.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuzg8otFG9nAXGIfctnsHNiX5cjHacy3s-Kn1R-lSb3XqkMAUUroQCasRbhmLqe1mW07lR_Pj1a9f1L53lJZwGPqv-HsuiWIW8Cymx-Z1akMBg4q6WhKU6JbZ4GWUCAPSqVpZYG7Fz1hk/s320/2010-05-01%2018.52.40.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Three calibration blocks. That triangle is there instead of the second shell on the other two sides..</td><td class="tr-caption" style="text-align: center;"><br />
</td><td class="tr-caption" style="text-align: center;"><br />
</td></tr>
</tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI0yIDjRU85njD_qocGluZW7oW4eNgE9XPJ6e6SPL3TWHXJmpVQuG6Drz42je0UJxN786aOyfvKIEo-Ktu0FgiQvEtnG5ngmY3O-dMAQba3HKt5OTG-_v0rzPdv3MCpBnb96PtMcKda-I/s1600/2010-05-01%2022.05.21.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI0yIDjRU85njD_qocGluZW7oW4eNgE9XPJ6e6SPL3TWHXJmpVQuG6Drz42je0UJxN786aOyfvKIEo-Ktu0FgiQvEtnG5ngmY3O-dMAQba3HKt5OTG-_v0rzPdv3MCpBnb96PtMcKda-I/s320/2010-05-01%2022.05.21.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">20mm solid calibration block. This one's outline was extruded as huge blobs in the corners for some reason.</td><td class="tr-caption" style="text-align: center;"><br />
</td></tr>
</tbody></table>With these two, they have very different and odd issues. Mainly, the extrusions are not working properly. Visualizing the Gcode in RepSnapper shows that the code is proper.. somewhere between the code and the machine, something's not getting interpreted correctly.<br />
<br />
So I did some investigating.. I loaded up the same object in Skeinforge and RepRap Host, and generated gcode files, and tested printing them. The RepRap Host file printed properly, and the Skeinforge file didn't. I then opened up the Gcode files side by side and tried looking for differences between the two.<br />
<br />
In the Skeinforge file, whenever the extruder starts and stops, the file issues M101 and M103 codes. These are extruder start/stop commands, usually used with DC gearmotors. They tell the controller "start extruding, stop extruding" all at the preset speed. However, with stepper motor extruder drives, the extruder is treated as another axis, and therefore does not need on/off commands, as the stepper routines and controller take care of positioning the stepper appropriately.<br />
<br />
One would think that these commands would be ignored, then. However, the RepRap Host file did not contain these codes. When I removed them from the Skeinforge file and reprinted (using the RepRap Host software), the file printed properly. I don't know what is causing this, the firmware or the host software, but one of the two just can't seem to handle those codes when it's using a stepper extruder. I used a simple find/replace command to delete them, and the files Skeinforge produces are working now.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-79601333172022615092010-04-28T10:22:00.005-04:002010-04-28T11:18:33.732-04:00Success!Finally some good news!<br />
<br />
Was up at <a href="http://familab.org/">FamiLAB</a> last night working on the MakerBot. Got pretty much everything working right, defined some temperature sensor stuff and configured the extruder controller's firmware and uploaded it.<br />
Did some simple tests with temperature and the <a href="http://www.makergear.com/products/ceramic-heater-core">HeatCore</a>, found it's working well! The temps with the thermocouple are rock solid, and the <a href="http://en.wikipedia.org/wiki/PID_controller">PID</a> on the extruder does a great job. I decided to run some test extrusions just to squirt out some filament, and they're great! Coming out nice and smoothly, if a bit slow. Temps seem good, it's not burning the filament, and I went through a few start and stop, heat/cool cycles to make sure we weren't having any issues with the nozzle. Everything looks good so far!<br />
<br />
I decided to push my luck really hard and get it to try a simple build, but the X axis just kept driving itself into the wall, and the <a href="http://objects.reprap.org/wiki/Mendel_User_Manual:_Host_Software">RepRap host software</a> seems to be buggy at best when it comes to working with Gcode files.. I need to play around with it more and figure out what it's trying to do.<br />
<br />
I've taken the stock MakerBot electronics and used them as-is, no mods to the boards or anything. All I've done is take an extra <a href="http://objects.reprap.org/wiki/Stepper_Motor_Driver_2_3">Stepper Motor Controller</a> from my Mendel electronics kit and hook it's step/direction up to the I2C connector on the motherboard with a 3 pin header. All that's needed for the stepper controller to operate is step, direction, enable, and ground. Enable is tied to ground so that the board is always on. Step/Dir will depend on the connector you are using coming from the stepper controller, but I'll post a small diagram a bit later. This is hooked into the extruder's stepper motor, so the motherboard actually controls the extrusion steps instead of sending that info over RS485 as MakerBot does. The extruder controller is now only used to control temperatures of the nozzle, bed, and a fan if used.<br />
<br />
The thermocouple is attached using a <a href="http://store.makerbot.com/electronics/electronics-kits/thermocouple-sensor-v1-0-kit.html">Thermocouple Sensor</a> board from MakerBot. I'm using the <a href="http://www.analog.com/static/imported-files/data_sheets/AD594_595.pdf">AD595C</a> for higher precision, and have the thermocouple taped so that the tip rests in the thread near the end of the nozzle, not touching the HeatCore. The sensor board has three wires; Vcc, GND, and Sig. I hooked these up using a small 3-position connector that came with my Mendel electronics kit, and plugged them into the MakerBot extruder controller on A7.<br />
The FiveD firmware has support for Thermistors, AD595 Thermocouples, and <a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3149">MAX6675</a> Thermocouples. All that's needed to do is edit configuration.h to uncomment the proper thermocouple #define line, make sure the others (such as USE_THERMISTOR) are commented, and change the #define TEMP_PIN to 7. This will set up the unit to read the AD595 from analog pin 7, and it will work just as normal. Need to be careful not to short the thermocouple wires as they're bare, and they will cause spurious readings if they're shorted. A single wrap of Kapton around the leads just behind the welded tip should be sufficient.<br />
<br />
As far as further configuration of the FiveD software for MakerBot, I'm still trying to get it to a working fashion.. The axis can be easily calibrated using the <a href="http://objects.reprap.org/wiki/Builders/Config/Config_Axes">standard method</a> prescribed by RepRap. I used the 100mm to start though, so it would take less time to calibrate. All movements are accurate right now. I'm working on getting the home offsets correct, and hopefully being able to use the build limits as well so it doesn't try to build off the bed.<br />
<br />
I will post more photos and perhaps a video tonight when I head back up to the lab to work more on this. Until then, here are a couple I took with my phone last night.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLulEX7oAaG4hkdVonl35uF5EEXuZJFiP4o4-0MnwkrIWxUZ4TvOGF02BJr5kCJlgtncWIgGOpLL6_x0ECOVpFKVpKWzbZBQaWEZC4q2E3sf091ho8ew2a2KOW6w9TQAZRepYTBqDuf2Y/s1600/2010-04-27%2023.40.39.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLulEX7oAaG4hkdVonl35uF5EEXuZJFiP4o4-0MnwkrIWxUZ4TvOGF02BJr5kCJlgtncWIgGOpLL6_x0ECOVpFKVpKWzbZBQaWEZC4q2E3sf091ho8ew2a2KOW6w9TQAZRepYTBqDuf2Y/s320/2010-04-27%2023.40.39.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrB7X7BMk9Pk4l7nlaDYVCsZD8UVX6bv7PXpDcsVHgqIwy2e-RLbGxp2OzbNF1MHcv4Ix-Bc3wM1mKSPxMUX9dkcydz0LTdvVm8b2y4GJtAsLoY1a3THn3z8RbNiMl9DMqPpdEc2j4CU0/s1600/2010-04-27%2023.40.46.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrB7X7BMk9Pk4l7nlaDYVCsZD8UVX6bv7PXpDcsVHgqIwy2e-RLbGxp2OzbNF1MHcv4Ix-Bc3wM1mKSPxMUX9dkcydz0LTdvVm8b2y4GJtAsLoY1a3THn3z8RbNiMl9DMqPpdEc2j4CU0/s320/2010-04-27%2023.40.46.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLulEX7oAaG4hkdVonl35uF5EEXuZJFiP4o4-0MnwkrIWxUZ4TvOGF02BJr5kCJlgtncWIgGOpLL6_x0ECOVpFKVpKWzbZBQaWEZC4q2E3sf091ho8ew2a2KOW6w9TQAZRepYTBqDuf2Y/s1600/2010-04-27%2023.40.39.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br />
</a></div>Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-38045070261886312010-04-26T13:15:00.000-04:002010-04-26T13:15:59.878-04:00Finally getting somewhere..Well as you may know from reading previous posts, the MakerBot at <a href="http://familab.org/">FamiLAB </a>decided to puke up and break it's extruder somewhat. I tried to fix it, it kept having issues driving the DC gearmotor, and it was basically nonstop unhappiness. So, I decided, with all these Mendel parts hanging around, why not incorporate some of them into the MakerBot to get it at least up and running so it can print us a Mendel?<br />
<br />
So here I begin...<br />
<br />
Using the official MakerBot firmware with a geared stpper extruder is just way too much work and isn't really going to cut it. So, I decided to try and get RepRap's FiveD firmware up and running on the unit. It'll be good for a couple reasons.. One, I can do a few more things than I could with MakerBot, there's faster releases and better support for mods, since it was built to run a stepper extruder and has support for thermocouples out of the box. Two, I get more face time with it to really understand how that firmware and the apps work, so that when I finally get the Mendel built I'll already be pretty experienced in how to operate it and get things going.<br />
<br />
So, I started off on that last night, getting the FiveD firmware set up with all the right pins, compiled, and uploaded to the MakerBot. I wired up a spare stepper motor controller to the extruder stepper and the I2C pins on the motherboard. I believe the H bridges in the extruder are kind of shot, so I'm doing this to get it running for now. I'm going to be making up a little mounting plate very shortly to get the Wade's geared extruder mounted up on the MakerBot Z platform. I may just clamp it to one side for now, just to test and get things moving, but I do want to get it set up properly with a bracket.<br />
<br />
I calibrated all the axis and they seem to be moving proportionately now. Since the machine wasn't using endstops before, I had to set them up, test them and build some endstop triggers, which I made out of beer cans that happened to be laying around at FamiLAB. They seem to be working well, but I need a better way of attaching them as electrical tape just isn't cutting it. Other than that, auto-homing works properly now, all axis move, and are accurate.<br />
<br />
The next step for hopefully tonight will be to get the extruder mounted up and start testing it.. I'm not so sure the speed settings are correct right now, but that's part of testing. I have the 0.5mm refsynderb nozzle in there and it's pretty much ready to go, just need to screw on the MakerGear HeatCore, attach my thermocouple and test that, and we should be ready to roll. I need to figure out how to get the heated build platform operational as well...<br />
<br />
I'll be posting all this on the MakerBot wiki, as converting a MakerBot over to a geared extruder and FiveD has been an interesting task. I've been gathering some notes on the topic, and I'll be posting some pictures as well.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-61416171540077265172010-04-22T09:52:00.000-04:002010-04-22T09:52:58.471-04:00Well I tried my hand at modifying some firmware and such, was a bit of a bust but here it goes:<br />
<br />
Changed the v1.8 Heated Bed firmware to support the stepper extruder and also modified some code to use a thermocouple instead of a thermistor for the extruder temp sensing. Went up to FamiLAB and tried it out.. the thermocouple worked fine, but the stepper motor would not mobe. I'm not sure what the issue was.<br />
<br />
The unfortunate thing is that there's no mention of how to wire up a Lin Engineering stepper to an extruder controller. They use Red/Blue/Green/Black wires, and I ohmed out the stepper looking for the two coils, which I found, and hooked up to the 1A/1B/2A/2B posts on the extruder controller. Tried to enable it and the H bridges got really hot, but no motor movement. The bridges stopped outputting power after that.<br />
<br />
Looking in the Makerbot Operators group, someone mentioned that having a stepper connected that was less than 6 ohms might cause the H bridges to burn up; the Lin Engineering ones are about 1.8 ohm. However, they're also recommended on the RepRap website as steppers to use on the extruder controller. I'm a bit confused here, how are they normally used? There's a distinct lack of documentation as to what the resistance should be across the stepper terminals, so I'm of the assumption the H bridges were bad anyway and I didn't screw up there.<br />
<br />
However, I did manage to screw up afterwards. Some folks in the Reprap channel on freenode were trying to help me troubleshoot the problem, when I managed to find out that the extruder controller has no reverse current protection in it. Hooked the 12v up backwards and blew the H bridges on my new board. Well damn.<br />
<br />
So I'm ordering 6 new H bridges from Digi-Key, hopefully i can just replace them and that'll fix the boards, and perhaps try again to see if it was the bridges or if the stepper is the problem.<br />
<br />
If anyone has some insight into this, it would be much appreciated. Been an ordeal just trying to get this working..Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-46937504317976897192010-04-19T10:08:00.000-04:002010-04-19T10:08:56.965-04:00Slowly moving forwardWell, I haven't posted recently because I haven't spent much time actually building this thing, but here's a post to sum up what's been going on as of late. It's a bit long, but a lot is talked about here! MakerBots, Extruders, Thermocouples and firmware!<br />
<br />
<a name='more'></a><br />
<br />
<br />
<ul><li>Got onto FamiLAB's MakerBot, and with the help of it's owner, began working on building Mendel pieces. We tuned it up a bit to get somewhat decent results out of it and started spitting out some decent builds. I built about 25 pieces over the course of a couple weeks worth of work (taking a bit of time every day after my normal day job).</li>
<li>Got the extruder mostly assembled, just need to cut/bore out the heater block and get the solid state relay for the heater part. Hopefully the cartridge heater will work well!</li>
<li>Brought most of my parts over to FamiLAB and started assembling a few pieces.. Looks like I'll be going with Nophead's pulleys for the belts, as they only require one small flat on the shaft of the stepper. Since one of my steppers has no flats, that'll be a lot less filing for me to do. </li>
</ul><br />
But, oh no! Tragedy strikes! The MakerBot begins having issues extruding! For some reason the heater does not seem to be getting hot enough and the motor is unable to push the filament through! I cleaned out the inside of the nozzle twice. We installed a new MakerGear HeatCore and got the new heated bed, but we're still having issues with temps. Now, the extruder controller board seems to reset when we begin extruding. This is an issue.<br />
I tested my TechZone extruder controller, and it had the same issue. Seems the motor is getting up to 900mA at certain points when hooked directly to a 12v supply, so it may be pulling too much current, causing the current limiting on the power supply to drop the voltage far enough where the controller resets.<br />
<br />
I've decided to try and speed up things a little here by switching out the entire extruder. My Wade's geared extruder seems to be ready for primetime, and looking at it, I should be able to make up a small bracket to mount the extruder on the MakerBot's Z platform. (Someone made a laser-cut bracket <a href="http://www.thingiverse.com/thing:2362">here</a>) However, I'm having issues trying to figure out how to set up the firmware for using a stepper, and also how to set it up for a thermocouple, as we'd noticed somewhat widely fluctuating temps while using the thermistor. (Would slowly climb to 189, then jump to 195, then 203, then 221, etc). I have two K-type thermocouples with those nice amplifiers I had shown previously, so I want to hook one in and use that as we may get slightly better readings. (I had the two hooked up side-by-side, and while the thermistor temps wavered around, the thermocouple was rock solid)<br />
<br />
So, my main issue currently is trying to edit and get the new 2.0R1 MakerBot firmware to actually compile. I've loaded Arduino 0018, and when I get the <a href="http://sanguino.cc/useit">Sanguino extensions,</a> it seems they no longer come with the libraries their website lists in the install directions on their <a href="http://sanguino.cc/">main page</a>. I downloaded the sources for the MakerBot firmware from <a href="http://github.com/makerbot/G3Firmware">G3 Firmware @ Github</a>, and modified the <a href="http://github.com/makerbot/G3Firmware/blob/master/ArduinoSlaveExtruder/Configuration.h.dist">Configuration.h.dist</a> file to support the motor, but I can't find how to set it up for the thermocouple. I searched for an hour or so and found a place where it seems to <a href="http://github.com/makerbot/G3Firmware/blob/master/ArduinoSlaveExtruder/Heater.cpp">sample a thermocouple</a> (<span style="font-size: x-small;"><span class="n" style="font-family: "Courier New",Courier,monospace;">Heater</span><span class="o" style="font-family: "Courier New",Courier,monospace;">::</span><span class="n" style="font-family: "Courier New",Courier,monospace;">sample_thermocouple</span></span><span class="p"><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">()</span></span>)</span>, however, it seems to be written for the up-and-coming extruder controller, which has what looks to be a Maxim chip of some sort, which provides a digital (serial) output of temps, rather than just reading an analog input.<br />
The older firmwares seem to be able to do this, but I'm not sure if i should just comment out the code inside there and replace it with a routine to measure and return the temp using the analog input, or what format it's wanting the temp to be returned in, or how to even properly activate thermocouple use.<br />
I'm trying to get ahold of some of the people writing the firmware such as Phooky to see if they might know what I should do. Rest assured, I will be creating a page on the MakerBot Wiki to document how it is done from start to finish, as I'm sure I'm not the only one wanting to use a thermocouple analog-style.<br />
<br />
In other news, from a very helpful <a href="http://groups.google.com/group/makerbot/msg/c9c8c43742518aa4">comment</a> on the <a href="http://groups.google.com/group/makerbot">MakerBot Operators</a> group on Google Groups, I've been provided with an interesting insight into some difficulties we've been having with the MakerBot while building parts.<br />
Basically, there's been a number of issues with communication with the extruder, showing up as random pauses in the X/Y axis while the extruder keeps extruding. These last upwards of 10 seconds at a time, causing a huge blob of plastic to form around the head, ruining the piece for all intents and purposes. Since recovery is rarely possible due to resetting the extruder being the only way to fix it, you will at best, lose one part, and at worse, lose a whole tray of parts. This is very frustrating. I tried every bit of info I could find on it, to no avail; we continued to have problems. However, this fix is interesting. Since in our situation we have all the opto endstops unplugged due to issues with light getting in, and the fact that there is no terminating resistor in the spot near the top of the extruder, it may be as something as simple as the RS485 bus not having a terminating resistor on it. This could very well cause the problem, and I will be adding a link into the <a href="http://wiki.makerbot.com/when-things-go-wrong#toc10">MakerBot Wiki troubleshooting page</a> as something that should be checked when there are print pausing issues. <a href="http://objects.reprap.org/wiki/Extruder_Controller_2.2#R1_-_180_ohm_resistor">Here</a> is a link to the RepRap Wiki showing the component, it's value and location, as well as purpose. I'll be doing this first thing when I get back to <a href="http://familab.org/">FamiLAB</a>.<br />
<br />
Here's hoping it goes well! I'll keep updating with the status of my progress with this MakerBot geared extruder thing...Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-42656436783866655802010-03-26T01:59:00.001-04:002010-03-26T01:59:42.816-04:00ElectronicsWell, over the last couple days I've gotten a few pieces in.<br />
<br />
- The geared extruder based on Wade's design<br />
- Full electronics set for the machine<br />
- Copper bar and cartridge heater for the barrel<br />
<br />
So here's a few photos:<br />
<br />
First, the extruder. This is how I assembled it, I believe this to be correct based on the illustrations I've seen<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4464283224/sizes/l/" title="Extruder with nozzle by Chorca, on Flickr"><img alt="Extruder with nozzle" height="160" src="http://farm5.static.flickr.com/4062/4464283224_9ca4b1fd7e_m.jpg" width="240" /></a><br />
<br />
<br />
<a name='more'></a><br />
Here's another shot of the underside with the thermal barrier and nozzle installed<br />
<a href="http://www.flickr.com/photos/chorca/4464283226/sizes/l/" title="Extruder with nozzle by Chorca, on Flickr"><img alt="Extruder with nozzle" height="240" src="http://farm3.static.flickr.com/2740/4464283226_a8cc98fa9e_m.jpg" width="160" /></a><br />
<br />
Here's the electronics along with the copper bar and cartridge heater<br />
<a href="http://www.flickr.com/photos/chorca/4464295424/sizes/l/" title="Electronics and copper by Chorca, on Flickr"><img alt="Electronics and copper" height="160" src="http://farm5.static.flickr.com/4049/4464295424_f4749fb5e4_m.jpg" width="240" /></a><br />
<br />
And here's a closeup of the cartridge heater<br />
<a href="http://www.flickr.com/photos/chorca/4464295426/sizes/l/" title="Cartridge Heater by Chorca, on Flickr"><img alt="Cartridge Heater" height="160" src="http://farm3.static.flickr.com/2760/4464295426_5dcc573408_m.jpg" width="240" /></a><br />
<br />
<br />
Onto the technical stuff. When I got the extruder in, it was pretty much perfect aside from a couple slightly little imperfections which were easily cleaned up. I used a squared file to rasp out the inside of the thermal barrier mounting hole and the PTFE barrier fits in fully and snugly. Just need to modify it a little for the mounting screws and I should be all set. It has a very tight grip on the filament and I was not able to budge it no matter how hard I tried.<br />
<br />
The electronics came in, they were quite nice. There were a few touchups I had to do on the boards.. being all SMT they were bound to have a couple little problems, and they did, namely not enough solder in a couple places and a chip cap tilted up off it's pad on one side. Otherwise they seem pretty solidly built. I'm anxious to get them up and running with the steppers.<br />
<br />
Finally, I got the copper bar and cartridge heater in from <a href="http://www.mcmaster.com/">McMaster Carr</a>. The cartridge heater seems perfect for the job, and the copper bar seems to have all the right dimensions for cutting it to fit. I'm going to attempt to build the heat transfer assembly I sketched out earlier, and I'll begin on that next week. The heating through the threads seems to be the preferred way of doing it, so I'm going forward with this.<br />
<br />
Currently I don't have a lot more work done on it due to being away this week, however, next week I may have some time with a MakerBot, so we may be able to get some parts turned out to get it going. I'll keep posting pictures as I get more things and set them up.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com2tag:blogger.com,1999:blog-6290129843266976044.post-21622046776890298532010-03-20T00:20:00.004-04:002010-03-20T00:24:07.583-04:00ThermocoupleJust wanted to throw a little bit up here about the parts that came in today..<br />
<br />
I received my order in from <a href="http://www.sparkfun.com/">SparkFun</a> electronics earlier today, and since it had the requisite bits needed to build the thermocouple amps, I built that.<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4446411585/sizes/l/" title="Thermocouple Amp by Chorca, on Flickr"><img alt="Thermocouple Amp" height="347" src="http://farm3.static.flickr.com/2678/4446411585_b94e3c0fe1.jpg" width="500" /></a><br />
<br />
<a name='more'></a><br />
<br />
Here's the finished product, a couple 330ohm resistors from the kit of resistors I got, the AD595C, a random LED I had sitting around (the two amps have different LEDs!) and a terminal block to hold onto the thermocouple leads.<br />
In staying with the <a href="http://reprap.org/wiki/Thermocouple_Sensor_1.0">article's</a> information on how to make them a bit more accurate, I soldered the AD595C directly to the board, and used the more accurate variant.<br />
<br />
I took the current bike computer project's Arduino and display, and repurposed it into a small temperature display. After a few little issues with the display needing small delays inserted here and there between commands to keep it from freaking out, I got it to display the temperature.<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4446382117/sizes/l/" title="Thermocouple by Chorca, on Flickr"><img alt="Thermocouple" height="333" src="http://farm5.static.flickr.com/4031/4446382117_ac2a2466b7.jpg" width="500" /></a><br />
<br />
Here it is, showing a pleasant 69F inside the house. I also tested it using a heating element on the stove that my roommate had recently turned off. The probe was reading temps of 500F, so that's good. It had a very fast response and instantly read 32F when i set the probe on an ice cube, so it's calibrated well, and I'm getting very accurate readings.<br />
<br />
I put my McMaster order in, so some copper bar stock and a cartridge heater are on the way, along with some missing washers from the first order. I noticed that Josh Updyke is now <a href="http://forums.reprap.org/read.php?94,39505">selling more parts</a> that are milled. I've been happy with the first ones he sent, and with the prices he's quoting, it might be a good way to get the Mendel up and running faster without having to build so many RP parts.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-84106598153926030082010-03-18T22:34:00.004-04:002010-03-19T09:00:06.391-04:00Parts are coming...Well, after I got the heater thing posted, I had more parts awaiting me when I arrived home from work.<br />
<br />
I got things from <a href="http://store.makerbot.com/">MakerBot</a> and <a href="http://www.digikey.com/">DigiKey</a>, so I took pictures of everything.<br />
<br />
<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4443929363/sizes/l/" title="Stuff! by Chorca, on Flickr"><img alt="Stuff!" height="240" src="http://farm3.static.flickr.com/2764/4443929363_bb15eb329c_m.jpg" width="160" /></a><br />
<br />
<a name='more'></a><br />
<br />
First off, here's the <a href="http://store.makerbot.com/plastic/abs-rainbow-pack-1lb.html">filament</a> I got. Finally, I get to handle some of it! I played with it and my extruder, and I feel like I understand the whole thing a bit better.. I got the rainbow pack..<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4443929373/" title="Filament by Chorca, on Flickr"><img alt="Filament" height="240" src="http://farm3.static.flickr.com/2797/4443929373_c3c1b65606_m.jpg" width="160" /></a><br />
<br />
Next, I have a pair of <a href="http://store.makerbot.com/electronics/pcbs/thermocouple-sensor-v1-0-pcb.html">PCBs for the thermocouples</a> that are still on the way. These are thermocouple amplifiers, so they amplifiy the microvolts that the thermocouple creates into volts that can be read by the arduino to control the temperature in the nozzle and maybe the bed.. (that's why I have a second one)<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4443929381/sizes/l/in/photostream/" title="Thermocouple amps by Chorca, on Flickr"><img alt="Thermocouple amps" height="160" src="http://farm3.static.flickr.com/2766/4443929381_35296d274b_m.jpg" width="240" /></a><br />
<br />
And finally, the ICs that go into the boards, these are thermocouple amplifiers, <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=AD595CDZ-ND">Analog Devices AD595Cs</a>. These are the higher sensitivity +/- 1C parts.. <br />
<br />
<a href="http://www.flickr.com/photos/chorca/4443929387/" title="AD595C by Chorca, on Flickr"><img alt="AD595C" height="152" src="http://farm5.static.flickr.com/4024/4443929387_fc44dd0982_m.jpg" width="240" /></a><br />
<br />
So, waiting for the rest of the stuff to come in.. probably tomorrow or early next week. I'll keep everyone updated!Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-44449409375096560272010-03-18T16:16:00.007-04:002010-03-19T23:37:40.379-04:00Heaters..Well I usually head out to the RepRap forums daily and check out what's new on the site, get a feel for what people are doing and if there's any good deals like the geared extruder from earlier in the week.<br />
<br />
I started reading up about extrusion heaters on a <a href="http://forums.reprap.org/read.php?70,37121">thread</a> in the RepRap forums. It referenced Nophead's <a href="http://hydraraptor.blogspot.com/2009/11/no-compromise-extruder.html">interesting heater design</a>, utilizing an aluminum block with a nozzle machined into it. Unfortunately, I don't really have the equipment to machine myself some nice heaters, so I'm basically making due with what I do have.<br />
<br />
So, I've been thinking a bit more about this, and I've come up with a couple ideas to try:<br />
<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4344139091/sizes/l/in/set-72157623444319966/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" title="Extruder Nozzle by Chorca, on Flickr"><img alt="Extruder Nozzle" height="186" src="http://farm5.static.flickr.com/4006/4344139091_ed35cee6b4_m.jpg" width="240" /></a>Mainly, since I got heater barrel/nozzles already from <a href="http://forums.reprap.org/read.php?94,31706">refsnyderb</a>, I'm looking into ways to use this nozzle instead of making another. The big thing that seems kind of fragile about the nozzle/heater on the normal RepRap is the fact that nichrome wire is used, being wrapped around the barrel. This seems to have some issues, mostly the element getting burned out which requires a complicated rebuild of the nozzle.<br />
<br />
<br />
<br />
<a name='more'></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB77cks9HvDXGZzxX86hmYBGVtKjKg_FNVN-Eu1W4DZS6Uo6Fcn08QIdzbhANfGX7-lZf9wpLAztqCWPtnuUd9Fx33a0ZqlV8u3BsH9IBA1GaWfboFKMYqYR7hyM6T4L0dv9EoHbAkqFI/s1600-h/03Cartridge+heater.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB77cks9HvDXGZzxX86hmYBGVtKjKg_FNVN-Eu1W4DZS6Uo6Fcn08QIdzbhANfGX7-lZf9wpLAztqCWPtnuUd9Fx33a0ZqlV8u3BsH9IBA1GaWfboFKMYqYR7hyM6T4L0dv9EoHbAkqFI/s200/03Cartridge+heater.jpg" width="200" /></a><br />
<br />
What I started thinking about after seeing how Nophead did his extruder, is that perhaps I could make something similar, only instead of aluminum, use copper, and try using a <a href="http://www.mcmaster.com/#3614k34/=69webf">cartridge heater</a> instead of the resistor. I know that he mentioned that the enamel resistors were cheaper, but the heaters seem to be more purpose-built and the heating they would be doing would be much closer to their spec, so perhaps heating and such would occur faster.<br />
<br />
<br />
<br />
The idea I'm wanting to try is to either do a horizontal heater like Nophead did with the current nozzle I have, the cartridge heater mounted perpendicular to the nozzle direction, to minimize the amount of melted plastic that's sitting in the nozzle. This would be a bit larger, but it should still be able to perform all the usual tasks. The other idea I had was to take a block of copper and cut kind of a notch out of it, but leave enough copper to the side of the barrel to contain a full 1" long cartridge heater, which would then be held parallel to the barrel. I'm thinking this might be the thing to do, and it would help me by providing good heat transfer through the copper, and at the same time, provide a small melting area near the end of the nozzle, as well as a narrow profile for the whole assembly. Most likely I will use some thermal compound or something similar to help thermal conduction between the heater and the barrel, and set a locknut above the heater to help keep it locked on the barrel.<br />
<br />
Copper is <a href="http://www.mcmaster.com/#8964k432/=6akrw1">fairly inexpensive</a> right now, so I'll most likely get a block of that, along with a <a href="http://www.mcmaster.com/#3614k34/=69webf">cartridge heater</a> from <a href="http://www.mcmaster.com/">McMaster</a> as well as a couple <a href="http://www.mcmaster.com/#93475a210/=69wevg">washers</a> that were somehow left off of the previous order. I've still got the nichrome wire on the way, so I can revert to the standard if this doesn't work out for me, but if it does, things should be pretty interesting. I'm looking into 110v solid state relays to control the cartridge heater, as they all run off of line voltage. The cartridge heaters are speced quite well; they are rated up to 1600F, which is much hotter than necessary, and the thing's whole purpose is to be shoved into a chunk of metal and get hot. This seems perfect. Here's a design I drew up in SketchUp to kind of visualize it. The hole in the top of the metal is for the cartridge heater to be installed vertically.<br />
<br />
<a href="http://www.flickr.com/photos/chorca/4443587777/sizes/o/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" title="Heater Plan by Chorca, on Flickr"><img alt="Heater Plan" height="240" src="http://farm5.static.flickr.com/4050/4443587777_f0e92e56a1_m.jpg" width="227" /></a><a href="http://www.flickr.com/photos/chorca/4443587765/sizes/o/in/set-72157623444319966/" title="Heater Plan by Chorca, on Flickr"><img alt="Heater Plan" height="240" src="http://farm5.static.flickr.com/4049/4443587765_eab7291776_m.jpg" width="234" /></a><br />
<br />
<br />
I'd love to hear input if anyone watching knows of some pitfalls or has done this before, so if I'm headed for disaster I'd like to know!Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com2tag:blogger.com,1999:blog-6290129843266976044.post-23034321469187238082010-03-16T18:17:00.003-04:002010-03-16T18:23:23.493-04:00PowerI didn't mention in my last post, but I ordered a <a href="http://www.mpja.com/prodinfo.asp?number=16013+PS">12VDC 8.5A power supply</a> from <a href="http://www.mpja.com/">MPJA</a>. <br />
<a href="http://www.flickr.com/photos/chorca/4438639539/" title="Power Supply by Chorca, on Flickr"><img alt="Power Supply" height="160" src="http://farm3.static.flickr.com/2749/4438639539_a0ab4bd130_m.jpg" width="240" /></a><br />
I overrated it because I like to do that, and since I might be moving up to a larger stepper or controlling something else with it later on.<br />
Got the PSU in today, since MPJA is in Florida.<br />
<br />
I also took a gander at the reprap boards and found that RustySpoon is selling his <a href="http://forums.reprap.org/read.php?94,39506">geared extruder</a> utilizing an NEMA 17 motor and a pair of reprapped gears with a hobbed shoulder bolt and spring-loaded idler bearing. Looking over the <a href="http://objects.reprap.org/wiki/Geared_Nema17_Extruder">wiki article</a>, it shows some pretty amazing results with the amount of pressure it's able to exert on the filament, showing over 15kg of pull before the stepper started running in reverse.. Looking at the stepper that's being used, it's approx. <a href="http://www.linengineering.com/LinE/contents/stepmotors/Calculator.aspx">69oz/in</a>, so the slightly larger 75oz/in might have even a bit more pull..<br />
So, I ordered one of those as well, and I'll probably use that as the extruder instead of building the one that comes with the kit.<br />
<br />
All these parts that I'm adding in are starting to decrease the amount of RP parts I'm going to need to finally get this thing put together. Hopefully things will move quicker now that most of the bits and pieces are on the way or already here.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0tag:blogger.com,1999:blog-6290129843266976044.post-63455483610124984682010-03-14T20:06:00.004-04:002010-03-14T23:45:23.459-04:00It's on the way..Well, I found I had some more money available for the RepRap, so this weekend I decided to get more of the parts necessary to make the machine. I've now got the following on the way:<br />
<br />
1 <a href="http://www.alltronics.com/cgi-bin/item/28M035/search/Lin-Engineering-4218L-01-10-bipolar-stepper-motor">NEMA 17 Bipolar Stepper</a> for the extruder<br />
3 <a href="http://www.alltronics.com/cgi-bin/item/24M014/search/Lin-Engineering-Nema-17-1.8deg-24V-2A-bipolar-stepper-motor">NEMA 17 Bipolar Steppers</a> for the axes<br />
<a href="http://forums.reprap.org/read.php?94,34719">Electronics Kit</a> (all the electronics/boards assembled)<br />
2 <a href="http://store.makerbot.com/electronics/pcbs/thermocouple-sensor-v1-0-pcb.html">Thermocouple sensor PCBs</a><br />
- Also bought the more accurate <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&site=us&keywords=AD595CDZ-ND&x=0&y=0">AD595C variant</a> of the AD595 (a little pricier)<br />
- With <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=251">thermocouples</a> and <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8432">terminals</a> from SparkFun<br />
10ft of <a href="http://store.makerbot.com/cables-and-wires/nichrome-wire-31-ga.html">Nichrome Wire</a><br />
1lb of <a href="http://store.makerbot.com/plastic/abs-rainbow-pack-1lb.html">colored ABS filament</a><br />
<br />
Also got a nice <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9258">1/4W carbon film resistor kit</a> from SparkFun as I've been wanting one for awhile. Always nice to have resistors handy (even if they aren't precision)<br />
<br />
<br />
So all that stuff should be coming in this week here, and I'm also looking for a way to get at some of the RP parts. Might be helping some people from <a href="http://familab.org/">FamiLAB</a> with getting their MakerBot tuned up. Getting some time with the software would also be helpful so I can figure out how it all works.Chris Purolahttp://www.blogger.com/profile/10889576164712613561noreply@blogger.com0