Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
ELETRÔNICA / ELÉTRICA => Arduino => Tópico iniciado por: Blackmore em 19 de Maio de 2013, 19:02
-
Devido a necessidade de utilizar um microcontrolador não comum na IDE Arduino, eu andei procurando como fazer isso e deixar minha IDE um pouco mais flexível.
Apesar de simples no uso, em minha opnião, a IDE Arduino é muito limitada e engessada ...
Na procura, encontrei o site abaixo, que dá uma boa ajuda no que se diz sobre a escolha dos fuses para muitos (se não todos) os microcontroladores da atmel.
http://www.frank-zhao.com/fusecalc/ (http://www.frank-zhao.com/fusecalc/)
O trabalho é divido em duas partes ...
A primeira parte é a configuração do ambiente Arduino:
Para a flexibilização do arduino, é necessário editar e acrescentar no arquivo board.txt ( que está no caminho C:\arduino-1.0.5\hardware\arduino da versão 1.0.5 , utilizei a ultima versão pois fiz o download ontem no site www.arduino.cc (http://www.arduino.cc) ).
A edição deste arquivo se faz necessário obedecer a forma abaixo, para que fique mais organizado e que diminua a possibilidade de ocorrerem erros.
##############################################################
robotMotor.name=Arduino Robot Motor
robotMotor.upload.protocol=avr109
robotMotor.upload.maximum_size=28672
robotMotor.upload.speed=57600
robotMotor.upload.disable_flushing=true
robotMotor.bootloader.low_fuses=0xff
robotMotor.bootloader.high_fuses=0xd8
robotMotor.bootloader.extended_fuses=0xcb
robotMotor.bootloader.path=caterina-Arduino_Robot
robotMotor.bootloader.file=Caterina-Robot-Motor.hex
robotMotor.bootloader.unlock_bits=0x3F
robotMotor.bootloader.lock_bits=0x2F
robotMotor.build.mcu=atmega32u4
robotMotor.build.f_cpu=16000000L
robotMotor.build.vid=0x2341
robotMotor.build.pid=0x8039
robotMotor.build.core=robot
robotMotor.build.variant=robot_motor
##############################################################
Editando de forma coerente e correta obviamente, é possível "criar" novas configurações para que a IDE Arduino compile o projeto.
robotMotor.name=Arduino Robot Motor ................... ...........=> nome da nova plataforma
robotMotor.upload.p rotocol=avr109 ................... ...............=> protocolo de comunicação
robotMotor.upload.m aximum_size=28672 ................... .......=> máximo tamanho do programa a ser utilizado
robotMotor.upload.s peed=57600 ................... .................=> velocidade de comunicação
robotMotor.upload.d isable_flushing=true ................... ........=> ???
robotMotor.bootload er.low_fuses=0xff ................... .........=> valor low calculado pela planilha
robotMotor.bootload er.high_fuses=0xd8 ................... ..........=> valor high calculado pela planilha
robotMotor.bootload er.extended_fuses=0xcb ................... .=> valor extended calculado pela planilha
robotMotor.bootload er.path=caterina-Arduino_Robot ........=> ???
robotMotor.bootload er.file=Caterina-Robot-Motor.hex .......=> bootloader que estará dentro no chip escolhido
robotMotor.bootload er.unlock_bits=0x3F ................... .....=> destravamento da área do bootloader??
robotMotor.bootload er.lock_bits=0x2F ................... ............=> travamento da área do bootloader??
robotMotor.build.mc u=atmega32u4 ................... ................=>
robotMotor.build.f_ cpu=16000000L ................... ................=> cristal utilizado
robotMotor.build.vi d=0x2341 ................... ................... .......=> ???
robotMotor.build.pi d=0x8039
robotMotor.build.co re=robot
robotMotor.build.va riant=robot_motor
http://code.google.com/p/arduino/wiki/Platforms (http://code.google.com/p/arduino/wiki/Platforms)
A segunda parte, é a edição do avrdude.conf para que o microcontrolador possa ser gravado adequadamente.
Para a flexibilização do avrdude, é necessário editar e acrescentar no arquivo avrdude.conf ( que está no caminho C:\arduino-1.0.5\hardware\tools\avr\etc da versão 1.0.5 , utilizei a ultima versão pois fiz o download ontem no site www.arduino.cc (http://www.arduino.cc) ).
Vou procurar explicação coerente de como fazer essa edição e colar em outro post.
Toda e qualquer correção ao conteúdo será bem vinda, pois não sou conhecedor pleno do assunto, logo todo experimento coerente é válido.