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”
The Equinox clock is made up of simple parts but a combination of fine design and precision make it a gem of a timepiece. The guts are made up of an Arduino, a DS1307 real time clock, twelve LED drivers, and sixty RGB LEDs. These combine with a capacitive touch interface to tell the time using three lit blocks for the hours, one for the minutes, and a fading block for the seconds. See for yourself after the break.
To our delight, [Bram Knaapen] shared the specifics of the case. The black ring that makes up the body was laser cut and spray painted. He uses small blocks of acrylic that have been sandblasted to diffuse the light. This is also a great example of clean circuitry using interconnects between the different circuit boards.
We always enjoy seeing clocks no matter what level of finish is involved, but great design is something that makes us want to hang a project on the wall rather than stow it in a parts bin.
Continue reading “Equinox clock”