Esp32 robot... afte...
 
Notifications
Clear all

Esp32 robot... after a fashion

3 Posts
2 Users
1 Likes
1,685 Views
(@phil_2020)
Member
Joined: 4 years ago
Posts: 27
Topic starter  

Hi All,

Here is my project autonomous robot so far...

It has:

Pleiades Chassis and motors - nice see-through acrylic so I can see what jumpers came loose...Grrr

ESP32 WROOM nodemcu-32s

TB6612FNG (ala Dronebot Workshop)  - pretty sweet.

RCLW-1601 3.3V array of distance sensor on diy SOLDERED prototype board -3 (forward, left ,right) -- I need to make it 4 to look behind.

HC-020k B83609 speed encoders - 2 

All the code was developed using the Arduino IDE with as much off-the-shelf code as possible. Some code was swiped from Dronebot Workshop , modified to ESP32. 

What is does:

1. MQTT to my MAC with monitoring data.

2. Obstacle avoidance

3. Encoder,time,turn,distance data sent to MAC via MQTT

What is to be done...hah! :

1. Get jumper wires under control with soldered prototype boards..then maybe pcb boards. The jumper wire count is heading towards critical mass.

2. Install IMU/Digital Compass. .. But to do that I might have to go with an Arduino Nano. (nooooo). I love the course by Paul McWhorter here on Youtube

 

3. Maybe put motor control on the Nano as well as the IMU....Maybe. Nice thing about the Nano..7-12 volt input. So can use a Lipo 7.4 volt battery.

4. Flip the Nodemcu-32s to a ESP32 with battery management and use a 3.7 lipo.

5. Get slam working on the MAC and then migrate code down to the ESP32 or ... shhh ... a Teensy 4.0 .. But that would mean 3 different microcontrollers. Esp32, Nano, Teensy..  Arrrrgghhh !!!

robot top
robot side

   
Duce robot reacted
Quote
byron
(@byron)
No Title
Joined: 5 years ago
Posts: 1121
 

@phil_2020 - thats looks to be a very interesting and quite advanced project you have on the go.  I'll be following to see how it all progresses.   I expect a Teensy 4 and an ESP32 would handle it all without needing another microcontroller like a nano, but what the heck, the more boards the more interesting 😀 


   
ReplyQuote
(@phil_2020)
Member
Joined: 4 years ago
Posts: 27
Topic starter  

Hi,

So, since my last post....

The robot has been changed a bit:

1. Installed a 7.4 lipo battery for the motor power.

2. Created a 2 ESP-32 system.

    1. The 'engine room' esp32 handles the motor control.

    2. The 'bridge' accepts sensor data and sends control messages to the engine room.

   3. The communication between the bridge and engine room was done with a serial interface (rx2,tx2) along with 2 interrupt wires. 1 interrupt from engine room to bridge saying 'done with action' and the interrupt from bridge to engine room saying 'read your serial buffer'. 5 wires/pins per esp32 (ground,int1,int2,tx2,rx2).

        A plain serial interface with polling was too slow to respond. The robot would be crashed up against a wall, spinning its wheels before it got the command to stop and back out.

 What needs to be done:

1. Replace the gigantic cell-phone charger with 2 lipo batteries. To do that, I want to replace the 2 nodemcu ESP32s with an Adafruit Huzzah and a Lolin 32 pro that can run off lipo batteries (with charging !!!)

2. Put into place some system of cleats to hold everything in place (Isn't that why rubber bands were invented ?? ). Boards and batteries keep falling off when there is a collision.

3. Make a new Ultrasonic sensor soldered proto-type board for 4 sensors ala Andreas Speiss /Dronebot Workshop. That or move over to a servo motor. 

4. Test the wheel rotary encoders and see if I can start getting rough estimates of distance traveled and position.

5. Install a digital compass to get better estimates of position.

6. Ultrasonic sensors, rotary encoders, digital compass, crikey ! That's a lot of jumper wires. Time to start thinking about a custom PCB....

Latest view of the robot ->

two cpu top

 


   
ReplyQuote