Sida 1 av 2

egen programmeringskontakt (AVR)

Postat: 16 juni 2012, 17:51:15
av jesse
Jag har en del kretskort med AVR-processorer som ska programmeras en gång, kanske två eller tre gånger i sin livstid. Därför tycker jag det är störande att behöva montera en stor ful stiftlist bara för detta enda tillfälle. Så nu, äntligen satte jag mig och byggde en fjädrande stiftlist som man trycker ner i hålen. Fungerar utmärkt!. Så här blev det:
DSCN6820b.jpg
DSCN6826.JPG
DSCN6819b.jpg
DSCN6822b.jpg

Re: egen programmeringskontakt (AVR)

Postat: 16 juni 2012, 17:55:23
av Klas-Kenny
Många (inkl. jag) brukar annars använda Pogo-pins till sådant :wink:

Men alla fungerande lösningar är bra :tumupp:

Re: egen programmeringskontakt (AVR)

Postat: 16 juni 2012, 18:59:42
av Icecap
En kantkontakt på kretskortet är också användbart!

Ett exempel: 43-121-00

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 09:09:14
av Fagge
Bra idé Icecap :tumupp:

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 10:05:55
av Swech
Det finns två nackdelar om det är kommersiellt.

1. Kör man korten i produktion med våglöd så måste hålen maskas.
2. Har man levererat kortet och kommer på att uppdatering behövs så
blir det mycket besvärligare för en kund att fixa det

För övrigt är det en bra idé.

Swech

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 14:10:46
av jesse
Jag har pogopins liggandes, men har inte kommit på något praktiskt sätt att använda dem. Detta var enklare.

Kortkantskontakt är också en bra idé. Det fungerar ju även ute hos kund om man bara har en enkel adapter. Men det borde väl inte fungera i en våglödsmaskin heller, utan att maskas?

En tanke kring AVR-ISP kontakten:

Man använder ju ofta samma pinnar till andra saker i applikationen, t.ex. SPI. Då kan det kanske vara lite känsligt att man har trådarna öppet exponerade på det viset. Så en lösning kanske kunde vara att man har en multiplexer, t.ex. 74HC4053 som väljer kanal mellan AVR-ISP-kontakten eller övriga enheter beroende på status på resetpinnen. På så vis skickas inte heller ut en massa jox på SPI-linjen under tiden man programmerar (Även om CS - chip select - har en pull-up som inaktiverar de övriga enheterna under programmering).
4053.GIF
(eller en liten TC7WPB9307 - dual bus switch)

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 14:45:22
av Icecap
Vid alla projekt jag gör försöker jag så långt det går att hålla just ICSP-pinnar lediga från andra funktioner. Det finns dock fall där det inte går bra och då brukar jag att lägga motstånd mellan så att MISO-pinnen är kopplat direkt till programmeringspinnen men därifrån och vidare ut i kretskortet sitter det ett motstånd mellan. Detta bör ge en "isolering" så att den utgång som vanligen driver MISO är "klenare" än programmeringsdonet. Vill man säkra att MOSI inte ska ge oönskade effekter på kortet är det bara att lägga till en extra GND-pinne som kortsluter MOSI till GND - fast då efter ett motstånd.

Allt detta med extra kretsar och skit är bara ytterligare felkällor, KISS!

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 14:53:12
av jesse
>Allt detta med extra kretsar och skit är bara ytterligare felkällor.

man vill alltså inte att det ska se ut så här: :razz:

Bild

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 15:02:05
av Icecap
Ah... the bad old days...

ICSP brukar ta ett par pinnar i anspråk.
* GND
* VDD
* RESET
* MISO (andra namn ibland men sak samma)
* MOSI (andra namn ibland men sak samma)
* Ibland någon klocka eller annat signal

RESET brukar knappast vara reserverat för data, inget problem alltså.
GND & VDD brukar vara ganska lediga för annat också, alltså upptar de inget.

Total är det alltså 3 pinnar som kan vara vettiga att reservera för ICSP enbart och det borde väl vara överkomligt... Behöver man just dessa två pinnar pga. en speciell funktion designer man med detta för öga från start, då brukar det gå bra.

Vill i övrigt tipsa om 43-852-17 som jag tycker är trevlig som ICSP-don. Har den på ett par projekt och i "kompisen" till den klämmer man fast vanligt 1,27mm pitch fladkabel. Fördelen är att det fyller ganska lite, finns i ytmonterat och hålmonterat version osv.

Re: egen programmeringskontakt (AVR)

Postat: 17 juni 2012, 16:31:23
av Klas-Kenny
jesse skrev:Jag har pogopins liggandes, men har inte kommit på något praktiskt sätt att använda dem.
Jag använder dem så här:
http://elektronikforumet.com/forum/view ... 71#p835371

I vissa fall kanske det vore lämpligare med spetsiga, men ja. Dessa är dock utmärkta ifall man satt lite lödtenn över hålen. Borde inte vara så svårt att få ihop till en tvåradig konfiguration om man hellre vill det heller. :)

Re: egen programmeringskontakt (AVR)

Postat: 23 juni 2012, 08:53:44
av Rohan
Så hä löste jag problemet senast jag gjorde ett litet kort som bara skulle programmeras en eller ett par gånger.
Bild
Bild

Re: egen programmeringskontakt (AVR)

Postat: 23 juni 2012, 17:09:51
av Icecap
Rohan: inte dumt - men kanske en aning osäkert ibland. Man måste se till att pinnarna har lagom fjädring osv. Jag har faktisk testat att använda en klädnypa som jag beklädde med lite kontaktpunkter av kontaktbleck, varje flik kunde fjädra en aning vilket räckte.

Fördelen är att man enkelt kan klämma fast den, i grunden blir det samma funktion som pogo-pins fast utan att sticka lika långt upp från kretskortet och det är billigt.

Nackdelen är att det är en specialbyggd grej och går den sönder/blir sliten måste man bygga en ny. Detta har gjort att jag har börjat med det minimala kontaktdon jag länkar till längre upp, det är mycket få projekt jag gör som är till eget bruk och alla kommer ändå att behöva programmeras om ett antal gångar varför ett riktigt kontaktdom än är grejen från starten.

Är det ett projekt där storleken är en viktig faktor kan ett fixtur med pogo-pins vara den helt rätta lösningen.

Re: egen programmeringskontakt (AVR)

Postat: 24 juni 2012, 00:31:00
av Sikmeister
I en produkt jag skruvade sönder för några år sen fanns en ganska annorlunda variant av programmeringskontakt. Kretskortet har en ring med paddar och ett hål för att fixera kabeldonet med. Jag har inte sett kontaktdonet, men antar att det har en ring med fjädrande stift typ pogo-pins och en spadformad grej som man spänner fast det i kortet med. Ringen är väl runt 10 mm i diameter. Jag är osäker på om styrhålen till vänster ingår i kontakten.

Jag tyckte att det var en smart lösning när jag såg den, men jag är inte lika säker längre. Den tar ganska mycket kortyta jämfört med ett annat 8-poligt kontaktdon. Den enda anslutningen är från översidan, så om den ska anslutas i en fixtur i volymproduktion måste den monteras med komponentsidan neråt, vilket kan ställa till problem med höga komponenter.

Den enda egentliga fördelen är väl att den är går att ansluta till vid eventuell fältservice. Det är annars vanligt att man ritar in ett mer normalt kontaktdon som används under utveckling och låter bli att montera det i volymproduktion. Det är oftast inga problem att ansluta mot en sån kontakt via en fixtur med fjädrande stift, men om man ska göra fältservice behöver man kanske löda in ett kontaktdon i efterhand.

Processorn som satt på kortet var en H8 om någon undrar. Kontakten kanske ingick i standardutrustningen, jag har ingen aning.
programmeringskontakt.jpg

Re: egen programmeringskontakt (AVR)

Postat: 24 juni 2012, 01:53:41
av blueint
Rohans lösning är väl den som är billigast på kretskortet iaf?
Sen gäller det att ordna en individuellt fjädrande kontakt som inte glappar under programmering och "brickar" konstruktionen.

Re: egen programmeringskontakt (AVR)

Postat: 24 juni 2012, 14:09:43
av bearing
Jag gissar att det ovala hålet används för att få in två hakar, som sedan fjädrar uppåt och nedåt i bild. Kontakten tas bort genom att trycka ihop hakarna på samma sätt som man trycker ihop en pincett.