Make: television Vending Machine

Arduino
Make: television Vending Machine

Update: “We have some good news (finally). Brian (my co-conspirator) has had some success on writing USB drive auto-detection software. He’s working on the copy-phase stuff next, and also integrating his work into the small computer we’ll stuff inside the box. I’ve succeeded at rewiring my failed circuit board to light up the buttons, and next I’ll connect the board to a pre-made controller board (the Teensy++) and program it to talk to the small computer. So we’re moving along. It’ll still be a squeeze, time-wise. Good thing that long Memorial Day weekend is coming up!”

A few weeks back Make: Online did a post about an awesome project featuring a simple “plug and grab” method for copying media called the Kopimi Station

Our friend Jared Boone at Sharebrained Technology offered up his skills along with the talented Dorkbot PDX to create a similar device for the Make: television booth at Maker Faire, one that will allow anyone to grab any episode of Make: television.

We’ve decided to have a single, wide selection panel with four USB pods below. While one person is waiting for their transfer, the next person can plug in and make their choices. If they don’t quite know what to do, the people waiting can help out. So there’s this interesting “institutional knowledge” aspect.

We’ve opted for push-buttons, which makes the machine look more atomic age. These are big, vending machine style lighted pushbuttons. As selections are made, the buttons will light or go dark.

I’m presently designing a custom circuit board that will scan the buttons and light them up appropriately. This board interfaces with my mini-ITX Linux computer, which dispenses the media.

So Jared and the team are over a month into the project and has made some considerable progress. As any good project goes, they’ve run into some hurdles.

I had a very frustrating evening yesterday, bringing up the controller circuit for the front panel. I fried both of the (spendy) Atmel chips I bought for testing. I talked today with some friends about what might be going wrong. We’re not sure, but I’m going to try a few things tonight, with some replacement parts I borrowed. I hope I don’t fry them too.

Then, we heard:

I think I have a workable plan B. It’s not pretty, but should work. Basically, I’m going to chop off the part of the board that doesn’t work, and wire up a pre-fabbed microcontroller (Arduino) board to serve in place of my failed design. Desperate times require desperate measures… In any case, I took pictures and have diagrams if you still want to offer up the situation to the MAKE audience.

Any makers out there have a similar experience? Weigh in with comments or questions below. We’ll be sure to document his progress.

DSCN1605.JPG
atmel2.JPG
panic-sch.jpg

26 thoughts on “Make: television Vending Machine

  1. Rob says:

    I’d have to say that board design lends itself to shorts and solder bridges. That might be the problem right there, a solder bridge under a component. I see a couple places where it could happen super easy…

    Get rid of the giant metal plate that is surrounding just about everything. If you need shielding, get it from the encolsure and/or seperate the parts that need shielding from each other.

  2. Rog says:

    Order samples from Atmel to replace the parts.
    There’s no reason to be buying parts in quantities of one or two.

  3. Garrett says:

    Nothing wrong with a ground plane…if you have solder mask. I’m in agreement regarding the likelihood of solder bridges.

    Solder masked and silkscreened boards are so cheap and easy to get these days. In the month since that schematic was drawn, a professional quality PCB could have been ordered and all the parts soldered to it. Right now, there is still enough time…though not much testing could be done before the Faire.

    Additionally, all of those MOSFETs need pulldown resistors on their gates.

  4. Jared says:

    Thanks to Nick for getting me some help from the MAKE community, and to those who’ve responded so far.

    I want to offer a bit more detail about the situation. Rob commented that the board design poses a great risk of shorts and solder bridges. I couldn’t agree more. I chose to use a prototyping service that did not provide any sort of solder mask, as an attempt to lower my prototyping costs for future projects. As part of the experiment, I used techniques I’m expecting to rely on for future projects (high-speed digital design requiring surface-mount devices and large copper areas of power supply and ground signals). This particular board certainly doesn’t require those large areas of copper. But I went into this design knowing that the potential for shorts existed. I took great care in assembling the board incrementally, and testing for continuity and checking for shorts. All three boards I assembled tested well before I plugged them in.

    I mentioned that I was assembling the boards incrementally. Since the AT90USB1287 comes with a USB bootloader built in, I built up each board to the extent that it would operate over USB — no more. All other components were left off the board. So 90% of the board was inactive and effectively irrelevant. I could be confident of this since I tested for shorts in the portions of the circuit that would be active for the initial USB-only test.

    What’s interesting is that all three boards have failed in precisely the same way, which suggests to me it’s not a simple electrical problem — a short somewhere. The boards appear to run for a few moments, and then suddenly draw an enormous amount of current, at which point I’m certain the chip is toast. When I retest the resistance between the VBUS (USB power supply) and ground, it measures just a few Ohms. Before I connected each board, that resistance would measure in at 10K or greater. My suspicion is that there’s some subtle quirk about how I’ve designed the board — at the logical, schematic level — that’s causing the regulator built in to the Atmel chip to somehow go wiggy. But I can’t find any indication of what’s wrong with the schematic, even after comparing it with several other successful open-schematic designs. I should note that this problem has occurred both when I plugged the device into a computer via USB, and when I’ve powered the board from a current-limiting power supply.

    As Nick mentioned, I’ve got a reliable plan B, which is to slice off and replace the part of the board that can be replaced with a pre-built Atmel USB board. That’ll get me back on track. But I’m really stymied about the problem with my boards — there’s no obvious problem that I can find.

    1. Jim says:

      This is probably a silly question, but have you verified that the voltage being supplied from your USB supply is 5.5 volts or less?

      1. Jared says:

        I wish it was something as simple as that, but I was careful about voltages. I checked a couple of ways. First, I (stupidly) plugged the first board into a living, breathing computer, which shortly thereafter, complained of an over-current situation. Yikes! After that experience, I decided instead to supply the voltage from a current-limiting supply which I manually verified was running at 5V under load.

  5. Jared says:

    @Garrett: My understanding is that if you’re holding the MOSFET gate firmly at the source voltage, or substantially over the threshold voltage (referenced to ground), the MOSFETs should be fine and shouldn’t sink inordinate amounts of current. Are you concerned for the first few moments when the microcontroller’s still booting up and hasn’t started driving the gate voltage?

  6. charliefreck says:

    pro-fabbed boards are a cop out. they take way too long, cost money, and the first one usually has a mistake. i make all my one-off projects with toner transfer and a cheap solder iron. i’ve made some really small smd stuff with tqfp’s, tons of vias, and 805 components with great success. i don’t use a ground plane, (usually) or solder mask. i’ve used tinnit on my last few boards, as they seem to have done here. it looks nice, and may reduce corrosion, but it doesn’t seem to catch the solder any better than the copper. and it’s a bit of a pain to use.
    death to the captcha!

    1. Jared says:

      To each their own… I certainly have respect for anyone who can consistently produce their own SMD-worthy boards. However, I have many friends who’ve done their own circuit boards using the techniques you describe and have had a lot of trouble. (But now, so have I with pro-fabbed boards…) The service I’m using is fairly inexpensive. I got three boards fabbed overnight, made in the USA, which cost around $70 (including shipping). The quality is predictably good and I don’t have to develop my own technique, maintain any equipment, order raw copper-clad boards, keep the chemicals fresh, or worry about chemical disposal.

  7. Garrett says:

    VBUS is actually a monitoring I/O, UVCC is the power to the internal USB regulator. You were running power to UVCC in your initial tests, right? That’s pin 3…it doesn’t *look* like it’s attached to anything, but maybe you routed that underneath the chip. Up on pin 64, AVCC, it sort of looks like a blob of solder is doing something near the ground plane, but with the low-res pics it’s hard to tell. I notice you’ve left off decoupling capacitors on a lot of the power pins, probably not the cause of your problem but they aren’t as optional as you may think.

  8. Garrett says:

    Re: MOSFET pulldowns. They will float in the linear region during startup or while those I/O are not set to output. A MOSFET is like a small capacitor. A 47K resistor from gate to source will help bleed the capacitor and keep the MOSFET in cut-off.

    A MOSFET is going to generate a lot of heat in the linear region, that’s why MOSFET drivers are designed to spend as much time as possible in cut-off and saturation.

    1. Jared says:

      I was probably being optimistic by thinking I’d get the Atmel to boot quickly enough and pull those pins to ground before too much heat was generated. But now you’ve got me thinking of the case where the USB power running the Atmel gets pulled somehow (cable unplugged, computer shuts down) — that’d definitely be a case where the MOSFETs would still be under drain-source load with the gate floating. If there’s a next revision of this board (I’m thinking about it…), I’ll probably convert the current-limiting resistors into pull-downs. I doubt the current-limiting was necessary anyway. The capacitance of the gate drive is probably small enough to never push the Atmel output pins past their current limit — at least not for long enough to do any damage.

    2. Jared says:

      Yeah, those photos aren’t the greatest — lots of shine. On all boards, I tested for continuity on the power/ground pins, according to the schematic. And I tested between power and ground and between adjacent pins and traces to ensure there were no shorts. All boards tested fine before power.

      My soldering technique is pretty good — I’ve designed and fabricated FPGA-based PCI boards before, then hand-soldered them and had them work on the first try. (And used LOTS of decoupling caps. :-) ) But that board had a solder mask, which probably makes all the difference.

      I really can’t come up with any other explanation, other than that a short is developing on the board somewhere. The circuit precisely follows the diagram specified in the datasheet and in several published designs. I might try fabbing the board again but remove at least the top ground fill, or increase the fill isolation dramatically and run traces from the fill to the pins that need grounding.

Comments are closed.

Discuss this article with the rest of the community on our Discord server!
Tagged

ADVERTISEMENT

Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).

FEEDBACK