[Zelfbouw] Robotstofzuiger (met RasPI)

Pagina: 1 2 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
naftebakje schreef op donderdag 4 januari 2018 @ 15:05:
Je kan ook op de wieltjes een wit vlak maken, en dat met een sensor vergelijkbaar met de valdetectie uitlezen. Heb je nog 2 analoge ingangen over ;)
Dat is opzich ook geen gek idee, daar ga ik nog wel even naar kijken. Dan moet ik alleen wel een gat maken in de behuizing gezien de wielen in een apart compartiment zitten in de stofzuiger :)

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
DoeEensGek schreef op donderdag 4 januari 2018 @ 15:22:
Je hebt een probleem met te diepe voegen, zou je niet kunnen instellen dat bij een eerste te lage waarde van de sensor, de stofzuiger langzaam iets verder rijdt. Mocht de waarde te laag blijven, gaat hij achteruit, mocht de waarde weer stijgen, rijdt hij langzaam verder, andere sensoren zullen nu ook over de voeg heen gaan, maar omdat hij langzaam rijdt wordt de voeg wel schoon.
Als hij dan bij de trap bijvoorbeeld komt, remt hij af rijdt iets verder, maar omdat de waarde te laag blijft, rijdt hij terug.
Tis een kwestie van uitvinden waar de grens is van langzaam doorrijden. ;) Neem aan dat je voegen geen 10 cm breed zijn en je stofzuiger niet na 2cm al naar beneden kukelt.
Tot nu toe heb ik geen voeg in huis gevonden waarbij dit een probleem zou moeten zijn. En ik heb vrij donkere dikke voegen in onze tegels thuis. Als dit in de praktijk toch ergens problemen geeft dan is dat zeker een optie, maar voor nu lijkt het nog goed te gaan..
RP6conrad schreef op donderdag 4 januari 2018 @ 18:06:
Als je overweegt om afstanden te gaan meten via wielrotaties, is hier ook weer een uitstekend artikel : http://wiki.robotmc.be/index.php?title=Odometrie
Zeer belangrijk is de resolutie van de encoders : één signaal per wielomwenteling is echt te weinig. Denk eerder aan minimaal 1 puls/afgelegde mm. Ideaal is dat de encoder op de motoras is gemonteerd, via de gearbox heb je dan een verhoging van de resolutie.
Hm, ja das waar, maarja, bij mijn motoren zitten geen encoders gemonteerd, en achteraf monteren is niet echt eenvoudig geloof ik, dus zit ik eerder richting een zelfbedacht encoder-achtig systeem, toch? :)

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • DoeEensGek
  • Registratie: Maart 2009
  • Laatst online: 20-09 14:30
geerttttt schreef op vrijdag 5 januari 2018 @ 07:21:
[...]

Tot nu toe heb ik geen voeg in huis gevonden waarbij dit een probleem zou moeten zijn. En ik heb vrij donkere dikke voegen in onze tegels thuis. Als dit in de praktijk toch ergens problemen geeft dan is dat zeker een optie, maar voor nu lijkt het nog goed te gaan..
Zie dat ik per abuis 2 alinea's niet heb gelezen 8)7 . Je hebt dit al deels opgelost door de sensor anders af te lezen zag ik.

Wel een situatie die ik met mijn simpele robot stofzuiger heb. Hij rijdt zichzelf soms vast in het hoogpolig vloerkleed en op een stenen randje van kachel, Maar draait na X aantal seconde de wielen weer achteruit. Ik twijfel of dit komt door dat ze kunnen zien of er weerstand op de wielen(motoren) staat, bij de rand staan de wielen eigenlijk deels los, is dus geen weerstand. Maar bij het tapijt staan ze vast en is er dus teveel weerstand. In beide gevallen gaat de stofzuiger een andere handeling doen. Ons voorwieletje is volgens mij wit zwart geblokt, misschien doen ze daar iets mee om te controleren of hij beweegt, heb hem nooit open geschroefd ;) .

Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
DoeEensGek schreef op vrijdag 5 januari 2018 @ 11:39:
[...]

Zie dat ik per abuis 2 alinea's niet heb gelezen 8)7 . Je hebt dit al deels opgelost door de sensor anders af te lezen zag ik.

Wel een situatie die ik met mijn simpele robot stofzuiger heb. Hij rijdt zichzelf soms vast in het hoogpolig vloerkleed en op een stenen randje van kachel, Maar draait na X aantal seconde de wielen weer achteruit. Ik twijfel of dit komt door dat ze kunnen zien of er weerstand op de wielen(motoren) staat, bij de rand staan de wielen eigenlijk deels los, is dus geen weerstand. Maar bij het tapijt staan ze vast en is er dus teveel weerstand. In beide gevallen gaat de stofzuiger een andere handeling doen. Ons voorwieletje is volgens mij wit zwart geblokt, misschien doen ze daar iets mee om te controleren of hij beweegt, heb hem nooit open geschroefd ;) .
Ja analoog aflezen was voor mij de oplossing, geeft veel meer mogelijkheden en afstelling.

Je idee is verder niet gek, ik bedenk me ineens dat beide wieltjes een soort patroon erin hebben zitten. Misschien dat ik daarmee iets kan om af te lezen wat de stand is... Ga ik verder naar kijken.

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
Nou, ik ben vandaag wat aan het testen met de daadwerkelijke zuigkrachtmotor. Ik heb hem even aan een labvoeding gehangen en kom er dan achter dat hij maar liefst 1.5 ampere continue trekt op 17v (met een piek van meer dan ruim 2 ampere). Dat is best flink... Ik begin me ineens af te vragen of alle bedrading daartussen deze amperages wel trekt... Wat denken jullie?

En een ander punt, als ik de gate voor de IRL7833 mosfet niet verbonden heb ergens aan, en dan stroom op het circuit zet, dan gaat de motor draaien, maar dan trekt hij echt veel amperage. meer dan 2.5 trekt ie voordat de CC van de labvoeding inschakelt. Bovendien wordt de IRL7833 mosfet binnen een paar seconden heel erg heet.

Hoe komt dat? De mosfet zou dat wel moeten kunnen hebben toch? Kan iemand me hiermee helpen?
Misschien @memphis of @Ploink ?

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • Looney11
  • Registratie: December 2004
  • Laatst online: 17-09 06:47
Hoogstwaarschijnlijk zet je de mosfet met 3.3V niet geheel open en loopt ie flink wat vermogen te verdampen omdat de mosfet nog niet volledig is open gestuurd. Een zelfde probleem wordt hier beschreven:

https://electronics.stack...wer-it-provides-to-device

De datasheet http://www.irf.com/product-info/datasheets/data/irl7833.pdf laat zien dat je in de richting van 4.5V moet sturen om 30A te kunnen laten lopen onder ideale omstandigheden. Hier stuur je een motor aan, inductieve belasting dus dan ligt het allemaal wat moeilijker.

Hopelijk heb je wat aan de info.

Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
Looney11 schreef op vrijdag 5 januari 2018 @ 14:02:
Hoogstwaarschijnlijk zet je de mosfet met 3.3V niet geheel open en loopt ie flink wat vermogen te verdampen omdat de mosfet nog niet volledig is open gestuurd. Een zelfde probleem wordt hier beschreven:

https://electronics.stack...wer-it-provides-to-device

De datasheet http://www.irf.com/product-info/datasheets/data/irl7833.pdf laat zien dat je in de richting van 4.5V moet sturen om 30A te kunnen laten lopen onder ideale omstandigheden. Hier stuur je een motor aan, inductieve belasting dus dan ligt het allemaal wat moeilijker.

Hopelijk heb je wat aan de info.
Hm, misschien lees ik hem verkeerd, maar als ik de grafiek bekijk lijk ik af te lezen dat hij bij 3.0v zo'n 60-80A te moeten openstellen...

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • Looney11
  • Registratie: December 2004
  • Laatst online: 17-09 06:47
Kun je een schema posten van hoe je de motor met de mosfet hebt geschakeld?

Acties:
  • 0 Henk 'm!

  • Ploink
  • Registratie: April 2002
  • Laatst online: 21-08 13:05
geerttttt schreef op vrijdag 5 januari 2018 @ 15:15:
[...]

Hm, misschien lees ik hem verkeerd, maar als ik de grafiek bekijk lijk ik af te lezen dat hij bij 3.0v zo'n 60-80A te moeten openstellen...
Voor de zekerheid kun je natuurlijk even meten wat de spanning is over de FET als de motor aan is.
En een ander punt, als ik de gate voor de IRL7833 mosfet niet verbonden heb ergens aan, en dan stroom op het circuit zet, dan gaat de motor draaien, maar
De gate van een mosfet moet je nooit laten zweven! Door de hoge impedantie hangt het maar net af van de statische lading in de gate hoever deze gaat geleiden en hoeveel energie hij gaat dissiperen. Een open gate kan zich heel onvoorspelbaar gedragen en zelfs gaan oscilleren.
Plaats zo nodig een weerstand tussen gate en source (100k bv) zodat hij altijd in de 'uit' stand staat als je er geen signaal op aansluit..

[ Voor 15% gewijzigd door Ploink op 06-01-2018 13:52 ]


Acties:
  • 0 Henk 'm!

  • Yucon
  • Registratie: December 2000
  • Laatst online: 21:45

Yucon

*broem*

Leuk project, sowieso is het mooi als dit soort dingen met wat generiekere controllers werken.

Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
Ok, misschien dat iemand me hierbij kan helpen. Ik ben de robotstofzuiger momenteel verder aan het testen en verfijnen. Opzich werkt alles goed, alleen na zo'n 20 minuten hem laten stofzuigen (met stofzuigmotor aan dus) wordt de batterij wel handwarm. Zo'n 30-40 graden gok ik. Lijkt me nog niet direct een probleem, maar hij trekt wel flink wat stroom.

Maar nu de vraag. Op de stofzuiger zitten aan de onderkant 3 infrarood leds met daarnaast (met een plastic wandje ertussen) 3 infrarood photoresistors. De leds schijnen op de vloer, de photoresistors moeten dat weer meten en zodanig meet je of er nog een vloer onder de stofzuiger zit, of dat hij op het punt staat om van de trap af te stuiteren.
Afbeeldingslocatie: https://i.imgur.com/ocljJmp.jpg
Afbeeldingslocatie: https://i.imgur.com/bJ5Jlo7.jpg

Momenteel zit dat als volgt aangesloten:
IR LED:
3.3v ---> 220ohm weerstand -> led ---> Ground

Photoresistor:
3.3v --> 20K resistor (pull-up dus) --> Analoge input pin --> photoresistor ---> ground
Ik lees met de raspberry de analoge pin uit (via een MCP3008 ADC chip), dit meet zo'n 930 wanneer er een vloer is, en 980 wanneer er geen vloer is. de cijfers gaan van 0 t/m 1023, waarbij 1023 zo'n 3,3v is.

Opzich is er dus wel een verschil tussen wel of geen vloer, maar het ligt erg dicht bij elkaar. En, zodra de stofzuiger nu over een voeg op de vloer rijdt, denkt hij regelmatig dat de vloer ophoudt, wat natuurlijk niet de bedoeling is.

Wat nu? Is de pullup te sterk? Moet ik die veranderen naar bijv 100K? Of kan ik misschien de IR led harder laten branden door de weerstand daarvan te veranderen naar bijv 440 ohm? Volgens de led calculator was 220 ohm ongeveer de goede weerstand voor 1 ir led, maar momenteel is de uitkomst niet echt werkbaar voor me.

Iemand een goede tip hierin? :)

[ Voor 3% gewijzigd door geerttttt op 23-01-2018 20:34 ]

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 20-09 08:48
Vaak kan je IR leds tot 30mA sturen, maar hoe hoger in stroom hoe minder verschil wat hogere stroom geeft in lichtoutput. Dan kan je idd beter eens spelen met de pull-up weerstand.
Zit er een spiegeltje in het "wandje" waarnaar de IR sensor kijkt? Als die weg is ga je ook minder licht terugkrijgen.
Een andere optie is om de gevoeligheid van je ADC te verplaatsen, afhankelijk van je setup kan je de ondergrens van je ADC apart instellen, of kan je een opamp gebruiken om te rescalen van 0-3.3V naar vb 2-3.3V.

Ook kan je op dikte van de voeg gaan filteren, als je langer dan 1cm niets ziet hoef je pas te reageren.

[ Voor 15% gewijzigd door naftebakje op 25-01-2018 12:24 ]

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
naftebakje schreef op donderdag 25 januari 2018 @ 12:22:
Vaak kan je IR leds tot 30mA sturen, maar hoe hoger in stroom hoe minder verschil wat hogere stroom geeft in lichtoutput. Dan kan je idd beter eens spelen met de pull-up weerstand.
Zit er een spiegeltje in het "wandje" waarnaar de IR sensor kijkt? Als die weg is ga je ook minder licht terugkrijgen.
Een andere optie is om de gevoeligheid van je ADC te verplaatsen, afhankelijk van je setup kan je de ondergrens van je ADC apart instellen, of kan je een opamp gebruiken om te rescalen van 0-3.3V naar vb 2-3.3V.

Ook kan je op dikte van de voeg gaan filteren, als je langer dan 1cm niets ziet hoef je pas te reageren.
Ik heb mijn berekeningen zojuist nogmaals gedaan. Blijkt dat 1 led op 3,3v geen 220 ohm weerstand nodig heeft voor 20mA output, maar rond de 100 ohm. Bij 5v is het wel 220 ohm. Ooit had ik ze aangesloten op 5v, maar (weet niet meer waarom) ik heb het later omgezet naar 3.3v.

De meest makkelijke verandering was de leds toch weer poweren met 5v en de weerstanden dus gelijk laten. Nu is het stukken beter! Wanneer hij grond ziet komt er een waarde uit van ongeveer 400, wanneer de grond ophoudt is het zo'n 950-975 zoals eerder. Ik heb het nog niet echt in de praktijk getest, maar ik denk dat hij nu een stuk beter af te stellen is! Mooi! :)

Nu moet ik nog verder met andere dingen, zoals dat hij zijn basisstation kan vinden. In het basisstation zit ook een IR led, hier heb ik niks aan gemodificeerd, dus die zal wel op het juiste voltage werken en fel genoeg zijn. Aan de kant van de stofzuiger zit op de zijkant en de achterkant een photoresistor voor het IR licht. Deze zit een stukje naar binnen zodat hij alleen IR licht opvangt als er echt een loodrechte lijn tussen de IR led en de photoresistor zit.

Dat betekent ook dat het moment van waarneming (als de stofzuiger toevallig langs het basisstation rijdt) erg kort is, en 1x per 0,1 seconde meten meestal niet voldoende is.

De ADS1115 die ik gebruik om dit te meten schijnt ook een interrupt pin te hebben, die kan ik dan aansluiten op een GPIO van de Raspberry en hier een interrupt aan hangen zodat er direct een functie aangeroepen kan worden zodra de IR led waargenomen wordt.

Dit ga ik de komende dagen is in elkaar solderen en testen, hopen dat hij dan zijn basisstation kan vinden (want nu lukt het niet echt...). :)

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

geerttttt schreef op vrijdag 26 januari 2018 @ 19:13:
De ADS1115 die ik gebruik om dit te meten schijnt ook een interrupt pin te hebben, die kan ik dan aansluiten op een GPIO van de Raspberry en hier een interrupt aan hangen zodat er direct een functie aangeroepen kan worden zodra de IR led waargenomen wordt.
Comparator mode met ALRT-pin :Y
https://learn.adafruit.co...=all#comparator-operation

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
ok, voor de IR led aan de zijkant is dat gelukt. 10k pullup resistor tussen de GPIO en de ene pin, en de andere pin aan ground. Dan dan meten met de comparator aan. Dat werkt mooi. Als de stofzuiger nu langs de basis rijdt kan ik hem exact laten stoppen zodra hij de IR Led ziet.

Maar, aan de achterkant zit ook zon soort led. Ook een IR Photodiode of hoe je dat ook noemt. maar met dezelfde opstelling krijg ik daarbij geen reactie. Ik had ook daarop een 10k pullup naar 3.3v. Maar zowel met een voltmeter als met de ADS1115 meetwaarden blijft het voltage strak op 3.3v zitten, of er nu wel of geen ir licht op schijnt.

Daarna heb ik nog de 10k pullup vervangen door 100k in de hoop dat dat verbetering bied. Geen verschil.

Heb even met de hand gemeten (zonder stroom op de robotstofzuiger). Bij geen IR licht is de meetwaarde tussen de twee pinnen oneindig (logish). En als ik de IR led er op schijn is het zo'n 18k weerstand als de led er vol op schijnt, en zo'n 50k als de led vanaf een afstandje schijnt.

Waarom kan ik dit dan niet meten en blijft het voltage zo hoog? Ik snap er niks van! Iemand een tip? :o

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Gebruik je daarvoor een 2e ADS1115? Die moet niet alleen op een ander adres komen, maar ook apart geïnitialiseerd worden. Mogelijk dat je daar een klein foutje hebt gemaakt?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
Raven schreef op vrijdag 9 februari 2018 @ 10:50:
Gebruik je daarvoor een 2e ADS1115? Die moet niet alleen op een ander adres komen, maar ook apart geïnitialiseerd worden. Mogelijk dat je daar een klein foutje hebt gemaakt?
Nee, ik heb maar 1 ADS1115. De ene led zit op A2, de andere (die ik nu probeer te lezen dus) zit op A3. Ik hoef ze ook niet beide te controleren met de alert pin, Het idee is dat hij eerst er langs rijdt en dus via de led aan de zijkant het basisstation vindt, en daarna linksom gaat draaien totdat de led aan de achterkant IR licht
van het basisstation ziet.

Oost west, 127.0.0.1 best!


Acties:
  • +2 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
Nou, het is weer een tijd geleden, maar dat betekent niet dat ik stil heb gezeten.. Tijd voor een:
Update!
Om het kort te houden, er is veel verbeterd ondertussen en ook veel dingen heb ik goed kunnen testen en verfijnen :). Om precies te zijn, de robotstofzuiger kan een mooi rondje stofzuigen en daarna weer netjes via de netvoeding zichzelf keurig opladen tot hij vol is. Hoe of wat zal ik hieronder uitwerken.

Het vinden van het basisstation

Laatste keer dat ik wat plaatste was ik hier mee bezig.
Afbeeldingslocatie: https://i.imgur.com/SPfs5Xh.jpg
De robotstofzuiger heeft twee infrarood sensoren (of eigenlijk infrarood-gevoelige weerstanden). Eentje zit aan de achterkant en eentje aan de zijkant. Het idee is dat de robotstofzuiger in de buurt van het basisstation is, er langs rijdt en dat de sensor aan de zijkant de infrarood led op het basisstation waarneemt. Op dat moment moet de robotstofzuiger stoppen en ongeveer 45 graden draaien totdat hij dezelfde infrarood led waarneemt aan de sensor aan de achterkant. Zodra dit zover is kan hij naar achter gaan rijden waarbij hij de infrarood led blijft volgen totdat hij gedocked is in het basisstation.

Ik heb beide infrarood sensoren aan een ADS1115 hangen, wat een Analog-to-digital converter is om analoog signaal te kunnen meten met de Raspberry PI. Ook heeft deze module een alert pin. Wat je kunt doen is hem instellen om de alert pin te triggeren als één van de analoge pinnen binnen een bepaalde waarde valt. Oftewel, wordt de infrarood led gezien, dan triggert de alert pin, die ik weer met een interrupt kan afvangen op de PI. Dit zorgt ervoor dat zodra de infrarood led gezien word, de raspberry pi DIRECT kan stoppen en beginnen met zijn volgende stap.

Na lang testen ben ik hiermee op een soort van werkbare situatie uitgekomen. Als de raspberry pi in de buurt is van het station werkt dit prima. Nadeel is wel, hij moet echt wel binnen een paar meter van het basisstation zijn, wil hij de IR led waarnemen...

Waar ik tegelijk mee zat is een stukje risico. Ik vind het toch best wel eng om een zelfbouw stofzuiger op goed geluk zijn basisstation te laten vinden, hem laten docken en laten opladen. En dan voornamelijk daarna constant aan de stroom laten hangen. Dat lijkt me qua verbruik niet helemaal ideaal en het geeft me ook niet zo'n fijn gevoel. Ik ben immers zelf dan niet thuis om in te grijpen als het ooit mis gaat (kortsluiting, ontploffende LI-ion accu's of wat dan ook)... :)

Met andere woorden, het dockingstation ga ik de komende tijd nog niet gebruiken. In plaats daarvan ga ik hem gewoon zelf opladen. Hij heeft namelijk ook een power connector aan de zijkant waarmee ik hem kan opladen. Zodra hij dan vol is kan ik hem gewoon zelf loskoppelen. Zodra ik dan wil dat hij een stofzuigrondje doet, leg ik hem op een willekeurige plek in de woonkamer en zet ik hem aan. Wanneer hij dan merkt dat wij niet meer thuis zijn begint hij zijn ronde en zodra hij klaar en de batterij bijna leeg is, sluit hij af en kan ik hem wanneer ik thuis kom weer opladen. Meer hierover straks in het stukje "Cutting the cord" ;)

Opladen

Dan het opladen. Zoals jullie eerder konden lezen was dit best een lastig onderdeel voor me, want ik ben niet perse bekend met Li-ion batterijen, of batterijen en laadcircuits in het algemeen. Met veel tips en advies van hier en van mede-tweaker SA007 heb ik ondertussen toch een goed werkende oplossing. Zie hier een grafiek van pas geleden waarin de batterij netjes oplaad met een vast voltage en een vast vermogen:
Afbeeldingslocatie: https://i.imgur.com/lP0QHaH.png
Ondertussen is dit ook al weer verouderd. In bovenstaande test zie je dat de batterij netjes een stukje oplaad van ongeveer 15v tot 16.5v met een vermogen van 0.3A. Zodra hij het ingestelde voltage bereikt zie je dat het vermogen netjes afbouwt om hem echt vol te laden.

Ik heb expres gekozen voor 16.5v (16.8v is namelijk pas écht vol (4.2vx4 batterijen) omdat dat net wat veiliger is. Stel dat mijn meetapparatuur niet helemaal kloppend is, en hij toch verder oplaad dan 16.5v, dan is dat niet direct een probleem. Bovendien heb ik me laten vertellen dat wanneer je een li-ion cel niet volledig vol/leeg laadt hij vaker opgeladen kan worden voordat hij qua performance achteruit gaat. Dus ik lever iets vermogen per laadbeurt in voor meer vermogen op de lange termijn, prima wat mij betreft :)

Ondertussen heb ik het laadvermogen wel wat opgeschroeft. Dat is van 0.3A naar 0.6A gegaan, zodat een volledige laadbeurt van leeg naar vol zo'n 5 uur duurt. Dit is nog steeds een veilig laadvermogen.

Ohja, het grafiekje wat je ziet wordt door de raspberry pi in de robotstofzuiger zelf gegenereerd. Zo kan ik altijd precies bijhouden of alles naar wens is zonder dat met de hand te moeten meten :)

Cutting the cord

Dan terugkomend op eerder. Ik ga hem met de hand laden en wil graag wat meer veiligheid. Wat ik dan nodig heb en graag wil, is dat de robotstofzuiger zijn eigen stroom kan onderbreken. Wanneer hij klaar is met zijn stofzuigronde en de batterij bijna leeg is, wil ik graag dat hij naar een hoekje van de kamer rijdt en daarna doei zegt (bijv. via een berichtje naar mij via Telegram) en dan netjes afsluit en vervolgens dus echt fysiek de stroomtoevoer vanaf de batterij doorbreekt. Das prettig voor mijn gemoedsrust en naar mijn mening ook best een mooie oplossing.

Daarnaast moet de bestaande power knop bovenop het apparaat er voor zorgen dat de verbinding tussen batterij en stofzuiger weer verbonden wordt (oftewel hij dus weer aan gaat) én wil ik dezelfde power knop ook kunnen meten wanneer de stofzuiger gewoon nog aan staat, want ik wil hem natuurlijk ook op mijn eigen commando uit kunnen zetten. ;)

Hiervoor heb ik het volgende schema bedacht:
Afbeeldingslocatie: https://i.imgur.com/2ufbyuz.jpg
Oftewel, zodra je de power knop indrukt maakt de batterij contact met de rest. Hierdoor gaat er 5v lopen naar het relay en gaat (via de hardware pull-up) het relay dicht. De power knop kan je nu dus loslaten en het circuit blijft gesloten. Dit totdat ik vanaf de Raspberry PI de GPIO switch die aan de relay vast zit waardoor hij zijn eigen stroom weer onderbreekt.

Tegelijk zorgt de PC817 (dat is een optocoupler) er voor dat wanneer de power knop ingedrukt wordt, dat de GPIO met ground verbonden wordt zodat ik op de Raspberry PI dit kan afvangen en kan beginnen met afsluiten.

Tenslotte heeft de raspberry pi de mogelijkheid om een GPIO naar HIGH of LOW in te stellen zodra hij helemaal afgesloten is. Dat zorgt er dus voor dat ik de stroom kan afsluiten na een nette shutdown.

Ledjes!

Daarnaast had ik nog een paar ledjes liggen die zowel rood als blauw konden branden. Deze heb ik aan de hoeken van het mainboard soldeerd en met een fijn schuurpapiertje opgeschuurd zodat ze diffuus licht geven. Dit geeft het volgende resultaat.
[Video: https://i.imgur.com/tvdZBCV.gifv]
Best geinig. Het blauw pulserende licht heb ik nu ingesteld om te tonen zodra hij zichzelf aan het opladen is (in het echt zie je het geflikker in het licht niet, dat komt door de camera). Rood-blauw afwisselend doet hij zodra je met de hand hem bestuurt. Er zitten trouwens nog een paar rode leds op andere componenten zoals je wellicht opvalt die ik er nog af ga halen (step-down converter en het motorboardje).

Camera

Ook heb ik de camera geplaatst op de stofzuiger. Het is een gewone raspberry pi camera die ik met (veel) hobbylijm vast heb gezet op een bepaalde hoek. Vanuit deze hoek zit de bumper niet in het beeld en kun je (zodra de webpagina hiervoor af is) hem op afstand besturen terwijl je kunt zien waar je heen rijdt. Vooral een gimmick natuurlijk, maar wel erg cool. :) Ik ga de lijm en de gaten er omheen nog wit schilderen trouwens, zodat het er wat netter uit ziet dan de gele lijm die je nu ziet.
Afbeeldingslocatie: https://i.imgur.com/osf60xg.jpg
Afbeeldingslocatie: https://i.imgur.com/PDnv9lm.jpg

En verder...

Hieronder zie je de eerste test met de stofzuigmotor in werking. Zoals op TV ook altijd gedaan wordt heb ik een paar snippers verstrooid en kijk ik of hij het opzuigt.
[Video: https://i.imgur.com/66tLq92.gifv]
Werkt prima dus! (het boek was nodig omdat de batterij op dat moment niet in de stofzuiger zat, daardoor zit hij wat hoger op de vering. Het boek drukt hem in deze test ff wat meer plat naar de grond.)

Later heb ik ook maar eens hem getest op een verdieping die wel een stofzuigbeurt kon gebruiken. En na een 20 minuten stofzuigen is dit wat hij eruit haalt:
Afbeeldingslocatie: https://i.imgur.com/3U8r5VJ.jpg
Best veel rommel dus. Zelfs op 'schone' vloeren weet hij na een tijdje toch best wat stof te verzamelen. Niet gek dus!
Tot slot
Dat was het weer voor nu. Mocht je de moeite hebben genomen om dit hele blok tekst te lezen, laat dan gerust weten wat je er van vind. Geeft mij ook nog het idee dat mijn posts nut hebben }:O .

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • gastje01
  • Registratie: Oktober 2005
  • Laatst online: 21:04
geerttttt schreef op dinsdag 27 maart 2018 @ 11:35:
Dat was het weer voor nu. Mocht je de moeite hebben genomen om dit hele blok tekst te lezen, laat dan gerust weten wat je er van vind. Geeft mij ook nog het idee dat mijn posts nut hebben }:O .
Zeker leuk om te lezen. Ik ben stiekem altijd een beetje jaloers op dit soort projectjes (omdat ik het zelf niet kan waarschijnlijk). Ik heb m vanaf het 'begin' gevolgd en vind t leuk om te zien dat er steeds progressie is. Wat ben je er nog meer mee van plan?

Over het stof verzamelen, ik heb er hier ook eentje dagelijks (i.v.m. 2 langharige katten) rond rijden en het is ongelofelijk waar hij iedere keer weer mee aan komt, zelfs als je 's ochtends al met een normale stofzuiger aan de slag bent geweest.

Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
gastje01 schreef op dinsdag 27 maart 2018 @ 12:41:
[...]


Zeker leuk om te lezen. Ik ben stiekem altijd een beetje jaloers op dit soort projectjes (omdat ik het zelf niet kan waarschijnlijk). Ik heb m vanaf het 'begin' gevolgd en vind t leuk om te zien dat er steeds progressie is. Wat ben je er nog meer mee van plan?
Leuk om te horen! Ik vind feedback altijd leuk, soms komen mensen ook met leuke ideetjes of toevoegingen waar ik helemaal niet aan gedacht heb.

Ik ben zelf nu sinds een jaar of 4 bezig met elektronica. Daarvoor was het voor mij ook een black box en was ik meer met software bezig. Dit soort projectjes zijn voor mij ook echt leerprojecten, want tot op heden heb ik nog nooit eerder een robot gebouwd of uberhaupt iets wat kan rijden of op batterijen werkt.

Wat ik nog als wensen/plannen heb:
  • Time of flight sensor in de voorbumper (en misschien aan de zijkant/zijkanten). Die stuurt constant een laserpuls uit en vangt die op. Aan de hand van hoe lang het duurt voordat de lichtstraal terugkeert berekent hij de afstand (tot max 1 a 2 meter). Op dit moment stoot de robot tegen elk object aan waardoor de bumper voorop detecteert dat hij iets raakt en hij ongeveer een kwartslag draait. Het is natuurlijk mooier als hij precies voordat hij de muur raakt stopt zonder hem te raken, vooral met kleine tafeltjes met breekbare potjes erop enzo...
  • Daar dan op verder bordurend zou ik graag een vorm van SLAM willen toepassen. Oftewel Simultaneous Localisation And Mapping. Aan de hand van sensoren e.d. zou hij zijn positie moeten kunnen bepalen en ook direct de ruimte kunnen mappen. Daarmee kan hij dan echt met een patroon de woonkamer door gaan ipv random kriskras door de kamer heen, plus hij weet dan waar hij begonnen is en hoe hij terug moet komen. Dat is alleen zowel softwarematig als hardwarematig niet eenvoudig, dus wellicht te hoog gegrepen :(
  • Soms fantaseer ik wel eens over een versie 2 hiervan met dan als basis een LG of bijv. een Samsung
    (defecte) robotstofzuiger. Die zien er wat mooier uit en hebben ongetwijfeld net weer wat betere en stillere motoren dan mijn model waardoor het waarschijnlijk een mooier eindproduct wordt. Nadeel daarvan is wel weer dat bij mijn huidige slachtoffer er bijzonder veel ruimte binnenin is waardoor hij erg goed aan te passen is zoals ik doe.
Dat is het wel een beetje voorlopig. Maar ik sta altijd open voor leuke ideetjes wat ik nog zou kunnen toevoegen. ;)

Oost west, 127.0.0.1 best!


  • sarcast
  • Registratie: Juli 2001
  • Laatst online: 01-08 12:26
Wat een super gaaf topic! Heb het met veel plezier gevolgd, jammer dat hij 'af' is! :P

Heb zelf via marktplaats een Samsung Navi stofzuiger voor 15 euro overgenomen, die een vage reset bug had. Heb zitten twijfelen of ik hem wil repareren (oorzaak waarschijnlijk online gevonden) of dat ik het hele board eruit sloop en er een PI in bouw.

Heb er niet zoveel tijd voor, met als gevolg dat hij al een 2 weken onaangeraakt uit elkaar ligt O-)
Het idee wat ik had was idd ook om een cam en mic erop te bouwen, en dan in combinatie met Mycroft (open source AI/spraakherkenning ala Siri/Alexa).

Wellicht is dat voor jou ook nog een leuke uitbreiding? Dat je via spraakcommando's de stofzuiger kan laten stoppen/starten of een 'skill' (mycroft feature) kan laten uitvoeren.

"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
sarcast schreef op donderdag 6 september 2018 @ 12:26:
Wat een super gaaf topic! Heb het met veel plezier gevolgd, jammer dat hij 'af' is! :P

Heb zelf via marktplaats een Samsung Navi stofzuiger voor 15 euro overgenomen, die een vage reset bug had. Heb zitten twijfelen of ik hem wil repareren (oorzaak waarschijnlijk online gevonden) of dat ik het hele board eruit sloop en er een PI in bouw.

Heb er niet zoveel tijd voor, met als gevolg dat hij al een 2 weken onaangeraakt uit elkaar ligt O-)
Het idee wat ik had was idd ook om een cam en mic erop te bouwen, en dan in combinatie met Mycroft (open source AI/spraakherkenning ala Siri/Alexa).

Wellicht is dat voor jou ook nog een leuke uitbreiding? Dat je via spraakcommando's de stofzuiger kan laten stoppen/starten of een 'skill' (mycroft feature) kan laten uitvoeren.
Nou echt af is hij nog niet, in mijn laatste reactie gaf ik wat ideetjes voor de toekomst. Een Time-of-flight sensor zit ondertussen daadwerkelijk in de voorkant gemonteerd. Dat zorgt ervoor dat de robot wat vaart verminderd als hij merkt dat hij dichtbij een muur komt, scheelt wellicht ooit een omgevallen voorwerp en krassen e.d.

Eigenlijk wil ik op dit moment graag nog een tweede time-of-flight sensor inbouwen, maar dan aan de linker zijkant. Wat me namelijk opvalt is dat hij de randjes niet echt perfect meepakt en dat veel rommel zich juist in de hoeken ophoopt. Als ik constant kan monitoren hoeveel ruimte ik nog heb aan de linker zijkant kan hij de muur volgen en daarmee eerst de contouren van de ruimte langs gaan.

Verder zou ik nog heel graag een encoder plaatsen op de wielen zodat ik weet hoeveel omwentelingen de wielen daadwerkelijk maken. Dat, in combinatie met de time-of-flight sensoren zou het mappen van de ruimte mogelijk moeten maken.

Als ik je een tip mag geven, als je het een leuk project vind zou ik ermee gaan stoeien. Het is leuk werk en erg leerzaam. Vaak zijn die 2e hands robots ook zo best niet meer, neem bijvoorbeeld de batterij die meestal al aardig end-of-life is. Je kunt dus of een robot repareren en dan met beperkte batterijtijd zitten (of de batterij vervangen, maar dat is best duur), of er zelf een mooi project van maken. :)

Het nadeel van zelf wat bouwen vind ik dat ik hem niet echt alleen durf te laten. Misschien komt dat nog, maar ik laat hem eigenlijk alleen lopen als ik in de buurt ben, dus of thuis, of tenminste buiten... ;)

Oost west, 127.0.0.1 best!


Acties:
  • 0 Henk 'm!

  • sarcast
  • Registratie: Juli 2001
  • Laatst online: 01-08 12:26
Mbt. de batterij had ik hetzelfde idee al in m'n hoofd als jij. Heb hier inmiddels wel wat ervaring in op gedaan (ook met vliegende drones en LiPo broertjes), maar ben direct met je eens dat het link kan zijn. Was al aan het brainstormen hoe je dat veilig zou kunnen maken op een semi-amateur manier.

Wil er ook zeker mee aan de slag, maar vrije tijd blijft een puntje. Heb dan wel een IT achtergrond, maar vind de elektro kant best lastig soms.

Zag van de week deze DIY Lidar voorbij komen:
https://hackaday.io/project/100965-xlidar

De Neato XV robot stofzuiger heeft er een standaard aan boord, en dat schijnt ook een van de betere (en slimmere) robot stofzuigers te zijn. Een Lidar uit een oude neato strippen zou ook een optie zijn, maar daar moet je dan wel net tegenaan lopen.

"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


Acties:
  • 0 Henk 'm!

  • sarcast
  • Registratie: Juli 2001
  • Laatst online: 01-08 12:26
Kaap een klein beetje je topic, hopelijk niet erg, gaat wel over hetzelfde :)

Onderdelen komen allemaal een voor een binnen, en begonnen met 4x 18650’s aan elkaar te knopen met een 4S BMS van NKON (die blijkbaar niet balanced, dat is wel balen -.-), de 4S-EBD02-AB V4

Maar ik doe iets fout denk ik, want ik krijg 0,0 op de output polen, maar als ik de -P test met pins B- tot B+ krijg ik we de optellende batterij voltages te zien :?

Afbeeldingslocatie: https://image.ibb.co/gZRSuK/05_C5_E009_914_C_4140_BDD4_FC01556_DBA58.jpg

Iemand enig idee wat ik fout doe? Van het BMS bordje is verrekte weinig info te vinden :|


Heb volgende schema gebruikt:
Afbeeldingslocatie: https://cdn03.plentymarkets.com/i9a0e0hd8l6w/item/images/200506/full/4S-PCB.jpg

[ Voor 11% gewijzigd door sarcast op 02-10-2018 01:55 ]

"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 01:07

Damic

Tijd voor Jasmijn thee

@sarcast kijk je zekering is na op de bordje.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +1 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 19-09 20:59
@sarcast Volgens mij moet je deze boards altijd even aan de +- 14.8 volt lader hangen. Dan gaan ze pas werken. Even kort 15v 16.8v op zetten dus.

[ Voor 9% gewijzigd door Lennyz op 02-10-2018 09:18 ]


Acties:
  • 0 Henk 'm!

  • sarcast
  • Registratie: Juli 2001
  • Laatst online: 01-08 12:26
Dat was het inderdaad! Even een adaptertje gefabriceerd die 16.8 uitspuugt en de BMS reageert nu als normaal! :)

"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


Acties:
  • 0 Henk 'm!

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 02-09 18:25

geerttttt

Manisch positief

Topicstarter
sarcast schreef op dinsdag 2 oktober 2018 @ 13:16:
Dat was het inderdaad! Even een adaptertje gefabriceerd die 16.8 uitspuugt en de BMS reageert nu als normaal! :)
Had de nieuwe reacties niet gezien, maar leuk dat Nkon nu ook bms bordjes levert. Destijds toen ik daar mijn batterijcellen bestelde hadden ze nouwelijks een idee waar ik het over had en wisten ze alleen dat ze het wellicht in de toekomst zouden gaan leveren.

Het niet balancerende vind ik wel vervelend inderdaad, in theorie zouden dezelfde batterijen met dezelfde startlading hetzelfde moeten ontladen en dus in balans blijven, maar dat is geen garantie. Wat dat betreft had ik achteraf wellicht liever alle 4 batterijen in parallel gezet, dan heb je gewoon een 4,2v batterij met 13 Ah. Heb je aan een 1S BMS voldoende en laden ze altijd gelijk op.

Nu met terugwerkende kracht dit alsnog doen is niet handig. maar dat zou denk ik een les zijn voor een volgend project.

Oost west, 127.0.0.1 best!


Acties:
  • +1 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 01:10

memphis

48k was toen meer dan genoeg.

Het balanceren heeft een belangrijkere functie dan alleen de ongelijkheid van capaciteit opheffen.

Door ongelijke cellen kunnen zowel bij laden als bij ontladen de verdeling van de totaal voltage per cel ongelijk trekken. Een Lithium cel raakt beschadigd tot soms onstabiel als deze een te hoge of een te lage spanning krijgt en een balancere voorkomt dit door tijdens het laden in ieder geval de spanning over alle cellen gelijkmatig te verdelen en een intelligenter stukje elektronica kan ook de spanning per cel bij het ontladen bewaken.

Er zijn mensen die mij een GOD vinden

Pagina: 1 2 Laatste