Skip to main content

Posts

First flight of the Hexacopter!

It's been a difficult journey, but we finally got the first flight of our DIY Drones Hexacopter . A special thank you goes out to the whole UAV team at Freeside Atlanta for donating their time, money, and resources to this project.  Slade, who did several hours of last-mile troubleshooting to get the UAV in the air, is flying it by hand. Check out the video on Youtube , which shows us testing the pitch, yaw, and roll of the unit and finally getting flight. We were pretty surprised at how smoothly it flies. Stay tuned, as we'll be setting up and configuring the UAV controls so that it can follow GPS waypoint flight paths. We're also going to be posting another video that explains how everything works, how we did the troubleshooting on the initial flight, and some new in-flight footage.

Constant Current Dummy Load - continued

Since the last installment, I've finalized the initial PCB design and sent it off to Seeedstudio  for fabrication. I've never designed a through-hole (TH) construction board before but in general all the same rules apply to SMD and TH boards I believe. 200W 0.1Ω load   30W 1Ω load 10x10Ω 3W in || 25 turn trimmer pot I changed up a few things during the PCB design phase of this project that I thought would be interesting to mention. I added a pair of trim pots to design. One trim pot reduces the maximum voltage going into the first op-amp stage. The second is the in the feedback loop of the first op amp stage. At maximum resistance, 3000Ω to GND (R2 of the voltage divider), with the 820Ω R1 (there for its role as a low pass filter in addition to the voltage divider), I should see a 27% voltage gain. Turned down to 0Ω, that pot creates a situation where the output is the high output voltage of the op-amp (essentially infinite gain). Something like 8V for the op

Arduino Rotary Encoder Library with Velocity Sense

While working on the constant current load project I found that while nice, the multiple turns required to turn up the power up was a little annoying when you just wanted to hurry up and get to a high value. The standard solution is to have a "fine" and "course" knob. Since I designed the input in the digital realm it seemed like software was the obvious solution. Why not sense the speed the user is turning the knob and extrapolate the pace of change based on that input. It seems intuitive to me. I implemented it as a little C++ library that you can drop into your arduino/libraries directory. Here is the most trivial implementation of the library. #include <RotaryEncoder.h>; RotaryEncoder encoder(A0,A1,5,6,1000); void setup() { Serial.begin(57600); } void loop() { int enc = encoder.readEncoder(); if(enc != 0) { Serial.println(enc); } delayMicroseconds(5); } Inside the library, the code counts the number of the sequential clicks in one

Tonight (July 14th, 2012): Chili fundraiser for the Offroad Wheelchair Project

The Off-Road Wheelchair is a device that will enable a person of limited mobility to experience the outdoors. Freeside Atlanta is interested in putting our engineering skills to the test, and showing the world we can create anything we put our minds to. We have the space, the tools, and the talented people to make this happen - we just need your help to purchase the materials and make this project a reality. The idea originated with Robin Beattie, who participates in regional Burning Man events, like the Alchemy Arts Festival here in Georgia. The festival takes place on a farm, with terrain features like gravel, light mud, paths with tree roots, and moderate changes in elevation. The Off-Road Wheelchair will be designed to traverse this environment, enabling Robin to get around in a place that would normally be closed off to her and others with limited mobility. Upon completion, the Off-Road Wheelchair designs and notes will be released under a Creative Commons (by-nc) license, w

Constant Current Dummy Load

I just got my first oscilloscope. Complex analog circuits are now possible. As I mentioned in my last post, I working on a power distribution unit (PDU) for motorcycles, cars, and other DC applications. The project is very close to the testing phase and that means I will need to run this device at precise power levels and at precise temperatures. The testing protocol also includes vibration studies, but today we are just going to talk about precision current testing. This can be done many different ways. You can just put a resistor to ground and use Ohm's Law to tell you how much current you are burning. If you want to change the current in use though, you will have to change the resistor. That is not very handy if you want to test your power supply at multiple currents as you will need a lot of different resistors. Since my system is running at about 14V and I am talking about 15A of current, I'll need some pretty beefy resistors and those are expensive. Instead

"Making lemonade with lemons" or "Reworking your bad PCBs"

I've been working on a large project for a few months now. It's a DC power distribution unit, and as you can imagine it has need for relays. I've got the thing setup to accept cards to can perform many uses both input and output. One of the many cards I've designed for this system (dual low-side switching relay, 5V, 12V, audio sensor etc..) is a dual high-speed 12V solid state relay card. Rendering of PDU and fresh pile of PCBs from Circuitmart This is a photo of the relay on a breadboard.  single channel of dual high-speed 12V solid state relay on breadboard This is the card from both sides. The "empty" space is used for thick and wide traces to carry current. These will be built with 6oz copper and can source 23A @ 330W in theory. I've only pushed them to 100W so far but they showed no meaningful rise in temperature so I think I am on the right track. By the numbers, they are right where they should be. Because these cards are small and

Bench power supply project

I found myself needing a 480W power supply to test a high current project I was working on. A 500W bench/lab power supply will set you back $100s so I figured a PC power supply was the cheapest bet. For $80 you can get a Wonhunglow brand. I checked ebay and found Dell 500W server power supplies CHEAP. Like $2 cheap. I acquired a couple and figured out how to turn the thing on by shorting 3 pins together. Then I designed a simple little 4 rail power supply PCB and had it built by OSH Park. This power supply outputs 12V and 5V and 4V. I didn't have any use for the 4V so I skipped those pins but did add a 500mA 3.3V LDO to my board so I have 3.3V, 5V, 12V, and GND rails available. I left a large section of the solder mask missing so I could solder on some more current carrying capacity and called it done. I used a DPDT switch to short out the 3 pins required to turn on the 12V rail and added a little LED to indicate that the 3.3V regulator was running and put a small current limitin

Successful Launch of Classes on Meetup

A little over 2 weeks ago, we at Freeside Atlanta launched a series of classes on Meetup on everything from Linux to 3D Printing. They've been a huge success so far! Our 3D Printing class, shown above, was taught by 3D Printing Expert Anthony Aragues. We had 11 students sign up for the first class, where they covered the recent iterations of hardware and software and how to use them. In fact, every single class that we launched filled to capacity. Intro to Linux, Intro to Electronics, Intro to Arduino, CNC, and 3D printing. Thank you to all of the Teachers and Students that made this little experiment such a success! Because of how well this first round went we'll be launching more classes and workshops soon, so stay tuned!

Sharp Memory LCD - Arduino Library

This post extends the previous post . Source Code Released! http://code.google.com/p/arduino-sharp-memory-lcd-gfx-library/ I've got a little reflow oven simulation running on the LCD. I think its going to be great for the reflow oven project. The source for the sketch in the video is attached below. The library now does vectors in addition to text and bitmaps. I am now extending the Adafruit GFX library so I can use those vector drawing routines in addition to my PGM space bitmaps. I still need to clean up the unnecessary banging I am doing on one pin. I'll post up the code on the interwebz for all to use once that is cleared up. I need a darn oscilloscope to inspect that pin! If you need an early copy of the library and you don't know how to contact me, PM me from the youtube video. #include #include "SharpMemoryLcd.h" SHARPMEMORYLCD lcd; void setup() { Serial.begin(9600); lcd.LcdInitialize(); lcd.LcdAllClearMode();

Sharp Memory LCD - Musings

Update: Arduino Library Released If any of you guys were at Freeside this weekend, you would have seen me staring into the oscilloscope trying to make heads or tails of its output and comparing that to a couple of datasheets. One of those datasheets was for the Atmega328P microcontroller that is on the Arduino UNO, the other was the Sharp Memory LCD . These are cool because the are ultra low power 6uW and have extremely high contrast. The Sharp datasheet isn't what I would call straightforward, at least for the uninitiated (whom I count myself among). The power up sequence was pretty clear but once it came to pushing pixels it got a little vague. Really it was just a bunch of waves on the sheet. One of the waves is a constant 5-60Hz pulse. That is the sort of thing that would be very irritating to create if you are bit banging on the main loop of your program, so I needed to get the AVR to pump that out in an automatic way. Researching the interwebz and reading the Atme