[Smells of Bikes] wanted to add laser etching to the list of tricks his home CNC setup is capable of. He has a diode which will work for the task, but he needed a driver that could be interfaced with the CNC system. He ended up designing a driver board based around the LM3402 chip.
Now driving one of these laser diodes isn’t all that different from driving a Light Emitting Diode. He chose to use the LM3402 chip because he’s the TI engineer who designed the official evaluation board for the part. It’s meant for high-power LED applications, and the 700 mA he needs for the laser is within spec. Since he’s soldering by hand, and this part has a ground pad on the bottom, he shares his soldering technique in detail. Once the driver board is ready, he uses a ‘sed’ command to replace the g-code Z axis commands with digital on/off commands to switch the diode.
Check out the demo video after the break. He uses a diffuse beam since the cutting beam is bright enough to damage his camera.
Continue reading “Laser diode controller for a CNC mill”
If you find yourself in need of a driver for a high power string of LEDs this is a must read. [Limpkin] just designed this driver as a contract job. He can’t show us the schematic, but he did share some tips on how to build an LED driver around a MAX16834 chip.
As you move to higher power designs the barriers to success pile up rather quickly. Using a chip like the MAX16834 really helps to simplify the task as it can be used as a boost or buck converter, it includes functionality that allows for dimming, and it’s a constant currents solution. There are board design issues that need to be accounted for in these designs. [Limkin] included links to a few calculators that will help you determine trace width based power levels used with the driver. He also recommends using copper pours on both sides of the board connected with vias to help dissipate heat. To that end he used an IR thermometer for feedback during testing.
It’s too bad he doesn’t have any photos of the device at work. If you build something similar please take some pictures and tip us off about it.
Controlling LEDs is really quite simple. As you know, they need to be current limited which is as easy as applying Ohm’s law to your given set of values. To make things even more even there’s a slew of constant current LED driver chips out there that can be had for a song. But do you have any idea how those constant current circuits work? If not, then [Giorgos Lazaridis’] guide on LED driving and controlling methods will bring you up to speed in no time.
He starts out with the most basic concept, how to light an LED using proper current limiting resistors. But from there he moves on to the juicy bits. He builds a transistor-based constant current driver, then adds voltage regulation for the circuit as seen in the schematic on the left. He moves on to the more robust and efficient method on the right which pairs a MOSFET with that transistor circuit. This is the technique found on each pin of many of those constant current drivers and functions well regardless of the voltage input level.
He’s been producing videos to go along with these articles. After the break you can watch the episode that accompanies the schematic on the left. Continue reading “LED tutorial demystifies several control techniques”
Stepper motors are pretty easy to control with a microcontroller. But if you’re looking to run then at a high number of revolutions per second things get tricky pretty quickly. [Uwe’s] been learning about and building stepper drivers for years, and recently he decided to build a high-performance driver based on a MicroChip reference design.
As with the reference design, his board uses a dsPIC33. But instead of using a series of discrete MOSFETS to switch the signals to the motor, he sourced an L298N motor driver. That’s it sticking up next to the large capacitor. When driven hard it needs its own heat sink, which [Uwe] cut from a larger CPU heat sink. During development, he decided to use interrupt-based PWM rather than the hardware PWM offered by the dsPIC. It works, but he would go the other route if doing it again.
For the pedestrian, the video after the break has all the details you need. For those that really want to dive in, [Uwe’s] multi-paged write-up is worth bookmarking.
Continue reading “High speed stepper driving: 25k steps per second”
[Stealth] put together a post explaining how he writes drivers for input peripherals. He’s using Python which makes the process fairly painless (we’ll get to that in a minute) but the value of his post is in the explanation surrounding how to interpret the data. Once you know how the communications are coming in from a device you can write the driver using any language you want. [Stealth] wrote in to let us know about this post after reading the PlayStation 3 Sixaxis controller sniffing hack. He’s pretty much doing the same thing but the background information is much more bountiful.
There are a couple of prerequisites to the process. First, [Stealth] is working in a Linux environment. That’s not to say you couldn’t do this on another OS, but you’re going to need to do some research to find out how to tap into the data stream from the device. Secondly, the input you are working with must already be set up and working on the machine. That means if there isn’t any support at all for the peripheral (in this case a USB joystick) you’re not going to be able to sniff the commands. That being said, a short Python snippet is all you need to dump the raw data coming in from the device. With data in hand it’s time to do some pattern hunting. As you start to figure out the size and scope of the incoming packets you can try out your own code to make sure you’ve got it right. Check out the demo video after the break which features a joystick button mapper written in Python.
Continue reading “Writing Python drivers for input devices”
Microsoft is planning to release Windows drivers for the Kinect this spring, months after open source drivers were developed by a motivated hacking community. [Johnny Chung Lee], who worked with the Microsoft team when the hardware was developed, mentions that he had pushed for the giant to develop and release at least basic Windows drivers. That refusal led him to a position as top cheerleader and bounty contributor in Adafruit’s Open Kinect Contest which resulted (quickly we might add) in the availability of open source drivers. If you’ve been following Hackaday or any other tech blogs the last three months you’ll know that an explosion of projects using the Kinect followed, and [Johnny] figures Microsoft’s decision to release Windows drivers is an attempt to ride this wave on their own flagship OS rather than continue to watch from the sidelines.
[Ah2002] didn’t like the shaky needle in his car’s speedometer so he replaced it with a ring of LEDs. The old speedometer had a cable which rotated along with the gearbox for mechanical speed measurement. By connecting the stepper motor from a printer instead of this cable, a voltage is generated that fluctuates with the speed of the car. The fluctuation is linear so a given voltage measurement can be directly associated with one particular speed. By using a trimpot to calibrate the input voltage, [Ah2002] connected the signal to an LM3914 dot/bar display driver. These can be chained together, lighting a string of outputs based on the single voltage input. The result is the board seen above, which was covered with a printed paper graph in the final assembly.
Judging from the video after the break, we’d bet there was some distracted driving during the calibration process. The driver appears to be holding the video recorder, and since a cellphone GPS was used during calibration we wonder if [Ah2002] was adjusting the trimpot, looking at the GPS, and driving all at once. It’s a fairly awesome hack, but do be careful when you’re working on something like this.
Continue reading “Swapping speedometer needle for LEDs”