Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Equipment >> Industrieel materiaal

Breadboarden en programmeren van de ATmega328P &ATtiny45 in Atmel Studio 7

In dit project bouwen we circuits voor het programmeren van twee verschillende Atmel-microcontrollers en bespreken we de benodigde software-instellingen.

In dit project bouwen we circuits voor het programmeren van twee verschillende Atmel-microcontrollers en bespreken we de benodigde softwareconfiguratie.

Dit project beschrijft de constructie van twee zeer vergelijkbare circuits:een voor het programmeren van een ATmega328P en een andere voor het programmeren van een ATtiny45. Het artikel geeft een volledig schematisch diagram van de programmeercircuits en gedetailleerde foto's van de soldeerloze breadboard-assemblages. Daarnaast zal ook Atmel Studio 7 IDE (Integrated Development Environment) worden geïntroduceerd.

Eerst de hardware

De ATmega328P is een 28-pins microcontroller van Atmel en maakt deel uit van de AVR-lijn. Het is waarschijnlijk het best bekend als de meest gebruikte μC in het Arduino-merk van ontwikkelingsplatforms, maar de AT328P is tot veel meer in staat dan daaruit kan worden geperst. Als je enig bewijs voor die bewering wilt zien, bekijk dan de datasheet van 660 pagina's.

De ATtiny45 is een 8-pins C en kan worden gezien als het "broertje" van de ATmega328P. Het heeft veel van dezelfde functies, maar het heeft natuurlijk lang niet zoveel I/O-pinnen.

De seriële perifere interface (SPI) wordt gebruikt voor het programmeren van de ATmega328P en de ATtiny45; het is een driedraads (plus aarde) bus, bestaande uit een Master Out, Slave In (MOSI) signaal, een Master In, Slave Out (MISO) signaal en een Serial Clock (SCK) signaal. De klok wordt gegenereerd door het master-apparaat en wordt gebruikt om te zorgen voor gesynchroniseerde communicatie tussen de master en de slave (of slaves); daarom is SPI een "synchrone" communicatiebus.

Programmeerschakelingen

De schematische diagrammen voor de programmeercircuits worden hieronder weergegeven. Merk op dat weerstand R2 en LED1 niet strikt vereist zijn voor programmering, maar zijn opgenomen in het circuit voor testdoeleinden, zoals later in dit project gedefinieerd.

Keuzes voor programmeurs

Er zijn verschillende programmeurs beschikbaar die de ATmega328P en de ATtiny45 aankunnen; de Atmel-ICE staat bovenaan de lijst en is een prima programmeur die in een toekomstig artikel zal worden besproken. Voor nu zijn er minder dure opties beschikbaar voor de skinflints onder jullie, en de Sparkfun AVR Pocket Programmer is degene die wordt gebruikt door de skinflint-auteur van dit artikel. Als u de voorkeur geeft aan iets anders, kies dan degene die bij uw voorkeuren en uw portemonnee past. Zorg er wel voor dat het de seriële perifere interface gebruikt zoals eerder beschreven, en wees voorbereid om de juiste wijzigingen aan te brengen in de informatie in dit artikel.

LET OP! Zorg ervoor dat u de juiste driver voor de AVR Pocket Programmer op uw computer downloadt en installeert voordat u de programmer voor de eerste keer aansluit. Als Windows de verkeerde driver mag installeren, kan het erg problematisch zijn om dit te corrigeren. Instructies voor het verkrijgen van het AVR Pocket Programmer-stuurprogramma vindt u verderop in dit artikel.

De AVR Pocket Programmer wordt geleverd met een lintkabel die moet worden aangesloten op de Atmel μC. Het is uitgerust met drie connectoren:een 2×5 vrouwtje dat is aangesloten op de bijpassende mannelijke kop op de AVR Pocket Programmer, een ander 2×5 vrouwtje dat ongeveer 23 cm verder is dan de lintkabel (die niet wordt gebruikt in dit artikel), plus een 2×3 vrouwtje aan het einde van de lintkabel. De pinouts worden weergegeven in de onderstaande foto's.

Programmeercircuit soldeerloze breadboard-assemblages

De ATmega328P en ATtiny45 programmeercircuit soldeerloze breadboard-assemblages worden getoond in de volgende foto's. Er worden zes korte jumperdraden gebruikt om de vereiste kabels van de 2 × 3 vrouwelijke connector aan te sluiten op de juiste pinnen op de microcontroller in het soldeerloze breadboard. Merk op dat de draadkleuren in de montagefoto's hieronder overeenkomen met die in de schematische diagrammen hierboven.

Onderdelenlijst

Naast enkele draadjumpers, worden de onderdelen die nodig zijn voor de montage van het programmeercircuit vermeld in de volgende tabel.

Onderdeelref. Beschrijving Bron Artikelnr.
U1 IC, ATmega328P-PU, 32kB Flash, DIP-28, 1.8-5.5V Digisleutel ATMEGA328P-PU-ND
U1 IC, ATtiny45-PU, 4kB Flash, DIP-8, 2,7-5,5V Digisleutel ATTINY45-20PU-ND
R1 Weerstand, ¼ W, 10kΩ Digisleutel 10KQBK-ND
R2 Weerstand, ¼ W, 470Ω Digisleutel 470QBK-ND
LED1 Diode, lichtgevend, T1 3/4, geel Digisleutel 754-1889-ND
C1 condensator, keramiek, 0,1 µF, 50 V Digisleutel 399-9797-ND
N.v.t. Programmer, AVR Pocket, PGM-09825 Digisleutel 1568-1080-ND
N.v.t. Broodplank, soldeerloos, 400 contacten Digisleutel 377-2094-ND

Dan de Software

AVR Pocket Programmer-stuurprogramma

De Windows-driver voor de AVR Pocket Programmer is dezelfde die wordt gebruikt door de Adafruit USBTiny Programmer. Ga naar deze Adafruit-webpagina en klik op de link voor het door Windows USBtinyISP ondertekende stuurprogramma gebouwd met libusb v1.12. Hiermee kunt u een zipbestand downloaden dat twee installer.exe-bestanden bevat:één voor 32-bits computers en één voor 64-bits computers. Dubbelklik op de optie die geschikt is voor uw Windows-pc en het stuurprogramma wordt geïnstalleerd.

Pas na installatie van de juiste Windows-driver mag u de AVR Pocket Programmer voor de eerste keer op uw computer aansluiten. U hebt een mannelijke-naar-mannelijke USB Type A-naar-miniatuur B-kabel nodig om uw pc op de AVR Pocket Programmer aan te sluiten. Wanneer u de verbindingen maakt, moeten de blauwe PWR-led en de rode Stat1-led gaan branden; de twee blauwe data-LED's kunnen ook oplichten en/of flikkeren. Windows zal proberen het stuurprogramma te lokaliseren en u moet Windows zo nodig naar de juiste locatie van het stuurprogramma leiden. Eenmaal correct geïnstalleerd, zal de AVR Pocket Programmer verschijnen in Apparaatbeheer onder libusb-winXX-apparaten als "USBtiny"; het zal niet worden opgesomd als een COM-poort. Zie de onderstaande schermafbeelding:

Atmel Studio 7

Zoals veel ontwerpbureaus voor microcontrollers, heeft Atmel een Integrated Development Environment (IDE) die werkt met hun hardware-aanbod:Atmel Studio 7. Hoewel het niet de enige manier is om Atmel μC's te programmeren, is het de meest uitgebreide methode voor Windows 7, 8, en 10 (zowel 32-bits als 64-bits); helaas kan het niet worden gebruikt met Linux- of Mac-besturingssystemen.

Het aantal opties en keuzes in Atmel Studio 7 kan overweldigend zijn voor een nieuwe gebruiker. In dit project wordt dus een stapsgewijze aanpak geboden, die het proces aanzienlijk zal vereenvoudigen. Begin met het downloaden en installeren van de IDE op uw pc. De Studio 7-gebruikershandleiding en een schat aan aanvullende informatie zijn ook beschikbaar om te downloaden.

Ondersteuning voor verschillende hardwareprogrammeurs is inbegrepen in Studio 7, maar de exacte keuzes zijn afhankelijk van welke Atmel-microcontroller je gaat gebruiken. In de onderstaande schermafbeelding staan ​​de programmeurs die worden ondersteund voor de ATMega328P aan de rechterkant weergegeven.

Zoals u kunt zien, staat de AVR Pocket Programmer niet op de lijst. Het kan echter nog steeds worden gebruikt met Studio 7 met behulp van een stukje software genaamd AVRDude.

AVRDude

AVRDude is een opdrachtregelprogramma dat wordt gebruikt om te downloaden van en te uploaden naar Atmel-microcontrollers. Er zijn versies beschikbaar voor zowel Linux- als Windows-systemen. Op het moment van schrijven (7 juni 2017) is de nieuwste beschikbare versie 6.3; het kan hier worden gedownload. Windows-gebruikers moeten avrdude-6.3-mingw32-zip downloaden (als u op deze link klikt, wordt het zipbestand gedownload!), de bestanden uitpakken en AVRDude installeren. Merk op dat het installeren van het programma in de hoofdmap van uw harde schijf niet essentieel is, maar het gebruik ervan met Atmel Studio 7 zal vereenvoudigen. Als er een latere versie dan 6.3 beschikbaar is, kunt u naar eigen goeddunken besluiten deze te installeren. De gebruikershandleiding voor AVRDude is hier beschikbaar.

Voer de volgende stappen uit om te controleren of AVRDude correct is geïnstalleerd en werkt:

  1. Klik op de Windows Start-knop.
  2. Typ cmd in het zoekvak en druk op Enter. Er zou een DOS-promptvenster moeten openen.
  3. Ga achter de DOS-prompt naar de map waarin u AVRDude hebt geïnstalleerd.
  4. Typ avrdude -c USBtiny en druk op Enter. Als alles goed is, zal AVRDude een lijst met Atmel-apparaten retourneren die worden ondersteund.

Zie de onderstaande schermafbeelding voor een voorbeeld van de procedure. Houd er rekening mee dat de schermafbeelding is afgekapt en slechts een deel van de lijst met ondersteunde Atmel-apparaten weergeeft.

Alles samenvoegen

Ervan uitgaande dat de programmer is aangesloten op de AVR op uw soldeerloze breadboard zoals eerder beschreven, bent u bijna klaar om uw AVR te programmeren. Download het bestand New Blink.zip met behulp van de onderstaande knop, pak het uit en sla het op uw pc op een handige locatie op.

New_Blink.zip

Volg nu deze procedure.

  1. Start Atmel Studio 7.
  2. Klik aan de linkerkant van het opstartscherm op Nieuw project. Het scherm Nieuw project wordt geopend.


  3. Klik in het scherm Nieuw project op GCC C Uitvoerbaar project; noem het project New Blink zoals hierboven weergegeven en klik op OK. Het scherm Apparaatselectie wordt geopend.


  4. Kies in het scherm Apparaatselectie het AVR-apparaat dat u gebruikt:ATmega328P of ATtiny45, zoals hieronder weergegeven. Klik OK. Het nieuwe project wordt aangemaakt en het scherm Nieuw Blink-project wordt geopend.


  5. Klik op het vervolgkeuzemenu Extra, kies Externe hulpmiddelen... en klik op de knop Toevoegen.
  6. Typ in het vak Titel een naam voor de tool die u aan het maken bent; het is goed als de naam de tool beschrijft. U kunt bijvoorbeeld een combinatie van de naam van de programmeur en de naam van het apparaat invoeren.
  7. Typ in het vak Opdracht het DOS-adres voor de locatie waar u AVRDude hebt geïnstalleerd plus de opdracht om AVRDude te starten.
  8. Typ in het vak Argumenten een van de twee volgende regels, afhankelijk van de AVR die u gebruikt. Typ voor de ATmega328P:
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i 

Typ voor de ATtiny45:

-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i 
  1. Typ in het vak Initiële directory het DOS-adres voor de locatie waar u AVRDude hebt geïnstalleerd.
  2. Zorg ervoor dat het venster Uitvoer gebruiken is aangevinkt en dat de andere twee selectievakjes niet zijn aangevinkt. Het venster zou moeten lijken op het onderstaande scherm, maar met de AVR die u gebruikt.


  3. Klik op Toepassen en vervolgens op OK. Het venster Externe hulpmiddelen zou moeten sluiten.
  4. Ga naar de locatie waar je New Blink.c aan het begin van dit gedeelte hebt uitgepakt en opgeslagen, open het bestand, selecteer alle inhoud en kopieer het naar het klembord.
  5. Ga naar het New Blink.c-venster in Atmel Studio 7, selecteer alle inhoud en plak de inhoud van het klembord in het New Blink.c-venster. Het zou eruit moeten zien zoals hieronder weergegeven.


  6. Als de Atmel Studio 7 Solution Explorer niet is geopend in de rechterbovenhoek van het projectvenster, klikt u op het vervolgkeuzemenu View en vervolgens op Solution Explorer. De Solution Explorer zou in de rechterbovenhoek van het projectvenster moeten openen.
  7. Klik met de rechtermuisknop op het bestand main.c en kies hernoemen. Hernoem het bestand main.c naar New Blink.c.
  8. Klik op het vervolgkeuzemenu Bestand en klik op Alles opslaan.
  9. Klik op het vervolgkeuzemenu Bouwen en klik op Oplossing bouwen.
  10. Klik op het vervolgkeuzemenu Tools en klik op de naam van de tool die in stap 5 tot en met 11 hierboven is gemaakt. De gecompileerde New Blink-code moet worden gedownload naar de AVR in uw breadboard en LED 1 moet beginnen te knipperen:½ seconde aan en ½ seconde uit, 60 keer per minuut.

Het begin

Toegegeven, dat was een lang proces om alleen maar een LED te laten knipperen, maar de waarheid is dat je met succes vier grote hindernissen hebt genomen:het creëren van een hardwareplatform voor het programmeren van een AVR-microcontroller, het installeren van een geïntegreerde ontwikkelomgeving (Atmel Studio 7), het integreren van een externe programma (AVRDude), en het definiëren van een programmeertool voor de AVR van uw keuze. Wees gerust, het zal gemakkelijker worden voor toekomstige Atmel-projecten die veel leuker zijn. Bekijk ze op AllAboutCircuits.com.

Probeer dit project zelf eens! De stuklijst ophalen.


Industrieel materiaal

  1. De voor- en nadelen van spuitgieten
  2. De 3 stadia van 3D-printen en hoe ze werken
  3. Wat is het verschil tussen massaproductie en aangepaste productie?
  4. Industrieel vacuümsysteem:de typen en voordelen bespreken
  5. Waarom en hoe industriële automatisering de toekomst is?
  6. Het verschil tussen gelijkstroom- en wisselstroommotoren
  7. De impact van fabrieksveiligheid en waarom het belangrijk is
  8. De precisie en het proces van lasersnijtechnologie begrijpen
  9. De toekomst van industriële machines in 2020 en daarna
  10. De soorten mechanische remmen en hoe ze verschillen
  11. De voor- en nadelen van het coaten van uw pomp