Push a small magnet back and forth

Hi there, we are trying to build an experimental setup that will push a 2x2x2 cm^3 magnet back and forth 3 cm along an axis at a frequency of 1 Hz. Could you please point us at the right direction?

How long would the mechanism be active? This will help determine the most appropriate technonology. Also, do you need a simple on/off switch or would you need variable speed?
Meanwhile, the following article might help a bit: robotshop.com/blog/en/how-to … ors-2-3703
A 4-bar mechanism connected to a DC gear motor seem appropriate.

continuous rotation servo, 1/8" (4mm or so) threaded rod.
limit switch at each end.
Arduino board to read switches and run R/C servo continuous rotation) in both directions.

Alan KM6VV

Thank you, KM6VV and CBenson for you replies!

The mechanism will need to be active for 1 hour each time. Also, a simple on/off switch would be good for us.

I read the very useful article you posted, searched using the key words you used and came upon this product –
robotshop.com/en/firgelli-te … witch.html

Would this be a good choice for me? If so, what else do I need to buy to connect it to batteries and make it work ?

Thank you very much,
Livi

A linear actuator is certainly a possibility, but be sure to check the loaded / unloaded maximum speed to know if it’s suitable for you.
There are several versions of the Firgelli actuators, especially the L12 series, which will depend on your choice of input voltage, control method, stroke and force.

Thanks, CBenson! Peak Power Point of this product is indicated to be : 45 N @ 2.5 mm/s.
The magnet I want to push is about 70 grams, so the force I will need to apply on it against friction*(the normal force) will probably be less than 1N. I guess I’m good with this actuator?

Since I’m really new at it, could you please let me know what else is needed to connect it to batteries and make it work? Would be great help!
Thank you very much,
Livi

You simply want it to oscillate? The actuators themselves don’t have any onboard intelligence, so you’ll need a microcontroller externally, which needs to be programmed.
Do you know which specific actuator you’re considering? If so, add a link here and we’ll help you determine which communication method is best.
Do you have any experience coding? If not, Arduino’s the best start.

Yes, I simply want it to oscillate and I do have some experience with coding in Matlab and C++ but will be happy to experience with another language if needed.
I’m not sure which is the right actuator for me but I think that this could work –
robotshop.com/en/firgelli-te … witch.html.

Thank you!

The one you chose operates at 12V, has a 30mm stroke, 210:1 gear ratio (which corresponds to 45N @ 2.5mm/s) and has limit switches. This means you cannot position it along the travel; you can control speed and direction, and it will stop when it reaches either end.
The issue becomes “knowing” when it has reached an end point since there is no feedback. We would instead suggest an L12 with PLC / RC input. The following is the same actuator, but can accept RC PWM signals and offers analog feedback.
robotshop.com/en/firgelli-te … RB-Fir-100
Since the microcontroller is not doing much, it can be used as a servo controller as well as managing the oscillations - nothing too special, and you only need a digital IO capable of PWM (perhaps an analog pin if you also want to read the actual position).
robotshop.com/en/microcontrollers.html

Thanks a lot, the actuator you suggested looks good.
Could you please also recommend on a microcontroller?
In addition, how do I connect it to batteries? Or is the batteries place already included in the actuator? I need it to oscillate for one hour each time.
Thanks!!!

Microcontroller is really up to you based on your choice of programming. You don’t need anything too fancy or with too many pins. Arduino’s a good start.
Regarding wiring the battery, microcontroller and actuator, you split the black wire from the actuator (not physically, just so it can connect to two places)
You then wire the red and one of the black terminals of the actuator to the external power supply / battery.
Finally you wire the signal wire from the actuator to the PWM pin on the microcontroller and other black wire to GND on the microcontroller.
robotshop.com/en/microcontrollers.html

ok. Thank you for these instructions! They are very much needed. Also, what kind of battery holder/ batteries will I need to make it oscillate for one hour?

For example, can I use this?
robotshop.com/en/adafruit-ba … -jack.html

Will I need any other device else to make it work?

Thanks a lot!

A 6xAA pack would give 7.2V (rechargeable cells) or 9V (alkaline) which are both too much for normal RC servos.
Assuming the servo needs around 250mA (0.25A), you would need a 6V pack with 2.8Ah.
For example: robotshop.com/en/6v-2800mah- … =RB-Sta-08
Charging: robotshop.com/en/nimh-nicd-s … =RB-Ten-02
Harness: robotshop.com/en/wh-01-wirin … ector.html

Thanks! That is a huge help!
Do I need any thing else other than the actuator, micro manipulator, battery, charger and battery connector?
Many thanks!

… the microcontroller (your choice).