Eagle3D

These are components I’ve created for Eagle3D.

You may also want to check out the tutorials on how to create your own components.  http://blog.everythingrobotics.com/tutorials/eagle3d-tutorials/using-google-sketchup-to-create-components/

Components

HopeRF RFM12B SMD 433Mhz/915Mhz RF Module

RFM12BSMD

Microchip MR24J40MA FCC Approved 2.4GHZ 802.15.4 RF Module

MRF24J40MA

Sparkfun SMA PCB Edge

SMA_FEMALE_PCB

PJ-326 3.5mm Jack http://www.switchcn.com/

PJ326

900Mhz GSM SMA Antenna attached to PCB SMA Connector

SMA_connector_antenna_hor

Downloads:

Strobit Eagle3D Library (19/03/2009) Download

Links

Disclaimer:

These are provided AS-IS and may contain bugs and or discrepancies and may not be to scale.

If you find any bugs or problems or make enhancements please feel free to contact me so I can update the downloads.

Step 4

Tweaking the Settings

Now we have added the component into Eagle3d we need to tweak and fine-tune the settings.

  1. Now render your PCB, more than likely a couple of problems will show up.  The first is your component is very small.  so we need to tweak the scaling from within the component file we recreated in the previous steps.

    Very Small component shown. (click to enlarge)
    triggr-020
    07/08/09 update: (Thanks for the tip Jeremy)

    > Jeremy wrote:
    > Hey. I read over your tutorial on making Eagle3d components in Google
    > Sketchup, and I wanted to thank you for saving me a considerable
    > amount of time. I also found something you might have missed. Sketchup
    > records units in mm
    > (millimeters) but when su2pov plugin is run, it converts all the mm
    > into inches (1mm -> .03937 inch). The problem is that Eagle3D
    > interprets the numbers in the .inc files as in mm. So the best way to
    > fix the problem is to scale up your drawing in Sketchup by 25.4 times
    > (thus counteracting the plugin’s unit conversion).

  2. To scale the component scroll down to near the end of the file where you should see something like this
       1:
       2: #object {MRFceJeaMA
       3: matrix < 0.1,0.0,0.0,
       4: 0.0,0.1,0.0,
       5: 0.0,0.0,0.1,
       6: 0.0,0.0,0.0>
       7: }
  3. tweak the settings that have numbers in them, the following worked for me
       1: // Scale
       2: #object {MRFceJeaMA
       3: matrix < 2.55,0.0,0,
       4: 0.0,2.50,0.0,
       5: 0.0,0.0,2.55,
       6: 0.0,0.2,0.0>
       7: }
  4. Now the component should be close to the right size, but the offset is off.triggr-020
  5. We now need to get the correct offsets, which is a bit ht and miss, but I found the following works best.
  6. Locate the component in the generated POV file (step 8 above)
  7. Change the translate values just after the macro name as shown below, the hit and miss comes in by taking a guess in what direction and value to use.
       1: #ifndef(pack_U2) #declare global_pack_U2=yes; object {MRF24J40MA()translate<-5,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<61.569600,0.000000,15.240000>}#end        //MRF24J40MA FCC Approved module U2 MRF24J40MA MRF24J40MA
       2:
  8. We are heading in the right direction, so keep changing until it all lines up on that axis.

    triggr-020

  9. looks like we are right on here, onto the next axis

    triggr-020

  10. to change the next axis offset we need to modify the last value in the translate function
       1: MRF24J40MA()translate<-9,0,-5>
  11. Just about there

    triggr-020

  12. finally looks right

    triggr-020

  13. Now we have found the values we need to put them in the 3dusepac.dat file or else the next time we run the ulp script we will loose these settings
  14. In the line we added added to the 3dusrpac.dat file we need to add the values we have just fount to positions 15 and 1 7 as shown below.
       1: MRF24J40MA:0:0:0:0:0:0:0:0:0:0:0:0:0:0:-9:0:-8:0:0:0:0:0:0:0:0:0:0:0:0:0:MRF24J40MA(::
       2:
  15. If this file is changed we need to re-run the ulp script to re-generate the POV file, then check that your values are there and renders correctly.triggr-020
  16. The same process can be followed if the component is not rotated correctly.  such as shown below

    triggr-020

  17. change this value in the POV file to tweak the rotation side of things. change the value show below (-180)  in this example the value that works for me is 90  once again this value must be updated in the 3dusrpac.dat file in position 14.
       1: {MRF24J40MA()translate<-9,0,-8> rotate<0,0.000000,0>rotate<0,-180.000000,0>
  18. Remember to re-run the ULP script to regenerate the POV file.Happy component creating !!!!!
<<Step 3

Eagle3D and Google Sketchup Success

I’ve been playing around with Eagle3D on and off (like most things more off than on lately).  Eagle3D in a nutshell is a bunch of scripts to generates povray files.  Povray is then used to render a realistic representation of the PCB file with all components included. 

The problem I’ve always come up against when using Eagle3D is missing components.  I first looked at this tutorial – http://felixchenier.homelinux.com/doku.php?id=pcb:eagle3dnewpart, however I took one look at how to make library components and thought no way, I don’t really want to generate a 3D component by long hand.

As an example this is the Experimental 2.4GHz version of triggr PCB rendered with default output from Eagle3D, you can see how many components its missing (indicated by the red cylinders), you will also notice that its also picked up the wrong component in the top left of the board, this should be a right angle header, and it’s not correctly aligned.

triggr-020

Well I spent a couple of hours last night playing with Eagle3D to see if I could a) learn to create custom library components using Googles free sketchup program to create a part then export to Eagle3D, and b) to get a better understanding how components are selected and put on the board in the correct orientation.

I finally had success in exporting a sketchup component to use in Eagle3D.  I imported an already existing component for the MRF24J40MA RF module from sketchup and incorporated it into Eagle3D as a part library.  Here is the result.  A lot better wouldn’t you agree?

triggr-020

Here is how I did it in a sparkling new tutorial….Using Google Sketchup to create Eagle3D components

Using Google Sketchup to create components

This tutorial will show you how to use Sketchup to create and import components into Eagle3D

Requirements:

  1. Google Sketchup installed – I’m using v6, but I’m sure it will work in the latest  version
  2. su2pov plug-in – this is a sketchup plug-in written in ruby that exports the a sketchup scene into POV for more realistic rendering.
  3. Eagle3D and POV installed and working.  You should be able to at least render a board, even if no components are working.

Steps involved:

  1. Export Sketchup object to POV using SU2POV, and test.
  2. Create the component include file ready for Eagle3D
  3. Mapping the new component into the library.
  4. Fine tuning the placement.
Step 1 >>

Prototype

Prototype boards RF module Testing

Prototype Specs:

  • PIC16F88 running on internal 8MHz Clock – low cost and very popular, free development tools available, i.e. C compiler.
  • Works in unlicensed 915MHz ISM Band(Australia/US), can work at 433Mhz by changing RF module(US/EU/Australia).
  • RF uses FSK Modulation – Less prone to interference sources.
  • All aspects of the RF module is configurable via the firmware, i.e. frequency, Tx power, receiver bandwidth, modulation, datarate etc.
  • Indoor Range – ~30m+ works all through my house non line of sight, i.e. through multiple single brick walls, with transmitter at furtherest end, close to AV, TV & WIFI (i.e. interference sources) and receiver roaming throughout the house in different rooms, microwave oven also in the mix. No packets lost or dropped so far, but more testing needing to be done.
  • Outdoor Range – Untested, but from indoor tests I would guess 150-250m easily.
    Update:
    Outdoor Test Results here
  • Antenna – Simple 8cm whip (i.e. a single piece of wire), these RF units are matched to 50Ohm so an SMA antenna could be used
  • Sync to 1/125 – in theory it could easily sync upto 1/1000 as the Rf modules are capable of the bitrate necessary, however range will be affected by the higher the speed, also the processor / oscillator arrangement may need to be revised to handle the higher interrupt rate to process data, i.e may need to use a chip with onboard SPI support etc.
  • Can act as Master or Slave.
  • Can be programmed to use any frequency from 902Mhz to 928Mhz (using the 915Mhz module), using the 433Mhz Module will allow similar channels.
  • Can be triggered by a contact closure on Trigger Input. i.e. from camera
  • Can be manually triggered by test button.
  • Trigger output is isolated upto 400V, i.e. can safely trigger old stobe units with high voltage on hotshoe / sync terminals
  • Powered by x3 AA batteries. Currently no power management in the firmware.
  • Cost per prototype board AUD$ ~25

Note on the costs:

  • Most components are sourced via local retail outlets so are probably definately more expensive that sourcing elsewhere, i.e. this can be built a lot cheaper i.e. Sub $10 in parts.
  • Some of the components I had lying around at home so I’ve just used market prices in my estimates.
  • No freight was added to construction costs.
  • Some components have minimium order quanties such as the RF module.

Back – Triggr Home Next – Firmware

StrobIt Triggr

Introduction

20/03/09 *UPDATE * This project now has a new home and is actively being developed on Google code project hosting http://code.google.com/p/strobit/

IMPORTANT    This page is no longer being being maintained please go to the new project page.

Welcome to the Strobit Triggr Project, an open source hackable wireless trigger used in photography lighting by using low cost strobe units triggered remotely via RF. This was started while trying to find a cost effective and reliable solution to the commercial alternatives out there. At one end of the market is the Ebay or Cactus Trigger, which is low cost but rather unreliable. At the other end of the market there is the industry standard, Pocket Wizards, very reliable, but very expensive (i.e. way out of my price range).

What I wanted to do was to create an open platform that anyone can easily build for a low cost and then be expand upon by the community. The pair of prototypes I’ve built were a proof of concept that I can get a camera to trigger a strobe unit reliably at a low cost. From early tests it appears that I’ve succeeded in my goal, but further testing is required.

triggr0103

Project Status :

– Prototype successfully working in single master/slave configuration !

– (20/03/2009) Project now has a home at Google Code – http://code.google.com/p/strobit/

Still Todo:

  • Specifications
  • Hardware Design
    • Schematics
    • PCB
  • Software Design
    • Wireless
    • User Interface
    • Protocol
  • Hardware Prototype

License

The strobit hardware design is covered by The TAPR Open Hardware License. Please see http://www.tapr.org/ohl.html for further details.

Schematics:

Strobit Triggr Block Diagram Strobit Triggr Topology StrobIt Triggr Schematic

Prototype Details

Firmware Description

Protocol Description

Downloads – Files associated with the project

Tests – Tests done so Far

In the Wild – Version of this trigger made by others

I’m toying with the idea of putting together a low cost kit for the enthusiast. i.e. PCB, pre-programmed PIC, etc. So we could all benefit with a bulk order of the components. If your interested please email me using the contact form the top menu or use the mailing list signup on the right to give me an indication of numbers interested. Once I finaliaze the design and get some idea of numbers I’ll get a better idea of price. At the moment it will only be available in kit form due to FCC and other Licensing regulations.

Future Improvements:

  • Higher Sync Speed.
  • Frequency Hopping.
  • Forward Error Correction.
  • Power management.
  • UI to change settings, Channel etc.
  • Save settings in Flash memory.

CNC – MK1 Modelling Begins

After lots of research I’ve started to put some ideas to paper for the MK1 CNC Machine.  

Yes I know I could probably jump right in and start putting together bit and pieces, but I really want to learn to use some 3-D Modelling CAD Packages for future Robotics projects and since I will eventually need to model components so they can be exported to the CNC machine for milling, I thought it might be a good exercise by modelling the MK1 itself.

So here is the start of the X-Axis Linear Bearings

CNC - MK1 X-Axis Bearings

CNC Bug Bites

Over the past number of years, along with my interest in robotics and software development,  I have also had a keen interest in machining and metal work, I suppose ever since I build my first Stuart Turner stationary engine when I was 15 on my fathers Lathe,  BTW my father is also a very keen model engineer/machinist.  So wanting to merge my interests along came CNC.

I don’t own a lather / milling machine, actually I don’t even have a workshop myself (about to change with my new house being built), although I do have access to them when ever I want its still not the same as ducking out to the shed to whip up a part, in general I find making small components and PCBS a bit of a pain, mainly though lack of tools and proper work area.  So Getting back into the robotics/electronics scene after a long break has also re-kindled my interest in the CNC Area, especially for small robotic parts (plastic and aluminium) and one off PCBs (routing and drilling). 

So in my quest for knowledge, I spent the last few nights browsing what’s out there, and was very surprised to see the huge amount of work that people have done.  I must admit it had been a couple of years since I’ve last looked, and there there are some truly amazing machines out there (check out http://www.cnczone.com/).   Anyway I think I want to start off small first with a low cost pcb router/drilling using a 3-axis with a dremal.  Plenty of photos out there with low cost designs and common parts have inspired me to take some steps and begin some design work, so stay tuned.