Author Topic: Treadmill motor controller interfacing with Arduino  (Read 2557 times)

0 Members and 1 Guest are viewing this topic.

Offline sairfan1Topic starter

  • Frequent Contributor
  • **
  • Posts: 353
  • Country: ca
Treadmill motor controller interfacing with Arduino
« on: July 10, 2020, 03:43:24 pm »
I have Horizon Treadmill CT7.1 when it was working good after turning on it gives a long beep and gets ready, but suddenly it broke, and after turning on it gives two beeps and get kind of halt while displaying all LEDs in ON state.

I understand that it looks like more dashboard related fault and it could not communicate with motor controller (or something like that) and gives something like error code as two beeps

I thought to check if motor controller is still working i can interface an Arduino to it, so that i can drive the motor, while googling around I was not able to find motor controller interfacing pin definition or any schematic

It sounds me like its interface must be simple, like i need to find those point where i can send PWM signals, where i can read motor pulse etc. I want to know how can i find those points on PCB as its not labeled well, attached are some images of motor controller, refer to image Treadmill_front.jpg there are two red boxes i draw on the picture these points are labeled with RPM and Counter other than these two i could not find any clue.  Motor Controller board model# MLH0910PC and its driving DC90 Volts 20Am motor, i can also see a MCU on motor controller its R5F212K

Please help me with ideas how can i understand motor controller interfacing and test if its in working condition and the next step to interface it with Arduino

I found some pin info here but its not same as my model
https://electro-medical.blogspot.com/2015/05/horizon-fitness-treadmill-fault.html
 

Offline QuebecTech

  • Newbie
  • Posts: 5
  • Country: ca
Re: Treadmill motor controller interfacing with Arduino
« Reply #1 on: July 12, 2020, 01:04:16 am »
Try contacting Johnson Controls for possible replacement parts and troubleshooting instructions. https://www.johnsoncontrols.com/services-and-support/replacement-parts-and-supplies
 

Offline sairfan1Topic starter

  • Frequent Contributor
  • **
  • Posts: 353
  • Country: ca
Re: Treadmill motor controller interfacing with Arduino
« Reply #2 on: July 13, 2020, 02:27:21 pm »
Is there any chance to find out points in the circuit to apply PWM to drive the motor, or understand the interface jack? I was not able to find schematic, is there any chance to find such document?   

in fact replacement parts are too expensive like $150 at least for motor controller, but if i buy such treadmill from local classified it could be around $200
« Last Edit: July 13, 2020, 02:29:15 pm by sairfan1 »
 

Offline mjkuwp

  • Supporter
  • ****
  • Posts: 259
  • Country: us
  • mechanical engineering defector
    • The Mz Lab
Re: Treadmill motor controller interfacing with Arduino
« Reply #3 on: July 14, 2020, 02:30:13 am »
work backward from the FET (on the heatsink).  there should be a big diode and a big FET for the drive.  the Gate of the FET will be driven by ..something and you can work back from that to the micro.  at some point you could insert your own PWM signal.  I don't know if a standard Arduino can do PWM sufficiently fast.

is your main goal to learn? or to have a treadmill?

Treadmills of this level are very often available for cheap or free from people who have changed their minds, joined a health club, etc.

oh, and this is not Johnson Controls - that's a different company : )
 

Offline elliotmade

  • Newbie
  • Posts: 1
  • Country: us
Re: Treadmill motor controller interfacing with Arduino
« Reply #4 on: October 26, 2021, 11:23:24 pm »
Hey this is an old thread, but I have done exactly the thing you are asking... in fact I found this post while searching for the treadmill controller and wanted to leave some info for the next person:
The comms interface for the controller isn't straight PWM, it uses RS-485.  Here is a link to my writeup: https://elliotmade.com/2020/06/26/treadmill-controller-reverse-engineering/

I didn't completely reverse the protocol, but I figured out enough to run it.  I never found any official documentation (not surprising), but also did not expect to.  I left an arduino sketch there as well that can start/stop and control the speed.  Couple other notes:
  • The controller gets mad without the encoder plugged in
  • If you don't send it a packet within a few seconds of booting, it also gets mad
  • It also requires continuous communication or it will stop (for safety).  When stopped or at a steady state, you should continually send the same packet
  • The speed commands have to be ramped up.  You can't go from 0-4000 in one step, rather you have to send some intermediate speeds as it accelerates (safety?)
  • Don't have to ramp down, just send a slower speed and it will coast until it reaches it
  • I'm an amateur at such things, so what I did is probably super dangerous... so watch out!  (mine is on a belt grinder now, dangerous by design)

Cheers!

 

Offline sairfan1Topic starter

  • Frequent Contributor
  • **
  • Posts: 353
  • Country: ca
Re: Treadmill motor controller interfacing with Arduino
« Reply #5 on: October 29, 2021, 07:39:10 pm »
Hi thanks for sharing I gave it a quick look and it looks wonderful work, for sure I will take some time go through it in detail to learn, its a great job.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf