- HOME AUTOMATION
- YOUNG MAKERS (< 18)
- FASHION & WEARABLES
- INTERNET OF THINGS
- KIDS & EDUCATION
- OPEN SOURCE
- RECYCLING & UPCYCLING
- ENERGY & SUSTAINABILITY
- MUSIC & SOUND
- ARTISANS & NEW CRAFT
- 3D PRINTING
- FOOD & AGRICULTURE
- WELLNESS & HEALTHCARE
- 3D SCANNING
- CULTURAL HERITAGE
- STEAM PUNK
Robot Spazzaneve controllato con controller Playstation e Smart Phone
The movement of the snowplow is granted by four trolley wheels, fitted with tires and hub provided with ball bearing with a hole of 16 mm diameter; each wheel has an outer diameter of 26 cm and about 8.5 cm wide tire. Easily available in many DIY centers, these wheels are capable of bearing (individually) a weight of 150 kg, for a total of 600 kg, much more than what we need for our robot. For the wheels axles we have used 16 mm diameter threaded bars, 63 cm long, passed through the aluminum supports and there blocked, caring that those rods protrude equally on each side. The supports are fixed to the lower base of robot’s frame.
The most complex mechanical part is the blade support and its mechanism. To make the blade we used a sheet of rectangular steel 650×250 mm, 2 mm thick, which we then slightly curved (above and below, the long side) to facilitate the snow shoveling.
The shield mounted on Arduino are the motor shield to control the three linear motors that manage the movement of the blade and the PS2SHIELD, which allows you to interface with the PlayStation 2 (PS2); the latter requires the RX-PS2, which is a 2.4 GHz radio receiver for sending/receiving specific commands from the aforementioned console.
The power source is made by a series of two lead gel batteries by 7.2 Ah: we take the 12 V from the mid-point connection of the two, while between the negative and the positive of the series we take 24 volts. A switch (125V, 2×15 ampere) controls the two supply lines.
With 12 volts, we run Arduino, which will power the shields through its pin-strip; a LED (internally mounting the limiting resistor) will indicate when Arduino is running. The 12 volt directly from the battery stack is also feeding the power section of the motor shield. In fact, since the absorption of the three linear actuators (cod. LACT2) is high. Each linear actuator is composed by a 12 Vdc gear motor using a worm screw to move a shaft back and forth along its length (maximum excursion of 5 cm). The actuator has a dynamic load of 50 kg and a maximum speed of 1.3 cm / s. It is able to support up to about 250 kg, when not moving, and the torque ensures the maintenance of the position of the shaft even in the absence of power. Two limit switches provide the engine to stop when it reaches the maximum extension and contraction, while the diodes allow reverse direction after reaching the limit point.
Let us now turn to the 24 volts supply line, which is feeding the power part of the snowplow, which are the traction and the projector (optional) sections: the first is based on the motor driver, to be connected with four wires to the same number of Arduino digital lines.
The motor driver is a double bridge power driver capable of driving two brushed motors continuously with a voltage of max 35 VDC and a current of 15 A (each). By interfacing with Arduino and using only four digital I / O (2 PWM), you can choose the rotation direction and speed of the motors. The circuit has four control pins, four LEDs that indicate the rotation direction of motors, two pins for the board power supply (5 Vdc) and two aluminum heat sinks located in the rear of the printed circuit, necessary to dissipate the heat generated during operation at full power. For the management of the driver by Arduino, the manufacturer provides a special library. The output terminal blocks allow you to connect the two engines, to be connected as indicated by the diagram (do not invert polarity, otherwise the tracks will run in reverse!) using cables with a section of at least 1.5 sq. mm.
About control inputs, it should be respected the connection between Arduino and the controller connector pitch 2.54; correspondence that is needed when using the library provided by the manufacturer and our firmware: if you edit them, you have to revise connections. Remember that DIR are the logic levels to set the motors rotation direction and PWM are the PWM signals to command the power drivers.
To identify the controller connector contacts it’s sufficient to refer to the silkscreen visible next to it on the component side of the circuit board.
In addition to the engine controller, the 24 volts will power the section of the LED projector, you can mount or not; if mounted, respected wiring indicated and remember to take the positive 24 V from the relay card (cod. RELAY1CH). The latter houses a relay and the respective drive transistor controlled by Arduino through the Digital I/O 13; Arduino also powers the card, by means of the +5V and ground (GND).
A relay allows turning on and off the projector, targeting action on the corresponding circuit.
The projector is designed to operate at 220 Vac, however, since this voltage is not available on the robot, to avoid using an inverter we modified the projector by opening it, removing the AC / DC and bringing the two wires of the power LED directly to the output of the converter DC / DC (cod. STEPUP30V); the latter is a switching converter with adjustable output voltage, which should be tuned in order to provide to the LED a current such as to make it work at about 10 watts. Usually this is achieved at about 30 volts. However remember that the power is given by the product VxI, (current by voltage, in watts is obtained if V is in volts and I in amperes), then to 30 V, the current consumption should be just under 340 mA. Although the group of LEDs is internally protected from overcurrent, the STEPUP30V has a limitation of the output current to 2A so it can be useful to replace it with a DC / DC equipped with output current limiter; a good example is available on the website www.futurashop.it as STEPUP30VADJ.
Receiving data from the remote control is the job done by the shield PS2SHIELD, for which the manufacturer makes available the specific library. The shield performs the receiving and decoding of the command; the radio part is left to the RX _PS2, which is inserted into the related connector.
The last thing to note is the photoresistor, used by Arduino to detect the ambient lighting and to control the board RELAY1CH so the LED projector is turned on; the component is fed to the voltage divider by a resistor of 10 kOhm (1/4 W) and is read from the analog input A0 Arduino. The 5 volts are taken from Arduino 5V.
This light sensor does a simple thing: in good lighting conditions, the resistance of the photoresistor is low and the voltage read by the ADC of Arduino microcontroller is low and does not trigger the relay board; darkness instead, increases resistance a lot and the ADC reads a voltage close to 5 volts, which causes the projector to switch on.