Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Serious issues V2
#1
Sad 
Hi,

I'm not sure my problem is software related but hey, I have to start somewhere... ;-)

I moved over from the first generation Robo-Tank to the second one.
Rob has made some very nice improvements and it's good to know that the many of the new ideas and features can be realized with this board... ;-)

I modified my old, old display board, removed the two Arduino's Due and the Internet Shield from the old one and started installing the software.
Unfortunately my new Robo-Tank is not working as it should.
Starting it up it get stuck at the very first screen, the one with "Robo-Tank Version 3.0" and the fish tank picture.

I can switch on and off power as often as I want to, it just hangs there.
It has run properly a couple of times but I guess that was just a matter of luck.
Today I have been sitting for hours trying to get it going, so frustrating... :-(

Anybody had this kind of problem?
I guess the board was tested. Both the Arduino's, memory cards and Internet Shield come from a working first generation Robo-Tank.
It spontaneously run a couple of times after switching on and off a couple of hundred times, so that could mean the connections (mods) on the display board are okay.
This display board is one of the earlier ones but always worked okay.

Is there any way to get this problem "boxed in" so it can be solved?
I want to be 200% sure in case of a main power failure, my Robo-Tank starts properly as soon as the mains are restored.
In this case I cannot trust my marine tank, which is now without lights, to this Robo-Tank.

I hope this can be solved very soon.

BTW: I have tested multiple software version from V2.9 to V2.92, all the same problem.

Reply to top
#2
Hi.
First download these test sketch
https://www.robo-tank.ca/forum/Thread-up...72#pid1772

They should tell you if all 3 serial connections is working or not. I have a faulty ic and i have a broken serial 3 connection. And Rob is already send me new ic, so i can change it when it arrives.

My setup work mainly, but because that serial 3 don't work properly, i don't get green connection icon etc, (and that way display try to reconnect controller all the time (every 5 seconds), so i have to modified this, so serial connections don't dropped and re connect every 5 seconds, like default, if connection is lost, but after i made change for code, it not try to re-connect, and drop out serial connections to. Everything else work, and when i get that new ic, i can remove that "re-connect modification"
Reply to top
#3
Thanks Niksun,

I will try that sketch... ;-)

I just uploaded the two sketches, left the memory card the way it was with the files of V2.92.
Or should I remove it?

This is how my display looks...


   

Reply to top
#4
(12-09-2016, 02:07 PM)Arne Wrote: Thanks Niksun,

I will try that sketch... ;-)

I just uploaded the two sketches, left the memory card the way it was with the files of V2.92.
Or should I remove it?

This is how my display looks...

I think you have to keep memorycard inside, because if you look that code, it first check if it can found sdcard and homeicon.raw file to it. And controller too, it check sdcard there also, and if it found index.htm file. So you have to be correct files there.
Reply to top
#5
Niksun,

It makes no difference...
When I remove the display memory card, it only seems to take a bit longer for the display to show up.
But the screen looks exactly the same...

Reply to top
#6
Do you remember un-comment the right display type and comment out wrong ones?
Reply to top
#7
Niksun,

I was already typing you an answer about how carefully I uncommented and out-commented the display on line 24...
Ohhh, his is talking about the test file... ;-)

This works now, this it what it shows:

   

But to be honest and I spoke to Rob about this back then, I always had some difficulties powering the display.
What I mean is this, I cannot power the display through the Arduino power plug with the while the RJ cable not connected to the controller.
I must power the display through the cable which goes to the controller.

Another strange thing, when I have the display stand alone and want to flash the software, the Arduino gets powered by my usb connection.
But, I have to play around with it, in-out-in-out, power on, power off, in-out and then I can see the leds on the Arduino light.
But this takes some playing around...

Reply to top
#8
Hi Arne and Niksu, first off, thanks for helping out here Niksu, I appreciate it.

This is a new issue, haven't seen this problem, we'll figure it out.

For powering the display you shouldn't use the DC jack on the Arduino, you can use the DC jack on the display board or the Ethernet patch cable. Also when you program you should first power up the display using the DC jack on the board then plug in the USB programming cable, the USB doesn't power it properly.

When you ran that test sketch did you have your router plugged into the w5100 shield? If it doesn't connect it doesn't run the serial tests. If not plug it in and restart the display then controller.
Reply to top
#9
(12-09-2016, 03:25 PM)Arne Wrote: Niksun,

I was already typing you an answer about how carefully I uncommented and out-commented the display on line 24...
Ohhh, his is talking about the test file... ;-)

This works now, this it what it shows:



But to be honest and I spoke to Rob about this back then, I always had some difficulties powering the display.
What I mean is this, I cannot power the display through the Arduino power plug with the while the RJ cable not connected to the controller.
I must power the display through the cable which goes to the controller.

Another strange thing, when I have the display stand alone and want to flash the software, the Arduino gets powered by my usb connection.
But, I have to play around with it, in-out-in-out, power on, power off, in-out and then I can see the leds on the Arduino light.
But this takes some playing around...

I always flash new software display and controller, when they are their places and power up (so i dont remove or move them etc) Then i have no issues. But first i try to flash display stand alone too, but i realized soon, that it needs external power then. Because only usb dont work. Or i have to remove whole arduino to pcb and display and then i can flash it without any power than usb connection. But removing arduino "all the time" was not funny :D So i go and buy 5m usb cable so i can flash everything in their places, and when they are running (ofcourse arduino reset itself, but after flash it start up and goes where it left :)
Reply to top
#10
Yeah programming is easier if the cables reach. The display draws quite a bit of current, I think USB only puts out 600ma. One thing to note, if only the controller is restarted while the display is running the controller won't start up. The display has to be restarted, once the display turns on it sends a signal to the controller to tell it to startup. I will be adding something so if only controller is restarted the display will restart.
Reply to top
#11
Well flashing works but I have to play around.
I cannot simply connect power to the display board power plug because I had to remove it when I put it into the housing.

Important to me is that this "behaviour" is correct and Rob can confirm if it is.
Playing around to be able to flash, I don't care as long as the rest is working... ;-)

This is what the display shows now, I think it's okay:

   

Is there some relation to the problems I'm experiencing at the moment, the display gotten stuck?

Reply to top
#12
So that's good news, the mod you did to display board works. That info should have taken about 30-60 seconds to show up, speed depends how long it takes to connect to router.

I attached a sketch to load on the display, you just need to upload it and it did its thing.

After that upload 2.92 sketches to the display and controller Arduinos. On the display you should get the welcome message. Once you have display and controller connected press ok and let it do its thing, after that you'll probably get an update available message, press ok and it'll restart and should startup.

All this will setup the eeprom, because you were using the old system it could have been a bad setting in the eeprom.

The internet is disabled by default, go to settings, system and press the area where the internet info should be and it'll connect and should show your IPs etc...


Attached Files
.zip   Reset_Controller.zip (Size: 443 bytes / Downloads: 149)
Reply to top
#13
Thanks Rob, I will give it a go... ;-)

Reply to top
#14
Hello Arne,
I have a new bord and at the first time similar problems. After many tests I find out that the SD-card is defekt. I buy two new cards (Display and Ethernet) and install all new and it works!!
Reply to top
#15
What I did:

I have everything connected and powered up.
I have uploaded the test sketch to the controller Arduino.
Switched off power and the display starts up showing the Robo-Tank start page, not the home page.
I switched off and did power up again, again the screen with the tank and version etc.

Connected usb to the controller again and uploaded V2.92.
Switch off power and on again, nothing has changed... sorry.
Still the first screen with fish tank.

What I noticed and I have noticed this before, is this text before compiling the controller sketch:

WARNING: Spurious .github folder in 'DHT sensor library' library

Thanks Roland... ;-)

I've found another mem card for the display, putting the files on it right now.

Reply to top
#16
In the 2.92 display sketch find line 331.

You should see this over the next 6 lines.

Code:
   sd.chdir("/ScrSaver");
   while (file.openNext(sd.vwd(), O_READ)) {
     screenSaverImageCount++;
     file.close();
   }
   sd.chdir("/");    

Delete those lines and replace with this.

Code:
   Serial.print("LOADING 1: ");
   Serial.println(millis());
         
   sd.chdir("/ScrSaver");
   while (file.openNext(sd.vwd(), O_READ)) {
     screenSaverImageCount++;
     file.close();
   }
   sd.chdir("/");
   
   Serial.print("LOADING 2: ");
   Serial.println(millis());

Then leave the display connected to the computer and open the serial monitor in the Arduino IDE, click "tools" then "Serial Monitor", in the bottom right hand corner change the baud rate to 115200 and post what you see.
Reply to top
#17
Thanks Rob, thanks Roland... ;-)

I started all over, flashed the controller again V2.92, put the display files on another (used) memory card.
Flashed the display (not the controller... ;-)) with the reset file and powered up a couple of times.
Then flashed the display sketch again and now RT powers up properly again... ;-)

I will try to switch the power supply on/off a couple of times to see whether it's stable.
I can also try and put the other mem card back again so we can findout what is going on.

Rob, do you want me to change the lines.
I'm more than happy to do so... ;-)

I have put back the old mem card and RT started up properly again...
I'm afraid this is such a moment again that it looks like it's working until it stops again.

Rob, this is what the serial monitor throws at me:

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1464
LOADING 2: 1465

Reply to top
#18
It was probably eeprom related but still could be the memory card. Might be a good idea to reformat the card to Fat32. What data do you get in the serial window with the other memory card?
Reply to top
#19
Let me try Rob...

Okay Rob, here we go... ;-)

Is it normal with the lines changed, RT does not start, so only the fish tank screen?

What does this mean when I flash the controller:
WARNING: Spurious .github folder in 'DHT sensor library' library

I tried two same mem cards, both used.
I left power on and only closed the serial monitor window and re-opened it to get a new reading.
I hope this is okay.

I replaced the cards and did the same for the second card.

Here are a couple of readings for card 1:

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1592
LOADING 2: 1634

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1430
LOADING 2: 1471

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1430
LOADING 2: 1471

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1430
LOADING 2: 1471


Here for card 2:

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1636
LOADING 2: 1638

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1464
LOADING 2: 1465

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1464
LOADING 2: 1465

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1464
LOADING 2: 1465


What I noticed is that card 2 also did this once:

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1636
LOADING 2: 1638

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1463
LOADING 2: 1465

Initializing sd card...
SUCCESS - sd card initialized.
LOADING 1: 1464
LOADING 2: 1465

The first reading is always different then the next ones. But it looks like the next ones are always the same.
I noticed that it happened that this wasn't the case with card 2.
The second couple of test it looked card 2 behaved the same...

I really blind here but maybe you can make up something from this Rob.

Reply to top
#20
The numbers you see is milliseconds, they look ok. One thing I noticed that makes no sense is in the serial window you should see.

Initializing sd card...
SUCCESS - sd card initialized.
SUCCESS - Found homeIcon.raw file.
LOADING 1: 1463
LOADING 2: 1465

The bold line you don't have, if the line doesn't say that it should say something, since it doesn't appear it should be impossible to get loading 1 and 2. 

When the code is loaded it runs in order, before the display says print "Loading 1" it says print "SUCCESS - Found homeIcon.raw file".

You should see this about 15 lines above the lines you changed.

Code:
 if (!sd.exists("homeIcon.raw")) {
   Serial.println("ERROR - Can't find homeIcon.raw file!");
 } else Serial.println("SUCCESS - Found homeIcon.raw file.");

That searches the SD card for an image and prints to the serial monitor if it was found or not. I've never seen a serial.print never print, I use them for troubleshooting, its good see if the code flows the way it should. 

The first changes I asked you to do checked to make sure it wasn't hanging when counting images for screensaver, since it printed "Loading 2" it wasn't hanging there.

Leave the other change as you did and in display sketch find line 668, you should see this long line.

Code:
else if (var == 7000) {smartStartup(); Alarm.delay(200); myGLCD.clrScr(); screenHome(); prevMillisTemp = millis(); controllerStartup = 1; internetEnabled = EEPROM_read(35); updateInternet(); break;} // tells display controller is connected

replace that line with this longer line.
Code:
else if (var == 7000) {Serial.print("Loading 3: "); Serial.println(millis()); smartStartup(); Alarm.delay(200); myGLCD.clrScr(); Serial.print("Loading 3: "); Serial.println(millis()); screenHome(); prevMillisTemp = millis(); controllerStartup = 1; internetEnabled = EEPROM_read(35); updateInternet(); break;} // tells display controller is connected
Upload and post results.

This means nothing just a folder it doesn't like, no problem because of it.
WARNING: Spurious .github folder in 'DHT sensor library' library 
Reply to top


Possibly Related Threads…
Thread Author Replies Views Last Post
  IP/webpage issues lumpylipton 14 12,858 01-29-2018, 12:02 AM
Last Post: Rob F
  Help with Controller Issues koast 8 8,805 05-15-2017, 09:55 AM
Last Post: Rob F
  connection issues Texman23 7 8,575 03-13-2016, 04:44 PM
Last Post: Rob F

Forum Jump:

Current time: 04-27-2024, 12:06 AM