Red de conocimiento informático - Computadora portátil - ATMEGA328P usando oscilador interno 8MRC (2015-07-05 19:50:49)

ATMEGA328P usando oscilador interno 8MRC (2015-07-05 19:50:49)

Planee hacer un receptor bluetooth para controlar la placa controladora de vuelo del quadcopter.

Estoy usando ATMEAGE328P y no quiero implementar PWM yo mismo. Viene con PWM de 6 canales. Para ser más livianos, no diseñamos un oscilador de cristal externo y planeamos usar uno interno.

El tablero está colocado, pero con un par de tableros de control Bluetooth en mi espalda, mi cabeza está rota y mis piernas están mal.

No queda más remedio que probar primero el programa.

Para admitir el entorno de desarrollo Ardunio, consulte esta página y pruebe con éxito en Ardunio 1.0.4

http://forum.arduino.cc/index.php?topic=124879.0

Primero, use un editor de texto para abrir el Makefile en arduino-1.4\Hardware\arduino\bootloaders\optiboot y agregue la siguiente configuración después de la sección estándar atmega328p:

# Estándar atmega328, solo en 38,400 baudios para una mayor precisión del reloj Y usando un oscilador RC interno de 8 Mhz

#

atmega328_384_8:TARGET = atmega328

atmega328_384_8:MCU_TARGET = atmega328p

atmega328_384_8: CFLAGS = '-DLED_START_FLASHES=3' '-DBAUD_RATE=38400'

atmega328_384_8: AVR_FREQ = 8000000L

atmega328_384_8: LDSECTIONS= -Wl, --section-start=.text = 0x7e00 -Wl, --section-start=.version=0x7ffe

atmega328_384_8: $(PROGRAMA)_atmega328_384_8.hex

atmega328_384_8: $(PROGRAMA)_atmega328_384_8.lst

atmega328_384_8_isp: atmega328

atmega328_384_8 _isp: TARGET = atmega328

atmega328_384_8_isp: MCU_TARGET = atmega328p

# arranque de 512 bytes, SPIEN

atmega328_384_8_isp: HFUSE = DE<

# Int.RC Osc.8MHz, la potencia aumenta lentamente -65ms

atmega328_384_8_isp: LFUSE = E2

# 2.7V Apagar

atmega328_384_8_isp.EFUSE = 05

atmega328_384_8_isp: isp

Luego abra el programa de consola de Windows y vaya al archivo hardware\arduino\bootloaders\optiboot

p>

Escribe e ingresa en la consola

omakeatmega328_384_8

El parámetro atmega328_384_8 se refiere al archivo HEX definido anteriormente que admite el RC interno de 8M.

Una vez completada la compilación, se generará atmega328_384_8.hex.

Ahora use un editor de texto para abrir el archivo board.txt en arduino-1.0.4\hardware\arduino y agregue el siguiente texto

######### # ################################################ # #

atmega328_384_8.name=ATmega328 Optiboot @ 38, 400 baudios con 8MHz Int.

atmega328_384_8.upload.protocol=arduino

atmega328_384_8.upload.maximum_size = 30720

atmega328_384_8.upload.speed=38400

atmega328_384_8.bootloader.low_fuses=0xE2

atmega328_384_8.bootloader.high_fuses=0xDE

atmega328_384_8 .bootloader.extended_fuses=0x05

atmega328_384_8.bootloader.path=optiboot

atmega328_384_8.mcu=atmega328p

atmega328_384_8.build.f_cpu=8000000 L

atmega328_384_8.build.core=arduino

atmega328_384_8.build.variant=standard

Esto completa una nueva placa de circuito. Cierre el IDE de ardunio y vuelva a abrirlo y la lista de placas ahora incluirá el ATmega328 Optiboot @ 38, 400 baudios con oscilador Int.RC de 8 MHz.

Después de marcar la casilla, lo probé y lo grabé en el gestor de arranque sin ningún problema.

En cuanto a la placa que diseñé yo mismo, tendré que volver a prototiparla.

En cuanto a la placa de circuito que diseñaste, tienes que volver a crear un prototipo.