Configureren Microcontroller

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Instellen microcontroller +uploaden programma

Inleiding
Aangezien we werken met een microcontroller op 3,3V was het niet mogelijk om zomaar met een arduino op 5V te programmeren. (zie problemen in vorige blogs omschreven). Daarom zullen we de programmas in de controller uploaden met behulp van een ftdi-chip. Dit vereist natuurlijk een aantal instellingen en een speciale manier van programmeren. We hebben zelf gebruik gemaakt van een bestaande tutorial die Jonas Verstraete ons ter beschikking stelde. Deze vind u terug op onze blog onder Arduino Atmega328p-pu bootloader. Daarnaast vind u hieronder de stappen die wij ondernomen hebben.

Bestaande tutorial
De bestaande tutorial volgen we van pagina 1 tot en met 9. Als we deze paginas doorlopen hadden waren we instaat om een programma up te loaden in onze controller. Maar we hadden nog enkele problemen bij het doorlopen van de tutorial deze staan hieronder omschreven met bijhorende oplossingen.

Verbindingen puntje 3 op pagina 5


Hier zien we dat de VCC en de AVCC verbonden zijn met de FTDI-chip. Dit was bij ons echter niet noodzakelijk omdat deze aangesloten reeds gevoed worden door onze LDO voltageregulator op de robot. Het is dan wel noodzakelijk de batterijen aan te sluiten en de robot aan te zetten. Hieronder ziet u een schematische weergave van de header waar de MOSI, MISO, SCK, GND en RST van onze robot naar buiten gebracht worden.

Foutmelding m328p not found pagina 8


De foutmelding ziet u hieronder weergeven op een screenshot. Hij vind de m328p controller dus niet terug in zijn avrdude.conf file .

We zullen nu de gegevens uit een andere avrdude.conf-file moeten halen en deze hierin plakken. Hiervoor installeerde ik op de C-schijf WinAVR . Download het programma via deze link: http://winavr.sourceforge.net/download.html Wanneer dit genstalleerd is gaat u naar de avrdude.conf file van WinAVR. Het volledig pad is : C:\WinAVR-20100110\bin

Het .CONF-bestand opent u met Wordpad en hierin kopieert u de gegevens van de m328p controller

Nu moeten deze gegevens geplakt worden in de avrdude.conf- file van serjtag. via volgende pad gaan we naar dit bestand : C:\Program Files\serjtag-0.3\avrdudeserjtag\binary. Wanneer dit gebeurd is kan u hervatten met het volgen van de bestaande tutorial. Vergeet niet de laatste stap, waar u de foutmelding kreeg, opnieuw te herhalen.

Fuses aanpassen pagina 9


De aanpassing van de fuses hangt af van de toepassing . Eerst kijken we eens wat de default waarden van de fuses zijn via een commando in te voeren in opdrachtenprompt: avrdude c diecimila P ft0 p m328p t B 4800 v v typ quit om af te sluiten

Nu zullen we de fuses instellen via volgend commando: Typ de volgende instructie : avrdude c diecimila P ft0 p m328p t B 4800. Typ daarna erase. Het schrijven van de fuse bits. Typ : w efuse 0 0x07 w hfuse 0 0xD9 w lfuse 0 0xE7 quit In de datasheet vind u wat deze instellingen juist betekenen. Nu de fuses correct zijn ingesteld kunnen we beginnen met het uploaden van een programma

Een programma uploaden


Hier wijken we totaal af van de tutorial van Jonas Verstraete, deze mag u nu dus sluiten. De verbindingen laat u echter zoals ze zijn. De FTDI chip nog steeds aan de pc gekoppeld en de MISO,MOSI, nog steeds met de robot verbonden. Eerst en vooral gaan we het programma dat we willen uploaden openen met het Arduino programma. Indien dit gebeurt is zullen we het gaan compileren. Hierbij krijgen we onderaan in het scherm de locatie van de hex-file. Zie screenshot.

Hier vind u dus het pad naar de hex file. Deze moet u kopiren, zie volgende screenshot

Als dit bestand gekopieerd is gaat u naar volgende locatie waar u dit bestand kopieert. C:\Program Files\serjtag-0.3\avrdude-serjtag\binary

Nu kan u het programma uploaden door gebruik te maken van volgende code in commandline Avrdude c diecimila P ft0 p m328p B 4800 U flash:w:Eindprogramma.cpp.hex Hieronder een screenshot ervan.

Wanneer u nu alle verbindingskabeltjes tussen ftdi-chip en robot wegneemt zal het programma starten. Het start niet zonder de reset uit te trekken. Vandaar dat dus de verbindingskabeltjes moeten wegnomen worden.

You might also like