I've started building the AR3 with some of the AR4 changes. I have both the Teensy 3.5 and now a Teensy 4.1. I have a number of encoders so I'm going to do it that way rather than use the StepperOnline motor/encoder pair. Same with a bunch of stepper motor drivers in the parts bin.
I've created Alibre PART files from the drawings which was a really useful way to learn how it was put together. Most of the bearings have arrived from various suppliers. And I'm pretty well done all the 3D printing.
To make the metal parts I'll first make patterns and then cast the rough blanks out of scrap aluminum. Then use my CNC mill and ELS controlled lathe to take them to completion.
Here are the first photos. I have my ducks in a row on the 3D printed parts.
Some more progress on the Teensy 3.5. I have CUI encoders run from 5V. The quadrature encoder puts out the 5V waveform which will ultimately overwhelm the Teensy 4.1 used for the AR4 version. The idea is then to use a voltage divider or a semiconductor that takes in 5V signals and translates them to 3.3V output. The active devices are important for really high speed signals.
In my case I've used a 6.8K and 10K resistor to divide the voltage and the signal is just under 3V and still can be used by the Teensy 3.5. Adjusting the AB scale lines a bit better shows the high levels are more like 2.9V.
To do this with my interface card I've added some strip sockets where I can insert either the resistor networks or just jumpers to connect directly. The center pin in each row is ground. The one closest to the screw terminal connects to that. The other connects to the Teensy.
Here's how it's wired on the bottom.
Now I can do an individual J4 axis calibration and actuate the switch to tell it the end of travel has been reached. After that the jog buttons move it on and off. I've got to look further into the Python code to verify that the encoder is actually being used for the jogging.
I have a bit more work to do on this and then I'll see if it's worthwhile actually laying out a PC board carrier for the Teensy's.
Making some progress inbetween work-work projects. Still haven't gotten around to making the metal parts but since I'm starting out building an AR3 first I thought I'd put the Teensy 3.5 onto a carrier with a terminal strip rather than use the jumper wires.
Also I feel that if I have a 330 Ohm pull up to 3.3V on the carrier then I don' t have to worry about swapping in the Teensy 4.1 and then rewiring to have 3V on the calibration limit switches instead of the 5V. The pull up resistor results in about 10mA current flowing through the NC switch which is halfway between the 4-20ma instrument signals where are quite robust with respect to noise. Once the switch opens or if the wire breaks the signal is pulled to 3V quite hard. They are very tiny smd resistors barely visible in the photounder the violet wires.
To test the input I wired up one from my junk box. Trouble is the software doesn't have a direct method of testing the inputs so I modified the Teensy 3.5 software with this bit of code and just used the arduino terminal program to talk directly to it.
//-----COMMAND to read limit switches ---
//-----------------------------------------------------------------------
if (function == "RL") {
Serial.println("Calibration Switch Status:");
Serial.print("J1_CalPin == "); Serial.println(digitalRead(J1calPin));
Serial.print("J2_CalPin == "); Serial.println(digitalRead(J2calPin));
Serial.print("J3_CalPin == "); Serial.println(digitalRead(J3calPin));
Serial.print("J4_CalPin == "); Serial.println(digitalRead(J4calPin));
Serial.print("J5_CalPin == "); Serial.println(digitalRead(J5calPin));
Serial.print("J6_CalPin == "); Serial.println(digitalRead(J6calPin));
}
Here's the output from the above code with switch not pressed and then pressed. There are no switches on the other inputs. I added a pull up resistor to pin 32 for potentially another switch but no code support for that yet.
Still need to order 3 encoders. Some of the screws have arrived. The rest are on their way. Started machining some of the parts. Will have to redo these because I put the slot up too high and the first one had way too fast a feed rate. The second came out nicely and since it's all G-Code for my LinuxCNC mill duplicating them, now with the slot in the right place will be easy.
BTW, how different is this robot arm from the AR3/AR4 system?
Life has gotten in the way over the last few months. Now have a new 3D printer and finally, after an order vanished and was reshipped have my connectors. So I've printed the box and ordered the stepper motors. Hopefully StepperOnline will ship in the next week or so.
Meanwhile time to draw up and start 3D printing and fabricating the patterns for casting the metal parts.
The 3mm x 1mm silicon tubing arrived. I'm glad I ordered the right angle connectors in addition to the quick attach ones. The silicon tubing is too soft to be tightly held by the quick attach. No problem slipping the tubing over the fitting and tightening the nut over that.