2.x for kbob's maker space

Post your build logs here

X travel again

Postby kbob » Mon Dec 31, 2012 11:45 pm

I forgot to include this photo. It shows the X idler bracket's new location. I think it needs to move further to the right to be well clear of the laser.

Also, this photo shows a mirror-right-of-center (mroc) mirror mount. That should disambiguate that.

IMG_9438.JPG
Gantry Left
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Re: X travel again

Postby BenJackson » Tue Jan 01, 2013 7:40 am

kbob wrote:I forgot to include this photo. It shows the X idler bracket's new location. I think it needs to move further to the right to be well clear of the laser.

Also, this photo shows a mirror-right-of-center (mroc) mirror mount. That should disambiguate that.

IMG_9438.JPG

I think the other thing you want to do there is flip the M5 bolt on the back wheel around so the excess bolt isn't sticking down (for maximum Y clearance).

The other suggestion I'd made to Bart back when I built mine is to drill a hole in the right front of the carriage to pass the air assist down to a right-angle fitting.

BTW in case you don't know, the top of the lens assembly unthreads from the bottom part so the whole thing can rotate in the diamond-shaped plate. You may need this adjustment to make sure the final mirror is square to the gantry.

My X idler is a little left of yours and I definitely had to chamfer it to keep it out of the beam path. But my beam geometry might not be the same as yours.
BenJackson
 
Posts: 522
Joined: Fri Apr 15, 2011 6:13 pm

Re: X travel again

Postby kbob » Tue Jan 01, 2013 8:14 am

BenJackson wrote:I think the other thing you want to do there is flip the M5 bolt on the back wheel around so the excess bolt isn't sticking down (for maximum Y clearance).

The other suggestion I'd made to Bart back when I built mine is to drill a hole in the right front of the carriage to pass the air assist down to a right-angle fitting.

BTW in case you don't know, the top of the lens assembly unthreads from the bottom part so the whole thing can rotate in the diamond-shaped plate. You may need this adjustment to make sure the final mirror is square to the gantry.

My X idler is a little left of yours and I definitely had to chamfer it to keep it out of the beam path. But my beam geometry might not be the same as yours.


Invert M5 bolt: check.

Right angle barb: check. (I had already read that discussion in your build log; I was saving that mod for a future update.)

I did not know I could rotate the mirror, thank you.

If the idler bracket is in the beam, I suppose I could trim it a little with a laser. :twisted:

If I'm going to take the X carriage out to drill a hole for the air assist, I could also cut a notch in it where it contacts the idler bracket so it could slide further to the left. That would give back the lost X travel. (That's also a good future mod candidate. I'm getting antsy to get this thing finished.)
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Software and Rat's Nest Wiring

Postby kbob » Mon Jan 14, 2013 9:18 am

My last substantive update was two weeks ago. Since then, I've made progress in a lot of small ways.

The two computer boards are mounted and screwed down. I made a wiring harness so they're both getting power, but it is messy. I started with the harness that came with the power supply, and cut off all the wires that I didn't need. But the wires I kept are generally a little too short. I might relocate the power supply rearward to correct that. I need to find some way to keep the wires out of the way -- maybe I can find some of those little P-shaped cable clamps.

I received the red laser diode from LightObject. I attached it to two AA cells to and played with the focus a little, but haven't started to install it yet.

I don't think I've talked about Raspbian here yet. Raspbian is a version of Debian Linux optimized for the Raspberry Pi. It is pretty slick. Initial installation was entirely painless, which is not at all what I expected of Debian. The AVR-GCC toolchain installed perfectly and works fine, too. I am running the Pi headless; I log in to it using ssh and do everything through virtual terminals. (Sorry, but the old habits are well-ingrained.)

This weekend, I copied some Arduino sketches over to the Pi and got them to compile outside the Arduino IDE. First I got the Arduino runtime library to compile with AVR-GCC, then I started replacing the Arduino runtimes with my own. This weekend I wrote drivers for a millisecond timer, the on-board LED, the first serial port, and the ATX power pin. I've expunged the Arduino code.

I do not understand how Marlin et al do flow control on the serial (USB) line. I need to understand how to do flow control in my own serial driver. I don't see anything that looks like software flow control or hardware flow control in the Marlin sources. I don't have an Azteeg schematic to see whether there are hardware flow control lines.

I described this earlier, but here's a recap. I'm using a PC power supply. It is a TFX form factor supply, smaller than ATX but electrically similar. The 5V standby circuit supplies 2 amps, which is more than enough to drive both the Raspberry Pi and the Azteeg's 5V circuits. I'm using the Azteeg's ATX power pin to drive the PC power supply's Power On lead to ground and power on the supply. When the supply is on, the Azteeg's 12V input is powered, and that powers the stepper motor drivers and the heater outputs. I should be able to leave the computers running and automatically switch on the 12V supply when the laser is in use.

The bad part about the power distribution is that the Pi gets power through a micro-USB connector, and the Azteeg gets its 5V power through a mini-USB connector plugged in to the Pi. So I'm drawing both devices' power through the micro-USB connector. It is working, but I'd rather there were a more substantial conductor carrying the power.

I put an LED and a resistor across the 12V terminals on the Azteeg so I can tell when 12V power is on. Then I wrote the few lines of code to drive the line low and switch the supply on. I inserted that code into the test program I'd written back in November called One Axis Random. After a little futzing and a lot of compiler warnings, I had the carriage running back and forth along the gantry. (I posted a video of One Axis Random back here. It is the last video in that post.)

So that's a milestone of sorts. Pi and Azteeg are powered, Pi and Azteeg are talking, software toolchain is working, Azteeg controls ATX power, Azteeg controls one stepper motor.

I need to start wiring the chassis now. After all the limit switches and the other two motors are hooked up, a lot more software will be possible.
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Re: Software and Rat's Nest Wiring

Postby BenJackson » Mon Jan 14, 2013 7:20 pm

kbob wrote:I do not understand how Marlin et al do flow control on the serial (USB) line. I need to understand how to do flow control in my own serial driver. I don't see anything that looks like software flow control or hardware flow control in the Marlin sources. I don't have an Azteeg schematic to see whether there are hardware flow control lines.


They don't do HW or SW flow control. The AVR hardware has 1 byte of buffering and the firmware implements a deeper buffer in software with the UART interrupt. If this interrupt is held off (and unfortunately it's very low priority) you will lose bytes and the half-baked reprap "checksum" algorithm might detect the line is wrong and demand a retransmit. There were older firmwares (the original "5d") which did so much math in timer interrupts that the fw would lose bytes if you went much over 38400 baud. Newer firmwares are much smarter about this and basically never lose bytes.
BenJackson
 
Posts: 522
Joined: Fri Apr 15, 2011 6:13 pm

Re: Software and Rat's Nest Wiring

Postby kbob » Mon Jan 14, 2013 7:50 pm

BenJackson wrote:
kbob wrote:I do not understand how Marlin et al do flow control on the serial (USB) line. I need to understand how to do flow control in my own serial driver. I don't see anything that looks like software flow control or hardware flow control in the Marlin sources. I don't have an Azteeg schematic to see whether there are hardware flow control lines.


They don't do HW or SW flow control. The AVR hardware has 1 byte of buffering and the firmware implements a deeper buffer in software with the UART interrupt. If this interrupt is held off (and unfortunately it's very low priority) you will lose bytes and the half-baked reprap "checksum" algorithm might detect the line is wrong and demand a retransmit. There were older firmwares (the original "5d") which did so much math in timer interrupts that the fw would lose bytes if you went much over 38400 baud. Newer firmwares are much smarter about this and basically never lose bytes.


That explains it. Thanks. It looks like the firmware (I'm looking at Marlin) prints "enqueueing \"(command)\"" after it has successfully received each line. I'm guessing the host side looks for that and doesn't allow itself to get too far ahead.

The FTDI chip on the Azteeg has a 512 character buffer, but AFAICT, that buys me nothing -- there's no way for the ATmega to slow the FTDI down.
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Firmware repository on GitHub

Postby kbob » Sat Mar 02, 2013 2:54 pm

Just a quick note. I just created a repository on GitHub to write my laser cutter firmware. There is nothing there yet except a three line README.

https://github.com/kbob/kerfburn

I'm on vacation all next week, so I'll try to flesh it out a little.

Oh, and I thought of a name for the firmware. Kerfburn.
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Overdue update and gantry LEDs

Postby kbob » Thu May 16, 2013 6:44 am

Wow, it's been a long time since I updated this build log. I've been working on the laser cutter nearly every day. But I never feel like I'm at a good milestone to report progress.

After working through some wiring issues, I've gotten some serious work done on the firmware. This project looks like it's going to be 90% software. That's certainly the way it's been lately. You can check out my firmware at https://github.com/kbob/kerfburn . It still does not actually move any motors or pulse any lasers, but it's getting closer.

But here's a hardware thing that came out pretty well. I put a strip of LEDs on the bottom of the gantry. This is the LED strip I used. http://www.adafruit.com/products/306 They're addressable RGB.


IMG_9560.JPG


I printed little clips to keep them in place. The holder engages both slots of the Makerslide and holds the LEDs between the slots.

LED Clip.png


There is a hollow slot on the tab that goes in the slot so a wire can pass under it. The wire to the X limit switch runs through that slot. (Not visible in this picture.)

LED Clip - wire slot.png


I used a strip of double sided Scotch tape to hold the strip against the Makerslide, then put the clips on to hold the weight of the strips.
Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

Re: 2.x for kbob's maker space

Postby bdring » Thu May 16, 2013 1:15 pm

Gantry LEDs...that is awesome.

...added to my TO DO list.

I need to see that lite up in the system.
Bart
"If you didn't build it, you will never own it."
bdring
Site Admin
 
Posts: 2966
Joined: Sun Nov 22, 2009 7:33 pm
Location: Chicago, IL, USA

Re: 2.x for kbob's maker space

Postby kbob » Thu May 16, 2013 10:13 pm

bdring wrote:I need to see that lite up in the system.


No problem. Here's some You-Tubing.

Bob
"If you didn't code it, it will never own you." (-:
kbob
 
Posts: 151
Joined: Mon Jul 09, 2012 6:39 am
Location: Eugene, OR, US

PreviousNext

Return to Build Logs

Who is online

Users browsing this forum: No registered users and 41 guests

cron