I purchased an LD-AIR LIDAR from LDROBOT as part of a Kickstarter campaign. I received it some time ago but did not have any time to play with it then. I just got some time this week and these are my notes.
Continue reading →
I have lots of projects that either need a lathe and mill or lots of hand work. Filing metal seems to be the only way I have to dimension and shape metal. Until such time as I can afford in both money and shop space a small mill and lathe, I am stuck spending hours filing. I hate filing. A while ago I watched “This Old Tony’s” YouTube episode where he takes delivery of a Die Filer. This is a fairly large machine that moves a file up and down that you can then put your work against. Its like a scroll saw where the blade is replaced with a file. Now the Die Filer that Tony got was larger than the mill I have my eye on and could file inch thick steel. Not something I could use. But how but a much smaller one? There is a kit available for a small one, but it needs a mill and lathe to complete. Sometimes they come up on eBay but mostly for local pickup only and they are almost always on the other side on the country. So what is a gut to do? Continue reading →
I got the boards in and populated one with parts in waves testing in between. First problem is that I used the wrong foot print for the regulator. Luckily the part is big enough to dead bug without major issue. After that it was mostly smooth sailing. It even took a program without much hassle. The only issue is the programmer (PICKit3) is unable to provide enough current to power all the LEDs. But that is a minor inconvenience.
The more annoying problems came after I got the Beacon working and then tried to detect it with a fairly common IR detector module. In my case I was using the VS1838. For several hours I could detect nothing. I then tried a new part and things started to work better. But I would find the chip would receive for a while and then sort of fade away. Reading the datasheet it became obvious that the automated gain control (AGC) circuit was filtering out my signal. Turns out you need to have at least 15 ms of off time every 90ms. This allows the AGC to tune to the off time and not when the signal is present.
This required me to slow down the pulse rate on the Beacon to have it run no faster than 66 Hz (1/15ms). Once I did this, the receiver picks up the Beacon very well.
So my next step is some tuning of the current limiting resistor to get a solid 20 ma of LED current and to fix the bad footprint. I will also take the time to see if I can make the board even smaller. Not that its too big, but the boards are priced per square inch. I may also all a few more LEDs and reduce the current limiting resistor and the power lost to it as well as making the beacon brighter.
I should have a version 1.1 board ordered in another week or two.
I have been working on numerous projects now that my house is mostly back together after a remodel. This post is to discuss an IR Beacon. This small circuit is to be used to generate a pulse train of IR light to be used for robot navigation. This morning I finished the board layout and set it off to OSH-Park for fab. You can see the board here: https://oshpark.com/shared_projects/gtGELK16 Continue reading →
It has been a while since I updated my website. Part of this was due to getting busy and part of it for not having much to report. The busy part involved having the house torn apart for some long overdue remodeling and partly due to a project at work that sapped all my brain power. But the house is getting back together and my shop (once a storage area) is mostly back in place (other than a temporary kitchen sink in the middle of it!). Continue reading →
For many embedded software engineers, the watchdog timer is something that is designed in at the end. The thought is you just turn it on prior to shipping and “She’ll be right”. But this is a terrible travesty. Continue reading →
Posted in AVC, Processors
I had gotten a pair of 1 mW XBee radios a while ago. I had wanted to use them to communicate with my robot while it was running. Normally I use an RS-232 cable in the lab, but in the field a cable obviously is a ‘drag’.
Unfortunately, I was not very happy with them. They were able to run at the 115200 baud rate I needed, but the range was not what was specified. When reading the fine print it does say under ideal circumstances. I guess 1 few inches on the ground is not idea.
So my wife just got me a pair of the 60 mW versions for my birthday. After a few screw ups on my part (you need to turn on their power source of all crazy things….) I got them working at home. I then took them out to the test area and found that they work over the entire parking lot (about +- 300 feet) without a single hiccup. Highly recommend.
I am using a Pololu 9-DOF module as the IMU for my robot. Its a very small device (1.0*0.8″) using MEMS bases gyro, accelerometer, and magnetometers. The trouble is these sensors have some drawbacks. The first is that MEMS sensors are sensitive to temperature. Some make better thermometers than what they were designed to sense. So to get the best performance from them, you need to calibrate them for various temperatures or to stabilize the chip at a constant temperature. The second main issue is that the magnetometer is sensitive to (duh) magnetic fields. Not just that of the Earth, but those generated or distorted by ferrous metals or electric currents. Continue reading →
Life got in the way. I hate it when it does that. Why can’t things like work, taxes, dishes, and doctors appointments just take care of themselves? Why must I be involved?
But over the last few weeks I got back into the grove of things. I started working on my AVC robot. The first order of business was to learn Kicad. See (TBD)
The next learning experience was to fabricate a face plate for the sailboat project. For this I decided to try out Ponoko. You send them Cad files and they were laser cut your design from numerous flat sheet materials like paper, wood, fabric, or in my case a pretty blue acrylic. The results were fantastic, although possibly more expensive than I would like. See TBD
Next came schematic entry of my AVC design into Kicad with the idea to have a board fabricated for that. I hate the whole wirewrapped perfboard implementation. I worry about broken wires, and noise from the lack of a ground plane. I also took this opportunity to think hard about the the processor I want to use. I may start looking into the Atmel SAM-E70. See (TBD)
Over Christmas (yes four months ago) I got a Mojo FPGA development kit. Not like I needed any more projects, but I wanted to get a better understanding about them. We use them at work, and they were always a bit of a mystery to me. So I have set up the goal to include an FPGA in my AVC design and use it for various things including obstacle avoidance. See TBD
I also got the LIDAR-Lite (V2) around Christmas. I got it up and running quickly but had some small issues with it. By the time I got back to trying to figure things out, I discovered the company had been purchased by Garmin and has gone off the radar. The website it busted and the units are no longer for sale. So I will do the best I can and get it installed into my AVC entry. See TBD.
And lastly I got a small OLED display from Sparkfun. I want to use the display fold telemetry data into my Mobius action camera footage. This has been an interesting project combining optics, and electronics. See TBD.
I was cleaning up my lab at work when I stumbled upon a contraction from a research project that never went anywhere. I got in touch with the researchers and asked them how they wanted me to disposition the equipment. “Don’t need it anymore, just toss the stuff” was the reply.
So I started to take this thing apart to do just that when I found a black box in the center with a rotating plate and electrical connections. I did a quick Google and found out the box was a motor with optical encoder. The resolution of the encoder is 500,000 counts per revolution! And this was the low resolution model at $5,000. The higher resolution model goes up to 2 million counts per revolution.
So obviously this did not go into the dumpster. I am now working with it at home to re purpose it for testing I need to do at work. Unfortunately we lost the controls for this rotary stage and the company will not buy them anew. So I am MacGyvering them at home. I can’t drive the motor simply as it requires 300 volts 3 phase power at 3 amps per phase. That is 2,700 watts for a motor the size of a paving brick. But I can use the encoder for feedback and a simple DC gear head motor with a friction drive on the outside rim of the round table. Add an Arduino and like Dave for EEVBLOG says “Bob’s your uncle” (or Robert’s your mother’s brother).
Tonight I got it powered up, and sure enough the A and B channels are 90 degrees out and it generate very clean TTL signals. I have nothing that can decode the quadrature encoders nor count the pulses, but just from the large number of counts I get when I touch the table, I can believe the 500,000 counts per rotation.
I have parts on order that should allow me to do the decoding and counting. Then come on Monday so I will have all weekend to drool over the device.