EVOLUTIONS :
Het ontstaan van ...
In october 2005 kwam ik voor de eerste maal op de robotmc club.
Wat ik daar zoal zag aan bewegende dingen, ik had de microbe goed te pakken.
Het internet afschuimen en boeken kopen,
voor ideeën op te doen om zelf een robotje te bouwen.
Maar hoe begin je aan zoiets ...
- eerst ideeën vergaren voor een robotje,
dit door naar robotjes van anderen te kijken en te vergelijken.
- daarna de afmetingen bepalen (300x300x250mm)= LxBxH.
- eenmaal de afmetingen bepaald, moet de vorm bepaald worden.
(rond, vierkant, rechthoekig of een veelhoek)
in mijn geval werd eerst met de idee gespeeld voor een achthoek,
beter voor ronddraaien in de hoeken, maar door plaats gebrek voor de electronica
is het een veelhoek geworden. (zie hoofdstuk FRAME).
- dan moet je kiezen voor de sturing van de robot,
de keuze was snel gemaakt, ik had nog een paar oude SBC(1) liggen.
Met daarop de MC68000/16MHz CPU, heel wat EPROM en RAM geheugen,
en drie 65C22 VIA's (2) voor veel I/O en twee RS232 voor de PC communicatie.
(1) SBC = Single Board Computer, (2) per 6522 = 2 x 8 bits poort, timers en counters.
- Het chassis, hoofdzakelijk moet dit een stevig geheel zijn, en niet te veel wegen.
Dus is er niet veel keuze bij het bepalen van het materiaal,
titanium was wat te duur, dus het wordt Aluminium van 2mm dikte.
- Hoe gaan we communiceren met onze robotjes ?
Eerst en vooral via de PC, dus RS232.
Maar ja, elke keer een PC meesleuren ...
dus een klein keyboard met ook een LCD scherm zou welkom zijn.
Al snel kwam ik tot de constatatie, dat 2x20 characters te weinig was,
en van een 2x20 naar een 4x20 naar een grafische LCD van 320x240 pixels gegaan.
Je weet wat je wil, je kent de materialen en nu ...
- Je neemt een potlood, een gom en A4/A3 papier, en begint te schetsen,
te gommen, te schetsen en veel gommen en schetsen...
totdat je opeens tot de conclusie komt dat wat je geschetst hebt,
het moet worden (je eigen robotje).
- Een naam!, he ... snel iets verzinnen en na een tijdje bleef het BOBO en
tot op heden is het nog steeds zo.
- De BOBO's waren de ontwerpfase ingegaan.
De tekentafel was vervangen voor de Computer met CAD programma (TURBO-CAD).
En de detail tekeningen kwamen een voor een uit de printer gerold.
Elke opening, zaagsnede en gaten moesten bepaald worden.
Allen in detail met afmetingen en diameters.
- Maar hoe weet je nu of alles op de goede plaats staat.
Wel een 3D programma biedt je daarvoor een oplossing.
Maar dit kan niet zomaar, elk onderdeeltje, moet precies in het 3D CAD programma
worden ontworpen. (amai, wat een werk)
Maar het loont zeken de moeite, voor latere problemen te voorkomen.
- En af en toe (regelmatig), moet je eens herbeginnen met de tekeningen
en correctie's aanbrengen.
De verdere mechanische opbouw ...
- Om je robot zo goed mogelijk te laten werken, is er een samenspel van
mechanica, electronica en software nodig.
Het chassis wordt uitgezaagd uit een grote plaat aluminium,
waarna alle openingen en gaten worden gemaakt vooraleer aan het plooiwerk te beginnen.
Gaten voor de wielen en bouten voor alles en nog wat te bevestigen.
En na het omplooien van de boorden krijg je je eerste kik,
je bodemplaat is af. (allee, denk je tenminste op dat ogenblik).
Na het draaien en frezen van de wielen in teflon,
assen en bevestigingen in staal, montage van de kogellagers,
kunnen deze ook aan de bodemplaat worden bevestigd.
Daarna het achterwieltje monteren en je tweede kik is in aankomst,
bij het neerzetten van je eerste robot bodeplaat op de grond.
En als alles goed berekend was, zou deze horizontaal moeten staan.
En ja hoor, ...
De volgende stap is het uitzagen, frezen en boren van de stappenmotor houders.
Deze zijn zoals de bodemplaat uit aluminium van 2 mm gemaakt.
Het moeilijkste zijn de bevestigings-sleuven voor de bevestiging van de motoren
en het terzelfdertijd aanspannen van de aandrijfriemen.
Ook de gaten voor de bevestiging van het keyboard en LCD moeten geboord worden.
Waarna ook hier de versterkings boorden kunnen worden omgeplooid.
En de montage van deze plaaten op de bodemplaat kan worden voltooid.
Maar stevig is dit alles niet zonder de montage van de frontplaat.
Als alles aan elkaar is bevestigd met de nodige bouten,
zoals op de virtuele 3D voorstelling, lijkt alles op het eerste zicht OK.
Terzelfdertijd zijn ook de mechanische alu PCB houders gezaagd, geboord en bevestigd.
Nu door middel van twee v-snaren de motoren met de wielen verbinden en
de juiste trekkracht op de v-snaren zetten.
De vier motorbouten vastzetten aan elk kant en klaar is kees...
En daar staat dan het volledige frame van bobo one.
Maar doordat je het gewicht van de totale robot nog niet kent,
kan je ook geen motorkoppel bepalen enz.
Dus ga je maar eens gokken, liefst beperkt gokken,
door een gewicht te bepalen met alle losse onderdelen op een weegschaal te leggen.
Ook de motoren en vooral de accu's niet vergeten.
En verschieten doe je toch, hoe snel je aan een Kilo en meer komt.
De electronische opbouw ...
Na de twee batterij-bloks te hebben gemonteerd,
moet eerst en vooral het zekeringenblok met aan/uit schakelaar worden bevestigd.
Daarna de twee voedingsblokken, de twee stappenmotor drivers, de CPU kaart,
de lijnvolg module, het keypad en het grafische LCD...
Als laatste kwam nog de backlight converter voor de LCD.
En alles zorgvuldig met elkaar bedraden ...
Dit alles ging wel niet zo snel en eenvoudig als je dit hier kunt lezen,
maar we zijn erdoor geraakt.
en wat gebeurt er nu? HELEMAAL NIETS ...
zonder software gebeurt er helemaal niets.
De software ...
- Zonder programma kom je niet ver,
eerst moeten alle onderdelen getest worden op goede bedrading en werking.
Dit kan je met een monitor programma (68000),
een text-editor op de PC en een (werkende) seriële RS232 verbinding.
Dus eerst alle I/O's, steppers, lcd, keyboard, lijnvolger ... manueel testen.
Daarna schrijf je wat in BASIC, doet wat testen ...
en stel je vast dat basic toch wat te traag is.
Dus kies je voor een andere taal, en liefst een die je wat onder de knie hebt.
ASSEMBLER was voor mij de oplossing.
Had van hele tijd geleden nog een cross assembler liggen van de MC68000 CPU.
- Hoe begin je aan de software ...
Eerst moet je bepalen waar alle adressen van de SBC componenten liggen.
vb.1
RAM geheugen van adres $800000 tot $80FFFF (hexadecimaal)
EPROM geheugen van adres $810000 tot $81FFFF (hexadecimaal)
vb.2
VIA 1 (65C22) heeft 16 adres BYTES nodig voor zijn registers,
van $00F000 tot $00F00F (hexadecimaal).
vb.3
steppers I/O adres $001000 (1 BYTE) (hexadecimaal)
vb.4
lijn volg IR detectors (1 byte) op adres $001010 (hexadecimaal)
read = 8x IR ontvanger waarde / write = 8x IR zender leds aan/uit.
enz...
Niet alleen de adressen zijn belangrijk,
ook de bits per byte zijn belangrijk.
Vb. een byte bestaat uit 8 data bits d0...d7
zo kan de steppers i/o byte bestaan uit
- d0 = stepper Left clock of step
- d1 = stepper Left direction (0=CCW / 1=CW)
- d2 = stepper Left current (0=60% / 1=100% current)
- d3 = stepper Left enable (0=disabled / 1=enabled)
- d4 = stepper Right clock of step
- d5 = stepper Right direction (0=CCW / 1=CW)
- d6 = stepper Right current (0=60% / 1=100% current)
- d7 = stepper Right enable (0=disabled / 1=enabled)
Dit noemt men een MEMORY AND I/O MAP van een Single Board Computer (of Micro-controller)
Eens men ALLE adressen heeft, kan men aan een software beginnen.
- Maar ja, je hebt nog niets...
Dus begin je met een BIOS te schrijven.
een programma die
- alle I/O's kan RESET/SET maken (0 of 1).
- keypad kan inlezen.
- LCD kan aansturen.
- buzzer kan aansturen.
- een letterteken (ascii character) via de RS232 sturen en lezen.
- motor Links en Rechts step/direction/enable/current kan sturen.
maar ook hiermee alleen ben je niets,
de gegevens die bvb. van een keyboard gelezen worden moeten ook nog eens verwerkt worden.
daar heb je dan een OPERATING SYSTEM (OS) nodig.
Dit programma kan van een reeks ingelezen toetsen een (ASCII) zin maken op het LCD scherm.
en geeft ook een functie aan een toets als bvb DELETE of ENTER.
Ook voor de software zelf heb je RAM geheugen nodig,
voor het bewaren van je gegevens (VARIABLES/DATA).
vb1.
positie motor links = 32 bits lang (LONG) = adres $80F000 tot $80F003
positie motor rechts = 32 bits lang (LONG) = adres $80F004 tot $80F007
enz...
Op dit ogenblik zit alle mechanica bijna in elkaar, en qua software
de BIOS, Operating System, LCD controle, keypad met buzzer controle.
Nog heel veel te doen, hou jullie wel op de hoogte van de vordelingen.
Groetjes,
CORNELIS Marc
BOBO's team
reacties naar marc at marc-systems dot be
- CLICK TO SELECT NEXT PAGE - KLIK VOOR KEUZE VOLGENDE PAGINA -







- GO TO HOME PAGE -
Designed by - Pajot Valley Graphics -
- 3D animation studio a division of MARC SYSTEMS - mail-to
Copyright© 2000...2010 - last update: 30 january 2010 - best in 1024x768 or higher