Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
Welke spoor diktes had je ?
Check deze site eens:
http://circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calc…
Ik had spoorbreedtes van 2 mm voor alleen de aftakking naar de driver (zie foto op vorige pagina)
Bij normale belasting zou dat ook voldoende moeten zijn, maar een 'aanrijding'of veelvuldig draaien jagen het vermogen teveel omhoog.
Deze motoren trekken bij 'stall torque' wel 32 Amp.
Ik heb in het verleden al eens zoiets opgelost, door er zuiglitze overheen te leggen, dat werkt ook prima.
Maar ik heb nu best de mogelijkheid om de hoofdschakelaar uit te voeren in 2x om zodat ik de motoren geheel gescheiden kan houden van de rest.
Bij mijn volgende pcb heb ik de ccp kanalen van de pic aangesloten op de pwm van de driver.
Ik laat de robot dan rustiger optrekken en stoppen, al is het maar 1 sec. uitlopen, dan werken de sensoren ook nog prima.
Het lijkt me dan ook mooier en vloeiender bewegen van de robot.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
2mm dat is niet veel, je moet inderdaad rekening houden met stall current en startup currents zijn vaak wat hoger. Zou toch voor minimaal 5mm sporen gaan of meer.
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Op 9 augustus 2010 23:32:28 schreef Kareltje:
Vandaag de 2de testrit gemaakt met Johnny6.!!
Johnny's 2de testrit.
Hé, leuk te zien dat johny nu echt vooruit komt! Nu zelfs wat te snel begrijp ik
.
Hoe zwaar is 'ie nu? Wordt het tijd om er iets van een rode noodpaddestoel op te zetten voor geval 'ie recht op je afkomt? (veel massa+veel snelheid+botsing=ellende). Zit er in die film niet een scene waar Johny door een muur van een restaurant rijdt? (Het is al een tijd geleden dat ik die film gezien heb)
BTW: vandaag zijn er op mijn adres een klein rood doosje (SparkFun) , een envelop met 2 knexwielen en een dikke envelop van Dick Best aangekomen
Ziet er goed uit voor KLM5. het Ding And Dent is trouwens een ITG3200
Geen idee wat ik er mee ga doen en of 'ie uberhaupt werkt, maar wel gaaf
Hij is inderdaad een agressief baasje geworden 
Ik neem 1 eerdaags mijn weegschaal eens mee, maar ik schat hem nu incl. accu (ruim 4KG)ong. >25KG
Mechanisch is er nog een hoop werk te verrichten, oa. de aandrijfwielen borgen, want door het linksom draaien van de as lopen de wielen los, en zeker bij het draaien.
Ook moet ik een betere geleiding maken voor de rupsbanden.
En inmiddels is het hoofd ook bijna klaar, en dan ziet hij er al heel anders uit.
Zit er in die film niet een scene waar Johny door een muur van een restaurant rijdt?
Hm..... hij heeft al een minder leuke scene uit die (2de) film nagespeeld... nl. toen hij reed met een rookwolk achter zich 
Zoals je al gelezen hebt waren mijn printbanen niet bestand tegen dit geweld.
Inmiddels ben ik de 3de pcb aan het bestukken, en hier heb ik de motor enables aan de +5V gehangen en de PWM aan de ccp's van de pic.
Ik laat hem nu straks rustig op trekken, en stoppen,
rechtdoor:
motorlv = hoog
motorrv = hoog
motorla = laag
motorra = laag
For duty = 1 To 255
HPWM 1, duty, 10000
DelayMS versnellen 'motor links trekt op
HPWM 2, duty, 10000
DelayMS versnellen 'motor rechts trekt op
Next
Return en ik overweeg ook om een paar verschillende snelheden in te bouwen.
De voeding van de motoren haal ik dan rechtstreeks van de accu.
[oftopic] Dat gaat ook goed komen met KLM5 
Heb je die L298 nog nodig?, dan gooi ik hem morgen op de post.
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Die L298 zou ik inderdaad goed kunnen gebruiken 
2e film heb ik nog niet gezien, wist niet eens dat die bestond. Net plot doorgelezen op wikipedia. Hmm... Eens ergens zo illegaal mogelijk downloaden dan maar...
(EDIT: done, en gekeken
)
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
Het volgende filmpje wordt deze week verwacht.
Ik ben volop met het hoofd bezig, en hoop deze week een volgende proefrit te kunnen maken, en dan met de ir-sensoren, en hopelijk ook nog de ultrasoon.
Nog even een foto van mijn vorderingen.

Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Hé, het hoofd is er. Leuk.
Ziet er wel loeizwaar uit... (en heel stevig, over 500 jaar rijd johny nog rond... Afgezien van een lege acu...)
Heb je website ook even bekeken, wat opbouwende kritiek: 2 van de foto's geven een 404 voor de grote versie, en je doet wel erg veel intussen
. En hij nogal breed, ik zie de foto's half tenzij ik opzijscroll, waar vervolgens nog een open stuk is. Nu heb ik ook maar een bescheiden 17"....
Verder mooi weeroverzichtje en leuk om de voortgang van Johny in beeld te zien.
Ik vind m'n eigen homepage trouwens wel erg grijs in vergelijking...
Goed, back ontopic, ik zie tijdens deze edit dat er een PWM probleem is.
[Bericht gewijzigd door Lucky Luke op (65%)]
Ik heb even wat hulp nodig, want ik loop vast met de pwm besturing.
Ik heb de hpwm zodanig ingesteld, dat hij rustig optrekt, en het draaien op volle snelheid gebeurd.
Dit gaat allemaal precies zoals ik wil.
Maar het probleem zit ergens bij de IR-sensoren
Als 1 van de sensoren iets detecteerd gaat hij draaien, resp. links of rechts, en draait 1 sec. door.
Daarna gaat hij via gosub rechtdoor weer rechtuit rijden, ook weer mooi langzaam optrekken.
Maar nu lijkt hij in een lus te komen.
De motoren trekken langzaam op, en op topsnelheid begint hij weer opnieuw langzaam op te trekken, enz.
Ik heb me rot gezocht, maar kan de oorzaak echt niet vinden.
Hieronder mijn code:
edit: @ Luke:
Met het gewicht valt het reuze mee hoor, het is geheel uit aluminium plaat gemaakt, weegt nog geen 500 gram.
edit2: probleem opgelost en gehele code verwijderd.
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Aha. Ik schatte toch een kilo of 5... Zou een aardige verrassing geweest zijn indien ik geprobeerd had het op te tillen...
Wbt je PWM probleem: Hij doet keurig wat in de code staat 
Als ik het goed zie, wordt gosub rechtdoor constant opnieuw aangeroepen door ir_aan. Dat is prima: zolang de sensoren vrije doorgang zien moet er ook rechtdoor gereden worden, lijkt me. Alleen toen de motoren nog gewoon werden aangezet, inplaats van langzaam versneld aangezet, toen merkte je niet dat er eigenlijk telkens opnieuw "rechtdoor" werdt gestuurd. Immers, de robot gíng al rechtdoor. Alleen nu trekt de robot langzaam op, elke keer als rechtdoor wordt gestuurd, dus nu merk je het wel.
Hmm... probleem boven water. Nu de oplossing nog.
't is natuurlijk wachten op de dag dat ik iets dergelijk stellig beweer, en er finaal naast zit. Gebeurt. Soms. Niet leuk.
Je zou het versnellen alleen kunnen doen als de motoren eerst nog stilstonden.
b.v. door in "stilzetten" een bitje op 0 te zetten, wat na het optrekken op 1 wordt gezet. Weet niet of dat de netste oplossing is...
paar aanpassingen:
dim motorloopt as bit
motorloopt = 0 'tenzij er al clear staat, want dat doet hetzelfde
stoppen:
motorlv = laag
motorrv = laag
motorra = laag
motorla = laag
motorloopt = 0
Return
rechtdoor:
motorlv = hoog
motorrv = hoog
motorla = laag
motorra = laag
if motorloopt = 0 then
For duty = 1 To 255
HPWM 1, duty, 10000
DelayMS versnellen 'motor links trekt op
HPWM 2, duty, 10000
DelayMS versnellen 'motor rechts trekt op
Next
else
HPWM 1, 255, 10000
HPWM 2, 255, 10000
end if
motorloopt = 1 'als we op dit punt in de code aankomen loopt de motor al, en hoeft er dus niet meer opgestart te worden.
Return
En idem voor achteruit.
Enige is wel, dat als je dan van vooruit naar achteruit gaat, motorloopt nog steeds 1 is... Tenzij je eerst stopt. En als motorloopt 1 is wordt er niet langzaam opgestart, dus gaan de motoren van vol vooruit naar vol achteruit... Met 20Kg robot als last... Dat moet gevolgen hebben, al kan ik niet inschatten welke. Ergens tussen losspringende kettingen en rondvliegende tandwielen, of alleen slippende wielen of wat schokkerig omkeren.
Trouwens... Ik zie dat je bij de bochten en bij het stoppen ook niet eerst langzaam afremt... Gaat dat goed met 20Kg robot en een ding genaamd massatraagheid? (Blijkbaar wel, want je noemt geen problemen...)
Je kan ook afremen/optrekken met stappen van 15, dan heb je 17 stappen van 0-255. Misschien handig voor het stoppen, als dat toch redelijk snel moet.
(al weet ik niet in hoeverre het erg is in 1 klap te stoppen... Wat zijn de krachten op de tandwielen/keting etc. en wat kunnen ze hebben?)
Erg handig trouwens dat je het probleem goed omschrijft!
Foutzoeken op afstand wordt nogal lastig anders. Als mensen me opzoeken met een (computer)probleem kan ik me soms het "heeft u 'm al 's opnieuw uit en weer aangezet" soms goed voorstellen, sommige omschrijvingen zijn zó vaag.
Maar dit is keurig, netjes het hele pad van "dit deed ik eerst, dat gaat goed, tot zover gaat het goed, en ergens op dat punt lijkt er dit-of-dat te gebeuren". Ik kijk in de code, volg je omschrijving, kijk wat er gebeurt op het punt dat het foutgaat...
En bedenk me nu, dat als mijn theorie klopt, de robot ook bij gewoon rechtdoorrijden, dus vóórdat 1 van de sensoren iets gezien heeft, telkens opnieuw op zou moeten trekken. Maar ook hierover meldt je geen probleem...
Hmm. Zit ik er misschien inderdaad naast...
Morgen eens verder kijken... Verdorie, d'rnet was het nog half 10...
Edit: GRR! Tik ik daar een hele post voor midden in de nacht 
Anyway, wat was de oplossing? Zat ik er inderdaad finaal naast? Of vond je nu juist de oplossing door je eigen keurige probleemomschrijving?
(ergens is dat grappig, midden in de nacht voor niks een oplossing bedenken, en dan nog fout ook. Vooral als het anderen overkomt, trouwens
)
Sorry Luke, languit op de bank voor de tv ging mijn lampje ineens branden 
Zelf bij de tv laat ik zo'n probleem niet los.
Dus snel een edit geplaatst, maar te laat 
Maar je zat er helemaal niet naast, in tegendeel
Ik kwam er ook ineens achter dat bij "geen detectie" elke keer naar 'rechtdoor:' verwezen werd.
Ik heb dat stukje code nu zo gemaakt:
Repeat 'Herhalen
If irsens1 = laag Then 'linkersensor ziet opstakel
Print At 2, 3, "detect"
GoSub stoppen
DelayMS 200
GoSub linksaf
DelayMS 2000
GoSub rechtdoor
EndIf
If irsens1 = hoog Then
Print At 2, 3, " vrij "
EndIf
If irsens2 = laag Then 'rechtersensor ziet opstakel
Print At 2, 3, "detect links"
GoSub stoppen
DelayMS 200
GoSub rechtsaf
DelayMS 2000
GoSub rechtdoor 'deze heb ik nu boven de volgende IF gezet
EndIf
If irsens2 = hoog Then
Print At 2, 3, " vrij "
EndIf
Until toets3 = hoog xor toets5 = hoog xor toets7 = hoog xor toets9 = hoog 'deze lus beeindigen wanneer er een aandere mode geselekteerd word
Return Voor het vertraagd stoppen had ik nog wat twijfels, daar ik bang was voor "te laat" maar ik ga hierin toch ook een beetje vertraging inbrengen.
Het is inderdaad zo, dat bij een 'harde stop' het scharniergedeelte van zijn lange lijf het zwaar te verduren krijgt.
Dat is best wel te zien op het filmpje.
Bij bochten is het geen probleem, omdat Johnny dan om zijn eigen as draait.
Morgen in ieder geval weer een testrit, en nu met de ir-sensoren.
w.b. het koppie....misschien is het je ontgaan, maar op de bovenste oogkleppen zit ook een servo, dus, hij gaat straks ook knipperen met zijn ogen.
Een probleem goed omschrijven heb ik door de jaren wel geleerd, daar ik zelf ook computerproblemen via de telefoon op moet lossen.
Het is eigenlijk makkelijk:
Wat doet het wel/ wat doet het niet/ wanneer doet het niet/ wat heb je gedaan?
Nogmaals sorry voor jou nachtelijke hoofdbrekens, volgende keer slaap ik er een nacht over.
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
hehe, tjsa, ik kies er natuurlijk zelf voor om zo'n post te schrijven
. Denk dat ik voortaan beter zelf tot de volgende ochtend kan wachten.
Trouwens, wat je nu hebt is een veel betere oplossing, gewoon 1x rechtdoor aanroepen, en zolang de sensors niks aangeven ook niks doen. Nouja, nog een keer dezelfde tekst op het scherm zetten, maar dat is niet erg. Sterker nog... Je kan het zonder die if-else bovenin de repeat-until zetten. d'r wordt toch "detect" overheengezet indien nodig. (Met als enig probleem dat er dan "vrij links" komt te staan. Nu ook trouwens...)
Servo in 't hoofd, nee, nog niet bewust geregistreerd, wel gezien dat ze op een stukje zwart kunsstof zitten en dat er een kabeltje te zien is door het oog. Maar leuk, gaat echt een mooi ding worden. Ben benieuwd.
Heb trouwens ook de onderdelen voor KLM5's 5V voeding binnen (step-upje, IC had ik al (sample, max608), nu ook spoeltjes, fetje en condensators van the SMD shop). En een servotje
Daarmee heb ik volgens mij alles.
Vanmiddag weer testritten gemaakt.
Na wat mechanische aanpassingen ging het redelijk
Ik had de sensors met wat tape voorop gemonteerd, wat de juiste afstelling niet ten goede kwam, en resulteerde in diverse aanrijdingen.
Toch heb ik er een redelijk filmpje van kunnen maken, en tegelijk wat data verzameld om de software beter af te kunnen stellen.
het filmpje:
http://www.youtube.com/watch?v=YZ5uVB9PKaw
Voorlopig blijft hij nog wel in de werkplaats, er is nog veel werk te doen voor alles perfect werkt.
AC/DrieC
Den Dries www.hulens.be
Op 10 augustus 2010 16:44:02 schreef Kareltje:
rechtdoor: motorlv = hoog motorrv = hoog motorla = laag motorra = laag For duty = 1 To 255 HPWM 1, duty, 10000 'motor links trekt op DelayMS versnellen HPWM 2, duty, 10000 DelayMS versnellen 'motor rechts trekt op Next Return
Ik zou hier nog iets klein veranderen. Uiteindelijk zal het niet veel uithalen, maar het kan zijn dat hierdoor de robot niet recht vooruit rijd bij het vertrekken.
rechtdoor:
motorlv = hoog
motorrv = hoog
motorla = laag
motorra = laag
For duty = 1 To 255
HPWM 1, duty, 10000 'motor links trekt op
HPWM 2, duty, 10000 'motor rechts trekt op
DelayMS versnellen
DelayMS versnellen
Next
Return Verder ziet hij er al echt cool uit
ben jaloers !
De vertraging van de ene motor op de andere is met het blote oog niet waarneembaar, maar het ziet er wel netter uit, en ik kan 1 delay laten vervallen, anders zal hij 2x5 ms pauzeren.
verder heb ik de doordraaitijd 1sec. langer gezet, zodat hij ruim van het obstakel weg rijd.
p.s. ik ben het hele project op mijn website aan het zetten met veel fotos.
Het is nog maar een begin, (de website is nog maar 4 dagen oud) maar de rest volgdt spoedig.
Zie: karelvogels.nl
Tijd voor een kick, een leuk filmpje, en wat "input"
Op het filmpje is te zien, dat ik het hoofd + de schouders met een paar elastieken op de accu vast heb gezet.
Na de spanning erop gezet te hebben, opent Johnny na enkele seconden z'n ogen.
Na het commando "rijden" knipperd hij met z'n ogen.
Vervolgens kom ik met de camera binnen 50cm.
Johnny knipperd 3x en gaat een doorgang zoeken.
Na die gevonden te hebben, draait hij z'n hoofd naar die richting.
Nu moet hij bijdraaien en weer recht vooruit kijken.
Dit deed ik 3 keer en daarna drukte ik op toets 0
Alles stopt nu, en na 5 seconden gaan de ogen weer dicht.
De rest van Johnny ligt nu helemaal uit elkaar.
Nog wat kleine aanpassingen, en de sensorbrackets monteren, en dan weer tijd voor de lak.
vraagje:
Ik heb eens op youtube een filmpje gezien, waarbij een robot van kaars naar kaars reed, en die middels een propellortje uit blies.
Dit was erg leuk om te zien, maar mijn vraag is: welke lichtsensor is gevoelig genoeg om een kaars (of lampje op een paar meter te kunnen detecteren?
En hoe doen ze zoiets?
Ik kan het filmpje helaas nergens meer terug vinden 
(wordt vervolgd)
AC/DrieC
Den Dries www.hulens.be
Met een lichtsensor zal dit niet lukken. Met een webcam wel. Contrast goed regelen en dan naar de witte vlek zoeken
Het zou ook kunnen dat een kaars IF licht uitstraalt, maar daar ben ik niet zeker van, hier zou je dan ook kunnen naar opzoek gaan, maar lijkt me moeilijker.
Trouwens erg leuke filmpjes, telkens wanneer je 1 hebt mag je het posten, erg leuk om naar te kijken !!
[Bericht gewijzigd door AC/DrieC op (16%)]
Ik dacht dat ze het met een fototransistor gemaakt hadden, zeker weten doe ik het niet, maar het was wel erg leuk om te zien.
Wat de filmpjes betreft....tja, de kwaliteit is erbarmelijk (Nokia)
Maar als hij straks helemaal in de lak zit, en alle blinkende delen opgepoetst, dan laat ik iemand met een professionele camera komen.
Nu moet ik met 1 hand m'n cam bedienen, en met de andere hand de afstandbediening.
Hij zal ook best nog wel een tijdje in de werkplaats staan (en rond rijden
), daar ik daar erg veel ruimte heb.
AC/DrieC
Den Dries www.hulens.be
Met fototransistor zal ook wel lukken, maar de rest van de kamer zal dan wel donker moeten zijn. En de fototransistor zal heel gevoelig moeten zijn :s
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Ik ken dat filmpje, daar gebruiken ze een PIR dacht ik.
Was het net een asuro robotje met snakevision die dat deed?
Jochem
If you want to succeed, double your failure rate.
Op zich een goed idee. Eigenlijk is een pir een zeer low-res camera; hij heeft meerdere lichtgevoelige cellen. En ze kosten geen drol bij de bouwmarkt.
PIR is toch een beweginssensor, hoe gaat dat dan werken op 'wit' licht zonder op z'n eigen bewegingen te reageren?
Er zijn van die hele kleine modules, eigenlijk best wel geschikt voor Johnny, ik zou er 1 oog voor kunnen gebruiken.
Het andere oog houd ik zeker nog gereserveerd voor een toekomstige cam.
Jochem
If you want to succeed, double your failure rate.
Die sensor kijkt naar de (IR-)licht verandering. Dat die toepassing de meest gebruikte is betekent niet dat je hem niet anders kunt gebruiken.
Je kunt immers ook zoeken naar zo'n bron door johnny of z'n hoofd te bewegen tot de kaars 'in beeld' is. Natuurlijk reageert hij op z'n eigen beweging, maar dat is een kwestie van slim programmeren: als johnny beweegt dan WEET je dat het signaal van de PIR-sensor ook gaat veranderen. Sterker nog, dat kun je al gelijk gebruiken om bij te sturen.