@Jon, what are the wheel connections to the gear motor?
Had you thought about a universal hub?
Shop the flea markets, you may run across wheels that have more bite.
Though I don't think added weight will help, if you got into some soft stuff.
But I think you need to take sand as trying to displace a lot of material at one time, and that is what gives you grip. Where other tires will dig their own hole.
Here's a pic of the final drive that goes out to the wheel hub, which rides in the slots.
Thanks, if this doesn't work out I will be scrounging around for alternatives. I have high hopes. It's a beast. I don't mean to sound like a broken record, but we aren't going far anyway.
I had some time to work on the Rover's communication today, it went well. The video is kinda long and the audio is screwy. I'm pretty sure that we have a working solution. I'll be testing this daily, and hopefully this holiday weekend will yield to the completion of the chassis.
I modified the chassis to put the battery at CoG, added the $20, 8 ch 12 bit ADC, voltage and current tied into DashWare with accuracy I could only dream of, all for the beach video, watchdog, RTC+NTP, data logging, uploading and compiling code via cli, signed SSL cert w/ TLD, VNC, and counted the seconds to uploading the video.
NO! NO! NO! What could possibly go wrong?
I like to solve problems. This kind of problem cannot be solved. When my rover's "shared" 3G modem is online, my business voicemail is offline, unless my phone is on wifi.It's hard to see it coming until you dig in. That's what I did, I dug into this free, included, nonsense, things that dreams are made of, but you never dream of it. Instead you get some crossed signals of hope and disappointment.
Blurred screen shots aside there's a few voicemails on wifi. Things have been quiet lately. On 4G, no voicemails. They pile up somewhere until a reboot of my phone. There is no troubleshooting in the world worth my time. No effort will go toward fixing this issue. I pulled the power to the Pi.
This is way, way, beyond the scope of the project. If the rover was trying to save me from my day job, I don't blame it, but this isn't the rover. It's my provider.
I'll let you know how things go with my new provider.
Join this happy bunch, I'm one of them after getting on my daughter's plan. Having to get a new phone number, after getting robo calls from every state in the union.
Problem solved. I switched to Verizon, and now the rover is 4G capable. My preferred remote location is only 3G, but I guess it can't stay there forever, so this makes sense in the long run. I ended up with this device. I have unlimited data, which is throttled at 10GB and again at 20GB. I'm trying to hit those caps in the first month to evaluate the speed. It's cheaper than the AT&T plan, and they threw in a $200 gift card
I was skeptical. The rover has more than one network device, I was going to have to put a switch on it anyway. The Mifi size isn't bad, and there's plenty of room for it, so let's move on to the good stuff. There are a lot of external antenna choices, and it has an internal lipo backup battery (because you can connect a phone and/or Verizon alarm system to it).
Interestingly, the Verizon Mifi device runs on 5V. The power turns out to be only slightly more than the AT&T USB modem. I connected the Pi, a desktop and a laptop to the Mifi and made them all do stuff. 0.200 mA idle and topped out around 0.450 mA @ 5.2 V when busiest. I don't know how long it will run on the backup battery, but I'm sure it's enough for a short brownout caused by the rover's motors.
On my office desk it shows 4 of 5 bars for signal strength. I ran some tests. Pic #1 is a speed test from the Pi, connected via Ethernet to the Mifi. Pic #2 is my home PC pinging the Pi, through Hamachi, over the 4G link.
VNC works like a charm. 99% of the work I do is over some remote connection, and it's better than what I'm used to. I'm able to run 1280x1024 w/ 24 bit color depth. It's responsive and smooth. You could program using the IDE, drag windows around, FTP large files, and whatever else you want. I know I can squeeze some more signal out of it when it's outside.
I was promised a public dynamic IP, but they didn't mention a $500 setup fee for it. At least they knew what I was asking for, unlike AT&T. One of the Verizon techs called me today and said it would also have to be a static IP. I would rather not have a static IP, and $500? lol... It looks like we're stuck with Hamachi. I wish that the Mifi had some kind of endpoint on it. If you Google Mifi hacking, you will find all kinds of cool stuff, but I'm not going to mess with it.
The only problem I see with it is the camera. When I was using the Pi as a gateway I could control the camera over Hamachi. Now I'm stuck with the camera uploading video to the cloud, and using the web browser on the Pi to control the PTZ. I'm starting to feel like this rover will never be finished, so I'm going to start accepting what I have and moving on.
Here is a visual representation of the power requirements of our bulky, yet efficient modem/router/switch. This thing will not be an issue. I left some DMMs in for the most accurate representation.
I built a data logger using the Propeller, it's far from perfect, but plenty good enough for this. Here's the code. If I were to continue using it I would add floating point math. Dashware is currently doing the floating point math. It tries to interpolate between the 1 second readings, and it causes some weird effects that, well, suck.
The video overlay is done post production using Dashware. Dashware is now free. When you use a custom data logger, it can be a real beast. It's not part of the rover project, but I thought it would be cool for the next few videos. Bottom line, if you need to overlay data on a video, Dashware is a solid contender.
My logger also adds a running mAh tally, I forgot to include it in the video, but it's the 4th column in the CSV. Apparently this forum does not allow CSV, so it's attached as txt. Uh, that doesn't seem to work and locked up my desktop icon lol... Way too long of a day to start troubleshooting a new issue. Here it is in pastebin.
Thanks! Come on down, that would be fun. SD Maker Faire is coming up in October. I'm hoping to drop the rover off, head home and cruise around remotely, like a Proper maker.
I'm testing my network PTZ camera next. I'm estimating everything on to be around 0.8 A at idle, running on a single 35Ah battery, and I'm on the fence with the solar panel. My current solar panel is gigantic, and heavy. I think that mounting hardware alone would be more than I want to spend on it.
Center console cut out, and 3.5 mm sheet metal support puts the battery right in the middle. I'll be adding some thick bolts and extra large washers to hold the metal in place. I can't find anything short enough around the house. When I was cutting I was sure this was the end of the chassis, but it feels solid. I imagine it like taking a rib out of a wing. Or a dent in a soda can someone is standing on. Turns out it's not so bad.
The camera mast will extend upward from where the cup holders are. Those two bolts in the upper right hold the steering actuator to the frame, and need reinforcement. That's probably the 10th time I've mentioned it, so it should be getting done sometime soon
The big cutouts at the bottom are where the seats used to be. I think that I'm going to mount this https://www.walmart.com/ip/Sterilite-3-Gallon-12-Quart-Storage-Box/15442439 above them to house all of the electronics. I've been looking at weatherproof boxes and something that size is way too much $$. I can add some cooling to it, with an inlet that won't allow rain to get inside. I'll need to cut holes for wires, and use some kind of sealant. Any ideas?
I was playing with the idea of putting the motor controllers outside of the box, and closer to the motors. There are a lot of pros and cons. In testing I can stall the motors and the controllers don't get hot, barely warm, so I will put them in the box as well. A friend wants to donate motor controllers that he makes, they might run even cooler due to a higher rating.
The MiFi modem thing is awkward to mount. I'm not really sure how to attach it, but I do know that it doesn't generate a lot of heat. Nothing like a cable modem, or a SOHO router. Good thing space isn't much of an issue, and it has external antennas.
Inside of the Sterilite container will be a piece of ePVC, and it will have standoffs for the electronic boards. I'll probably velcro the bottom of the ePVC to the inside of the Sterilite container. The PW chassis can flex quite a bit, and I don't want my PCBs flexing.
I need a case for the Raspberry Pi, that will be attached to the container using velcro.
I have a detached garage with no AC and it has been way too hot out to work on this stuff. Yeah, that's my excuse for now
More excellent work. You're having way too much fun on this! Hope it lasts forever (or at least as long as you have been working on it). Just keep it out of Philadelphia (Hitch-Bot) and you should be fine.
Thanks guys. Today the fun went exponential. I reconfigured the Rover's Hamachi client to host a gateway, and have full access to any IP the MiFi hands out (or static IP) on the Rover's LAN. The previous VPN was a mesh network, which is okay for 2 devices, but we need to get the IP camera online.
It's super simple for other people to join the Rover's LAN. I will harden the the RPi side before going live, but I would like to keep the VPN available, and simple as possible for other people to join. It couldn't be easier.
The best part is speed! Tldr; RSRP -92dBm RSRQ -12dB. Ping: 32 bytes 56ms!!!
I tried to keep the video short. It didn't work out. This isn't wireless programming, it's long range UGV programming. The Raspberry Pi plays a big role. I would love nothing more than to strap a modem directly to the Propeller, but this has much more to offer. On Rover this size it's the perfect fit.
Everything required to finish the rover will be here by the end of this week. Moving it inside has helped tremendously.
I have a 100 watt flexible solar panel in the mail. The panel I have, 30lbs at 30 watts is not mobile and a waste of time for this application.
With the new panel, on a bright day we can move for hours without worrying about compromising the low light hours! All of this on one 35Ah battery, cutting the rovers initial gross weight in half.
I have a couple of external antennas for the 4G modem. The MiFi thing will be under solar panels that will severely degrade the signal. I'm 1/2 way through reading a document on 4G antenna separation, so I'm not sure how the antennas will be mounted. There will be gold mylar foil separating the electronics, which also kills the LTE signal. The external antennas are the perfect solution to all of that.
I moved the steering actuator, gained some ground clearance, and it no longer pulls on the plastic chassis. The placement is final, geometry is final, I can move onto steering feedback. There's a few options to choose from, I'm testing them all.
The Sterilite box I chose was too large because they listed the exterior dimensions as the exterior dimensions. I was hoping to put some more electronics in this weekend, but there's nowhere to put them, yet.
I made a little python program https://pastebin.com/g3w5qadG that has some buttons and send serial commands. The rover will be remote control, semi-autonomous and support fully autonomous modes. So I need some way to control it, and change those modes. For now I tried this -
I was able to get the SR04T waterproof ultrasonic sensors working. It wasn't a code issue, it was due to them needing a pullup on the TX line.
I should start reading specs before ordering. They have a minimum sensing range of 25 cm. I'm not sure how to deal with that. I could mount them 25 cm behind the front bumper. That's pretty far back, too far back in a lot of places.
If an object is within 25 cm the reading jumps all over. I can't filter out non-linear readings, those readings could be because of someone walking in front of it. I was thinking mount them on the bumper and then augment them with some other sensors but I don't want to add any more sensors.
Advice please, what does everyone else do in this situation?
I got to robot all day! I have this big Sterilite container and ePVC ready to go. It was time consuming but went smoothly. I have to run some signal wires to the motor controllers and the I&V sensor.
I am able to log into and program the Prop Protoboard on the rover!! This Prop will be the power master, and it will always be on, unless the main battery drops below 6 V. It has an ADC to monitor the battery and current, will control some cooling fans and relays. I'm considering adding a second power source for this microcontroller. I want it to have years of uptime.
Pic 1 - Battery strapped as close to CoG as possible. I added a 100 amp breaker, and its test button acts as an e-stop.
Pic 2 - Switching connectors on everything... yay.
Pic 3 - ePVC is awesome! Sheet metal screws and standoffs are a snap!
Pic 4 - The dirty power layer.
Pic 5 - The clean power layer.
Just curious, you stated, "It has an ADC to monitor the battery and current...". When you refer to current, are you measuring the amperage or just the voltage (battery charge)?
Just curious, you stated, "It has an ADC to monitor the battery and current...". When you refer to current, are you measuring the amperage or just the voltage (battery charge)?
Speaking of which, I am monitoring both now. There's also a Python program HTML scraping the RSSI from the modem, 0 to 5 "bars".
It's very cloudy and dark, and the battery voltage is going up! The camera is not installed, nor are the motors turning, but it's good to know we can at least keep communications up on a cloudy day.
Floating point question. This will output a whole number only, no decimal places. Do I need to convert the float into a string?
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
adc : "MCP3208"
pst : "Parallax Serial Terminal"
f : "F32"
CON
dpin = 1 'both din and dout of the mcp3208 are connected to this pin on the prop demo board.
cpin = 0 'the clock pin of the mcp3208 is connected to this pin on the prop demo board.
spin = 3 'the chip select pin of the mcp 3208 is connected to this pin on the prop demo board.
VAR
PUB output | volts,amps
f.start
pst.start(115200) 'Start the Parallax Serial Terminal object at 115200 baud
adc.start(dpin, cpin, spin, 255) 'Start the MCP3208 object and enable all 8 channels as
'single-ended inputs.
repeat
pst.Str(String(pst#HM, "V= "))
volts := (adc.in(4))
f.ffloat (volts)
volts := f.fdiv(volts,81.9)
pst.dec(volts)
pst.Str(String(" ",pst#NL))
pst.Str(String("I= "))
amps := (adc.in(5))
f.ffloat (amps)
amps := f.fdiv(amps,45.5)
pst.dec(amps)
pst.Str(String(" ",pst#NL))
waitcnt(clkfreq/1 + cnt) '10Hz screen refresh
pst.clear
Never mind, I was able to get it working using float to string.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
adc : "MCP3208"
pst : "Parallax Serial Terminal"
f : "F32"
fs : "FloatString"
fm : "FloatMath"
CON
dpin = 1 'both din and dout of the mcp3208 are connected to this pin on the prop demo board.
cpin = 0 'the clock pin of the mcp3208 is connected to this pin on the prop demo board.
spin = 3 'the chip select pin of the mcp 3208 is connected to this pin on the prop demo board.
VAR
long volts
long amps
PUB main
f.start
fs.SetPrecision(4)
pst.start(115200) 'Start the Parallax Serial Terminal object at 115200 baud
adc.start(dpin, cpin, spin, 255) 'Start the MCP3208 object and enable all 8 channels as
'single-ended inputs.
repeat
pst.Str(String(pst#HM, "V= "))
f.ffloat (volts)
volts:= f.fdiv(f.ffloat(adc.in(4)),81.90)
pst.str(fs.floattostring(volts))
pst.Str(String(" ",pst#NL))
pst.Str(String("I= "))
f.ffloat (amps)
amps:= f.fdiv(f.ffloat(adc.in(5)),81.90)
pst.str(fs.floattostring(amps))
pst.Str(String(" ",pst#NL))
waitcnt(clkfreq/1 + cnt) '10Hz screen refresh
pst.clear
Comments
Jim
Had you thought about a universal hub?
Shop the flea markets, you may run across wheels that have more bite.
Though I don't think added weight will help, if you got into some soft stuff.
But I think you need to take sand as trying to displace a lot of material at one time, and that is what gives you grip. Where other tires will dig their own hole.
Thanks, if this doesn't work out I will be scrounging around for alternatives. I have high hopes. It's a beast. I don't mean to sound like a broken record, but we aren't going far anyway.
That looks like a difficult connection to duplicate, making an adapter will be a challenge.
Maybe if you sacrifice parts of the original wheel?
I'm sure there are options, that fairly thick outer plastic can be anchored to.
You just need to come up with a happy medium, between hard and soft ground.
NO! NO! NO! What could possibly go wrong?
I like to solve problems. This kind of problem cannot be solved. When my rover's "shared" 3G modem is online, my business voicemail is offline, unless my phone is on wifi.It's hard to see it coming until you dig in. That's what I did, I dug into this free, included, nonsense, things that dreams are made of, but you never dream of it. Instead you get some crossed signals of hope and disappointment.
Blurred screen shots aside there's a few voicemails on wifi. Things have been quiet lately. On 4G, no voicemails. They pile up somewhere until a reboot of my phone. There is no troubleshooting in the world worth my time. No effort will go toward fixing this issue. I pulled the power to the Pi.
This is way, way, beyond the scope of the project. If the rover was trying to save me from my day job, I don't blame it, but this isn't the rover. It's my provider.
I'll let you know how things go with my new provider.
<post edited, sorry mods/Parallax for the rant>
http://fox8.com/2017/07/12/verizon-data-of-6-million-customers-leaked-online/
I only hope they have decent 3G coverage.
I was skeptical. The rover has more than one network device, I was going to have to put a switch on it anyway. The Mifi size isn't bad, and there's plenty of room for it, so let's move on to the good stuff. There are a lot of external antenna choices, and it has an internal lipo backup battery (because you can connect a phone and/or Verizon alarm system to it).
Interestingly, the Verizon Mifi device runs on 5V. The power turns out to be only slightly more than the AT&T USB modem. I connected the Pi, a desktop and a laptop to the Mifi and made them all do stuff. 0.200 mA idle and topped out around 0.450 mA @ 5.2 V when busiest. I don't know how long it will run on the backup battery, but I'm sure it's enough for a short brownout caused by the rover's motors.
On my office desk it shows 4 of 5 bars for signal strength. I ran some tests. Pic #1 is a speed test from the Pi, connected via Ethernet to the Mifi. Pic #2 is my home PC pinging the Pi, through Hamachi, over the 4G link.
VNC works like a charm. 99% of the work I do is over some remote connection, and it's better than what I'm used to. I'm able to run 1280x1024 w/ 24 bit color depth. It's responsive and smooth. You could program using the IDE, drag windows around, FTP large files, and whatever else you want. I know I can squeeze some more signal out of it when it's outside.
I was promised a public dynamic IP, but they didn't mention a $500 setup fee for it. At least they knew what I was asking for, unlike AT&T. One of the Verizon techs called me today and said it would also have to be a static IP. I would rather not have a static IP, and $500? lol... It looks like we're stuck with Hamachi. I wish that the Mifi had some kind of endpoint on it. If you Google Mifi hacking, you will find all kinds of cool stuff, but I'm not going to mess with it.
The only problem I see with it is the camera. When I was using the Pi as a gateway I could control the camera over Hamachi. Now I'm stuck with the camera uploading video to the cloud, and using the web browser on the Pi to control the PTZ. I'm starting to feel like this rover will never be finished, so I'm going to start accepting what I have and moving on.
I built a data logger using the Propeller, it's far from perfect, but plenty good enough for this. Here's the code. If I were to continue using it I would add floating point math. Dashware is currently doing the floating point math. It tries to interpolate between the 1 second readings, and it causes some weird effects that, well, suck.
The video overlay is done post production using Dashware. Dashware is now free. When you use a custom data logger, it can be a real beast. It's not part of the rover project, but I thought it would be cool for the next few videos. Bottom line, if you need to overlay data on a video, Dashware is a solid contender.
My logger also adds a running mAh tally, I forgot to include it in the video, but it's the 4th column in the CSV. Apparently this forum does not allow CSV, so it's attached as txt. Uh, that doesn't seem to work and locked up my desktop icon lol... Way too long of a day to start troubleshooting a new issue. Here it is in pastebin.
I'm testing my network PTZ camera next. I'm estimating everything on to be around 0.8 A at idle, running on a single 35Ah battery, and I'm on the fence with the solar panel. My current solar panel is gigantic, and heavy. I think that mounting hardware alone would be more than I want to spend on it.
Same power, half the size, and 18 lbs lighter. https://www.amazon.com/ALEKO-SP30W12V-Monocrystalline-Application-portable/dp/B00XOIUEQU/ref=sr_1_3
Much easier to mount, and a tilt mechanism would be much easier. I'm open to suggestions before ordering another panel.
The camera mast will extend upward from where the cup holders are. Those two bolts in the upper right hold the steering actuator to the frame, and need reinforcement. That's probably the 10th time I've mentioned it, so it should be getting done sometime soon
The big cutouts at the bottom are where the seats used to be. I think that I'm going to mount this https://www.walmart.com/ip/Sterilite-3-Gallon-12-Quart-Storage-Box/15442439 above them to house all of the electronics. I've been looking at weatherproof boxes and something that size is way too much $$. I can add some cooling to it, with an inlet that won't allow rain to get inside. I'll need to cut holes for wires, and use some kind of sealant. Any ideas?
I was playing with the idea of putting the motor controllers outside of the box, and closer to the motors. There are a lot of pros and cons. In testing I can stall the motors and the controllers don't get hot, barely warm, so I will put them in the box as well. A friend wants to donate motor controllers that he makes, they might run even cooler due to a higher rating.
The MiFi modem thing is awkward to mount. I'm not really sure how to attach it, but I do know that it doesn't generate a lot of heat. Nothing like a cable modem, or a SOHO router. Good thing space isn't much of an issue, and it has external antennas.
Inside of the Sterilite container will be a piece of ePVC, and it will have standoffs for the electronic boards. I'll probably velcro the bottom of the ePVC to the inside of the Sterilite container. The PW chassis can flex quite a bit, and I don't want my PCBs flexing.
I need a case for the Raspberry Pi, that will be attached to the container using velcro.
I have a detached garage with no AC and it has been way too hot out to work on this stuff. Yeah, that's my excuse for now
Keep us updated on that, mostly all I have seen are acrylic layers and no complete enclosure.
It's super simple for other people to join the Rover's LAN. I will harden the the RPi side before going live, but I would like to keep the VPN available, and simple as possible for other people to join. It couldn't be easier.
The best part is speed! Tldr; RSRP -92dBm RSRQ -12dB. Ping: 32 bytes 56ms!!!
I tried to keep the video short. It didn't work out. This isn't wireless programming, it's long range UGV programming. The Raspberry Pi plays a big role. I would love nothing more than to strap a modem directly to the Propeller, but this has much more to offer. On Rover this size it's the perfect fit.
Edit: LTE cap is now 20 GB.
I have a 100 watt flexible solar panel in the mail. The panel I have, 30lbs at 30 watts is not mobile and a waste of time for this application.
With the new panel, on a bright day we can move for hours without worrying about compromising the low light hours! All of this on one 35Ah battery, cutting the rovers initial gross weight in half.
I have a couple of external antennas for the 4G modem. The MiFi thing will be under solar panels that will severely degrade the signal. I'm 1/2 way through reading a document on 4G antenna separation, so I'm not sure how the antennas will be mounted. There will be gold mylar foil separating the electronics, which also kills the LTE signal. The external antennas are the perfect solution to all of that.
I moved the steering actuator, gained some ground clearance, and it no longer pulls on the plastic chassis. The placement is final, geometry is final, I can move onto steering feedback. There's a few options to choose from, I'm testing them all.
The Sterilite box I chose was too large because they listed the exterior dimensions as the exterior dimensions. I was hoping to put some more electronics in this weekend, but there's nowhere to put them, yet.
Jim
I made a little python program https://pastebin.com/g3w5qadG that has some buttons and send serial commands. The rover will be remote control, semi-autonomous and support fully autonomous modes. So I need some way to control it, and change those modes. For now I tried this -
It works really well!
I should start reading specs before ordering. They have a minimum sensing range of 25 cm. I'm not sure how to deal with that. I could mount them 25 cm behind the front bumper. That's pretty far back, too far back in a lot of places.
If an object is within 25 cm the reading jumps all over. I can't filter out non-linear readings, those readings could be because of someone walking in front of it. I was thinking mount them on the bumper and then augment them with some other sensors but I don't want to add any more sensors.
Advice please, what does everyone else do in this situation?
I am able to log into and program the Prop Protoboard on the rover!! This Prop will be the power master, and it will always be on, unless the main battery drops below 6 V. It has an ADC to monitor the battery and current, will control some cooling fans and relays. I'm considering adding a second power source for this microcontroller. I want it to have years of uptime.
Pic 1 - Battery strapped as close to CoG as possible. I added a 100 amp breaker, and its test button acts as an e-stop.
Pic 2 - Switching connectors on everything... yay.
Pic 3 - ePVC is awesome! Sheet metal screws and standoffs are a snap!
Pic 4 - The dirty power layer.
Pic 5 - The clean power layer.
Slide show.
Sent from my rover.
Ray
Yes, amperage (and voltage) will be monitored. https://www.sparkfun.com/products/9028 It has an analog output scaled for 3.3 V. The ADC is an MCP3208.
It's very cloudy and dark, and the battery voltage is going up! The camera is not installed, nor are the motors turning, but it's good to know we can at least keep communications up on a cloudy day.
Never mind, I was able to get it working using float to string.