ATmel Programmer

Gestart door dani, 13 oktober 2015, 09:36:26 AM

dani

even een klein projectje in de Atmel wereld posten...

Ik had zelf een aantal "programmer boards" gemaakt tot nu toe voor de verschillende  Arduino en ATTiny chips te programmeren.

Het leek me toch simpeler om 1 enkel board te hebben waar je meerdere modellen mee kan doen.
En deze week kreeg ik via Piet (Dankjewel Bossie) een 40 pind  ZIF socket in handen.

Even denken, even puzzelen, en daar was het idee.   In plaats van een shield op de arduino, en dan adapters voor elk soort chip, heb ik nu een printje met 1 enkele USB aansluiting  die 3 soorten chips kan programmeren :

* de "klassieke"  28 pins  ATmel 328p  chip  (arduino UNO chip)
----  deze gaat gewoon recht bovenaan in de ZIF socket
* de kleine en compacte 8 pins ATTiny85  chip
----  deze gaat ondersteboven onderaan in de ZIF socket
* de Arduino Pro Mini (die op een printje zit maar zelf geen USB aansluting heeft)
----  deze wordt op een rijtje contactjes ingeprikt aan de zijkant van het printje

Tevens is elke programmeer positie voorzien van een LED voor het test programma.  (dat gewoon de LED doet knipperen )

Aangezien alle 3 de chips te benadern zijn via  ICSP bus (In Circuit Software Programming)  heb ik via eBay een goedkoop  UABASP  printje gekocht en dat als  "host/vertaler" gebruikt.  Zo kan ik vanuit de Arduino Software Development Kit  rechtstreeks de chips programmeren via ICSP door de  USBASP  (die trouwens zelf ook een ATMel controllertje aan boord heeft).

even een foto'tje :
[NB : voor de foto zitten alle 3 de types er in, maar normaal wordt er maar 1 tegelijk gebruikt...]

De kruik is te water gegaan...
De kruik is niet meer.

PietB

Graag gedaan Dani, ze lagen hier toch maar werkeloos.

Ik ben ook zeer geinteresseerd in dit project.
Kun je een onderkant van het stukje gaatjes board plaatsen?
Of een tekening van de doorverbindingen en openingen in de koper banen.

grt Piet.

Steam.N

Goed gezien, Dani !
Lijkt me erg handig.
Knutselgroeten !  Jean       TP-I (B) & TP-II (DR) - N - DC - Handbediening - Zelfbouw  { Sedelocus - De Feniks - Pira-N's Crossing - Turnhout NEEB - Scrap Yard }

dani

op verzoek voor Piet wat meer detail...

Ik probeer even de simpele uitleg in  Jip en Janneke taal zodat ook de niet - microcontroller  fanaten toch iets kunnen volgen.

1.    het ICSP gebeuren
-----------------------------
* In Circuit Software Programming is een techniek die toelaat om een Microcontroller te programmeren zelfs als hij al ergens ingebouwd is.
* Het laat ook toe om meerdere chips op eenzalfde manier tr addresseren
Je hebt in principe 6 draadjes
- PLUS      5V
- MINUS   5V
- RST        de reset pin op je controller
- SCK        de "klokpuls" voor de communicatie
- MISO      Master In, Slave Out   (één data verbinding van chip naar programmer)
- MOSI      Master  Out, Slave In  (één data verbinding van programmer naar chip )

Deze aansluitingen vind je ook op elk van de gebruikt ATmel chips.

Dus dat wetende is het simpel : 

* maak een printje met X mogelijke  chip sockets.
* verbind de 6 draadjes met elk van die sockets op de juiste pinnetjes   (je mag gerust doorverbinden want je programmeert maar 1 chip tegelijk)
* voeg bij elke chip socket een test led'je toe zodat je direkt na het programmeren je spul kan testen

En dan even praktisch...

De  ICSP connector (10 polig op de  USBASP adapter/programmer ) ziet er als volgt uit   (bekeken van de pin zijde aan de UABASP)

9  -  7  - 5  - 3  - 1
10 - 8  - 6  - 4  - 2

bij Pin 5 is er een inkeping in de plastic  connector om te zorgen dat je altijd correct zit.

De pinnen zijn als volgt verbonden :
1   - MOSI
2   -  VCC  (+5V)
3   -  niet verbonden
4   -  GND
5   - Reset
6   -  GND
7   - SCK (klok)
8    -  GND
9   - MISO
10   -  GND




Bij de ATMel chips is dit :

ATT85 :
- MOSI  = 5
- MISO  = 6
- SCK   = 7
- RST   = 1
- VCC  = 8
- GND = 4


ATMel328  :
- MOSI  = 17
- MISO  = 18
- SCK   = 19
- RST   = 1
- VCC  = 7 & 20
- GND = 8

... en bij de Arduino Pri Mini staat het op het printje :
- MOSI  = D11
- MISO  = D12
- SCK   = D13
- RST   = RST
- VCC  = VCC
- GND = GND

Van daaruit is het simpelwel een kwestie van soldeerverbindingen leggen en klaar.
De kruik is te water gegaan...
De kruik is niet meer.

PietB

Dank ik heb het gearchiveerd.

grt Piet.

Gerolf

Ik had me destijds ook zo'n printje gemaakt, voor AtMega8, 16 en 32. Was zeker handig ...
... maar sinds ik met smd-µC's werk (en veel verschillende types) komt de ISP steeds op het printje
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

dani

Citaat van: Gerolf op 15 oktober 2015, 10:59:35 AM
komt de ISP steeds op het printje
Dat probeer ik ook te doen bij de afgewerkte printjes, maar voor prototype of om snel iets te kunnen testen op breadboard vind ik dit een " snelle" oplossing.   Ook omdat ik vooral bij de ATT85  (de kleintjes)  niet wil gaan zitten prullen met extra aansluitingen op het kleine printje.
De kruik is te water gegaan...
De kruik is niet meer.