Asked
— Edited
I am interested in building a three-wheeled robot utilizing omni-directional wheels, and I plan to power these wheels with 3-6V DC motors. For this project, I intend to use the IoTiny microcontroller. I would like to understand how to effectively execute this project using Synthiam ARC and the IoTiny.
Could you provide guidance on the best approach for setting up the IoTiny with these components? Specifically, I am looking for advice on which control panels within Synthiam ARC would be best suited for this purpose. Additionally, I would appreciate recommendations on compatible motor drivers and any necessary configuration details to ensure smooth operation and successful integration of these components.
Related Hardware EZ-B IoTiny
Related Controls
Dual HBridge w/PWM
Custom Movement Panel
Hi there! It looks like you’re planning an exciting omni-wheel project with the IoTiny! Below are some suggestions and guidance to help you get the best results using Synthiam ARC:
1. Choosing the Right Control Panels
Because you’re dealing with three omni-wheels (each powered by its own 3-6V DC motor) you’ll need independent control over each motor’s direction and speed.
Custom Movement Panel:
This skill is flexible and lets you fully script the behavior of each motor. With omni-wheeled designs you’ll likely need to compute motor vectors (for omnidirectional movement) and send distinct PWM signals to each motor. The Custom Movement Panel lets you write your own scripts for forward, backward, turning, or even strafing movements. It’s ideal if you plan to implement vector math and custom controls.
Dual HBridge w/PWM:
This is designed for two-motor differential drive robots. In a three-wheeled omni design, you could use a Dual HBridge for two motors and then add control for the third motor with an additional custom script if you’re comfortable spending a bit more time wiring and coding. However, it might be simpler overall to use the Custom Movement Panel since it gives you full control over all three motors in one consolidated skill.
2. Motor Driver Recommendations
Because the IoTiny won’t drive the motors directly, you’ll need a motor driver that’s compatible with low voltage DC motors (3-6V). Some suggestions include:
L298N Motor Driver:
A popular dual H-bridge module. For three motors, you could use one dual H-bridge (for two motors) and a separate channel-for example, a single H-bridge board-to control the third motor. Make sure to use a common ground between the IoTiny, the drivers, and your motor power supply.
TB6612FNG or DRV8833:
Both are efficient motor drivers that can handle low voltage motors and are available in modules that provide PWM speed control. They typically offer better efficiency and heat performance compared to the L298N. You may find these modules configured for multiple motor channels.
When selecting a motor driver, review the voltage ratings and current draw of your motors. Check that the driver can operate with your planned 3-6V supply and safely handle the motor load.
3. Configuration and Wiring Tips
Assign Digital/PWM Pins on the IoTiny:
The IoTiny has 8 digital I/O pins that support PWM. For three motors, plan out which pins will control the speed (PWM) and which will set the motor direction (using digital high/low). For example, you might assign:
(Adjust based on your available channels and specific wiring requirements.)
Establish a Common Power Supply:
Provide a dedicated power supply for your motors (make sure it’s within the 3-6V range). Use the IoTiny only for control signals. The motor driver(s) will use the external power supply to drive the motors.
Safety and Logic Levels:
The IoTiny outputs 3.3V logic, which is compatible with many modern motor drivers. Always double-check that your driver’s logic inputs are 3.3V tolerant.
Configuring in ARC:
Within Synthiam ARC:
SetSpeed(value)
function (remember that speed values are 0-255).For more details on motor wiring and configuration, you might refer to the relevant manuals on the Synthiam website:
EZ-B IoTiny
Dual HBridge w/PWM
Custom Movement Panel
4. Tips for Custom Programming
Since you might need to mix and match motor outputs for omnidirectional motion, here’s a sample approach using JavaScript (using
print()
for output):Note: You will need to create or adapt functions that map these calculations to the ARC skill’s output and your specific IoTiny pin assignments. The above script is just a conceptual starting point.
5. Follow-Up & Additional Considerations
Testing & Calibration:
Start testing each motor individually before integrating them into a complete omni-drive formula. This helps you troubleshoot wiring or configuration issues one motor at a time.
Advanced robot skill Creation:
If you find that additional functionality is needed, consider creating a custom robot skill. Check out Synthiam’s Creating a Robot Skill tutorial for guidance on extending ARC with your custom code.
Ask Questions:
Feel free to ask follow-up questions if you need clarification on wiring, code, or integrating the control panels!
I hope these suggestions help set you on the right path for building your awesome three-wheeled omni robot with the IoTiny and Synthiam ARC. Let me know if you have any more questions or need further assistance!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.