Intro
There is only one day left before the deadline for this contest, so I need to publish where I am at. The Connector Tester part of this project involved designing a couple of PCBs to allow TE Connectivity connectors to be tested. Unfortunately neither PCB has arrived, even though they shipped over a month ago, so this portion of the project does not have a complete demo. The design of the PCBs can be shown and the design of the chassis can be demonstrated complete with functioning motor controller. The main connector tester PCB was covered in a previous blog, but there is a breakout board shown here that was designed to test the relay that was in the kit as well as a couple of the PCB mounted connectors:
Relay Breakout Board With Drive Circuitry
When these circuit boards arrive, I will update this blog.
Connector Tester Chassis Design
The chassis works well and seems like it would make a nice demo of a connector tester.
Firmware - Motor Controller.
// Connector Cycling Machine // drive motor reverses based on limit switch contacts // Arduino UNO + DRI0017 PWM motor controller // Doug Wong 2022 int ls1Pin = 2; //limit switch - closed position int ls2Pin = 3; //limit switch - open position int limit1; // limit switch 1 state int limit2; // limit switch 2 state const int Forward = LOW; const int Backward = HIGH; int Cdirection = Forward; //motor direction int PWM1Pin = 10; // PWM pin motor 1 int PWM2Pin = 11; // PWM pin motor 2 int Mdir1Pin = 12; // direction pin motor 1 int Mdir2Pin = 13; // direction pin motor 2 void setup() { pinMode (PWM1Pin, OUTPUT); //all motor control pins are outputs pinMode (PWM2Pin, OUTPUT); pinMode (Mdir1Pin, OUTPUT); pinMode (Mdir2Pin, OUTPUT); pinMode(ls1Pin, INPUT_PULLUP); //both limit switch pins are inputs pinMode(ls2Pin, INPUT_PULLUP); } void loop() { limit1 = digitalRead(ls1Pin); //read limit switch 1 limit2 = digitalRead(ls2Pin); //read limit switch 2 if (Cdirection == Forward && limit1 == LOW) { // if limit is encountered, reverse analogWrite(PWM1Pin, 0); //turn motor off Cdirection = Backward; delay(1500); //wait for connector test to complete } if (Cdirection == Backward && limit2 == LOW) { // if limit is encountered, reverse analogWrite(PWM1Pin, 0); // turm motor off Cdirection = Forward; delay(1000); } /** start motor **/ digitalWrite(Mdir1Pin, Cdirection); // set direction analogWrite(PWM1Pin, 130); // set speed }
This firmware runs on an Arduino Uno with a DF Robot motor controller shield.
Late Breaking news - One of the PCBs just arrived with hours to go before the deadline:
Discussion for Blog 6
It is very disappointing to do all this design work and not have the PCBs show up in time to test the system. I am glad that at least one PCB arrived before the deadline and that I could quickly put enough components on to verify the PCB works as intended. One PCB still has not arrived, but the design work can be shown and at least the motorized chassis could be demonstrated. I actually made up a bunch of cables with TE Connectivity connectors to be tested, which did help me to learn more about TE Connectivity connectors. I was not able to obtain a complete set of connectors and cables to test everything in the kit. Some of the connectors needed a crimper that I did not have and some connectors needed a flex cable I couldn't obtain. I did get to assemble some very nice connectors, so it wasn't all bad. And I got to show off some MTA connectors.
Relevant Links:
Twist, Turn and Move Design Challenge with TE Robotics
Sammy Semaphore - blog 1
Connector Tester - blog 2
NEO Pixel Display - blog 3
Sammy Semaphore Torso Demo - Blog 4
I Am Sam I Am - Blog 5
TE Connectivity Connector Tester Blog 6
Sammy Semaphore Fully Functional Blog 7