Programmer needed for small project


I'm working with a local motorcycle clothing equipment company and they want to make a small abrasion test fixture for evaluation abrasion resistance of clothing materials. I have a good hand on the mechanical design and general electronics layout but need someone to do the coding. I have no preference for which Arduino version is used. The specs of the needed hardware are shown below. We can modify or remove items if they are too complicated to implement quickly.

We would supply all the hardware needed and the component list below are merely recommendations. It is an overgrown belt sander to do abrasive tests on a variety of materials. There will be a thin wire behind the sample to be tested and the idea is that the belt sander will cut the wire after the material sample is worn through. We want to log the duration of the test, the speed of the sanding belt and the thermocouple temperature. If we could log the AC current to the sander motor it would be nice.

-Small backlit (2x16) character display for status and speed reading
-3 buttons, all NO momentary:
one each for speed up/down
main button for starting test

When power is turned on 1 short beep from piezo buzzer then the display will scroll through a provided message then go to the following:

SPEED: 0mph

Press main button once: 1 long beep from piezo buzzer
change status to READY
wait 5 seconds
turn motor on
update speed readout continuously
enable speed up/down buttons
open data file on SD card

Press main button again: change status to RUN
disable speed adjustment buttons
2 long beeps
activate solenoid for 5 seconds immediately after the 2nd beep
log solenoid activation time and start to log current, speed and temperature at 20Hz.
log the time the sensing circuit is broken (open circuit) and 3 short beeps

Press main button again: 3 long beeps
stop motor
stop logging and close file
change status to STOP

The system is now ready to start again.

File names should be incremented: test0001.txt

If the main button is held down for longer than 2 seconds then instantly turn off motor power, change the display to flashing ESTOP, close the data file and require a reboot to continue.

The motor is 110VAC. For motor control a relay is used for power on/off and a standard RC servo is used to adjust a potentiometer for speed control. A hall effect sensor sensing a magnet on the rim will be used for calculating speed. Figure 4000rpm maximum which is about 70Hz max which should not be a problem. About 30 speed increments would be sufficient. I will give a scaling factor for the speed display value. The sensing circuit is just a piece of wire behind the material being tested that gets broken when the abrasive wears through the test sample. The temperature measurement is a type K thermocouple. The buzzer needs to be pretty loud to be heard over the sanding belt.

Current sensor:

SD card for storing text file

Hall effect sensor for speed sensing
-(For Arduino) Hall Effect Magnetic Sensor Module (DC 5V) - Black 638950 2022 – $4.13

-Thermocouple Amplifier MAX31855 breakout board (MAX6675 upgrade) : ID 269 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Please respond if you are interested.

Chris Cosentino

This is an interesting project.

I am interested in working on this with you and I have sent you a PM.

I would pick up on one thing however .. The Emergency stop button needs to be instantaneous and NOT subject to a 2 second delay. It also needs to be on a closed loop circuit and independent of anything else. Closed loop so that it is active if the cable breaks. I would suggest that it forms part of the relay control to the motor and not be part of the MCU. You would not want a program failure to prevent the stop from working.

Cheers Pete.