First Power On
NOTE: During setup, the software will ask you “Home machine now?”. Do not click yes, until the homing operation is set up. After the homing works, always answer yes – the question means that the physical location of the machine is not the location the software has.
Check your wiring once more. Before first power on, turn the Motor4 current trim all the way counter-clockwise (minimum position), then turn it up about 10%. Manually push the machine to center of your work area. Also, manually turn the Z axis down somewhat; we want to have room for check-up. Connect TinyG to a USB port on your machine and turn power on. You should see a blue light turn on and a red light blinking for a while, then some green lights and the red light constantly lit. Good. Then, start the LitePlacer control program, and select the Basic Setup tab.
On top left corner, there is a box labeled “Serial Port:”. If this is not automatically populated, press the “Refresh List” button. If you know which serial port is the TinyG, select that one, otherwise you have to try them on by one. Press “Connect”. With the right port connected, you should see some communication on the log window and values getting set in the boxes.
Congratulations! You have established connection to TinyG, and are now ready to set up the machine. If the values in boxes are not getting updated, there is no point continuing, you need to establish reliable connection first. See Communications troubleshooting section at the end of this page.
Setting Default values
Click the two “Reset to Defaults” buttons on top of the window. One is for application settings, one for control board settings. Click both. Again, you should see some communications and values changing.
Checking Motor Connections
Press Alt+F6. The machine should move 10mm to right. Press Alt+F7. The machine should move 10mm away from you. Press Alt+F12, and the Z axis should go 10mm down. Finally, press Alt+Shift+F9. The nozzle should turn 90 degrees counter-clockwise.
CAUTION: If you need to change the wiring, turn system power off first! Failing to do so WILL kill your TinyG!
If any of these does not happen, check your wiring. If any of the movements happen to opposite direction, turn power off and switch one of the motor pair wires.
Checking Limit Switches
If you don’t have an easy to activate switch wired to TinyG reset connection, now it is a good time to install one.
By default, limit switches are not enabled, because it would be hard to get this far if there would be a problem with their wiring. But now, enable the “xxx limit switch used” tick boxes one by one.
If you have no problems in wiring of your switches, nothing should happen, and you should still be able to move the machine 10mm to right with Alt+F6. After activating a tick box, manually trip the switch. You should see blinking red light at TinyG and get a message from the control program. Press reset button and re-establish connection with TinyG. Repeat with all limit switches. Assuming no issues at this point, enable the homing switch tick boxes as well.
Of course, if there were any issues, correct them before continuing. See the “Wiring the Limit Switches” page for wiring instructions.
Test and Setup Homing
Next, press the “Home X” button.
The machine should travel to left, hit the switch and back off a little. If it tries to go past the switch, press reset immediately. Be sure the “Homing switch used” tickbox is set and check the wiring once more. If the machine was unable to move, check your mechanics, also see that the trim potentiometer at TinyG Motor1 section is about midway or so.
We’ll get to manual machine movements later. For now, learn that Alt+Shift+F6 moves the machine 100mm to right. Do that, and re-test homing. In the “X” box on the Basic Setup tab, there are adjustments for “Homing acceleration” and “Homing speed”. The former adjusts how fast homing reacts, the latter how fast homing cycle moves in steady state. When you adjust values, you notice that the numbers turn red. This indicates that the value on your screen is different from what TinyG has. Press enter to send the value to TinyG.
You want the homing movements to be smooth without any clunks or other effects. You also want the homing acceleration be as fast as it can be while being smooth; do note, that acceleration values is also deceleration. If a limit switch triggers, you want to machine to stop as fast as it can. Besides, with (too) small deceleration value, you might not have enough physical room for the machine to stop.
You also want reasonable speed: You will be homing the machine regularly, and you don’t want to wait minutes each time. (For reference, I have my machine acceleration and speed set at 2000 for both X and Y, the Z axis acceleration at 500 and speed at 1000.)
Repeat for Y and Z axis. For Y movement, Alt+Shift+F7 backs it away 100mm, for Z, Alt+F12 takes it down 10mm. Note, that Z axis home is at the up position and there is no homing function on the rotary (A) axis.
Press the “Home XYZ” button and enjoy your work!
Jogging
At lower right corner of the program there are remainders for the jogging controls: F5 moves left (-X), F6 moves right (+X), F7 moves away (+Y), F8 moves towards you (-Y), F9 turns counter-clockwise (+A), F10 turns clockwise (-A), F11 moves up (-Z) and F12 moves down (+Z).
Default movement is 0.1mm or 0.1 degrees. Shift is small multiplier: Shift+Fn key moves 1mm/deg. Control is for precise control, and Ctrl+Fn key moves 0.01mm/deg. This is too small movement to cause movement on one press, but cumulatively, a few of these will have an effect. Alt is a big multiplier. Alt+F key moves 10mm/deg. You can combine these: Alt+Shift+F key moves 100mm/90degrees, Alt+Ctrl+F key moves 4mm/deg.
Numpad arrow keys also move the machine in X-Y dimensions, but there is no precise control of the amount. Please note also, that when you move the machine in Y direction, the squareness correction is not applied. (See “Setups Using the Cameras: Squareness“).
You might want to put remainders on your keyboard, like I did:
Setting up Movement
Home the machine. Then jog it to right so that it almost but not quite trips the limit switch. Note the X coordinate in the status area and put this number to Max X machine size. Similarly, find the maximum Y movement of the machine and put this is the Max Y box.
Actual Z travel will be determined in run time. The travel used in fine-tuning the Z movement is in the Z Test Travel box.
Test buttons
“Test X” button moves the machine from X0 to Machine Size Max X. Next click will move the machine back to X0. “Test XY” moves form (0,0) to (MaxX, MaxY) and back, “”Test YX” moves along the other diagonal. “Test Z” moves Z axis down and back up. “Test A” turns the tube one revolution back and forth. Finally, “Test XYA” is like “Test XY”, but with added A axis revolution.
Adjusting currents
When adjusting the machine movement, you probably need to adjust the motor currents on TinyG. When doing so, be careful to not overturn them, they only have 270 degrees of movement. Also, be careful to not cause short on TinyG!
You want to adjust the current so, that you have enough current for all the movements, but not to unnecessarily heat the motors. The motors use maximum current when powered on but idle. Check them after some use; you don’t want the motors to be very hot to touch. The A axis should not need hardly any force to turn, so a low setting there is good.
WARNING: High current setting on A is too much for the small motor!
For reference, I ended up with these motor current settings, for no particular reason: x: 100%; y: 90%, z: 60%; a: 30%.
When finding the speed limits of your machine, you will stall the motors. That is easy to notice: the motor will emit a strange sound and the machine does not move as expected. Do not click the test button again, as the software has lost the machine position and would crash the machine. Instead, home the relevant axis.
Adjusting movement
The movement controls are the Acceleration and Speed on top of the motor control boxes. As implied, acceleration controls the start and stop phases of movement, speed the steady-state phase. Using the test buttons, adjust the machine for smooth movement. Look for signs of “unsmoothness”, such as noise, vibrations etc. Of course, you don’t want the machine to stall. Make sure to check X movement with various positions of Y and vice versa.
Note, that you want maximum smoothness, not maximum speed. You can always come back here for re-adjustments, should you find that necessary.
For reference, at the time of writing this, I’m testing the accuracy limits of my machine. It could move much faster, but today, my settings are: X and Y acceleration 200, X and Y speed 10. Z acceleration is at 80 and speed at 5000. A acceleration is 600 and speed 20.
Setting Z limits and Travel
Manually attach a nozzle to the adapter. For now, adjust the upper Z limit switch so, that there is room for the holder under the nozzle when the head is in the up position. This will reduce the chances for a crash during setup; you can lower it later if you wish (but should you decide to do so, remember to come back and repeat the operation below!).
Be sure that the Z max switch (the one activated when needle goes all the way down) works properly. Click the “Calibrate” for needle height calibration.
As instructed, put a normal PCB under the needle; you can jog the machine to a suitable position if needed. Press “Next”. The machine will run a homing cycle to down direction. When done, it asks you to jog the Z axis up until the nozzle only barely touches the PCB surface. Do so, and press “Next”. You’re done, the machine now knows its limits on Z direction also.
For testing and setting Z speed, you would use the Test Z button. It will move the Z axis down and up By the amount set in the Z test Travel box. Start with a small value, so that you don’t crash your nozzle. Increase the amount so, that you can do the test using almost all the travel. As with X and Y, try to find speed and acceleration values so, that the speed is fast but the movement is smooth.
The Z shade guard value is for homing. Depending on your limit switch positions and your needle shade, the shade might hit the belts when homing. If so, this setting lowers the Z axis during X homing to avoid bending the shield. Adjust if necessary.
For setting the placement depth, please read this page.
Other Settings
Vacuum
Now is a good moment to check that “Pump On” checkbox activates and deactivates the vacuum pump and the “Vacuum On” checkbox activates the vacuum on and off at the nozzle tip.
Motor Power
Even when not moving, the motors are normally energized, as the machine actively holds position. The downside is that the stepper motors heat up the most when not moving. Therefore, it is not a good idea to keep them on indefinitely.On the other hand, the motors loose precise location when powered off due to magnetic backslash. To solve the dilemma, there is a built-in timeout in the TinyG for this. The software is aware of the timer and will prompt you when it times out. You can control the motor power also manually using the “Motor Power” checkbox.
Machine Size
The machine size checkboxes allow for a custom size machine or limiting the machine movements.
Park Location
You can manually set a “Park” location. This is where the machine will return after a successful placement job. There is also a button in the low right bottom of the user interface for this. The purpose of this special location is to allow working on the table and automatically take the machine out of the way to a convenient location. I use upper left corner.
Slack Compensation, Small Movements and Miscellaneous Settings
All mechanical systems have some backslash or slack, however small. Also, microstepping stepper motors have some between the steps. For most accuracy, the machine can be set so, that all positions are approached from same direction, minimizing the slack effects (the slack is always on the same side of the motors and axis). Unchecking the “Slack Compensation” makes for a bit faster and smoother machine at the cost of accuracy. You’ll find out if you need this when doing test runs. As a general guide, keep this checked for 0603s and smaller, and you might find it necessary for compact 0805 designs as well.
The “Small moves speed” setting controls the speed of slack compensation and other minor moves. This affects the smoothness of the slack function and some camera based calibration location searches.
Setting the squareness correction requires the downlooking camera to be correctly set up. We’ll cover this later.
The vacuum time settings are self-explanatory. You’ll notice if there is a need to tune these.
Communications Troubleshooting:
The connection needs the virtual serial port driver from FTDI. Your system might not have it. If not, it may seem that the software connects but nothing happens. A customer reported: “When connecting the device, it seemed like it connected but nothing would happen. I installed the recommended FTDI driver, and when I connected, it added a ‘usb serial converter’ device under univeral serial bus controllers. right click on that, go to properties, advanced, and select load vcp. then unplug and replug it in — the serial port is then added after this is enabled.”
The driver is available here.
If the board seems unresponsive, unconnect switch and reset connections. To rule out USB issues, unplug other USB devices (hubs, cameras etc) from your system and connect TinyG directly to a computer USB port.
If you get some communication, it is possible that the communication parameters are set incorrectly. I have seen this twice, but so far, I have no idea why that should happen. Fortunately, it is easy to correct:
Type {“sys”:””} in the “text to send” window and press enter. You should see this:
==> {"sys":""}
{"r":{"sys":{"fb":438.02,"fv":0.970,"hp":1,"hv":8,"id":"1H4973-HTS","ja":100000,"ct":0.0100,"sl":0,"st":0,"mt":300.00,"ej":1,"jv":3,"js":1,"tv":1,"qv":2,"sv":1,"si":200,"ec":0,"ee":0,"ex":1,"baud":5,"net":0,"gpl":0,"gun":1,"gco":1,"gpa":2,"gdi":0}},"f":[1,0,11,2816]}
ReadyEvent sys group
Here is an example of erroneous sys report:
==> {"sys":""}
{r:{sys:{fb:438.02,fv:0.970,hp:1,hv:8,id:”3W5230-MEV”,ja:0,ct:0.0000,sl:0,st:0,mt:300.00,ej:1,jv:3,js:0,tv:1,qv:2,sv:1,si:100,ec:1,ee:0,ex:1,baud:5,net:0,gpl:0,gun:1,gco:0,gpa:0,gdi:0}},f:[1,0,11,7411]}
There are missing quotes, extra spaces and a missing event report, but most importantly, some of the parameters are different. The “e_” and “j_” parameters are the important ones. To correct these, type these commands to the “text to send” window and press enter:
$js=1
$ec=0
You might need to set others too, but unlikely. Note, that some of these are read-only and not supposed to change.