Asked
Resolved Resolved by DJ Sures!

Iotiny Over WIFI Disconnects Immediately After Connection

Hello! I have the following setup: Port 0 : IoTiny configured in AP Mode as master Port 1: Arduino via USB Port 2: IoTiny configured in Client Mode connected to Mater IoTiny

In windows I can successfully connect to the AP Mode IoTiny. In ARC I can successfully connect to all three ports. I can send 1 servo command via the IoTinys, but then both automatically disconnect immediately after.

  • I have tried changing the IP addresses.
  • I have lowered the battery monitor setpoints to 4 V. The Tiny's are running off a power supply at 5V.

Is there something else I should try?


Related Hardware EZ-B IoTiny

ARC Pro

Upgrade to ARC Pro

Unleash your robot's full potential with the cutting-edge features and intuitive programming offered by Synthiam ARC Pro.

PRO
Synthiam
#1  

Your diagnostic log shows the voltage to be 4 volts. That’s not enough voltage. I believe ezrobot has a data sheet for that iotiny. Otherwise Jeremie can chime in

generally 7.4v lipo is recommended

by not providing enough voltage, the iotiny is browning out and rebooting when it tries to use wifi and audio and other peripherals when you connect

#3  

OK thank you, figured it had to do with power supply. I measured across the wires feeding into the tiny and it read 5V, but it must drop to 4 when I have the other components running as well. I will have a step up transformer at 12V that should be OK according to the data sheet.

PRO
Canada
#4  

Yeah, around 4.5V is the bare minimum.

I'm curious though, I've never tried connecting one IoTiny to another. I've heard of people doing this, but it doesn't make sense in my mind. Can ARC communicate through an IoTiny like that?

If I have more than 1 I just use client mode for all the IoTiny's and connect them all to a router.

PRO
Canada
#5  

...Well never mind, I just tried it and it works. Even old dogs can learn new tricks sometimesxD

#7  

I now have 6 Volts at the terminals to the IoTiny's and still they are cutting out. Also the speakers are screaming that the battery is low. The data sheet shows a minimum of 4.5, so you would think 6 Volts would be fine. Do I need to boost to 7.4 or is something else afoot?

PRO
Canada
#8  

Ah yes, you are likely unaware of the Battery monitor override that’s available in the connection skill. The IoTinys won’t respond when the low voltage warning is active, as this saves LiPo batteries.

Click the 3 dots on the connection skill to get into the Settings, then click the battery monitor tab and click the checkbox to enable the Battery monitor override then uncheck the Enable battery monitor checkboxes for all the EZBs or just lower the min voltage number to 4 or 5 (volts).

PRO
Synthiam
#9  

There’s two places to disable the battery monitor

  • the web interface for the iotiny. That disables the alarm on startup

  • the connection control in arc. That disables the alarm when ARC connects

#10  

I always disable the battery monitor in the web interface. That keeps the EZB or IoTiny from saying the warning completely.  I found that If I only disable the battery monitor in the connection control in ARC that warning will happen until ARC boots and stops it.

When you say the IoTiny still "cuts out" do you mean they both still disconnect or do they just not respond? Hopefully by disabling the warning the issue will resolve like Jeremie said.

#11   — Edited

I had a connection set up much like yours except: Port 0 : IoTiny configured in AP Mode as master Port 1: EZB via USB Port 2: EZB configured in Client Mode connected to Mater IoTiny

This worked good for me but when I added Port (Connection) 3 in ARC with another EZB in Client mode connected to the Master IoTiny in AP mode I had problems. The IoTiny couldn't keep track of the the Two EZB's connected to it. When ARC would start and connect, the EZB's listed in the port (connection) slots they would always be in the wrong place. I tried switching the IoTiny with one of the EZB's, making the EZB the Master in AP mode I had the same problem.

I wanted to get My robot off my WiFI home router so I ended up connecting all EZB's and the IoTiny through USB to the onboard computer. Much better and simpler. Is it possible for you to attach all your units to USB connection?

#12  

Thanks guys! It was the battery monitor setting in the web interface for the Tinys. Turning off the battery monitor in ARC didnt help, but the internal one solved it.

#13  

Sorry for continually rebooting this thread. But the problem remains. I can get about 45 seconds of servo commands before both IoTinys disconnect. Both are getting 6V at the terminals. Both have battery monitor off in ARC and internally. I sent another Diagnostic report. Is it possible its not getting enough current?

#14  

From my understanding, I am unable to connect the Tinys via USB? The Tx/Rx option apparently only works for the EZ-B, and not TIny, apparently?

PRO
Canada
#15   — Edited

@elektrophunktronic

  1. The battery monitor on both sides matters, if you don't adjust in on the ARC side you will see unresponsiveness and the low battery warning as well.

  2. Brown out (not enough supply current which causes voltage sag and reboots the electronics) is very common in robotics. We recommend using a LiPo battery or high current (3Amps or greater) 7.5V or 5V power supply. You can also stagger servo movements with a small delay which helps combat inrush current.

  3. Correct the IoTiny doesn't have the wired option that the EZ-Bv4 does

#16   — Edited

Woops, Sorry for the misinformation. I somehow forgot the IoTiny cant connect to the computer through USB. Because of this I actually removed the IoTiny out of my robot. I rerouted control of the devices that were connected to it to an existing EZB already in use in the robot. Even though I have more wires where I didn't want, things are simpler overall.

I hope you find the issue. This sounds like a current issue. The servos may be starving the IoTiny and browning it out. What kind of power supply are you using to power you robot? In your OP you say power supply. Is it a Wall Wart or a good switching power supply? It needs to be rated for the peek amp draw of all your devices added together plus about 25% more for overhead? Stay away from the Wall Warts. A good power supply needs to supply enough current when the Servos start moving along with all the other devices needs that are on that circuit.  Are you powering the servos through the IoTinys? If so run your power around the IoTinys to the servos, straight from the power supply. Aviod powering power hungry motors and servos directly from EZB's and IoTiny's.

#18  

Thanks, I think I found the main culprit. I swapped out my 24 Gauge wire and replaced it with XT-60 and it seems to be working. The old wires just couldn't carry enough power it seems. If the problem persists, I will stagger the servo firing and also consider powering the servos directly instead of through the Tinys.

#19  

Outstanding! I'm glad you're making positive progress.

Wire size and connections are important. As an retired high power distribution linemen these were always one of the main concerns out in the field when a customer would have dimming lights, motors that wouldn't run or burn out or low voltage. However, sometimes the wires would simply heat up, sag, melt or burn down. Not only the wire size was looked at but the condition of the wire. Old copper that was overheated because of overload would become so annealed that it wouldn't conduct much current at all. Super high resistance = heat.  You probably didn't notice any heat on your wires or connections because you couldn't run the servos very long before the EZB browned out and disconnected.

#21  

Thanks! Yeah I may upgrade to a higher voltage power supply. For now, the 5V seems to be working after chaning the wires. Mostly though, I have been running the system off my 6V battery which has been working well!

#23   — Edited

Unfortunately the problem has returned. The servos controlled by the Tinys either stop responding entirely, or they react super slowly at about 10% regular speed. I have an Arduino mega running from the same battery, running 6 large servos (JX servo PDI-HV2060MG) and they all run fine.  I have tried disconnecting most servos that the tinys are only running leaving only 2 smaller servos (JX PDI-6221MG) at a time and the problem persists. They are connected to a fully charged 6V12Ah batter. It seems to be one of the Tinys that fails most often. Sometimes only 5/7 servos stop responding while two function properly.

-Maybe one of the Tinys is a dud?

-Is it possible that the Tinys simply cannot give the required output?

-Is it possible that the clamps do not have enough surface area on the F1 terminals to deliver enough power?

I have these battery clamps:  https://www.amazon.ca/gp/product/B07QKJDKV6/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1

Clamping onto this battery:  https://www.amazon.ca/gp/product/B009DKG4WQ/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1

The only other idea I have not tried yet is to bypass the power for the servos past the Tinys to power the servos directly. However this would take a long time to wire properly. And if I would have to do this I would probably just choose to no longer use the TInys altogether.

PRO
Canada
#24  

Sounds like the 2.1mm barrel plug side could be causing issues with too much current going through it or it could be the 5A reverse polarity diode is being overwhelmed on the IoTiny. I have seen 2.1mm barrel plugs (CCTV style) open up internally due to too much current draw.

Do you know how much current you are pulling with your servos? Are you driving 7 at once or only a couple at once?

It seems very odd to me that the mega would be able to drive the servos at the same cadence as the IoTiny but not brown out. Are the servos externally powered on the mega? If not the mega would easily brown out with only 2-3 servos moving at once due to it’s linear voltage regular.

A lot of people using inMoovs choose to directly power their servos no matter the control system (IoTiny, EZ-B, mega or otherwise). It is common to power servos external to the control board in these high current DIY applications. There are products out there that help wire this kind of configuration quickly, @smiller29 has some examples of this on his inMoov.

#25   — Edited

You don't say what kind of servos you have attached to the IoTinys. The servos I'm using in my robot pull 7 amps each when working hard or starting up. When many are running or starting up this will quickly overwhelm an IoTiny or the amps that a battery can provide when using the wrong one for an application.

Current is lazy. It will go the easiest rout. If your Mega's load is not as demanding as the Iotinys or there is an easier path to the load through it then that's the way most of your current will go.  Maybe that's why the Mega keep running? Are the Iotinys on one circuit from the battery and the Mega on a different one?

Eliminate as many connections and bottlenecks as possible (connections, plugs, and other devices sharing the load). and provide a big unobstructed roadway (wire) for your current to get to the load. To keep your wiring limited consider using wiring blocks near your load or a central location for the motors to connect to. Then run large main branch lines to each block.

I'm not a battery expert but I wonder if the lead acid battery your are using will provide the startup amps needed for your servos. I've read that Lipo batteries are much better at providing the super fast and much higher amp draw that motors take when starting up then when normally  running.

#26  

@Jeremie referred to @smiller29 power devices. After reviewing I'm impressed by his choices! One thing that stands out is his use of a 110acv input to 6dcv, 60 amp Regulated Switching Power Supply for his main power source in his Inmoov. The key feature here is the 60 amp rating.

#27  

Thanks guys. I reset the Tiny and set it back to AP (master mode). It is now working perfectly. Very strange. However, I did this before and the problem returned so I assume the problem will come back. Seems to be an issue with the Tiny.

Some answers:

  • Each tiny is connect to 6 x JX PDI-6221MG (smaller) and 1x  PDI-HV2060MG  ( larger)
  • I haven't measured the current draw. But I disconnected all but one of the smaller servos on one of the Tinys but the problem persists even with just one. I also programmed in delays so that they are not all firing at once
  • The Mega is powering 7 of the larger servos and works perfectly. I have the KEYESTUDIO Mega Sensor Shield on the mega which is externally powered by the battery.
  • The Mega and the Tinys are on the same circuit. I have run tests with only one of the Tinys running to reduce total current draw but the problem persists.
  • Due to the fact that the Mega is running 7 larger servos no problem, I would assume that the battery is sufficient
  • I tried powering the servos on the Tiny externally from the battery instead of coming through the Tiny but it did not help.

Thanks for the link to @smiller29's build. Very well done.

PRO
Canada
#28   — Edited

@elektrophunktronic Yeah sounds like the battery is good if it's working with the Mega, as I suspected the servos are connected to the power externally to the Mega so it makes sense that it's not browning out.

To me it sounds like something in your IoTiny circuit is getting hot and opening up with the current draw gets too high (temperature gets too hot).

I've never come across an issue on the IoTiny that wasn't power related in some way. I would double-check to see if the wiring gauge is suitable for the amount of current draw you are running. As I mentioned before 2.1mm Barrel plugs (CCTV style) are likely to cause issues with high current as they have a 22 gauge wire connecting the positive barrel to the terminal block. For high current applications with long wire runs, I'd recommend 16-20AWG wire. For the 2.1mm barrel plug I'd recommend the style that you can solder directly to.

The only other idea I had is that if these are IoTinys from the original batch, they had an input capacitor that was ceramic instead of electrolytic and it did cause some issues with some servos when they switched directions quickly. Could you check? It's located at the bottom left corner of the WiFi module. If you're unclear please attach a photo to your response.

#29  

User-inserted image

They are brand new so I assume they are later models. I have attached a photo. I need to take the inmoov to a festival this weekend so I cant risk risk them not functioning. For now I will just run multiple servo wires from the MEGA

PRO
Canada
#30  

Yep, those IoTinys are the newest revision v1.1. The 2.1mm CCTV style barrel plug that’s in the photo is the exact type that I was referring to that can’t handle high current. I would advise switching it out if you are running high current through the IoTiny.

#32  

So I swapped out the plugs for ones with a larger gauge connections. I am pleased to report that it has been functioning perfectly since. Fingers crossed this is the final solution. Thanks Jeremie!

#33   — Edited

Outstanding!! Nice work guys!! This make me feel good.

What did you end up buying that replaced the old barrel plug?

#35  

Nice, Jer nailed it!! His skills and knowledge in very impressive. We re very fortunate to have him hanging around here and willing to help.

PRO
Canada
#36  

Thank you very much for the kind words, Dave! We are fortunate to have you here too!

#38  

Nice find Nomad. They will only handle 3 amps but very nice for small demand projects. Thanks!