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.

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.

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 :D 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.

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 :))

Filmpje nu ook gezien. Ziet er goed uit benieuwd naar de rest.

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.

http://www.uploadarchief.net/files/download/koppie.jpg

Leuk hoor, zo'n metaalkunstenaar...

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.

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 :o
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.

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.

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 :p 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)

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.

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

Ik ken dat filmpje, daar gebruiken ze een PIR dacht ik.
Was het net een asuro robotje met snakevision die dat deed?

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.

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.