Eenvoudige en goedkope Fuse arts voor Attiny


Wanneer u met Attiny zoals de Attiny 85 of de Attiny13 werkt, het is gebonden aan het vroeg of laat gebeuren: u baksteen uw Attiny.
Ik heb geconfronteerd met het terwijl het proberen om een bootlaoder te branden (dat wil zeggen vaststelling van de juiste zekeringen), dat kreeg ik ineens de gevreesde ' Ieks! Ongeldig apparaat handtekening ' foutbericht weergegeven. Als ik had net succesfully gebrand op op IDE1.06 en nu probeerde op IDE1.6.3, gewoon om te zien dat of ik alles OK installeerde, ik wist de chip was OK en dat mijn programmeur OK was. Ook een nieuwe chip deed het goed, dus iets onheilspellend moet hebben is er gebeurd met mijn chip.

Zou het zijn omdat mijn computer had wat geheugenproblemen tijdens de verbranding???
Nou, niet veel keus dan te proberen en opnieuw instellen van mijn Attiny85.
Daarvoor moet u een seriële hoge Voltage programmeur. Tal van schakelingen te vinden, dus geen enkele manier beweren ik origineel te zijn hier, maar ik ben het schrijven van deze ibble weg te nemen enige aarzeling dat mensen wellicht door weergegeven: hoe snel en gemakkelijk het is.

Het duurt allemaal 6 weerstanden, een transistor, een DIL-voet, een stuk 9 x 20 klemmenstrook en een 7-pins mannelijke koptekst en natuurlijk een 12 Volt-aanbod. En ja, A UNO te houden het in.

Maar ik had niet verwacht dat de programmeur zeer vaak gebruiken, ik van plan om een accu gebruiken, zoals mijn 12 Volt batterij ik niet vinden kon, uiteindelijk heb ik met behulp van een 0,75 USD (dus 75 dollarcents) 5 tot en met 12 Volt converter van aliexpress, die ik had voor een ander project.

Ik gebruikte het programma hieronder. Het programma wordt gestart wanneer u een willekeurig teken naar de seriële poort. Aangezien het blijkt, was het een zekering probleem in mijn chip als de fuse-bits waren E4 DF waardoor dat het werd ingesteld voor 128 kHz oscillator. Niet zeker hoe dat zou kunnen als ik gebeuren verwijderd die keuze uit mijn menu in het boards.txt bestand.
Hoe dan ook, op beginstand zetten naar de zekeringen naar fabrieksinstelling en na dat ik mijn Attiny85 weer kon gebruiken.
Helaas, om deze unbricker te bouwen, moest ik gebruik de 1 k weerstanden die ik wilde gebruiken voor het zeer project dat was ik de programmering van de Attiny voor :-) Ach!
Alles bij elkaar kostte me minder dan een uur samen te stellen het dus als u ondervindt problemen met uw Attiny13/25/45/85 een van deze bouwen.
Als u de serie 24/44/84 unbrick wilt, moet u een groter DIL voet.
Als u probeert te unbrick een Attiny15... dan herinneren dat die PB3 heeft en PB4 overgeschakeld in vergelijking met de 13/25/45/85-serie, dus moet je waarschijnlijk een software of hardware veranderen (teer en veren voor de Atmel-ontwerper die deed dit)

 // AVR High-voltage Serial Fuse Reprogrammer // Adapted from code and design by Paul Willoughby 03/20/2010 // http://www.rickety.us/2010/03/arduino-avr-high-vo... // // Fuse Calc: // http://www.rickety.us/2010/03/arduino-avr-high-vo.... 
 #define RST 13 // Output to level shifter for !RESET from transistor #define SCI 12 // Target Clock Input #define SDO 11 // Target Data Output #define SII 10 // Target Instruction Input #define SDI 9 // Target Data Input #define VCC 8 // Target VCC 
 #define HFUSE 0x747C #define LFUSE 0x646C #define EFUSE 0x666E 
 // Define ATTiny series signatures #define ATTINY13 0x9007 // L: 0x6A, H: 0xFF 8 pin #define ATTINY24 0x910B // L: 0x62, H: 0xDF, E: 0xFF 14 pin #define ATTINY25 0x9108 // L: 0x62, H: 0xDF, E: 0xFF 8 pin #define ATTINY44 0x9207 // L: 0x62, H: 0xDF, E: 0xFFF 14 pin #define ATTINY45 0x9206 // L: 0x62, H: 0xDF, E: 0xFF 8 pin #define ATTINY84 0x930C // L: 0x62, H: 0xDF, E: 0xFFF 14 pin #define ATTINY85 0x930B // L: 0x62, H: 0xDF, E: 0xFF 8 pin 
 void setup() { pinMode(VCC, OUTPUT); pinMode(RST, OUTPUT); pinMode(SDI, OUTPUT); pinMode(SII, OUTPUT); pinMode(SCI, OUTPUT); pinMode(SDO, OUTPUT); // Configured as input when in programming mode digitalWrite(RST, HIGH); // Level shifter is inverting, this shuts off 12V Serial.begin(19200); } 
 void loop() { if (Serial.available() > 0) { Serial.read(); pinMode(SDO, OUTPUT); // Set SDO to output digitalWrite(SDI, LOW); digitalWrite(SII, LOW); digitalWrite(SDO, LOW); digitalWrite(RST, HIGH); // 12v Off digitalWrite(VCC, HIGH); // Vcc On delayMicroseconds(20); digitalWrite(RST, LOW); // 12v On delayMicroseconds(10); pinMode(SDO, INPUT); // Set SDO to input delayMicroseconds(300); Serial.println("Reading: "); unsigned int sig = readSignature(); Serial.print("Signature is: "); Serial.println(sig, HEX); readFuses(); if (sig == ATTINY13) { writeFuse(LFUSE, 0x6A); writeFuse(HFUSE, 0xFF); } else if (sig == ATTINY24 || sig == ATTINY44 || sig == ATTINY84 || sig == ATTINY25 || sig == ATTINY45 || sig == ATTINY85) { writeFuse(LFUSE, 0x62); writeFuse(HFUSE, 0xDF); writeFuse(EFUSE, 0xFF); } readFuses(); digitalWrite(SCI, LOW); digitalWrite(VCC, LOW); // Vcc Off digitalWrite(RST, HIGH); // 12v Off } } 
 byte shiftOut (byte val1, byte val2) { int inBits = 0; //Wait until SDO goes high while (!digitalRead(SDO)) ; unsigned int dout = (unsigned int) val1 << 2; unsigned int iout = (unsigned int) val2 << 2; for (int ii = 10; ii >= 0; ii--) { digitalWrite(SDI, !!(dout & (1 << ii))); digitalWrite(SII, !!(iout & (1 << ii))); inBits <<= 1; inBits |= digitalRead(SDO); digitalWrite(SCI, HIGH); digitalWrite(SCI, LOW); } return inBits >> 2; } 
 void writeFuse (unsigned int fuse, byte val) { shiftOut(0x40, 0x4C); shiftOut( val, 0x2C); shiftOut(0x00, (byte) (fuse >> 8)); shiftOut(0x00, (byte) fuse); } 
 void readFuses () { byte val; shiftOut(0x04, 0x4C); // LFuse shiftOut(0x00, 0x68); val = shiftOut(0x00, 0x6C); Serial.print("LFuse: "); Serial.print(val, HEX); shiftOut(0x04, 0x4C); // HFuse shiftOut(0x00, 0x7A); val = shiftOut(0x00, 0x7E); Serial.print(", HFuse: "); Serial.print(val, HEX); shiftOut(0x04, 0x4C); // EFuse shiftOut(0x00, 0x6A); val = shiftOut(0x00, 0x6E); Serial.print(", EFuse: "); Serial.println(val, HEX); } 
 unsigned int readSignature () { unsigned int sig = 0; byte val; for (int ii = 1; ii < 3; ii++) { shiftOut(0x08, 0x4C); shiftOut( ii, 0x0C); shiftOut(0x00, 0x68); val = shiftOut(0x00, 0x6C); sig = (sig << 8) + val; } return sig; } 

Gerelateerde Artikelen

Snelle, eenvoudige en goedkope ei decoratie voor de lente!

Snelle, eenvoudige en goedkope ei decoratie voor de lente!

Pasen is een prachtige tijd om te gebruiken eieren in uw decoreren regeling, maar wat over de rest van de lente?  Ik heb deze goedkoop, eenvoudig, snel, ei decoratie die ik gebruik voor het decoreren van Pasen tot de eerste dag van de zomer!  Hebt u
Een eenvoudige en goedkope DIY Line na robot

Een eenvoudige en goedkope DIY Line na robot

Als iemand wil om te beginnen met het bouwen van robots, deze robot is voor hen, zijn gemakkelijk te doen, is geen kennis van programmeren vereist, enkel een klein beetje elektronica kennis volstaat om te eindigen deze robot.Belangrijkste ingrediënte
Eenvoudige en goedkope ROBOT HAND met slechts één MOTOR!

Eenvoudige en goedkope ROBOT HAND met slechts één MOTOR!

Hi iedereen,Ik wilde delen dit idee om een eenvoudige, goedkope robotic hand (of einde effector) met behulp van slechts één motorte maken.Met behulp van slechts één motor voor de hele hand kunt de hand te zijn:-zeer goedkoop, dat goed voor uw portemo
Eenvoudige DIY GoPro zuig Mount voor $3!!!

Eenvoudige DIY GoPro zuig Mount voor $3!!!

GoPro. Ook bekend als's werelds meest veelzijdige sport camera. Maar wat maakt het zo veelzijdig en populaire? Zeker, de grootste reden is de grootte en kwaliteit, maar een andere belangrijke factor is de vele officiële en onofficiële mounts beschikb
Een eenvoudige en goedkope brandweerman auto sirene.

Een eenvoudige en goedkope brandweerman auto sirene.

Het circuit beschrijf ik hier een eenvoudige en goedkope sirenes van brandweerwagens. Het circuit is gebaseerd op slechts 2 blokken: een oscillator (langzaam) en een andere oscillator (die is sneller). Vergrendelen van de foto's.Dit circuit gebruiken
Eenvoudige en goedkope DIY Interactieve achtergrondverlichting.

Eenvoudige en goedkope DIY Interactieve achtergrondverlichting.

Dit instructable zal u tonen hoe om een eenvoudige en goedkope sfeer achtergrond verlichtingssysteem voor uw PC!Dit eenvoudige systeem kan worden gebruikt met de AtmoWin-software, of het gebruik van de AtmoLight plugin in VLC (mediaspeler) , het verb
Grote taphendel...   Eenvoudige en goedkope...

Grote taphendel... Eenvoudige en goedkope...

Bent u in een snuifje en moet tik op groot gat maar je gevondenhoeft niet een kraan behandelen groot genoeg is voor de baan en kan nietgarandeert het krijgen van een nieuwe leukerd die u slechts eenmaal wilt gebruiken oftwee keer per jaar...  Nou is
Nail art voor korte nagels

Nail art voor korte nagels

gemakkelijk Nail art voor korte nagels-zwart en witHoi allemaalPosten na een lange tijd... serieus leven wordt zo druk dat je gewoon niet tijd voor jezelf krijgen.Deze keer heb ik geprobeerd een zeer eenvoudig en gemakkelijk nagel kunst die ook best
Goedkope PIR sensor voor bijvoorbeeld Arduino

Goedkope PIR sensor voor bijvoorbeeld Arduino

voor een project nodig ik meerdere PIR sensoren en ik weet Adafruit verkoopt een PIR-board voor ongeveer 10 dollar. Een beschrijving van dat bestuur is op instructables. Dat is doenbaar, maar ik had een paar nodig en natuurlijk er is ook de scheepvaa
Eenvoudige en goedkope Studio Desk

Eenvoudige en goedkope Studio Desk

dit is mijn eerste instructable, en ik ben niet Engels dus vergeef me voor mijn slechte Engels. Ik heb een record/producent studio Bureau in mijn slaapkamer. Dus laten we beginnen.Stap 1: Schoonmaken, reinigen en schoon Maakte ik mijn atelier in de s
Roze diamant Nail Art voor Beginner's

Roze diamant Nail Art voor Beginner's

Nail art is een creatieve manier om de nagels versieren. Het is een soort kunst die kan worden gedaan op de nagels en teennagels. Het werd bekend in schoonheidssalons en het wordt beschouwd als mode-activiteit. In deze tutorial zal ik u tonen hoe te
Zelfgemaakte eenvoudige en goedkope projector

Zelfgemaakte eenvoudige en goedkope projector

eenvoudige en goedkope projector gemaakt uit papier en vergroting glas.
Eenvoudige (goedkope) handafdruk cadeau voor de ouders of grootouders!

Eenvoudige (goedkope) handafdruk cadeau voor de ouders of grootouders!

dit is een groot geschenk dat iedere grootouder of een ouder houden zou te hebben! zijn super snel, super eenvoudig en super goedkoop! ook een geweldige last-minute kerstcadeau!Stap 1: Verzamel materialen de materialen die u zult moeten zijn:een oven
Eenvoudige en goedkope indoor TV-antenne

Eenvoudige en goedkope indoor TV-antenne

heb ik niet gehad een kabel-TV voor de afgelopen jaren, omdat ik vond mijn familie niet nodig zo veel (te veel) kanalen en handvol kanalen kostenloos via antenne kon kijken. Het heet OTA (over-the-Air) kanalen. Misschien moet u sommige van uw favorie