A simple DC Massage device

Hi there!

I'm making a new massage device for my back pain. I've already burned 5 or 6 commercial units so I decided to make something more robust. I hope you can guide me towards finishing this project.

I'm using :

Nidec BLDC 13H 6-24V Motor . Datasheet
Arduino Uno
2x 3.6V Samsung 2170 40T

Here's the initial/updated diagram: (right click/open image for close up)

question: Since I am using the DC power jack to power the board, do I still need to isolate the board in case the + power connector gets disconnected from the motor? So I don't burn the Uno?

Many Thanks!

Don’t use an Uno. Its a beginner’s board, for learning and experimenting with shields. You are not using a shield, so get a Nano or Pro Mini, solder that to some stripboard and solder the battery wires to the stripboard also.

Why are you using an Arduino for this? There do not seem to be any controls to the pwm speed and no control for the motor direction. Will there be a pre-set program for the Arduino to follow?

crowtor:
I've already burned 5 or 6 commercial units

Just wondering, what makes you think you can build a more robust one?
Do you know really why those commercial ones broke down, and how to overcome those problems?

I guess that the motor driver electronic is powered from the motor source, should not cause problems if the Arduino is down or disconnected, or if power is removed from the motor.

But I also wonder what you want to move using a 1.1W motor?

Thanks for the replies!

The device in question is a massage device with an off center weight. It works as follows: I lay down on the bed and put the vibration part between the mattress and my back. It can be operated just by me so I don't need a second person to hold it.

Why are you using an Arduino for this? There do not seem to be any controls to the pwm speed and no control for the motor direction. Will there be a pre-set program for the Arduino to follow?

I got a free Uno when I ordered some other parts, I can get a different one if I need to. The PWM signal is to be controlled with a knob. It's gonna translate the knobs 1024 positions into 255 PWN signal with the code. I just haven't put it into the diagram yet. This is a vibration motor so I don't need to control the direction.

I also want to include a shut-off circuit with an NTC thermistor probe. That was to be my next question. The motor is rated at max 50C so it has to shut off after the 30mins that I need it to run or when it reaches ~45C. I think that's a safe number.

I guess that the motor driver electronic is powered from the motor source, should not cause problems if the Arduino is down or disconnected, or if power is removed from the motor.

But I also wonder what you want to move using a 1.1W motor?

The motor has a built-in driver and it has to move an off-center weight and work against all the forces from the outside, against my back.

Just wondering, what makes you think you can build a more robust one?
Do you know really why those commercial ones broke down, and how to overcome those problems?

My previous devices were not designed for this type of function, they were built from cheap, low quality components, I repurposed them. There are also no medical grade massage units that fit my requirements, that I could buy instead of making them.

That motor may be powerful enough to massage your ear, eventually. Every motor burns out when stalled.

All right, I’ve updated the sketch:

Now all that’s left is the power switch. I’ve found this tutorial

Does anyone know if there are any ready-made boards that have a timed auto shut-down capability?

and how about standalone boards that won’t require any signal from the arduino to cut the power after specified time?

Thanks!

I would recommend a ds18b20 temperature sensor instead of the thermistor, but either will be ok. The trick will be to bond the sensor to the motor so that it accurately senses the temp.

I don't know why you want to use standalone boards that cut the motor power after a timeout. If the motor is still under 45C, why not continue? I don't think that circumstance will occur in practice, with you lying on top of it while it's running. But you might as well use the Uno for that too, it does not have much else to do here.

PaulRB:
I would recommend a ds18b20 temperature sensor instead of the thermistor, but either will be ok. The trick will be to bond the sensor to the motor so that it accurately senses the temp.

I don't know why you want to use standalone boards that cut the motor power after a timeout. If the motor is still under 45C, why not continue? I don't think that circumstance will occur in practice, with you lying on top of it while it's running. But you might as well use the Uno for that too, it does not have much else to do here.

I checked all the available probes and unfortunately ds18b20 probes are too big to fit inside, even partially, so I was wondering of using an IR temp. sensor instead, this one fits well inside, what do you think about it? Are IR sensors even worth considering?

https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+SheetTS318-11C55ApdfEnglishENG_DS_TS318-11C55_A.pdfG-TPCO-032

If not, I'll try to use a ds18b20 sensor itself without any oversized hulls, would a 1m cable then be an issue when it comes to precision of measurement?

NTCs (thermistors) can come really small - the smallest that I have on hand are leaded ones of about 2 mm diameter which would be easy to attach to a motor; they can be had in tiny SMD form factors, down to a near invisible 0201 size.

An IR based temperature sensor is for external use - point it to the thing you want to read the temperature of. The package in that datasheet is about the size of a DS18B20, maybe even bigger.

wvmarle:
NTCs (thermistors) can come really small - the smallest that I have on hand are leaded ones of about 2 mm diameter which would be easy to attach to a motor; they can be had in tiny SMD form factors, down to a near invisible 0201 size.

An IR based temperature sensor is for external use - point it to the thing you want to read the temperature of. The package in that datasheet is about the size of a DS18B20, maybe even bigger.

I'm having doubts as to how to actually put the sensor directly on the motor, since its a vibration motor I'm not sure how these sensors fare against that. Have you had any experience with vibration motors and sensors attached to them?

I'm not sure fitting anything inside the motor is a good idea, it could cause a jam. If you bonded a probe to the outside of the motor case, it's size would not be such an issue, but getting anything to bond to the outside of the metal case of a vibration motor for a long time won't be easy. Maybe fix it mechanically with a hose-clamp and a blob of thermal paste.

All right, I realized I haven't uploaded any case mock-ups, which got everyone confused. Here's how the motor housing looks like.

I tried fitting a MLX90614 IR sensor behind the motor, instead of the one I found, because Adafruit provides a library for arduino. I did not manage to fit it inside however, so I'm dropping temp monitoring for the time being. Unless anyone knows if and how easy it is to modify the library code to work with a different IR sensor.

On another note, Has anyone worked with Pololu Power Switches? I'm looking at the mini SV particularly, can that be turned off with a signal from arduino?

A thermistor is pretty much the go-to solution for most products. Cheap, small and reliable, and very easy to use as you don't care about what the temperature is, just whether it's higher or lower than a certain threshold.

The DS18B20 sensors are also pretty small, coming in TO92 package.

Whether it fits behind your sensor I don't know for lack of any indication of size in your image, or where there would be empty space, or what the different parts even are.

PaulRB:
Don't use an Uno. Its a beginner's board, for learning and experimenting with shields. You are not using a shield, so get a Nano or Pro Mini, solder that to some stripboard and solder the battery wires to the stripboard also.

Why are you using an Arduino for this? There do not seem to be any controls to the pwm speed and no control for the motor direction. Will there be a pre-set program for the Arduino to follow?

So I've decided to switch to a Nano, due to size, I was supposed to connect the power to the jack on the Uno instead to the pins, what would the equivalent to the jack be on the Nano? My source is 7.2V

Use the Vin pin.