Week 5

  • Finished the arduino timers and interrupts code (although that some adjusts on frequency had to be made).
  • Creation of the message to send from the C++ node to the arduino (basically the same as the data structure previously created).
  • First contact with a flat cable (ASUS HDD cable).
  • Trying to establish the communication between the two nodes.


Week 4

  • ROS workshop by Prof. Miguel Oliveira in which a competition between the student was held.
  • Study of timers and interrupts in the arduino Mega and therefore atmega2560.
  • Study of the motors and how they worked.
  • Started to develop the arduino code using timers and interrupts to generate a pwm function manually to different pins.
  • Creation of stimulus structure.

What motors are used?

The chosen motors for this project are eccentric rotating mass (ERM) motors, more specifically DC brush motors (permanent magnet and brushes).

Typically, a ERM motor is a DC motor with an offset (non-symmetric) mass attached to the shaft. In this case, the non-symmetric mass is inside the motor capsule.

As the motor rotates, since the mass center of the non-symmetric mass is not in the physical center, there’s a net centrifugal force, which causes a displacement of the motor. Since the motor is constantly being displaced, that is perceived as vibration.

Since the velocity of the motor is proportional to the voltage, the vibration frequency also depends on it.

Connecting the terminals of the motors to a constant DC voltage source, will drive the motor at a constant speed and therefore constant frequency and vibration amplitude until the supply is switched off.

This motors work over a range of voltage, but due to some friction  and the torque needed, a start voltage of usually 0.8V needs to be provided.

info: https://www.precisionmicrodrives.com/application-notes/ab-004-understanding-erm-vibration-motor-characteristics