Dit project is erg interessant omdat hier van alles aan 'bot' komt.
In het begin toen ik deze robot kreeg was het een robotarm zonder interface, het enige waar ik iets mee kon gaan doen was de aanwezige 20-pin connector. maar ik wist nog niet hoe ik hiermee moest gaan communiceren.
Leerdoelen;
Voor dit project was probleemoplossend vermogen nodig, technische kennis van elektronica, begrijpen van logische schakelingen en programmeren met een Arduino.
Inleiding;
Mijn vader kwam met een robot arm thuis of ik hier iets mee kon.
Na uren kijken hoe het zou werken en op internet documentaties zoeken vond ik een schematekening van een controller voor deze robot.
Om dit schema (onderstaande foto) te kunnen begrijpen heb ik het helemaal uitgekleed door het op te delen in verschillende secties (gekleurde afbeelding rechts).
Rood: Voeding (niet interessant voor onze onze aansturing)
Groen: Klok. (klok om pulsen te geven aan de teller)
Grijs: Logisch circuit [CD4011] (NAND-gates)
Blauw: Binaire teller [HCF4520] (teller)
Vervolgens heb ik per 'clock-cycle' de draden gevolgd door de NAND-gates en gekeken welke pin wordt aangestuurd per clock-cycle.
De robot wordt aangestuurd door voor elke motor een pin te hebben. Maar dan moet ie nog achteruit of vooruit kunnen bewegen, dat word geregeld via de pulsen.
Door in Excel te noteren wat welke pin voor aansturing krijgt per 'clock-cycle' (Foto rechts) ben ik achter de aansturing van de robot gekomen en kon deze 'clock-cycles' simuleren met behulp van een microcontroller (Arduino).
Na een jaar soms met dit project bezig te gaan ben ik ongeveer 9 revisies van mijn code verder en is het nog niet af,
er kan namelijk altijd iets aan worden toegevoegd. Zo heb ik ook een Playstation-controller voor dit project gehackt om hiermee te kunnen besturen.
De huidige code (31-10-2020) staat op +- 500 regels.
En heeft integratie met het besturen via een seriële poort, heeft debug mogelijkheden, onthoudt zijn positie in EEPROM en limiteert zijn bewegingen om schurende tandwielen te voorkomen.