Updates from September, 2011 Toggle Comment Threads | Keyboard Shortcuts

  • charliex 5:59 pm on September 15, 2011 Permalink | Reply
    Tags: arduino, , machine vision, open source, , zevatech placemat 360. juki 360   

    Juki 360 rebuild PART 3 ( The not a repeat edition) 

    So we’re on stage III of the rebuild at Null Space Labs (http://032.la) . What we’re aiming for is :-

    • Rotation servo in the head
    • Consistent speeds
    • Addition of more checks

    Adding more checks was straightforward, added code to determine if the machine picked up a part, with the small compressor we were using it’d start to loose vacuum so if it failed to pick up a part, the delay became longer. This  allowed the the compressor to catch up a little, as well as alert the user that something was amiss.  Next it checks to see if the part fell off during transport to the board. The machine has a vacuum sensor that knows if the top is being blocked. This lets the machine controller (Arduino) know a part is probably there.

    The machine won’t move if the head is down, and the limit switches were put on interrupts. tool changers are tested and put down if they’re up for some reason.

    The interrupt based limit switches are nice, anytime a change of the signal is recognised, either in limit or coming out of limit the routine is called and it reads the status of the pin again, and sets the out of home condition, so that machine controller knows the machine should be rehomed before continuing.  The code is simple and looks like this in the setup()

    attachInterrupt(5, x1Limit, CHANGE );

    void x1Limit( void )
    {
      homed = false;
      xLimit1 = digitalRead( XL1 );
    }

    attachInterrupt takes the pin number , the function to call and type of signal to look for, HIGH, LOW, and CHANGE, i use  CHANGE so that the xLimit1 variable is always set properly, and rather than rely on software tracking I read the state back in.

    I’ll probably change the digital read to actually just read the PORTx value directly, you want to minimise time spent in an ISR (interrupt service routine ) as much as possible. 5 is the pin that the XL1 limit switch is connected to on the shield, and homed/xLimit1 are volatile global variables that have the condition, they are set as volatile since they can be changed at unexpected times, either by the hardware directly or the ISR. volatile lets the compiler know not to cache the value or other trickery. This is often the case with things like memory mapped hardware clocks where you read a specific memory location to read a clock, so you’d do something like (clockVal would be set to the specific memory location by the linker or other directive)

    const volatile unsigned long clockVal;

    We’re not using const for the homed/xLimit1, since we are writing to it via software, a hardware clock changes outside of our code.

    Ooops

    Someone knocked one of the feeders slightly off (probably me) as it was being worked on, I didn’t notice and moved the head.

    It caught the feeder pin ( bottom left) and bent badly enough that it wouldn’t go back down. So i pulled it apart and used a vice with cut outs and gently squeezed it back into shape, then mmca used his micro lathe to make it straight again. Luckily these are easy to make from scratch.

    Servo Pulses

    The servo pulse speeds are more of a pain, the Arduino has some fairly inconsistent timing and some of the functions you’d expect to be fast, aren’t, the delayMicroseconds has a lot of skew, digitalWrite takes a long long time. Once you know about them, they’re easy to deal with i replaced them with bitSet/bitClear and the __builtin_avr_delay_cycles feature in avr-gcc.  We captured the output of the servos from the Juki PC with a scope and my logic analyser. That allowed us to see the ramp up and down times to get the head moving at a decent clip. There is still some ripple in the software PWM though, so we’ve converted most of it over to just  AVR asm/C and setting the ports individually,the Arduino does what it is meant to do really well and that is be easy to use, but what’s uncommon about it is that it easily lets you drop in code that bypasses or override the built in libraries, in my experience that’s rare in other simplified dev kit software, its typically all or nothing.

    Changing the digitalWrite is straightforward. Determine which port the pin you want to set is on and then use bitClear or bitSet instead.

    digitalWrite(YCCW,HIGH) becomes #define YCCW_HIGH   bitSet(PORTF,3); YCCW is defined  as A3, which on the mega is on PORTF, bit 3. digitalWrite LOW is bitClear(PORTF,3)  going even further the PORTF can be manipulated directly with PORTF |= (1<<3) to set it, then you can combine them together with PORTF |= (1<<3)|(1<<2) etc to clear PORTF &= ~( (1<<3) | (1<<2 ) ) also there is a _BV() macro that does the (1<<n) shift. so

    PORTF |= _BV( 3 )

    Using |= and &= should output the closest ASM instructions that you can could in C.

    Once we started to investigate the timing from the Arduino that is when I noticed the problems, even with interrupts disabled we were seeing inconsistent results. So I wrote some test code and hooked up the output to the LA and set about trying to make a micro second accurate delay. specs showed a 2uS rise , 5uS pulse and 2uS fall for the initial step pulse, the stepper IO controller is HIGH delay LOW delay HIGH . for the first delay about 8uS works well.

    We captured the data with the logic analyser and pulled the data into Excel which is great for this sort of thing.

    A quick couple of macros and copy/paste and we’ve got differences in Column F , you can see the length of the pulse in F3 and F4 has the off time length, which gives us our full duty cycle for that pulse.

    In H its just the lengths of the off times since the on time is constant. Column I has the differences.

    One of the next things excel can do is trend lines, I did this by hand and then arko showed it to me, I’d seen the equation solver before but not this.

    First create a line chart with the off times (the part of the duty cycle that’s after the pulse)

    Click on the data points in the line to select the line. then use the trendline option

    Set the options like so :-

    Which gives you this trend line (in black ) and the algorithm for it. I opted to use a table lookup since it has to be super fast for the Arduino.

    Time Travel

    Skipping back a little after the last blog post we did an 0603 repeatability test, used the layerOne speaker badge as a base, I exported the centroids from eagle for one side and ran test code. As well as just have the machine draw lines of 0603’s. with a logo-esq list of commands.

    The left side has a little wobble, partly pickup, partly the slightly bent head ( we’re lucky that a generous person sent us a new head and feeders you rock Steven ! ) the right side is a similar test but its placing the 0603s on top of each other, that actually worked pretty well a few of them fell over. But given the bent head, no centering or machine vision its working better than we can hand place them. This picture is the version that just places the parts in lines. I also think our stop is a little aggressive in this test, and this is before we really got into the ramping.

    The ramping is simply having the PWM have a longer off time, pulsing the servo, decreasing the off time, pulse it again and do that for N pulses until the motors are moving fast enough to get to the top speed, that’s what the Excel sheet is for. I’ll go into it in more detail in another post.

    Someone from Russian TV decided to film it, Central TV i believe. Unfortunately all the airlines are now tight so i can’t remotely shoot air or disconnect hoses at him anymore.

    Adding a camera

    This is a Cognex 4100 machine vision camera, machine vision cameras are generally low noise, stable image sources. This one can determine angles, and so on and then send them out via Ethernet or serial. The 4100 has been dropped by Cognex it seems and the software needed to run it is an old version, which has a lot of compatibility errors with Windows 7, its been something I’ve seen before where the menu’s lockup for a long time. But we figured our way around it by using Windows XP inside 7 with its builtin Virtual PC and got it to see the rotation.  Think RoboRealm built into a camera.

    Controller unit

    Inside the camera, TI DSP and a Xilinx FPGA, very nice.

    Camera head

    We’re also using some webcams , a couple of them are microscopes, one is from think geek and it’s a wireless HView camera, the other was an eBay special pen microscope usb2. Oddly finding a 12mm drill bit to make a hole for the camera wasn’t so easy.

    Adding the camera needs two pins for the servo CW/CCW, three pins for the camera, TX/RX and trigger. The shield has three pins left!, Though I did cheat and use two of the pins as a via since I didn’t’ really want to deal with the LPKF via rivets even though its only a few of them. We do really only need RX though.  The trigger just tells the camera to only operate while, or after the trigger is set. The final board will not use the cheats of course, but before I remill a new one we have to

    Software testing

    This is our test bed software Pickobear it allows us to test OpenCV (though we have a Cognex camera), the eagle script output CSV is imported into Pickobear and then the machine knows how to place it.

    image

    One of the problems with test software is you often leave it in a state where it was testing something specific, and you forgot to remove it , case in point, I had one extra YCW pulse that caused a problem when we were doing a tool change test. After 4 changes it’d refuse to put down the changer, we checked air pressure, offsets, tool head distance and all that, eventually did test code that moved home, then to 0,0, 1000,1000, back to 0,0 and saw it was one Y off each time. A quick check of the firmware and the extra pulse was spotted. But it did allow us to get the numbers needed to exactly place the adjustment for the pickup head.

    Next we’re testing out different cameras, I milled out a quick holder from PCB material and the epic blue painters tape. This is a nice’ish USB 2.0 camera that’s setup as a microscope, it came with a nice metal holder and was about $80 from eBay. M4 nuts and bolts seem to be rare around us, never mind the M2.5’s we were looking for locally last week. So zip tie to the rescue temporarily, it does allow a little yaw though but it is ok for testing the software until the bracket arrives.

    To make this I measured the hole sizes, the distance apart and picked a distance for the camera, then guessed the size. I then added two drill holes with the hole command, set the size to 4mm for the larger 12mm hole I used the milling layer, draw a circle with the circle command, and set the width (right click circle and choose properties or type change width ) to a very small number, if you use 0.0 as the width eagle will fill in the whole circle and doesn’t cut anything, a width of 0.0 works for milling wires, but not circles. Then milled it out on our AccurateCNC 560H.

    Now we fit the new holder, has a nice set screw to hold the camera in place.

    Next is adding camera movement and offsetting the board. I did this by adding a mouse click even to the custom control, it then determines the center of the image and a difference calculation, then depending on the direction it needs to go it moves that amount, I still have to calibrate what the relationship of the camera image is to actual axis steps, but its close enough to use right now.

    I’m using videoInput with OpenCV and OpenGL to display the data from the cameras, the crosshairs and circles are drawn into the OpenCV image using their primitives.

    cvLine(img1,  xyF, xyT, CV_RGB(0,0,200),2);
    cvCircle(img1,xy,100,CV_RGB(0,0,200),2);

    Camera setup is straightforward

    int numDevices = VI.listDevices();

    m_camera = DeviceID;

    VI.setupDevice(m_camera);

    img1 = cvCreateImage(cvSize(VI.getWidth(m_camera),VI.getHeight(m_camera) ),IPL_DEPTH_8U,3);
    assert(img1);

    img2 = cvCreateImage(cvSize(VI.getWidth(m_camera),VI.getHeight(m_camera) ),IPL_DEPTH_8U,3);
    assert(img2);

    There is a nice simple class I’ve used for rendering OpenGL into an MFC custom control for a while.

    http://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/print.php/c10975__2/

    Head servo rotation

    The rotation head is the next thing we’ll get fully operational. We decided to upgrade the 24V power supply since the little servo can draw more amps than it could safely handle. All electronics has suitable 24V 6.5A deals.

    http://www.allelectronics.com/make-a-store/item/PS-24150/24-VDC-6.5A-150W-POWER-SUPPLY/1.html

    $26 at the time of writing.

    A custom CNC’d bracket was designed by mmca and laid out  in solidworks by arko, the motor, pulley etc are all added. This allows us to switch from the simple 90o rotation to full a 360o’s so we can place the part turn 360’s and moonwalk away from it. There is some play in the rotation shaft because of the set screw, so that is being remade so there is no backlash., even though its a tiny amount and the software can correct it. The machine is able to do more than 90o in steps of 90o by simply changing which side the feeder is mounted too, but we want 45o’s for those gangsta leans.

    The top bracket/reed switch isn’t mounted or screwed down, that is why its tilted.

    New standoffs added and rest of head mounted.

    So here is a short video showing the setting of the PCB offset, I home the machine, pick the part I want to use a registration. Then move to the location where it really is and press the OFFSET button., then I move around to other components just to check its working, again the blue lines are OpenCV doing stuff.

    Pickobear!

    Motor Drive Upgrade

    The Y motor driver and motor aren’t that great, so we changed it out for this controller

    First removing all the old wiring and converting it to the style connectors, it’s a shame to do this as the wiring is just so nice compared to modern equipment. Its not often you see this level of attention anymore.

     

    New controller in place of the old one, it fits pretty well its longer than the old one but luckily there was lots of room, we just have to extend the AC lines a little.

    Removing the plastic conduit covers and rerouting the wiring.

     

    Almost there, I’m heading out early tonight and we apparently don’t have crimpers at NSL so rather than botch it, I’ll pick up some tomorrow or bring mine in from home

     

    A new motor was fitted too.

    Dirty fans!

     

    Close up of the belts and cogs etc.

     

    New vexta motor

     

    Machine powered up and homed ok ! sweet..

     

    I’m not sure how detailed or long to make each of these posts, since from reading the comments and emails, its obvious a lot of people skim or don’t read the text and look at the pictures, but I want to make sure we give enough details ( plus the wiki/svn ) so that people can recreate it. We are at the point we can pick and place our boards, surpassing the original software in some ways, a few things are left to be done to make it 100% of the original features sets, mostly to do with feeders. But we’re waaay beyond what it could do in some ways.

     
  • charliex 6:29 pm on August 31, 2011 Permalink | Reply
    Tags: , 460, , , zevatech   

    Juki 360 rebuild at [Null Space Labs] 

     

    This is log of the current work we’re doing at NSL http://032.la

    Rather than hand build all the badges for our  socal security conference layerOne again, http://www.layerone.org/ we’ve gone to a pick and place machine.

    Gleep found us a Juki(Zevatech) Placemat 360 (that seems to  have been upgraded to a 460 ) pick and place machine. It was sold as ‘working’, the sellers definition was, if I’m completely honest a stretch (outright lie).

    This is actually our second pick and place machine, we don’t mention the other one Smile

    We’re also interested in acquiring a Zevatech/Juki 460 if you have one for a decent price.

    Basically he demo’d everything that didn’t need a compressor, that all worked. Of course everything that needed a compressor as we found out later, didn’t work! Still $1,200 isn’t bad.

    I used my supersilent 20a as a temporary compressor, it only has a small  < 1 gallon tank, but its actually quiet, we used the 8 gallon compressor at null space which is deafening, so i found a 3 gallon temporary one at harbour freight for cheap in their recent sale. its too small though, so we’ll need shop air at some point. The supersilent was causing the pickup head to fail to work after a few passes, so this caused as a few false starts, the machine needs a solid air supply to function , even in testing.

     

    The existing filter and pressure regulator was a mess, so off to home depot to come back with the best we could find there, which isn’t that great.

     

    This is the old one, remember sold as working. No filter, and all these bits were just lying around inside it.

    The machine itself is based on the PC-8801 Z80 4mhz CP/M which I recognised straight away as my old job had me doing game conversions in Japan for the PC-9801.

     

    Dusty

    The whole machine works pretty much on the principal of that if the CNC software said do this, do that, that it executed perfectly. Only limit, head, home and the tool changer have checks.

    We fired it up , Krs and Gleep got it picking and placing a few resistors (though they somehow managed to get the tape removal part completely wrong and it was throwing resistors all over the place. Then mmca got it placing QFP parts correctly. The lamp spot system was off, the 90′o rotation was off, the tubes were old and cracking. Compressor filter was non existent and rusted out. We’ve also discovered the whole thing is covered in parts from the previous owners, we’ve scored a few 100 0805s and some IC’s.

     

    Free Parts!

    The reed sensor was the first thing we found that was broken, a quick trip to eBay and a few days later we had replacements. Luckily Juki is in heavy use, and they use a lot of off the shelf components. Apparently the later 5xx machines do switch to a proprietary drive system.

     

    The reed switch detects if the head is up or down. Its one of the few sensors in this machine. The bend has caused the wiring to break down internally over the years. so the machine gets confused about being up or down, and the software doesn’t cope well with that, it basically needs a full reset afterwards.

     

    The new sensors , $9 from eBay.

    I also bought a CPLD based floppy emulator from Poland, it hasn’t arrived yet and we’ll probably be done with the new system before it gets here, and we’ve discovered the speed stays the same but floppy drives won’t last so the SD is still a good replacement.

    Placing QFPS (AT90CAN128)

    Fashioned a quick tray for the IC placements. We use these great little boxes, also from eBay, for holding SMD components, they double up as handy platforms too.

     

    Feeders

    The feeder is controlled by the head, it moves over the spring loaded pin and pushes it down, this releases air and the notched wheel on the right moves the component reel tape one step, at the same time the protective covering tape is peeled away, allowing the machine to come back and pick the part up. This time, they’re correctly threaded, previously the protective tape was wrapped around the pin in the middle.

    Side view of feeders, you can see the reel of components on the left, and the pneumatics underneath. Its important to choose a pick and place with a widely available  range of cheap feeders, all too often people buy a cheap pick and place then find out it has none, and it’ll cost $1000’s to get them, if at all.

    Feeder with pneumatic assembly

    The expansion board

    This is the board inside the machine, it is a couple of 8255s which are the defacto standard for PC parallel IO, almost every PC has had one or more of these, they’ve since moved into the ASIC’s but the principle is the same. It memory maps each of the input/outputs of the machine so that host PC can see them. I pulled off the floppy image, copied the files to my PC and reverse engineered the controller code with IDA.

     

    I found an IMG of the floppy online, this was MFM encoded . So i converted that to a raw binary file, and then used cpmtools to copy the files from it. I was hoping to find some of the saved files so we could reverse the format and write a quick tool to do the placement. Once the files were copied off i tried a few of the different PC-8801 emulators, M88 etc, but had no joy in getting it running. So finally I just pulled apart the CP/M COM files in IDA and see what we could find.

    The teaching process is tedious, so reversing the format would have been worthwhile.

    Interface board

    This board takes the IO from the PC, buffers 74LS240 it and uses power darlingtons FT5723M to switch the 24V signals for the pneumatics.  As well as read the various sensors and the + / – for the motors. The motors and stepper drivers are off the shelf, but very nice, we even have newer versions of the motors and controllers at NSL.I’ve removed the bottom connector to make it easier to take pictures.

    The grey cable that has been added later is the automatic tool changer, this is soldered directly in the spare connections , 5V and 24V VDC. The 5V powers the small adapter board in the ATC and the 24V is for the pneumatic switches.

    The remaining signals are multiplexed IO that are demuxed by a 74Ls138 on the ATC board, which deviates from the way the rest of the board works as the rest are all controlled by the darlingtons directly.

    Each function of the machine is basically <control> – <buffer> — <pc> – <memory map>

    So if you want the head to go down, you flip a bit in the PC’s memory. Its all digital IO, nothing fancy at all. The only extra part is the 5V TTL to 24VDC for the pneumatic switches.

    Stepper drivers and power supplies.

    The stepper drivers are on the bottom, the other one is to the right under the tray. the two power supplies are just visible at the top right, one is a 5V the other a 24V. The power filter is in the lower left.

    Power supply

    Stepper motor driver

    XY gantry

    Since the machine was in bad need of service, we stripped it down, here the XY belts are visible. The top side has the the driver motor and the bottom side gets its power from a rod under the bed on the right side, so both belts are moved in unison. The ATC is in the top right and the frame in the middle is what is left of the PCB holder.

     

    Tearing it down.

    The head

    mmca stripped the head down. here it is removed from the gantry. mainly because there is a piece of string visible , and we can’t figure out what its for.

     

    Shims, we don’t think these are factory shims.

    The strange piece of string inside the head… What could it be for?

    Bottom view of the tool pickup and the 90’o rotation.

     

    These 4 arms are moved towards the part and clamp it gently, this straightens the part for placement, it can also rotate the part by 90’o ( which sucks for us because i always like to put parts at 45’o)

    The laser, focused lamp (this machine continues to surprise us ) which is used to position the head in teaching mode.

    We’re removing the lamp and replacing it with machine vision, so some measurements are taken.

     

    The hoses are removed and marked with a letter , the corresponding connector is also marked with the same letter.

    This is how the previous owners repaired the 90’o rotation arms….. so that explains the string. this was removed and repaired correctly. The 90’o does just that, it rotates a part by 90’o that’s all this machine can do, so we’re going to change that to it can do arbitrary rotations.

     

    This hose had cracked, a few others did too. I found a few temporary replacements at the auto parts store 4mm ID, 8mm OD  fuel priming line.  The plan is to replace all the hose.

    Stripped machine screw in the head. Replace from grainger, M3x8mm 0.4mm thread 5.5mm head size.

    And some missing set screws

    Spent some time measuring all the screws and what not. The machine is old enough that it came from proper manuals with circuit diagrams.

    We’re replacing the IO board, the plan is to throw in a TI Stellaris ARM lm3s9b96 chip instead, (TI were good enough to send us a bunch a while ago, thanks TI!)

    This board is a dumb board, it just marshals the I/O and does the switching of the 24VDC with darlington’s.

    Here we’re removing and verifying the connector sizes and function  (the manual had some errors) so its good to do that. It also gives us good insight into what’s going on.

    Checking how the machine works with my trusty fluke.

     

    I threw together the connector layout in eagle and printed it out to verify it,  early revision.

    Measure the hole size and distance. Our board is exactly the same size so its a drop in replacement, we’ll just lose the two larger connectors and change it to USB.

    Here we were figuring out how the ATC worked, at first it was though to drive it directly , but there weren’t enough wires. So its 24V, 5V and control signals, the small interface board at the front is a  74LS138 decoder/demultiplexer with a few buffers and more darlington drivers , it switches the 24V on and off based on the 4 control signals coming in.

    Automatic Tool Changer

    The tool wanted is lifted up when the machine wants to change it, on the right are the pneumatic switches that are controlled by a 24V signal.

     

     

    We’re using Power MOSFETs to control the 24V instead, a 6 pin ROHM US6K1DKR in a TUMT6 package ( time to create a new device in eagle again !) I ordered 100 from Digikey yesterday and should have the board layout finished today. Then we can mill out a test PCB and see how it works. (parts arrived a few minutes ago!)

    You might be amazed, I was , about just how simple this machine is, you could run the whole thing from a set of on/off switches, albeit very slowly. But that is great for us though as it makes it very easy to replace the PC software.

    The next big thing is going to be testing the new power MOSFET and building the new PCB.  The chips will be here today have arrived.

    So new eagle package

    Cut out a few to test.

     

     

    Apparently I goofed on the measurements, I did change it around a tad after the first revision. Teeny part.

    Soldered it anyway

     

    So the next step is adding cameras etc.

     

    mmca explaining the new part to be cnc’d out for the camera

     

    mockup of the mount

     

     

     

    The head has to be recalibrated so the bottom of the tool is 62.5mm from the table, with a .1mm accuracy, so we as usual went overboard and used grade B gauge blocks.

    69.5mm to .00005 inches accurate.

     

    Gauge blocks are fascinating, they stick together like magnets if you put them together by making surer there is no air between them, but if you just stick them together they won’t. Super flat. these aren’t grade a or better, but they’re nice. mmca has the coolest stuff.

     

    Starting to rebuild it

     

     

    Machine vision tests

    This is work in progress, testing RoboRealm/OpenCV and teaching it components, it works well!

     

    Using a panda board a HP HD Webcam for testing the vision.

     

    Software

    Playing around with layouts for a quick test tool. two grey areas are for the cameras.

     

    Well that is it so far, my Motorola Atrix decided that the fingerprint reader would become burning hot to the touch. So I pulled it apart and removed it, but somehow managed to make it do a full hard reset (or a docwho76 as we call it ) and it deleted a bunch of my pictures. google+ had failed to sync them. But we’ll keep documenting the project,

     
    • Jack Gassett 4:52 pm on September 1, 2011 Permalink | Reply

      Hey, this is great guys! I have the exact same pick and place unit and went through the same pains getting it up and running about a year ago.

      Thought I’d share a couple tips that I learned, you might already know them, or they might help. :)

      I was having trouble with the autochanger detecting if a bit was attached. At first I thought it was the reed switch. But it turned out that it was actually the PS4 pressure switch. You can put it into test mode, drop a bit onto the rubber pad by the autochanger and then look for a red LED to light up on the PS4. Adjust the screw on the PS4 to get it just right.

      The other tip is that I don’t even bother with the teaching light anymore. Screaming Circuits has an EAGLE ulp file that generates a centroid file with exact coordinates of your parts. It saves a LOT of time to just print out the centroid file and type the exact coordinates in instead of teaching each component location.
      http://i.screamingcircuits.com/docs/ScreamingCircuits%20centroid%20ULP.zip

      Hope this helps, and hope you guys have as much fun with your Juki as I have. :)

      Jack.

      • charliex 5:06 pm on September 1, 2011 Permalink | Reply

        Hey Jack,

        Yeah i saw you on the zevatech list, seems like its a small world!. We’re completely replacing the PCB and rewriting the software for it. The reed switch was definitely broken, and once repaired and realigned the head, it picks up stuff really nicely now.

        The initial plan was to reverse the save file and put the centroids directly into that, but we decided to go whole hog and just redo all the software.

        charlie

    • Jack Gassett 8:49 pm on September 1, 2011 Permalink | Reply

      Hey Charlie,

      The thought has crossed my mind to replace the old Z80 computer with a Soft Z80 running on my Papilio FPGA board. :)

      The two problems with that are:
      1) The software as it is is not the greatest, seems like a lot of work and you would end up with the same software.
      2) It’s a lot of work that very few people would actually ever use.

      But, I love my local hackerspaces and if you think you can use a Papilio FPGA board I’d be happy to donate one to you guys.

    • charliex 9:04 pm on September 1, 2011 Permalink | Reply

      thanks Jack, I’ve got a few of your fpga boards already, got a few maybe three years ago? when we were all looking at the sump. we’re always happy to take more donations of dev boards though for people. http://wiki.032.la/nsl/Equipment_Inventory

      But we’re actually replacing it with an Stellaris ARM because TI gave us a bunch of free chips and dev boards, if we promised to make something cool. I’m writing the PC control software from scratch too and adding machine vision etc. I’ve got most of the board ready in eagle.

    • truthspew 9:40 pm on September 1, 2011 Permalink | Reply

      Wow, that is far too cool. Taking an old piece of tech and extending it’s usable life by upgrading it’s systems is priceless. I wish you great adventure with the machine!

    • Tim 3:40 pm on September 2, 2011 Permalink | Reply

      Very cool! How are you planning to implement the control software and vision system? I’ve been laying some groundwork for an open-source pick&place design, and the software controller is the next major step. (Right now this consists only of a Python to EMC2 remote interface and a few not-ready-for-primetime opencv experiments, but my freetime will free up again a bit this fall!)

      • charliex 9:53 pm on September 4, 2011 Permalink | Reply

        Longer term plan is to use a custom arm board, but last night we just built and designed a shield for the arduino mega. Vision is opencv currently

        • rfritz 3:44 pm on September 9, 2011 Permalink

          “Shims, we don’t think these are factory shims.” – They ARE factory shims.

          “The strange piece of string inside the head… What could it be for?” – It could be and in fact IS an oil wick. Google JUKI to find out what they made b4 pp machines.

          Contact Marc LeLonge(sp?) [alphatronique.com] on Zevatech list, he completed the ARM controller w/ PC GUI a while back.

          There are also scanned manuals and exploded mechanical dwgs for machine and assy’s.

        • charliex 7:15 pm on September 9, 2011 Permalink

          We found out about the shims being factory last night oddly enough, however the string was there to hold some bits in place. I’ve already chatted to marc, his solution isn’t finished yet and we’re pertty much at the same stage he his, maybe even a little bit beyond it as we’re moving on to the machine vision.

    • rfritz 4:45 am on September 10, 2011 Permalink | Reply

      I have three 460 heads all with “the string”, just like in your photo. Two from Florida and one from Texas. Hmm.

      • charliex 5:34 am on September 10, 2011 Permalink | Reply

        yeah the oil string thing makes sense for the age of the machine, with modern lubricants you shouldn’t need it. our head was in a mess when we got it and had to rebuild it and it was held together with all sorts/ it wasn’t in the manual we could see either.

    • Marc Lalonde 6:19 pm on September 13, 2011 Permalink | Reply

      Hi

      sorry charlies but my project not a same stage of your
      i have all my machine doing production since august
      and one of it whit vision and servo rotation on head

      Kit i put on ebay was intended to be easy to install and setup so i remove
      servo and vision since i quite hard to setup and expensive since i use cognex vision system
      optic and lighting was not easy task to setup (top and bottom vision)

      as for software issue that have make me crash my machine head it was fixed now
      so now i monitor head cylinder switch and stop all motor in hardware if head was not full up
      old soft version rely on soft but experience show me that if head was stuck down(no air)
      the protection was not good and may let motor move and cause damage

      but i not yet knot if i put back on ebay since commercial grade hardware software make it expensive
      and market was quite limited so seem that i will never recover R&D money i put on solution
      but at last i have all my 5 machine working (3 in production + 2 spare)
      so my project main goal was dome i have machine that operate like i what and take 3 minute to program

      also remeber that make machine move was the easy part , make it easy to operate ,user friendly
      and reliable was more difficult i have ~75k line of code firmware hardware for have it

      Best regard and good luck
      Marc lalonde
      Alphatronique inc.

      • charliex 6:38 pm on September 13, 2011 Permalink | Reply

        We have the head up down detection, it won’t move with the head down, it knows if its homed, it knows the size of the table, it knows if its not moving, it knows if it picked up a tool or not, it knows if it picked up a part or dropped it, it knows if the air supply is probably getting low and waits for the compressor to catch up. It knows if the emergency switch has been pushed and needs to rehome. We’re using half step, the controllers have been updated for newer ones, same for the motors.

        We’ve added all sorts of safety features, some of them weren’t in the original . everything that can be checked is checked. The machine vision is being added too, head rotation is being worked on last night.

        There is nothing fancy about it, its a very simple system it doesn’t take a lot of work to better the zevatech.

        All of this we’ve done in a couple of weeks.

    • Marc Lalonde 10:05 pm on September 13, 2011 Permalink | Reply

      Hi

      as said before i have no bout about your hardware

      i just curious wly change drive and original stepper ?
      original 5 phase stepper have lot of torque @ hi speed compared to 2 phase stepper
      and still not sure about wly use half step ? original drive do 0.25mm/step
      (zevatech software handel only 0.5mm but it software limitation)
      but i found that resolution limitation not come from motor but from feeder mechanical variation (repetability issue)
      and solder past making part slick since head height and force was only limited by gravity

      Best regard

    • charliex 10:10 pm on September 13, 2011 Permalink | Reply

      Simply because we could and had the parts on hand in the lab. The new controllers also offer more features too, the guy i work with is a cnc magician so he’s the one driving the changes.

      We’re also planning to add more features to the machine, and get down to 0402 (or better) we’re working on our own feeder design.

      • Jose 10:42 pm on March 1, 2012 Permalink | Reply

        Hi Charliex, great work on the 360, I have a JUKI KP460 that also have rebuilt and doing some ggood work now, but I’m VERY interested on upgrading it to camera and GUI interface, eager to replace the 286 PC running it!!!! and the folppy drive, great tip, great work, I’m not a programmer but like to tinker, any info/tips on how to modify my unit servos to OpenPnP great. Also feeders, are you guys thinking to modify the feeders? to smartfeeders? and the tips, when you break were do you get the replacements from? I broke a few that I patched and modified to pick up up to 0603 components.

    • charliex 11:56 pm on March 1, 2012 Permalink | Reply

      As long as its stepdir openpnp will support it.

      We haven’t changed the feeders, just been buying them off ebay when they appear.

      tips we haven’t broken yet, but parts we just scav around from people.

  • charliex 5:09 pm on August 22, 2011 Permalink | Reply
    Tags: atmel, attiny, attiny2313, AVR Dragon, icsp, not working, , usbasp   

    Atmel AVR Dragon vs the Kraken 

     

    Yesterday I was rewriting code for Null Space Labs ‘Cylon III’, a blinky toy thing we make and use for people to have soldering practice, it spawned from the EMSL Cylon and then through a few iterations from a simple 9 LED thing to a charlieplexed circle.

    Cylon I

     Production version of [NSL] Cylon I

    Cylon II (with an IR LED to mimic a tv-b-gone)

    Cylon=b=gone mode

     

    Cylon III

    2011-08-21_15-48-14_753.jpg Pretty in....

     

    We use the ATTiny2313 which a lot of people complain has no legs ( the MU package ), I think its great but it can be  a challenge especially with the milled versions of the PCB to fix and replace the chip.

    Anyway I was playing around with different clock speeds in AVR Studio with the Atmel Dragon. The dragon is a terrible piece of hardware when it doesn’t work right, which is  often. It has a design flaw that causes a couple of chips to blow up regularly, so regularly in fact we keep a stock of the chips at Null Space Labs. My dragon has been repaired three times so far.

    Then there is the software itself, the way it interacts with the USB has it disconnect and reconnecting after using the AVR Studio programming interface, sometimes it’ll hang and you’ll hear the USB connect/disconnect cycle until you unplug it ( which increases the chance of the chip blowing up issue  ) and exit AVR Studio 4, which is really annoying especially during debugging.

    So I select the <4Mhz option and AVR Studio warns me that I won’t be able to program the chip if i set it this low, I say no and put it back on the internal 4Mhz. However I fail to take into account that CKDIV8 is set ( clock divide by  8). At this speed the Dragon is having problems reading and flashing the chip, even at 51khz which is the lowest speed. It’ll read the chip id once, or read fuses once, then require me to exit the programming software, and reload it.

    So i think, ok reset the fuses since it’ll let me do one operation. But in AVR Studio you have to read the fuses then set them, you can’t set them by hand then program, this uses my one attempt before the Dragon fails to communicate.  It reads the fuses, but then fails to set them.. I try every variant, unplug the dragon, nope, this fails since it looses the USB setup or whatever AVR studio is doing, reset the target board, disconnect the target board. Nope, the only thing that works is exit the programming interface in AVR studio, let it reset the Dragon and back in again, at which point it reads the fuses again and then I can’t do anything with it, since it no longer communicates with the chip.

    Anyway at this point I’m thinking its time just to replace the chip, but then I remember about our AVR programmer which is a smaller , simplified version of the USBAsp, we call it the Kraken.

    Prototype

    2011-08-21_23-40-28_686.jpg

     

    Final version

    2011-08-21_23-36-56_442.jpg

     

    We only use the ICSP mode and have our own SIL 6 pin programming header. The pogo pin version is much nicer than my hack.

    2011-08-21_23-36-51_683.jpg

     

    Prototype version.

     AVR 2x6 To CX 1x6

    Krs pulls one out of the back and builds it in less than 20 minutes, it’s programmed and ready to go. I  setup AVRDUDE and read the chip id, that works, read it again, still works.. So i try just to set the LFUSE so that the clock is set back to 8Mhz, and bingo it works straight away.

    2011-08-21_23-38-16_2.jpg

     

    USBASP/Kraken 1, Atmel AVR Dragon 0

    2011-08-21_23-41-54_557.jpg

     

     

    Atmel sells the Dragon for $49 http://store.atmel.com/PartDetail.aspx?q=p:10500053 it comes with no case (which doesn’t help the chip destroying problem either ). I personally think they should rev it, or sell it with a box,or at least a warning. Using it with a USB Hub will help alleviate the chip killing problem.

    Here is the web page that lead us to keeping a stock of chips, we’ve fixed about 6 of them in the last few months, so far its always the same issue. http://www.aplomb.nl/TechStuff/Dragon/Dragon.html

    But why it can’t flash the ATTiny2313 when the USBAsp/Kraken can just seems like a software problem. Now if only we had access to DebugWire I could do without the Dragon altogether.

    Still after you’ve seen a few of them with holes burnt through the chip and sometimes even into the PCB, you’ll know why Atmel calls it the Dragon. It’s funny how the people who make the chips can’t get their programmer to work well, when one guy in germany can.

    I’d like to say no Dragons were harmed during this process, but one of our members ( who coincidentally named the Kraken project) blew his up while I was working on this problem ).

    Since this blog was written around 8/22.. We’ve blown up another three dragons..

    Links

    http://www.fischl.de/usbasp/ USBAsp home page
    http://wiki.032.la/nsl/AVR_Programmer Null Space Labs Version of the USBAsp
    http://www.aplomb.nl/TechStuff/Dragon/Dragon.html How to fix the Dragon (and add some improvements)

     
    • Mick Mearns (MickM) 4:37 pm on August 25, 2011 Permalink | Reply

      Are there Eagle files and firmware for the Kraken?

    • Jan 10:57 am on August 26, 2011 Permalink | Reply

      Hi Charlie,

      I can’t tell for sure from the photo of your dragon, but it looks like the original peace of black foam that came with it is still under the PCB.

      I guess it’s the anti static type. I measured it with a multimeter when I received my own dragon and it clearly conducts. I also left the dragon in it’s box but replaced the foam with a non conducting varient.

      Just a thought. My Dragon has been working flawlessly, I much prever it over USBAsp devices.

      • charliex 5:00 pm on August 26, 2011 Permalink | Reply

        Hi Jan,

        Its just dark looking the foam pad is long gone !

        I use the dragon for debugging etc, but even then it drives me potty, or at least AVR Studio 4 does, it frequently fails to connect and gets stuck in a disconnect/reconnect loop quite often. I suppose it comes down to how heavily you use it, but when we’re doing an event with lots of people and chips to program, it fails way too much. I usually end up unplugging it, then quitting AVR Studio 4 at least once a session, same with the reconnect/disconnect.

        The USBAsp is cheap and quick to make/replace, which is its primary benefit when you’re teaching or doing a lot of programming.

  • charliex 4:51 pm on May 11, 2011 Permalink | Reply  

    Starting a new design.. 

    I’d been meaning to build a USB isolator for a long time, especially since people tend to rely on and my laptop/pc for programming and testing of the new boards they’ve built. Regular hub’s don’t offer much protection and the USB chips will shut down if they detect something, so an opto-isolated USB adapter is a good thing.

    I found a USB isolator from circuits@home, had BatchPCB make a few of the PCB’s ( Not recommended as they are too expensive and their customer support is non existent, try Silver Circuits instead )

    After krs built and I tested the USB Isolator it seemed to work pretty well, so the next step is to adapt it for an NSL project. In this case I went back to the chip itself and decided to start from scratch. We’re using the Analog Devices ADuM4160 USB Isolator.

    Step 1 – Find Chip, datasheet and Design

    Find the datasheet, and another other points the OEM has, Analog are generally really good at this.

    http://www.analog.com/static/imported-files/data_sheets/ADuM4160.pdf

    Easy enough , a neat chip and its used in the Circuits@home, we looked at the http://www.analog.com/en/interface/digital-isolators/adum3160/products/product.html but its 4-5V and only does 2.5KV of protection.

    Even better a whole article discussing the chip, problems and sample designs, it also has a design for the ADuM5000 Isolated power supply.

    http://www.analog.com/library/analogdialogue/archives/43-06/USB_isolator.html

    So the above shows an isolated hub design. That would make a good project and its different enough from the Circuits@home to make it worthwhile.

    Evaluation

    http://www.newark.com/analog-devices/eval-adum4160ebz/usb-digital-isolator-eval-board/dp/10R6464?in_merch=true&MER=ACC_N_L5_SemiconductorsIntegratedCircuits_None

    Another neat link is http://wcm-prod-edn.cancom.com/article/465019-Isolating_USB.php?gotourl=http://wcm-prod-edn.cancom.com/article/465019-Isolating_USB.php

    Step 2 – Find availability of the chips.

    So this is probably one of the most frustrating aspects of design, sourcing the chips. We’ve decided to look for the ADuM4160, the ADuM5000 and the Atmel AT43301 chip… Uh oh  its my nemesis, Atmel… Almost every design I’ve ever done that’s relied on Atmel has either met out of stock for months, or discontinued..  Ok so off to findchips.com to do a quick survey of the land.

     

    adm4k

    Ok good, a spread of stock over different suppliers with a decent quantity for a project of this size. Prices as usual vary widely. Newark often come in the lowest, $9.78 vs $12.23 at digikey and oddly $19.41 at element14. Even odder given Farnell/Newark/element14 are  basically the same place.

    Also I notice there is a eval board, so we’ll note this part number and look up the datasheet for that too, it’ll more than likely give us the schematic to work from, as well as layout tips. The chip datasheet covers local layout aspects for the PCB for the chip itself, but the evaluation board gives you it all usually.

    Ok the ADum5000 ( which we may not use in the hub since a hub potentially requires more power )

     

    ad5k

     

    It is in stock, but a low count/spread if I were doing a commercial production run I’d look into it further. Again Newark has beaten Digikey pricing (Newark also ship everything in separate white envelopes inside the bag with markings on the outside vs digikeys plastic baggies )

     

    On to the Atmel….

    43301

    What a shocker! no stock… no spread.  Ok so time to head over to Atmel, and see what’s up with the chip. Ok –AC version is non ROHS, so it is gone. Its a few years old so its not surprising its been EOL’d

    Over to http://www.atmel.com/dyn/quality/quality_prod_obsl_result.asp and lets see if it is on there.

    AT43301-AC AT43301 5/20/2008 11/20/2008 No replacement, same for the -au… Well that tales the biscuit, obsoleted, no replacement.  checking eBay turns up no results, and its too difficult to deal with the part finders on Google to source a chip. So we’ll have to start looking for a different chip. So far my Atmel experience is staying true.

     

    Step 3 – Find a replacement chip or design.

    I’ve had mostly good luck with TI , I like the Stellaris series they bought, though the chip i used wasn’t in mass production last time i checked. Poking around we get the TUSB2046B its available in LQFP32 too

    Data Sheet –: http://focus.ti.com/lit/ds/symlink/tusb2046b.pdf

    Newark :- http://www.newark.com/jsp/search/productdetail.jsp?SKU=77C1805&CMP=AFC-SF-T11

    3.3V, which isn’t uncommon. Hugely available pretty much everywhere, ( 56,779 in stock for one sku ) slightly more complex to implement.

     
    • Will 10:28 pm on June 20, 2011 Permalink | Reply

      Hey there. I’m shopping for a PCB Mill and wanted to know what you think of your mill after owning it for a while. I’m starting up a new venture and working hard to make sure it’s well equipped. (I used to write Hack-A-Day if my name seems familiar)

      • charliex 10:45 pm on June 20, 2011 Permalink | Reply

        Hi Will,

        Yep its pretty awesome, very happy with it, we have it at our hackerspace [Nullspace Labs] in los angeles.

  • charliex 8:03 pm on January 9, 2010 Permalink | Reply
    Tags: , ,   

    Made a quick video of PhCNC running a board. 

    http://www.youtube.com/watch?v=xxod4tFOfDY

     
  • charliex 6:44 am on January 9, 2010 Permalink | Reply
    Tags: HiView USB Microscope, isolation bit, , , ,   

    HView USB microscope and difference with V90 vs V60 bit 

     

      I used a xmas gift to take some of these, its a wireless usb handheld microscope. http://www.thinkgeek.com/gadgets/electronic/c6d1/

     

    V60

    Still_2010-01-08_223658_N0016

    V90

    Still_2010-01-08_223647_N0015

     

    A few more snaps

     

    Still_2010-01-08_223447_N0014

     Still_2010-01-08_223428_N0013

    Still_2010-01-08_223340_N0012

    Still_2010-01-08_223331_N0011

     

    Those are 8mil traces.

    Still_2009-12-24_120232_N0001

     
  • charliex 9:10 pm on January 8, 2010 Permalink | Reply
    Tags: EasyContac, LPKF, , , through hole, VIAS   

    LPKF EasyContac test 

    I used a BusPirate V3 board to test out these rivets. They are effectively thru-plating for PCB’s, normally you need to do messy multistage chemical stuff to do it at home. This isn’t as good a result as a chemical plate but it makes up for it in ease of use. It’s not the cheapest option, which is usually just using a bit of wire in the hole and hand soldered in, but that can cause problems with VIA’s under flush mounted  components.

    Basically you put a rivet in the hole, flip it over and hit with an automatic center punch.

     LPKF Store

    http://www.lpkfusa.com/store/pages/list.aspx?cat=10/31&cid=31

    BusPirate Dangerous Prototypes ( Buy one of them at http://www.seeedstudio.com/depot/preorder3-bus-pirate-v3-assembled-p-579.html and support the effort Ian is making )

    http://whereisian.com/forum/index.php?board=4.0

    Here are some of the results so far. I didn’t spend as much time as i ought to have aligning the backside of the board, so the drills are slightly off.

     

    TopSide

    DSC02327 (2)

    Bottom side, they take up less space on the side that’s being compressed.

     DSC02329

     

    I used a needle to insert them one a time, a wire strung with a bunch might work.

    DSC02330

     

    A few more added.

    DSC02333

     

    Takes a little practice to get them smooth, making the automatic center punch ‘snap’ is key. They’re almost flush when that happens. (circuit in the back is Jack Gassett’s butterfly (the logic analyser update for the sump) http://blog.gadgetfactory.net/ )

    DSC02335 

     

    some closeups with the HiView wireless usb microscope, because of the way it works you see black rings where there is really copper if its an angle.

     

    This one went funky, needs some after attention, I didn’t put the center of the punch in the rivet !

    Still_2010-01-08_142100_N0005

    trying out different pressure settings on the punch

    Still_2010-01-08_142122_N0006

    Still_2010-01-08_142133_N0007

     
    • ericwertz 5:22 am on January 12, 2010 Permalink | Reply

      So these guys work solely via (pun intended) their mechanical connection to the clad?

      • charliex 6:07 am on January 12, 2010 Permalink | Reply

        yep, but given the pressure involved they’re not going anywhere. Plus you can make the via pads bigger and solder them too. they practically fuse.

    • Mikael 12:48 pm on November 22, 2011 Permalink | Reply

      Nice things but INSANELY expensive in sweden. Kit with ~4000 rivets and tool is almost $1000. (yes $1000!!)

      • charliex 5:45 pm on November 22, 2011 Permalink | Reply

        they’re pretty expensive here too.

        • Paul Wanamaker 8:36 am on March 16, 2012 Permalink

          You can easily make copper via rivets yourself, and it’s not expensive, and they are easy to place. I wrote an article about this on paulwanamaker.wordpress.com

        • charliex 6:16 am on March 17, 2012 Permalink

          it looks like you’re using solid core wire and the soldering them in, that works for a lot of stuff but the problem is if you do any reflow they typically fall out again the rivets mechanically make a joint so you’re not worried about that. but we use the wires too when we dont need that,

          cheers

  • charliex 5:29 pm on October 3, 2009 Permalink | Reply
    Tags: , PCB Cutting   

    AccurateCNC PCB after cut/routing, stretched pulley belt 

    DSC02187

     DSC02188

     

    Hand held video of it doing the cut, guess which part of the cut I forgot to switch on the vacuum for?  Now solved by adding the automatic vacuum switch.

    I stretched the rubber pulley belt, so replaced it, at 60,000 RPM it goes wild, I just wish changing our supercharger pulley belts was as easy as this one.

     
  • charliex 5:47 pm on September 30, 2009 Permalink | Reply
    Tags: , , , , Z home   

    Day two with the AccurateCNC 560 H 

     

    Once I’d figured out the bit was wrong, the results got a lot better… This board is not routed correctly and had a bunch of warnings but you learn from mistakes right ;)

     

    DSC02182

     

    this is how i interpret the manual on how to do the Z home depth setup. MSPaint ( well Cosmigo promotion) FTW.

    ZHOME

     

     

    Day two , night mode

    Attempt a drilling and cutting an actual working board, even though the above PCB to me looks passable, it really isn’t upto the quality that the machine can make, there are a few wiggles and zig/zags etc, but so long as the traces are clean right ? Well wrong, after fiddling with it all day and just getting more comfortable with it , i can say with great certainty that I got the machine working a lot better, the best advice i can give you the reader is, find out what a V bit actually looks like, so when you find you’re using the right bit, you aren’t looking at a bit of paper that got flipped around in the poking about. It doesn’t for instance look like the 18mil drill bit, its a short stubby affair and doesn’t at all look like it’ll cut super fine lines, when in fact it does rather well. So I’ve come to the conclusion the zigzag/wobble is from the longer 18 mil bit swashing around.

     

    So what does the difference between a board cut with the 18 mil drill bit vs the proper V90 bit ? Funny you should ask!

    A360_Test-005a

     

    I managed to get the holes all the way through on the first, and not on the second one, so I’m still learning with the depth setting, I’m just being overly cautious though, the machine has insanely fine control so you’re think that seems really far, and its like  a micron or something, three full turns and still not enough.

     

    I also adjusted my vacuum to bleed a little, so that its generating less suction, it has helped and not getting the ghosting quite as much.

     

    Of course you could read the owners manual, i really just glossed through bits of it, and Chris at AccurateCNC likes to remind me of that every few emails, he’s right though ;)

     

    I setup a webcam with Webcam XP so i could watch the machine from the other room and see how its getting on, and a moth came over was very interested in what was going on, used a second webcam pointing at the machine.

    The software is pretty easy to use, I actually struggled with some parts of it because I’m used to bad software, I like the way that it zooms in where the mouse is, and not just the centre for instance, nice touches.

     

    I cut another board, that came out looking good from a quick visual, i haven’t taken it off yet since i want to drill it, and to be perfectly honest, i dislike imperial measurements intensely, so all that 0.007 8/32th’s stuff has to go away (the software shows both, its the hardware i need to legend.

     

    Things learnt today

     

    1. REALLY check the bit, learn that the V bit is short and stubby and the drill bits look like drill bits..

    2. In the tool change area have something soft to catch bits if you drop them, not hard floor, wood, metal etc. Although this helped me find my mistake as i fumbled the 18 mil bit so it dropped out and broke, i had to go checking, and noticed there were two 18 mil bits, which gave away the legend.

    3. Read the manual ( I’m probably not going too, and will keep on making mistakes but I’m having fun doing it)

    4. Take a deep breath and relax, if you’re not that used to this sort of machine it can be intimidating or overwhelming. Its really not that bad at all.

    5. Have a dedicated computer. I set mine up with just the various cnc tools i used and subversion.

    6. Too much suction can be bad, it moves the board.

    7. Be aware of the dust.

    8. Convert all the drill bits and such to the measurement system you’re used too beforehand. Have a good supply of bits, i bought both kits 1 and 2, but i think maybe I might need more (just not 18mils)

    9. There is a PAUSE button, and you can restart in the G code at any place, chris pointed that out to me, and that its in the manual…

    7. I have to go over this blog and fix the grammar errors! But I’m beat for tonight.

     

    Tomorrow I’ll try the fiducial registration..

     
  • charliex 3:27 am on September 29, 2009 Permalink | Reply
    Tags: 560,   

    AccurateCNC 560 arrives 

     

    Well it finally arrived, after much deliberation i upgraded to the 560 H model with camera and PhCNC Pro. A 127lbs crate arrived from Fedex Freight, since its a residential address you make an appointment with them, they were only two hours late though. The driver had a palette lift and tail gate, so it was easy to get it inside the garage, I opened the top of the box, and one side, I used a drill to remove the screws.

     IMG_0844Up

     

    There are two shipping bolts on the bottom side, two 7/16ths nuts and two metal plates, remove all the gubbins in the box, the nuts and lift the machine out. Remove the two threaded rods and replace with the mystery two bolts that are taped to the bed of the machine.

     

    IMG_0846

     

    not a lot of space in the garage!

    IMG_0843

    Out of the box, the two bolts needed to be tightly bolted to the underside are in the plastic bag at the hither side.

    IMG_0847

     

    Vacuum hose attached, strangely it says but the collector ( metal L shaped thing with a hole) on the left side, well put it on the side with the two bolts and the X axis motor

    IMG_0848

     

    Tighten this set screw, (middle of the hose/lower) you’ll need a different Allen key than is supplied. The hose has one end where the tube rotates freely, the other is glued and has more length exposed, the short end goes in the head, the longer end in the collector. The label is on it, but i had a slight mishap when i removed it, the metal tensioner inside fell out while I was fiddling with the label, mark the right side with an X before you remove the label.

    IMG_0849

     

     

    1 1/2” hose needed here, it seems backwards to me, but I’m sure its for a good reason.

     IMG_0850

     

    Head/spindle assembly, you can see the contact PCB on the left side, strangely enough I’d been looking at his myself a few days ago, I’m glad to see its used here (it helps to set the z depth) plugs in at the back

    IMG_0853

     

    DSC02125

     

    DSC02128

     

    Z homing board

     DSC02129

     

     

     

    The black plug/blue cable added to the spindle to ground it properly.

     DSC02131

     

     

     

    Setting the Z depth, the PCB isn’t secured yet.

    DSC02134

     

     

    I did pickup a little HEPA dewalt shop vac from lowes, its cheap ($100), fairly quiet and the right sized hose, but it probably won’t last as they aren’t meant to be run for long periods of time. Its a start though

     

    Somehow i totally missed this connector on the front for the camera power, but it also meant that i had to reroute the wires under the vacuum tube, instead of over as the wire would be too short otherwise, not much play and a lot of room for tension, I’d temporarily used zip ties, but i plan to replace them with something more forgiving before i put the machine into use.

     

    IMG_0855

     

     

    Some notes i wrote while on the phone, haven’t tied them up yet, but i want to edit this on another machine!

     

    negative value penetration

    for the first board, 5.900, mirror line (the line that serves to flip to the board, x centre)

    if you have a camera, you don’t need to use them.

     

    tape backing material on all four sides. because the tape has goes resistance across all four sides, so it doesn’t move.

    100mill backing material, place pcb on top of that.

    tape pcb on all four sides to backing material FR4 double sided.

    inside copper material, place the part over and push it with your hand slightly to lay down on the copper material, there are two wires plugs on them the green wire with black plug into the black socket on the rear, and then connect that to a secure ground, place under the belt on the spindle pulley (smaller pulley) the rotor of the spindle is securely grounded, otherwise the grease might insulate it, so its makes a good ground for the spindle rotor. This way the tool is also grounded via the collet.

    CNC mode, button home Z this buttons homes ask you to touch the tool with the pad to check the circuit otherwise it’ll go to far and damage the bit.

    The ok button will change, its not active immediately, you have to touch the tool/bit with the pad and the button will become active

     

    the insulation tool is always first, the 90 or v45, one 90o one 45o.

    Install it in the collett tool and expand the depth limiter, 1/4” or so, to extend it you have to turn the micrometer clockwise, then you can push the contact pcb underneath and the depth limiter is plastic, careful turn the micrometer counter clockwise itll retract the depth limiter, a red led will light when you contact the pcb with the tool. then carefully go back and forth til it just touches the test pcb, the tip of the tool is exactly in the same surface as the end of the depth limiter, once you are on this point you can turn the micrometer about 3 1/2 division counterclockwise and you’ll get a protrusion of 3mils into the material, 3 mils is perfect for insulation.

     

    45o V tool, and 3 – 3 1/2 protrusion inside the material, penetration.

     

    keyslot table, h has 3 extra pieces.

     

    First power on

    On switch on with the USB connected, the machine doesn’t do much, very slight fan noise, flash of a red like then the green light flashes,  my windows starts downloading an update for the camera via windows update, I’m not sure yet if it’ll do the right thing since  a lot of these drivers are generic and lots of manufacturers have their own driver sets, so we’ll see . It appears as a Lenovo Q350 USB PC Camera. (When I installed it with the CD drivers, it changed the name, so watch out ! )

    Didn’t see a driver request for the machine itself, might be a  standard driver or one i already have,  Hmm no USB, check the cables they’re ok, so i swap to the other usb port on my dell xps 1530 and hear the familiar device connected thunk and asking for drivers for the PhCnc360, off it goes searching windows update first, now asking for a CD, off it goes searching, typing during a windows install is a really bad idea since it often pops up dialogs as window top, so you end accidently cancelling or something worse. Hmm it says it cannot find the file specified, this ought to work with Vista 64, so lets see. From looking over the INF it looks like the file ,PhCNC360_x64.sys, is missing from the CD. The 32 bit drivers are there. Quick call to AccurateCNC and although the drivers are partially there, apparently they haven’t gone ahead with the 64 bit drivers since Microsoft requires code signing (they don’t really since 64 bit windows allows the user to turn it off on boot), but no good for me since this machine is 64 bit as are most of my machines….. so they’ll get a driver off to me soon.

    Ok time to grab another machine and install the software BRB ! Or see if my dual boot windows 7 32 rc1 trial is still licensed on this machine

     

     

    Day 2

     

    Windows 7 32 bit worked just fine, so i set about cutting a couple of test PCB’s, one problem I found is that the table is too unstable to work with this level of precision, so i have to fix that first.

    I did not take into consideration about the border required for the head, thinking it’d just be the bit, so it pushed some of the tape, no big problem just upset the first pcb.

    DSC02151

    Whoops!

     

    I used the “singlesided” example from eagle for this quick test.

     

     

    Second PCB came out better, but either i didn’t tape it down enough or the table is wobbly, probably both! I have not finished the layout of this board, right angles, poor routing, but i wanted something quick to test it with, just under 10 minutes to cut this side only.

    A360_Test 002a

    Masking tape probably isn’t good enough.

    DSC02153 

     

     

    This button allows you to move the spindle around the board.

     

    DSC02154

     

    CTRL (the mouse changes to a little drill bit) and right click executes a ‘goto’, this helps you position the PCB. You can also mark it with a right click and add a thumbtack.

    DSC02157

     

     

    Test 3

    So I cut another board after making myself a new table, thinking the old one was too wobbly, and also thinking if the table being wobbly is a problem, why are the rubber feet so soft (to dampen of course) after all its all relative to the bit. So i cut another PCB, this time after going through the HOME Z routine from the manual, it has me place the contact PCB on top of my working PCB, to me this makes more sense, but what makes less sense is that it worked before, and it still works…. so I’m lost on that one. Anyway after looking at the PCN having the same jaggies, I thought check the bit, and looked at the container they came in….. .oh dear… I thought it was bit in position #2 was the V90 ,nope that’s a router 50mil bit… So I drop in the new bit, rehome it and start it off cutting again, it isn’t making it through the copper so i turn the micrometer one division counter clockwise, this does the job. There doesn’t seem to be any pause function, if you stop it, it restarts, but tool change does work, it’d be nice if there was a way to say pause after you’re done with the this track and let me look at what is going on, but this would be less necessary once you know what you’re doing, which I do not!  ( And to further demonstrate I’m a noob, there is a pause, its even in the screenshot above !! ) the Pause is under PARK to the left of the Emergency STOP, yep. I’m blind.

     

    But this thing is awesome so far, I used the follow camera mode and zoomed way in so i could see the tracks, it overlays them on diagram so you can actually see what it cut, and it works really well, better than my camera did of taking a picture of it.

    DSC02174

    Now the pink areas are ‘’warnings”, I’d have liked it that when I started the machine it said, hey there are warnings on this board, continue? yes/no but then it’d be almost as annoying as windows, i mean for heavens sake they’re in pink and also in the bottom left, but I missed them til it was too late, this is a close up of the bad area ( my fault on the routing ) and sure enough it shows a fault, there is meant to be a cut in the middle vertically. Cool Huh! Beats looking at it with a microscope and sucking up all that copper dust.

     

    The camera is fixed focus, so its out of focus when the machine is moving around, the auto focus moves the Z axis.

     

    I can’t tell if my vacuum is powerful enough or what, its whistling which tells you there is a restriction in the air so it wants to suck more than it can, Chris@AccuateCNC did not to try to get a speed variable one, but I couldn’t find one locally. Also the vacuum switch is a must, I forget pretty much every time, you concentrate on what the machines doing, instead of making sure the vacuum work. On these new boards I’m getting a fine copper dust left over, and didn’t on the sample PCB’s, not sure why yet, it might be the bit change, a height change or material change.

     

    Better picture of the bit changing operation.

    DSC02141

     

     

    So lessons learnt on this PCB

     

    1. Check you’re using the right bit

    2. Check for warnings in the PCB before cutting

    3. Do a test cut on a piece of the board not being used to make sure the depth is set

    4. Don’t forget the vacuum

    5. Try not to suck up any of the dust, be wary of it !

    6. The shipping box works as a great table, oh and the packing list and how to remove it from the box, is on the underside of the top panel, which if you’re like me you didn’t notice and put the top to one side.

     

    This is my first experience with a machine like this, normally I send it all off to a fab, so I’m a noob here but the learning curve has been nowhere near as high as I expected it to be, I made a couple of silly mistakes, some quiet time with the machine and manual would have helped, but that ain’t happening soon. Its my first day with the machine running and yet managed to produce an almost useable PCB, had i fixed the warnings in my layout and set the depth correctly it’d be 100%

    Though i have yet to attack drill holes or double sided yet.

     
    • nastelroy 6:32 am on October 4, 2009 Permalink | Reply

      Hi…looks nice machine ?
      can I know how much you have bought the machine?
      the resolution of this CNC?

      thanks

      nastelroy.wordpress.com

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
Follow

Get every new post delivered to your Inbox.