For those that grabbed one of these TM1638 UI boards you can now easily use it with your Stellaris Launchpad. [Dan O] took it upon himself to publish an ARM library for the UI board.
There’s not a lot of new stuff to talk about here. We’ve already seen this being driven by an FPGA. [Dan] also links to both an Arduino and an MSP430 library for the board. The one thing that is good to know is that the board seems to run fine from the 3.3V supplied by the Stellaris Launchpad.
The ARM chip has four different hardware SPI modules which could have been used to drive this display. But [Dan] opted to bit bang instead. This give him more flexibility, like easily changing the pin mapping and foregoing the need for external components. All it takes is direct connections from three I/O pins which are used for clock, data in, and data out. We’ve embedded the obligatory demo video after the break.
Continue reading “Stellaris Launchpad library to drive the TM1638 UI board”
We love seeing repairs and always marvel at the ability to track down the problem. [Todd] seems to have a knack for this. He was met with a lot of adversity when trying to get the Vacuum Fluorescent Display working on his car stereo. A lot of persistence, and a little bit of taking the easier way out let him accomplish his goal.
The head unit is out of his 1994 Jeep. He knew the radio functionality still worked, but the display was completely dark. After getting it out of the dashboard he connected it to a bench supply and started probing around. He established that the data lines were still working by setting the radio to auto scan mode and testing with a multimeter. When he went to measure the cathode pins he didn’t get any reading. It seems the driver which supplies that signal is burnt out.
One easy fix would be to replace the parts from a scavenged unit. [Todd] hit the junkyard and picked up one from a Jeep that was just one model year apart from his. Alas, they weren’t exactly the same, and although he swapped out a chip (using a neat heated solder sucker) it didn’t work. In the end he simply dropped in a power resistor to use the 12V rail as a 1V at 0.1A source for the filament.
You can see his repair extravaganza in the video after the break. If you’re looking for tips on scavenging these types of displays check out this post.
Continue reading “Repairing a VFD driver on a car stereo”
[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”