Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts
Hi! As I mentioned in my latest post on how to make Tiny Encoders for DC Motors, some time ago I went to a junkyard to salvage two powerful high torque DC motors from car window lifting systems to use in a robot. I had to take my own tools and dismantle the doors from an old Renault Laguna myself  to get the motors and then managed to negotiate with the seller to buy both motors for 25€, which I think was quite cheap.

(Click the photo for better resolution in Picasa Photostream)

Tiny Encoders for DC motors

Hi again! Today I'll show you a small part of a project that I did a long time ago and, due to some changes of plans I didn't end up using. Anyway, maybe this small project might come up handy for you.
Some time ago I went to a junkyard to salvage two powerful high torque DC motors from car window lifting systems to use in a robot and had to make some encoders to put in them. The space where I could put them was really small so I had to find really small sensors and design a PCB for them in Kicad.
The sensors that I used were Vishay's TCUT1300 IR Transmissive Sensor with photo-transistor output. Following the sensor's datasheet I designed a small board (10x8mm) that would fit in the space that I had available.

(Click the photo for better resolution in Picasa Photostream)

Zeitgeist-daemon using all the CPU

Hi there! :)
Some time ago I had a problem in my Ubuntu installation. All of a sudden, I had some weird process using all the CPU, causing the computer to become really slow and hot and making the laptop fans go crazy. Since I use conky, I quickly verified that the weird process causing all of it was zeitgeist-daemon. Zeitgeist-daemon is a process that keeps track of activities on your system (file usage, browser history, calendar events, etc.) and logs them into a central database. It does not only create a chronologic register, but also supports tagging and can establish relationships between activities.
Maybe due to some buggy update it went nuts and was keeping the whole CPU busy.
I tried to kill the process but it would just show up again and keep doing the same.
To temporarily disable it I had to perform a few steps (source):
  1. Add the Zeitgeist PPA to the system:
    sudo add-apt-repository ppa:zeitgeist/ppa
    
  2. Install the latest version of Zeitgeist:
    sudo apt-get update
    sudo apt-get upgrade
    
  3. Restart zeitgeist-daemon
    zeitgeist-daemon --replace
  4. Install activity-log-manager
    sudo apt-get install activity-log-manager
    
  5. Open activity-log-manager and click the "Logging active button" in the bottom right corner of the window to disable logging.
(Click the photo for better resolution in Picasa Photostream)
After disabling it in the activity-log-manager, all the problems were gone and everything was working as desired again :) .
If desired, it can be turned on again by clicking the same button.
It happened some time ago and I have reinstalled Ubuntu in the meantime and I have zeitgeist-daemon turned on ever since and never got the same problem again. I guess it was just due to a buggy update. Anyway, if it happens to you, now you know how to fix it :) .

Take care! :)



Did you find this post helpful? Do you wish to contribute to other projects regarding computer science, electronics, robotics or mechatronics that will be posted in this blog? If you wish to do so, you can donate via paypal using the button below. Thanks! :)

Donate

CNC Controller Board v2

As I said previously, I have been slowly developing my second CNC Machine, TheMaker2. To control the new CNC machine I developed a new board based on a PIC16LF877A since the L297's that I used on the first CNC controller board that I designed can be quite expensive here in Portugal and I had some PIC16LF877A samples lying around that with a few programming lines could do the same or even more than three L297 stepper motor controllers.

(Click the photo for better resolution in Picasa Photostream)
Once again, the board design can be split in three parts:
  1. Isolation - it has Vishay's CNY17-2 optocouplers to isolate the parallel port from the rest of the circuit;
  2. Driver - a Microchips' PIC16LF877A drives three stepper motors in unipolar mode (if you prefer bipolar you can change the schematics and boards at your will);
  3. Power Interface - a bunch of Vishay's SUP85N03 N channel FETs working as switches controlled by the PIC16LF877A.

Homemade CNC: TheMaker2

Hi! As I previously said in my first post about my first Homemade CNC: TheMaker1, I was slowly developing a bigger, faster (didn't accomplish this part yet) and more robust CNC. Well, the development phase has finally come to an end and it is finally ready! :D In order to build a more rigid structure I decided not to build it with a moving gantry, but with a moving table on x axis and a fixed structure for y axis, which holds z axis. The build is based on this one.

(Click the photo for better resolution in Picasa Photostream)
One of the main objectives was to make it low cost and believe it or not, with some scavenging involved I managed to build the whole structure with only 84.4€! :D Oh, and this cost still includes some spare materials! :P

How to locate files in linux

Hi! Have you ever needed to find some files in linux? Here's a quick and easy "How To" on it. To locate files you can use the command "locate" (yes, to locate, use "locate", pretty obvious, huh? :P). If you know the name of the file just launch a terminal and write:
locate "filename" 

(Click the photo for better resolution in Picasa Photostream)

Hi! This post is about a common need for everyone. That's highly probable that, at least once, you needed to resize lots of pictures, either to spare some storage space or just because you needed them to have a specific size for some reason. Below you'll find a script to do it with no effort :) It is based on my previous script for Overlaying a logo in multiple images at once. Once again we'll use the "convert" program from the Imagemagick toolkit.

(Click the photo for better resolution in Picasa Photostream)

Hi! If you work with computer vision maybe you have had the need to generate a video from a sequence of images, in order to get a dynamic view of your results. I'm going to show you a very easy way to do that with a simple command, using ffmpeg :) .

(Click the photo for better resolution in Picasa Photostream)

First Impressions on the Raspberry Pi

Hi again! A few days ago I made a post about the Raspberry Pi board that I recently got in the mail. I only made a short description of the board since I hadn't test it at the time. I still haven't much to say but I have finally tested it and I'll share my first impressions of the board.

(Click the photo for better resolution in Picasa Photostream)

Overlaying a logo in multiple images at once

Hi! Have you ever had the need of placing a logo in multiple images and feared that you could have to do it one by one? Well, fear no more because you don't! You can do it easily using a program called "convert" which is bundled in the Imagemagick software package. You can even resize both, images and logo, by tweaking the parameters.

(Click the photo for better resolution in Picasa Photostream)

Using Piklab with Tiny PIC Bootloader


Piklab already has programming interfaces for various programmers, including the Tiny Bootloader. To configure it you must go to "Settings > Configure Programmers... > Tiny Bootloader" and then set your serial port and it's specific settings. In my case, since I use a USB <->Serial TTL Cable (see my previous post on how to make a Low Cost (1,85€) USB to RS232 LVTTL Serial Cable), I configure it with the following data:
  • Port Selection: /dev/ttyUSB0
  • Specific > Port Speed: 19200
  • Specific > Timeout: 300
  • Specific > No of Retries: 5
Get the flash player here: http://www.adobe.com/flashplayer

After inserting all the correct configurations for your serial connection, Click "Apply" and you're ready to go. To program you just have to go to "Programmer > Program". Do not forget to click the Reset button of your development board to reset the PIC and initiate bootloader when you want to program it.

Easy, right? Yes, but it doesn't always work. :( I had it working when I used Ubuntu 11.04 Natty Narwhal and some version of Piklab that I can't remember now but since I upgraded to Oneiric Ocelot and a new version of Piklab, the Tiny Bootloader programming interface stopped working. However, there is another easy way to use Tiny Bootloader with Piklab.

CNC Controller Board

In this post I'll make a short description of the CNC controller boards that I'm making available for you to download and use to control your own CNC. I'm posting 3 version of the same board, but only the first one has been really tested and has been working inside my CNC Control Box for a long time now (see my previous post Homemade CNC:TheMaker1). I'm 99% sure that the other boards will work too because they only have minor changes. I'll explain them to you in a few moments.

All the boards are made in Kicad. The design of the boards is based on the CNC3AX designs, but it uses other components that I had available at the moment that I made the board for my CNC. I advise you that I just wanted to get my CNC running, so I didn't make any careful selection of the most appropriate components and I didn't make the math to calculate the best values for the resistors. I just made it with the components that I had laying around. The boards design can be split in three parts:
  1. Isolation - it has Vishay's 6N137 optocouplers to isolate the parallel port from the rest of the circuit;
  2. Drivers - the ST Microelectronics' L297 drive the motors in unipolar mode (if you prefer bipolar you can change the schematics and boards at your will);
  3. Power Interface - a bunch of Vishay's IRL510 N-channel FETs working as switches controlled by the L297 Drivers.

(Click the photo for better resolution in Picasa Photostream)

Hi! In the following lines I'll present a project that has taken a very long time to complete: my homemade CNC machine. From the first tests and tryouts with various materials to the actual machine 2 years have passed. More important stuff always made me delay the development of the CNC. However, I estimate that the total amount of time was 3 weeks. I think CNCs are a big challenge for anyone since it involves a lot of mechanical, electronics and computer engineering (although we can bypass the computer engineering part by using available software). It was a challenge for me, with lots of frustration along the way because of my lack of skill to make the parts with the few tools I had, but now I can happily say "Mission Accomplished!":D.

(Click the photo for better resolution in Picasa Photostream)

Hi! Some time ago I made a post about My Home Lab where I showed a small CNC that I built. In the same post I said that someday I would post some details on the software toolchain and that's exactly what I'm going to do in this post.

The process of using a CNC to make 3D parts follows three simple steps:
    1. Design the parts.
To design the parts I use HeeksCAD. HeeksCAD is a free, open source, CAD application written by Dan Heeks.

(Click the photo for better resolution in Picasa Photostream)

A wild Android phone appears... Huawei Ideos X3

So, last week I was in the lab doing some computer vision programming when my PhD supervisor came in and dropped a Huawei U8510 Ideos X3/Blaze in my table. "I found this on the way. It was on the road being run over by cars. I think you can get some parts from this", he said. At the first moment I thought that yes, I could get some stuff from it, but they would be fairly hard to interface. It had no battery, no back cover, and some scratches in the screen. However, I decided to plug it to the mini USB cable and see if it still worked. Voilá! Ideos logo showing up on the screen and Android booting up!

(Click the photo for better resolution in Picasa Photostream)
It turned on but then the android pattern lock showed up, leaving me locked out. I started searching for a way of bypassing the lock, but no luck. Had to go for a hard reset. Some more searching in Google and finally I found how to root it. When turning the phone on, pressing the power and volume up for a few seconds would bring the boot menu and then it was just a matter of choosing the factory reset option. After a few more seconds I was messing around with the clean Android 2.3.3.

Hi! This time I'm writing to talk about a great organizer for electronic components that I found, zParts. Some days ago I decided it was time to organize the lots of electronic components that I have in my home lab. I thought about developing an application were I could insert the parts references, the amount of each component I had, and also with some button to open the datasheet without having to browse the folder with lots and lots of datasheets. However, before developing the application I decided to search if no one had done that work before and I found zParts, by Jon Ziebell. I gave it a try, and that's exactly what I needed. It is written in Java, so it works in whatever operating system you have.

(Click the photo for better resolution in Picasa Photostream)
It's very simple to use and allows you to create categories of components, subcategories, and components with as many fields as you desire. You can also relate each component to an image and a datasheet. What else do you need? :D In my case I don't remember anything else I would need, but if you do, you can always program it yourself, since it is an open source project and its source is available in sourceforge. If you need to organize your components, give it a try! To run it just open a console, enter the folder where you extracted the zParts files and enter the following command
java -jar zParts.jar
If you have tested it, liked it and want to add a shortcut for zParts in Unity in Ubuntu 11.10 just do the following steps:
  1. Create a file under /usr/share/applications named zparts.desktop and paste the following code into it 
    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_GB]=/usr/share/icons/hicolor/scalable/apps/gdu-category-multipath.svg
    Name[en_GB]=zParts
    Exec=/<path to folder where you have zparts>/zparts_start.sh
    Name=zParts
    Icon=/usr/share/icons/hicolor/scalable/apps/gdu-category-multipath.svg
    NOTE: Don't forget to put the correct path in the 'Exec' line. You can also change the Icon line with the path to the icon that you prefer.
  2. Go to the folder where you have zParts and create a file named .zparts_start.sh and paste the following script into it 
    !/bin/bash
    cd <path to your zparts folder>
    java -jar zParts.jar
    NOTE: Don't forget to put the correct path in the second line.
  3. Give the script permissions to be executed
    chmod +x .zparts_start.sh
    And that's it! Now when you open the Unity board and type zParts its shortcut will appear.
If you use M$ Window$ you can also try out Component Organizer, which is a similar free software developed by a portuguese guy (user msr @ the portuguese robotics forum Lusorobotica. You can check the entire thread about it here).



Did you find this post helpful? Do you wish to contribute to other projects regarding computer science, electronics, robotics or mechatronics that will be posted in this blog? If you wish to do so, you can donate via paypal using the button below. Thanks! :)

Donate

top