Skip to main content

Posts

Showing posts from October, 2008

FLL EV3 Robot

This blog post is about our current EV3 robot we're planning to use in the 2023/2024 FLL competition. Some features: 2 large motors for steering. 2 medium motors for attachments.  2 colour sensors for picking up the white and black lines, also used for line squaring. 1 gyro sensor. To enable attachments to be changed as quickly as possible we're using gravity to keep the gears connected, i.e. you don't need to fasten anything to the robot. Every attachment has 2x 12 tooth double bevel gear (part 32270) which comes in contact with the 2x 20 tooth double bevel gears (part 32269) on the robot. The medium motors are horizontally aligned on the robots, but we use 12 tooth double bevel gears to convert that to vertical alignments. These in turn are connected to 20 tooth double bevel gears, and the attachments in turn connect to these 20 tooth double bevel gears with their 12 tooth double bevel gears.  The complete robot is modelled in Bricklink Studio 2 . You can download the rob

8051 HEX file upload code

NumBytes equ 040h Choice equ 041h CRC equ 042h LineCount equ 043h Counter equ 044h Counter2 equ 045h BaseH equ 046h ; Base address of SRAM BaseL equ 047h HexCount equ 048h ; 16 hex chars/line counter Endflag equ 20h Hexflag equ 21h org 0000h ljmp Main org 0020h Main: lcall Init ; Initialise hardware mov BaseH, #0E0h ; Set default base E000h mov BaseL, #000h mov dptr, #WelcomeMessage lcall SendString ; Print welcome message lcall SendCRLF MenuLoop: mov dptr, #MenuMessage lcall SendString ; Show options Wait: jnb RI, Wait ; Wait until a char is received from serial port lcall Receive ; Get char in accumulator mov choice, a ; save choice mov dptr, #Optio

8051 Hex file upload

The Atmel AT89C52 microprocessor has built-in flash and support for external ROM. Using a SRAM chip as a "configurable" ROM chip can significantly shorten development time. I've used some logic to make the SRAM available as ROM, but also writeable in another address space. The AT89C52's flash was loaded with a program to receive HEX files over the serial port and write it to SRAM. A jumper was used to switch between internal flash and external ROM. The code assumes a crystal running at 11.0592 MHz. COM port is 19200bps, no parity, 1 stop bit, no flow control. Using any terminal program, the user has 3 options: B: sets the base address (SRAM address for read/write access) D: download - download a HEX file from the PC to the SRAM V: verify - display the contents of the SRAM as HEX or ASCII Source code available in another post.