Dock-Based Run Length Clock

News and information about the Neato XV-11 Robotic Vacuum. All discussion and troubleshooting questions go here.

Dock-Based Run Length Clock

Postby glnc222 » May 30th, 2013, 4:06 pm

Inexpensive portable stop-clock and IR proximity sensor are interfaced to time departures and arrivals at the dock.

[edit] Botvac version added below http://www.robotreviews.com/chat/viewtopic.php?p=127330#p127330

Run time is an indication of battery capacity, at least as recognized in software (maximum limit programmed, and reduced when short runs detected, unless reset with "New Battery" menu option). Capacity declines over time, especially with deep discharge usage employed in Neato; batteries last only a year or so depending on use (after market higher capacity and thus longer life batteries are available, at a premium).

dockclock.jpg
Neato Dock-based run length clock

Adjustable Infrared proximity switch photoelectric detect sensor $5
http://www.ebay.com/itm/280962790378?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Digital CLOCK AUTO CAR TRUCK TIMER Alarm Stop Watch $5
http://www.ebay.com/itm/110574091885?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Trisonic.jpg
small stop-clock for Neato run timing

clockinsides.jpg
Trisonic Clock Interior with Added Leads Green

schematicruntimer.jpg
proximity sensor to lcd clock interface


half the clock size assembled on breadboard; 1/8w resistors, tantalum capacitors. Best diagram leads inside the clock when opening as easily break loose.
dockclockback.jpg
assembled robot run timer

clockboard.jpg


A 5v A/C adapter
http://www.amazon.com/gp/product/B001KU44HE/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1
[edit] caution this vendor may not supply the same adapter shown.
[edit] A brandless substitute received oddly did not work right with no multimeter difference from a good one; maybe noisy. USB connector adapters for hubs and charging are most likely to work as usually regulated.
5vadapter.jpg
small 5v a/c adapter TPI
5vadapter.jpg (6.87 KiB) Viewed 8268 times


ClockInstructions.jpg


best U.S. source for components
Digi-Key is the largest U.S. distributor of industrial electronic components but ships small personal orders $2.75 USPS postage. Much cheaper than retail store fronts. Specialty items like the proximity sensor only on Ebay, 1-2 weeks mail from mainland China.



For other Neato mods see links list http://www.robotreviews.com/chat/viewtopic.php?f=20&t=16475
Last edited by glnc222 on November 14th, 2014, 9:49 pm, edited 3 times in total.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » June 18th, 2013, 3:05 am

Final circuit and assembled unit now shown above.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » June 18th, 2013, 4:27 pm

Microswitch Alternative to IR Proximity Sensor

(without the IR sensor, an interface can operate on a 3v battery; some component values may need adjustment)
Attachments
schematicmicroswitch.jpg
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » June 19th, 2013, 2:18 am

added note: with the microswitch so close to charger, time delays may not be needed in the clock interface for Neato passing by, just possibly switch debouncing with a capacitor. The Proximity sensor has instability at the transition point which is bypassed by delay.

clock note: appears to give a little beep every hour, no option to disable. faint high pitch transducer. Disconnect speaker when installing interface if preferred.

interface: put a red indicator next to the green for the run-end status. Verifies operation.

[edit] caution: this IR sensor cannot be top mounted with a dark colored Neato on a light colored floor. High brightness needed to detect the Neato, also sees the floor. At least looking down. Works peeking around the side at the bottom.
clockpeek.jpg
sensor mounting for dark Neato on light colored floor


[edit] because Neato follows walls with only one side detector, the bot will always approach the charger passing by (not to charge) from the side opposite where the sensor is mounted.

[edit] other IR sensors can be used such as Neato's wall and cliff sensors, which have analog instead of digital outputs, voltages varied with distance to objects. Output is convertible to digital with a simple comparator such as TLC393. These sensors are more expensive than the digital one shown here.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » June 21st, 2013, 4:08 am

charger voltage sensing

A final way of tracking Neato's docking and undocking is monitoring the voltage on the charger plates, about 24v without a Neato docked. However, this is only useful for manually started runs, because it is likely charging cycles going on and off also produce small changes in the plate voltage.

When a fully charged Neato departs the dock plate voltage rises .7 volts (on old Neato's and chargers, incompatible with newer chargers). The timer interface circuit can be modified to respond to this variation.

Plate voltage can be capacitive coupled to an op amp with output clocking the flip-flops configured as a counter; the op amp replaces the inverting transistor and time delays used with the IR sensor. The arriving pulse can directly trip the FF, but with voltages all reduced to logic levels, the departing pulse needs amplification. When the counter is reset starting a run, only the departure and arrival will trigger the counter. Waiting for a scheduled run, charging cycles would likely trigger the timer as well. Characteristics of all the transitions would have to be analyzed to find some way to filter the different events, if that is even possible or practical.

The charging plate wiring has labeled solder pads on the circuit board accessible within the charger, and vent holes on the case bottom give access to the clock; the interface fits inside the case. The circuit might require variances for the two chargers in use, the older 2.4 amp power supply (incompatible with newer vacuums), and the newer charger with 1.5amp supply and revised circuits (backwards compatible with older vacuums). This last factor combined with scheduling difficulties diminish this option's attraction.

All the possibilities for timing the Neato at the dock now appear to have been covered.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » June 22nd, 2013, 12:14 am

Possible Simpler Charger Interface

schematicruntimer2.jpg
theoretical charger interface to stop-clock


It may be possible to distinguish charging cycles from arrival-departures by the magnitude of pulses. When charging in the "blinking green" phase, which will be the case in periodic topping-off, plate voltage drops an additional 35mv compared to 70 in arriving, just within the range comparators can discriminate -- and it can always be amplified (with a lot more parts...). [edit] Orange-blinking found same as Green plate voltage.

It seems such add-on circuits are so low powered, they can be supplied with a linear voltage regulator on the charger's 24v supply. The IR proximity detector takes only 30ma, and the interface circuitry much less. The charging plates must not be used, as regulated by some detection of the Neato and its charging program.

It may not be necessary to cut the charger plug cable for splicing if the same size coaxial power connectors on the Neato can be found. They have a thinner prong than the most common 5mm connector, but there are only so many sizes of these. [edit] micrometer and tables appear to make this size EIAJ-03 (adaptaplug C), 4.75mm OD 1.70mm ID, but don't have one to test. Only this one size between noticeably larger common 5.5mm and smaller 4mm. [edit] Digi-Key Part No.'s CP-014-ND, CP-046H-ND match. Plugs labeled female for pin in the jack opposite of video cables.

[edit] obscure "short" and "long" pulses: the lower comparator must be inhibited till an initial pulse fades, then released for a subsequent pulse, to form a counter. Additional delay components may be required.
Also for initially downward pulses, a pull-up instead of down resistor may be needed, with comparator polarity reversed. Details require some twiddling but additional IC's may not be needed. [PS. The inhibit line proved unnecessary; upward and downward transition directions transfer to pulses, separable by comparison polarity. The comparator handles .1v differences good for 1/5 divided plate voltage.]

[edit] 24v across the input capacitors requires high voltage parts. They aren't always as claimed, so something safer will be required, dividing the voltage etc. The hard casing around capacitors flys apart when they overheat, like a bursting bottle.
[edit] The bad experience with capacitor coupling 24v may have been failure to observe the polarization of tantalum capacitors, like electrolytics, connecting one up backwards. It's a learning curve... Now there are better ceramic unpolarized ones easier to use and cheaper to boot, and even more compact.


[edit] doesn't really simplify because voltage dividers must be reproduced separately both sides with more parts.
Easier to drive the flip-flop with the comparator. final circuit still in progress.
Last edited by glnc222 on October 28th, 2014, 11:43 pm, edited 1 time in total.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » July 3rd, 2013, 2:05 pm

final direct charger interface
schematicruntimer3.jpg


[edit] Capacitive coupling the charger as pulses gives some independence from exact charger voltages, allowing separate calibration of the comparator biases and circuit testing. The pulse size can also be adjusted by raising the divided charger voltage. Separate FF latch isolates debouncing the departure oscillations of the vacuum contacts with false arrivals besides simplified latching. The clock side is isolated to prevent any possible damage and requires high capacitance and low resistance. Over-voltages tend to confuse it.
There may be simpler circuits but lots of subtle adjustments.

[edit]The downward pulse from arrivals turns out stronger than the upward pulse from departure. Using 5 per cent resistors the resistor dividers must place only a .1v difference on the departure side comparator. Filler resistors are sufficient instead of elaborate trimmers. Spreads significantly less than .1v allow spurious signals to trip the comparators. Variations from charging are excluded with .1v. The interface is working well in practice.

[edit] The way I'm building this is mounting the flip-flop, indicator LED's and reset button on the clock with the two FF clk inputs on a header, which can then be connected to either an interface to the IR sensor, mechanical switch sensor, or the charger. The comparator interface to the charger and 5v regulator is mounted inside the charger, and supplies 5v for parts on the clock. Both parts are only an inch square. There is no heat from such small loads on the regulator; its heat sink can be ignored, and even smaller parts would suffice. It is used merely as off the shelf at Radio Shack. Power is wired through a barrel connector same as external 5v wall socket supplies, also at Radio Shack, common 5.5mm. Nothing is then tied to only one solution.
To mate with headers, female headers are available from Thailand on ebay for practically nothing, forming custom connectors of any size. Often connectors and wiring parts are some of the most expensive electronic items, maybe for all the copper in them.

[edit] Have gotten occasional false departure triggers when recharging, probably switching from orange to green, with the particular unit made with 5 % resistors. These do not affect timing manually started, as there is only one clock pulse from setting the flip flop -- only the first scheduled run after resetting the clock is timed, and unless reset before charged, cannot occur. Also hard to isolate and measure for exact calibration, and I don't need scheduling. The optimum procedure might be to seek the maximum interval spread working with true departures and arrivals, instead of trying to measure the charging transition. This is fairly practical (lots of manual pushing Neato in and out -- done resting on a plastic sheet so not rolling), but didn't bother myself. Otherwise it has been working very well over numerous vacuum runs.
Attachments
clockcables.jpg
plenty of room for extra wires in the cord slot
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » November 14th, 2014, 9:47 pm

Botvac Version

The Botvac charger showed no voltage variations with docked vs undocked condition. Instead an extra Neato Wall Sensor proximity detector was mounted atop the dock and interfaced to the clock. The Botvac is detected wherever along the dock it parks. Temporary construction is working well. Will fit in a small box when permanent.

The wall sensor is interesting in the output appearing to oscillate, with repeated sampling of distance, complicating the interface. The data sheet shows something like that but not clearly.
[edit] It later occurred the noise involved may stem from using an unfiltered USB 5v a/c adapter instead of a battery, or further filtering the power supply. Later switched to a 15v adapater and 5v regulator, but intended only temporary. Observations courtesy member Gordon. I do not have all the instruments needed to measure this, and it turns out the filtering may provide needed delays for the Neato passing by cleaning -- see next post.


botvactimer.JPG
Neato Wall Sensor detects Botvac at dock for clock


[edit] The capacitve coupling method was not consistent with the part specs and worked by accident, unreliably. Replace by direct approach with inverting transistor below.

schematicbotvactimer.jpg

layoutbotvactimer.jpg




(when constructing, use IrfanView horizontal flip to show bottom wiring)



Contact for any late revisions if attempting to construct such things, as some problems can emerge only with time.
Last edited by glnc222 on December 26th, 2016, 10:06 pm, edited 19 times in total.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby JEfromCanada » November 15th, 2014, 2:58 am

How does a sensor-based solution work when, for example, the botvac passes the dock while cleaning the room perimeter? Does the circuit include some sort of mechanism to ensure that the botvac has maintained its proximity for a specific duration (signaling a docked state, rather than a transient pass-by)?

[Edit]

I hadn't looked carefully at the diagram. You're using a "Counter", probably to measure the number of successive readings when the sensor indicates there is something being detected. I imagine there is a threshold where the state is considered to be "docked"?
Current robots:
Roomba Discovery 4210 (R.I.P. - Freecycled)
Roomba 560 (retired)
Neato XV-11 SW version 3.1.17844, LDS version 2.6.15295, with Pet Brush and Vic's filter (sold)
Neato Botvac 80 SW version 1.1.97, LDS version 2.6.15295, Board SW version 22753
JEfromCanada
Robot Addict
 
Posts: 620
Joined: November 13th, 2007, 5:16 pm
Location: Canada

Re: Dock-Based Run Length Clock

Postby glnc222 » November 15th, 2014, 3:16 am

Good question about passing by, and I had to check that, having special provisions in prior versions for XV. The Botvac cleans right by the charging plates same as a wall, with a small separation, always from the right to see the wall with the wall sensor and dust with the side brush. The distance seems enough not to trip the detector, but there is also a three seconds or so delay from the heavy filtering for other reasons, so that the vacuum may pass by too quickly to trip it. The bot moves maybe 1/2 foot per second there, half the full speed, for doing the perimeter, prepared for obstructions. About three good runs so far without problems.
[edit] Arrival detected when within 5/8" of the dock, hard to say if passes by within that -- not always the same (with the lowered bumper, other mod, it sometimes bounces off the platform, borderline height). Only ten inches of the length could be that close, so passes within a couple seconds. Measurements of the circuit events will have to wait as it is working.

The counter business: the comparator outputs a pulse to the flip flop at the crossing point in both the rising and falling input directions, departing and arriving, from how capacitive coupling functions and how the flip flop clock input works. To save parts only one output is used instead of separating two clock signals, one for departing and one for arriving. The flip flop will switch only when its J input is high, so a counter-like setup is created by making J on the arriving flip flop be the output of the departing flip flop, so the second, arriving FF switches only on the second pulse in sequence (a delay is included in the Q-J connection to prevent immediate setting while the first flip flop is switching, the responses are so fast). I say a counter because previous versions had separate clock inputs to the two flip flops operating independently.

I am just uploading the corrected diagram. It still worked with the mistake, but theoretically needed.

I am replacing this clock with a simple kitchen up/down timer with a better, AAA battery and maybe better construction (also in matching white). Part of the watch battery connector in this one broke, and is patched together, unsatisfactory.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » November 23rd, 2014, 9:01 pm

AC Power Tap for Dock Gadgets

A line power tap was fashioned on the 3-wire appliance cord used on the Botvac dock using the common .093" Molex connector hollow receptacle pins in Radio Shack. Widening the Molex fits over the pins in the dock connector, and curled narrower fits into the cord end. The earth ground pin is thicker. A 3-to-2 wire plug adapter forms a convenient socket for a compact USB charger for 5v supply.

The dock power connector can also be accessed inside the dock on the circuit board, and wires run out through openings in the cord wrap form, with less work. A small USB charger can also fit inside at the corner, tight fit; only an Amazon Kindle charger or this one would go in. The external tap gives more flexibility such as using the USB adapter for something else on occasion with more convenience.

docktap.JPG
Botvac Dock Power Cord Tap
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » December 9th, 2014, 2:57 am

Finished Neato Run Length Timer

circuit additions and connection diagram added above

runtimer2.JPG


[edit] One more revision might be interesting, indicating with the led's (not visible in photo, on the right side of the box) whether the bot made a second run automatically after recharging. This may be possible by just wiring up the flip flops differently. At present a green light goes on when the Neato departs, with the clock starting, and a red light goes when returning, clock stopping. It could be arranged as a true binary counter, with the green going off as the red goes on the first time, then the green going on again with another departure, and terminating the count at that point. Both led's lit would indicate a second run started. The clock control would be inhibited when the red light is on so the time remains that of the first run, and the run counting similarly inhibited. The flexible JK flip flop controls and both true and inverted outputs may allow this with no additional IC's and just a diode or so, will have to see.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby glnc222 » December 11th, 2014, 2:09 am

Added recharge run indication to schematic above with only three parts. Led's show binary count to 3, depart-arrive-depart, while clock times first run only. Indicates whether a recharge was needed to complete cleaning.

Inverted output of the second, arrival FF switches the mode of the first, departure FF from alternating to one-time-fixed flip, stopping count, and suppresses output to the clock. That gets all the data possible from the components and helps evaluate the battery performance.

[edit] A dual 4-bit counter such as 74HC393 14-DIP could be used in place of the FF, but appears to take more parts to get the desired outputs and stopping the count. The two counters could run in parallel with the 2nd delayed one bit, producing an output on 3 for stopping, but lots of details to manage.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby Lewiy » December 12th, 2014, 4:07 am

glnc222

If you send GetLifeStatLlog via USB, the answer will come with a lot of statistics from the robot. There you'll find LS_STARTUP_TIME, 1,1263543390,1263543390. This is UnisTimeStamp (converter is here - http://www.unixtimestamp.com). So we learn the start time of cleaning. Neato does not have full date format, but only a week day and the time. So after converting all dates refer to the third week of 2010. Then we find the line - LS_A2D1,73715,12582,16200. It looks like statistics of the supply voltage during the last cleaning (min - 12582 mV, max - 16200 mV, count of measurements - 73,715). If the robot is used Matlab clock resolution - 10ms, then 73 715 divide by 100 and get the runtime in seconds. Everything stated here - is only my guess. But calculation coincide with reality.
Last edited by Lewiy on December 12th, 2014, 11:00 pm, edited 1 time in total.
Lewiy
Robot Master
 
Posts: 143
Joined: September 27th, 2014, 3:33 am

Re: Dock-Based Run Length Clock

Postby glnc222 » December 12th, 2014, 2:36 pm

Excellent detective work. So Linux is like a Rosetta Stone for interpreting Neato. The original OS used was Linux with some mods for real time device control. The link above needs editing. Many other Unix Time Stamp converters are listed in google.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby Gordon » December 12th, 2014, 6:52 pm

glnc222 wrote:... The link above needs editing.
Lewiy's link may be what he sees on his PC. If USA users simply execute the address: unixtimestamp.com/ in their browser's addy bar they will access the intended conversion tool page.{deleted unnecessary verbiage}
Last edited by Gordon on December 14th, 2014, 3:48 am, edited 1 time in total.
Gordon
Robot Master
 
Posts: 4304
Joined: April 6th, 2005, 2:02 am
Location: Santa Ynez, CA USA

Re: Dock-Based Run Length Clock

Postby glnc222 » December 12th, 2014, 7:07 pm

probably an extension for Russian language version.
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby Lewiy » December 12th, 2014, 11:13 pm

glnc222 wrote:probably an extension for Russian language version.


I have deleted the extension in the link above. Sorry for my mistake.
Lewiy
Robot Master
 
Posts: 143
Joined: September 27th, 2014, 3:33 am

Re: Dock-Based Run Length Clock

Postby glnc222 » December 14th, 2014, 1:00 am

Re Lewiy above: on Botvac with QNX OS, USB commands GetLifeStatLog and GetSysLog do not exist.
Maybe not in V3.4 firmware either?
glnc222
Robot Master
 
Posts: 4538
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Dock-Based Run Length Clock

Postby Lewiy » December 14th, 2014, 5:33 am

I have XV21 and firmware 3.4. There's GetLifeStatLog, but not sure about GetSysLog. Have you tried to send HELP to your Botvak? Is there GetLifeStatLog in the list of commands?
Lewiy
Robot Master
 
Posts: 143
Joined: September 27th, 2014, 3:33 am

Next

Return to Neato Robotics

Who is online

Users browsing this forum: allidad, Harry007x1, TechGuy and 340 guests

cron