Homepage System Laser head CNC Table Motor power supply Optics Controller Cooling FAQ

Laser Controller

Blessed are those that use Eagle Schematic software.

The Gecko drives and the USC board are nice, but the laser controller also has some custom electronics that measure the states of laser itself, generate a pulse width modulated signal, and report an E-stop to the Unversal Stepper Controller. The schematic of the custom electronics was generated using Eagle schematic software. The Eagle-formatted schematic can be downloaded here. You can try loading this big picture as well.

The laser measurement was based on circuitry specified by the laser manufacturer (see figures 4-2 and 4-4). These circuits use differential line recievers and drivers. The states of the laser were fed into a "Just A Minute" or JAM circuit (original schematic). The JAM circuit was originally designed for a game show situation, where multiple contestants can hit a switch, when the switch is thrown a light goes on indicating who hit the button, and the rest of the contestants are locked out. Perfect for my application, because if any of multiple states go low I want to register which system went low, lock out other inputs, and then flip the E-stop toggle of the USC board. The custom board also has a PWM circuit which is based on a 4541 programmable timer that feed into a binary counter and magnitude comparator combination.

There's also a section on the circuit that debounces the push of a button and then toggles a D-type flip flop. This receives power from an unswitched power supply, when the user hits the pushbutton it turns on a solid state relay that powers up the remaining circuit.

The schematic epitomizes the I/O problem posed by the laser controller. There are over 120 different lines from connectors going to limit switches, encoders, geckos and the USC board. All lines were led into one of four 30 pin female headers. This was good way to go because it reduced any soldering or other types of direct connections between components -- basically all connections between components were handled by linking between header pins using wire wrap.

This has several advantages: 1) it is an overall reduction in soldering -- soldering is fine but its harder to disconnect -- connections are made by crimping wires onto pins and then inserted into the header 2) The "logic" of how lines are linked is managed in software as described in the next section -- this avoids mechanically looking at a header block from the geckos and deciding which wires have to be soldered to the pins leading to the encoders. 3) Overall, it reduces the spagetti of the circuit. Dont get me wrong, the spagetti is still there, but its centralized into four main headers. Readers may not want to go with this strategy, but one thing I strongly recommend is to avoid making hardwired connections between components. Be sure everything is connected by easily disconnected plug ends -- hardwired leads soldered directly between components make it really hard to pull the components out of the box when problems arise.

View circuit...

Wire wrap is a beatiful thing. Eagle supports exporting the schematic as a net list and a pin list. These files were used as input to a perl program which was also given the locations of all the parts on a wire wrap board, which then listed all the wire wrap connections required to make the board. The program also creates a drawing that showing the location of the chips on the wire wrap board.

There are significant advantages to mapping out the entire network of connections in a file. The main thing is that its faster. You arent looking at much except the names of the pins on the wirewrap board, wiring those pins together, and then checking for continuity with a audible tester. This is in contrast to a situation where you have your components on one side of the board, you're looking at those, looking at a circuit diagram, then flipping the board over, picturing the location of the IC pins in your mind that are now on the other side of the board, and then connecting things together. I've now gotten into the habit of always translating the circuit I'm working on into pin to pin connections. The other advantage I see with having a listing of wire wrap connections is if I experience problems with the circuit in the future -- imagine just having a circuit diagram and a completed wire wrap board in your hands. Debugging the circuit -- looking for breaks, testing chips -- is very time consuming. With a list of wire wrap connections you can order the list to give all the connections for one single IC, and rapidly check those connections.

The wire wrap was performed using a slit-n-wrap tool purchased from Digi-key; a few points about this process:

  • If you havent done slit-n-wrap, dont compare it to other methods. Slit-n-wrap takes a little getting used to, but you can end up making a pretty high quality product. Frankly I thought it was fun.
  • Dont use pre-stripped wire wrap tools because they only allow you to make two connections. Slit-n-wraps let you make as many connections as you want on one wire.
  • Get an audible continuity checker. You must check for continuity -- when it works wirewrap is a very solid connection but around 10 percent of the connections will fail and have to be redone. The audible continuity checker is a lot faster.
  • Being able to rapidly unwrap wirewrap is essential. Radio shack part number 276-1570 is a cheap wire wrap tool that absolutely should not be used do wire wrap with slit-n-wrap wire, however; it is a great device for unwrapping. Digikey also sells unwrap tools but they are over-priced. Unwrapping using the radio shack tool is a matter of pushing the tool over the wirewrap post, bearing down on the wrapped wire, and turning in the opposite direction. This loosens the wire enough to then be pulled off with your fingers.
  • I purchased my wire wrap boards on ebay by searching on "AUGAT" "WIREWRAP" and or "WIRE WRAP". Augat wire wrap boards are absolutely the best. Their original cost is astronomical but fortunately many have been appearing on ebay for garage-sale prices.
My board had over 400 connection points and I would definitely use wire-wrap if I had do it again. On the other hand, now that I debugged my circuit I could just have a board shop make a PCB for around $100. :-) The Eagle website has links to places that make PCBs.

View board...

Thinking outside of the box included thinking how to work outside of the box.

Previous motor controllers that I've made have had one serious flaw -- all the components were mounted directly into their enclosure. This made circuit repair, as well as installation and removal of all components very inconvenient. For this controller, I started by mounting all the components on a plywood board. The board has rubber feet and makes it much easier to service all the parts on my bench. The board sits inside a recycled computer case, which also has a hole on the side for a fan. The fan points directly over the gecko motor drivers. This laser cut connector plate was made by first designing the plate using dimensions of connectors found in documentation obtained from digikey. The resulting DXF file was sent to Laser Arts who produced the plate by laser cutting 1/8 inch thick plywood. Ironic that I am out-sourcing to other laser shops to do something I hope to eventually do in my own basement. The wires leading to the connector plate form something that I refer to as the neural network, an extensive collection of wires and connectors that hook to all the internal components. Once the neural net is connected to the internal components the plate faces outside of the enclosure, and is slightly recessed to allow all the cabling connectors to be protected from getting banged around.

Assembled system...

Installation

I ordered a PCB from PCB fab express. The board cost only $65.

The strategy of this PCB is that it has an AVR chip right on it, this program allows me to set in two different power settings manually. There is an input to the board that selects these two preset values, and based on the values five outputs are pushed onto another chip on the wire wrap board that handles selecting the pulse width set to the laser. The completed controller box was closed up and put on the shelf.

If you look at the diagram you can see there a lot of inputs and outputs to the controller. This creates a problem because you end up with a lot of cables to manage. I have a friend who used to wire phone closets. He suggested doin' it like the phone company and making spools made of posts projecting off the wall. This was very helpful because it keeps the excess wound up and the cables stay off the floor. Its also nice because there will be some excess length to the cables which will be helpful in a situation where some of the hardware gets moved to a new location. The cable expert and I lay over 100 feet of between the controller to the CNC table.

Observe the loops of wire going around these spools in the picture above.

The controller joins some other components on the shelves.

What you're looking at on the bottom shelf going from left to right is the controller, the power supply running the servo motors on the CNC table, and a small color tv. (I like to have it on when no one else is in the house.) The computer that's running linux and EMC is on the top shelf.

Moving over a bit...

this is the desk where most of the electronics has been happening. Eventually I plan to have the electronics bench out of the way, so the keyboard, mouse and monitor were mounted to shelving over the bench.

The following is a video showing the motion control system:


This is the laser cooling system.

Nilno, Inc. © 2002 NILNO.com