Inhoudsopgave:

UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart - Ajarnpa
UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart - Ajarnpa

Video: UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart - Ajarnpa

Video: UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart - Ajarnpa
Video: Lesson 1: What is Arduino? Types of Arduino Boards and SunFounder Kit | SunFounder Robojax 2024, Juli-
Anonim
UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart
UDuino: zeer goedkope Arduino-compatibele ontwikkelkaart

Arduino-boards zijn geweldig voor prototyping. Ze worden echter nogal duur als je meerdere gelijktijdige projecten hebt of veel controllerkaarten nodig hebt voor een groter project. Er zijn een aantal geweldige, goedkopere alternatieven (Boarduino, Freeduino) maar de kosten lopen nog steeds op als je er veel nodig hebt. extra tijdsinvestering op elk. Merk op dat het basisidee hier (Arduino op een breadboard) al geruime tijd bestaat (bijv. ITP Arduino Breadboard-instructies); de instructies voor het bouwen en gebruiken van de kabeladapter helpen hier echter om het aantal onderdelen voor elke kern absoluut te minimaliseren. Dit project vereist kennis van solderen en basiselektronica, en je zou op zijn minst enige ervaring moeten hebben met Arduino-ontwikkeling. Ik stel dit niet voor als een eerste elektronicaproject. Opmerking: ik spreek uDuino uit als "moo DWEE noh" Toegevoegd op 02-05-08: (voor behoorlijk gevorderde mensen) Een van de tools die ik hiermee heb gebouwd, is een logic capture-tool -- een soort basislogica-analysator. Ik heb dit ontwikkeld om problemen met communicatieverbindingen op te lossen. Heeft een gui-interface nodig, maar ik betwijfel of ik er snel aan toe zal komen. Nog steeds handig in de juiste handen. Toegevoegd 23-06-09: Ik wil graag wijzen op de RBBB's van Modern Device voor iedereen die iets met soldeer wil, maar ook super goedkoop - vooral als je de kale boards krijgt en koopt onderdelen in bulk. Ook hun USB-BUB is een goedkoper alternatief voor de FT232-kabel.

Stap 1: Verzamel onderdelen voor de kabeladapter

Verzamel onderdelen voor de kabeladapter
Verzamel onderdelen voor de kabeladapter

Ik stel voor onderdelen te kopen van een mix van Mouser, Radio Shack en Ada Fruit Industries; zie de laatste stap voor onderdelenbronnen. Voel je vrij om onderdelen uit je junkbox te vervangen, en met de weerstand / condensatoren kun je een manier afwijken van de waarden en nog steeds dingen goed laten werken (weerstand zou ik voorstellen tussen ongeveer 3,3k en 20k; condensatoren zou ik over het algemeen niet doen ga voor kleinere waarden, maar grotere tot ongeveer.47uF zou goed moeten zijn).

Voor de kabeladapter heb je nodig: - een klein stukje pc-kaart (8 gaten bij 2 gaten) - een.1uf condensator - een 1x8.1" afstandsheader, recht - een 1x8.1" afstandsheader, rechte hoek - enkele aansluitingen draad

Stap 2: Maak de programmeerkabeladapter

Maak de programmeerkabeladapter
Maak de programmeerkabeladapter
Maak de programmeerkabeladapter
Maak de programmeerkabeladapter
Maak de programmeerkabeladapter
Maak de programmeerkabeladapter

Meestal hoeft de programmeerkabeladapter alleen signalen van de FTDI USB-kabel naar de juiste pinnen op de ATmega168-chips te leiden; de condensator is echter toegevoegd aan één set pinnen zodat de Arduino-software de chips kan resetten (de condensator laat een korte puls over naar de reset van de chip wanneer de Arduino-software de RTS-pin omdraait).

Snijd om te beginnen een stuk pc-bord met 9 gaten bij 2 gaten. Breek vervolgens een set van 8 pinnen af van de rechte pin-headerstrip en een set van 8 pinnen van de haakse headerstrip (ervan uitgaande dat u de langere strips hebt gekocht). Zie de onderdelenfoto om te zien hoe deze er uiteindelijk uit moeten zien. Bekijk via de volgende stappen zowel de bijgevoegde foto's als de diagrammen voor het aansluiten van pinnen. De diagrammen laten veel beter zien waar de aansluitingen moeten komen, maar de foto's helpen de oriëntatie van het bord te verduidelijken, enz. Als je vragen hebt, mail me dan en ik zal proberen alles te verduidelijken dat niet logisch is. Draai de printplaat ondersteboven zodat u het koper rond de gaten kunt zien, met een van de lange zijden naar u toe. Als je, zoals ik hier deed, een stuk pc-bord van de rand van het origineel hebt gebruikt, raad ik aan om de kant met het extra bordmateriaal naar je toe te plaatsen. Steek de onderkant (korte kant) van de rechte kop door de gaten die het verst van je verwijderd zijn, laat een gat aan je linkerkant leeg en soldeer de pinnen op hun plaats (zie afbeelding). Steek vervolgens de onderkant (kant met de bocht) van de rechthoekige kop door de gaten die het dichtst bij je zijn, laat opnieuw het gat aan de linkerkant leeg en soldeer de pinnen op hun plaats. Steek de draden van de.1uf-condensator door de lege gaten aan de linkerkant en soldeer de condensator op zijn plaats. Knip de draden af. Soldeer vervolgens elk van de 2 draden aan de header-pin die er het dichtst bij zit; de ene maakt verbinding met de meest linkse pin van de rechte header, de andere met de meest linkse pin van de haakse header. Het gemakkelijkst is waarschijnlijk om gewoon een soldeerbrug te maken (smelt genoeg soldeer om tussen de condensatorpin en de pin ernaast te vloeien, zoals op de afbeelding). Indien nodig kunt u een korte draad gebruiken en deze aan elk van de contacten solderen. Maak nog een soldeerbrug of verbinding tussen de 6e en 7e pinnen die zich het dichtst bij u bevinden (derde en vierde van rechts). Dit is om de "CTS"-pin van de kabel met aarde te verbinden. En maak nog een soldeerbrug / verbinding tussen de twee headers bij de tweede pin naar rechts (verbind de pin die het dichtst bij je is met de pin die verder weg is, slechts één pin van rechts). Dit verbindt wat de VCC USB-stroomjumper zal zijn met de VCC-pin van de chip. Deze stroomaansluiting is alleen actief als er een jumper is geplaatst. Gebruik een korte draadlengte om de pin die het dichtst bij je zit aan de rechterkant te verbinden met de vijfde pin die het dichtst bij je is (het is de vijfde of je nu van rechts of van links telt). Dit verbindt +5 volt van de USB-kabel met de andere pin van de jumperconnector. Sluit nu nog een kort stuk draad aan tussen de meest rechtse pin in de rij die het verst van je verwijderd is en de 3e van de rechter pin in de rij die het dichtst bij je is. Dit verbindt de aarde van de kabel met de aarde van de chip. Nog twee korte draden om toe te voegen: één van de tweede-van-links-pin op de rechterhoekkop naar de derde-van-links-pin op de rechte kop (let op: aangezien de meest linkse gaten de condensator erin hebben geïnstalleerd, het is de derde hole van links die zich het dichtst bij u bevindt tot de vierde van links in de rij die het verst van u verwijderd is). De tweede korte draad kruist rechts over de eerste: van de derde-van-links pin op de rechtse header naar de tweede-van-links pin op de rechte header (vierde-van-links gat naar derde -van-het-links gat). Deze draden verbinden de TX- en RX-pinnen van de kabel met die van de chip. Helaas is de volgorde tegenovergesteld op de kabel van de chip, daarom moeten we de gekruiste draden hebben. Nu hoef je alleen maar de FTDI FT232RL-kabel in te pluggen, met de groene draad aangesloten op de pin helemaal links (de zwarte draad wordt aangesloten op de derde pin van rechts). De overige twee pinnen aan de rechterkant zijn voor een jumper; als de jumper is geïnstalleerd, wordt het bord gevoed via de USB-kabel, waardoor batterijen of een voeding niet meer nodig zijn. Deze jumper MAG NIET worden aangesloten wanneer er andere stroom op het bord is aangesloten of schade aan iets (bord, kabel, computer) mogelijk is. Dat is het! Je bent klaar om wat uDuino cores te maken om met de kabel te programmeren. (Bij gebruik van de programmeeradapter wordt de pin naast de condensator aangesloten op pin 1 van de chip)

Stap 3: Beslis of u absoluut minimale boards wilt maken of op externe oscillatoren gebaseerde boards

Beslis of u absoluut minimale boards wilt maken of op externe oscillatoren gebaseerde boards
Beslis of u absoluut minimale boards wilt maken of op externe oscillatoren gebaseerde boards

De beslissing om al dan niet een op een oscillator gebaseerd bord te bouwen, is gebaseerd op een paar dingen. Ten eerste, heb je toegang tot een AVR-programmeur en de tijd om een speciale bootloader op je ATmega168-chips te programmeren? twee, kun je zonder nauwkeurige seriële communicatie met de chip? drie, heeft uw toepassing zo weinig impact dat het bord half zo snel kan werken en alles nog steeds goed werkt?

ATmega168-chips hebben een interne oscillator die kan worden ingeschakeld; het werkt op ongeveer 8 mHz, wat de helft van de snelheid is van de meeste Arduino-borden (met uitzondering van Lilypads). De interne oscillator is gegarandeerd gekalibreerd tot binnen 10% (wat niet strak genoeg is voor een gegarandeerd goede seriële communicatie). In mijn ervaring was de fabriekskalibratie op 5v altijd goed voor het uploaden van programma's, maar YMMV. Ik zou de interne oscillator echter niet gebruiken voor belangrijke dingen die serieel moeten spreken. Voor blinkylights zou het echter prima moeten zijn. Arduino-chips met de bootloader vooraf geladen die ik heb gevonden, werken altijd op 16 MHz, en deze vereisen een externe oscillator. Als je geen toegang hebt tot een AVR-programmeur, wil je waarschijnlijk een voorgeladen Arduino-chip kopen. Ik raad Ada Fruit Industries ten zeerste aan als bron. Merk op dat de oscillatoren echt niet zo duur zijn (over het algemeen $.50-$.75 bij Mouser); ze zijn gewoon een ander onderdeel dat vaak niet nodig is, en de pinlay-out is slecht voor echt schone Arduino-lay-outs met breadboard.

Stap 4: Op externe oscillator gebaseerde bordopbouw

Op externe oscillator gebaseerde bordopbouw
Op externe oscillator gebaseerde bordopbouw

Verzamel de onderdelen die je nodig hebt: - Breadboard (je kunt dit natuurlijk ook rechtstreeks op een voorgeboorde pc-kaart bouwen) - ATmega168-chip met voorgeladen bootloader -.1uf-condensator (keramiek, polyester, enz. Maakt niet uit dus veel; waarde.047uf-.47uf zou goed moeten zijn)- 10K-weerstand (waarden ~3.3k-20k zouden goed moeten werken)- 16mHz 3-pins keramische oscillator (bij voorkeur met lange, bijv. 1/2 inch, kabels)- Korte lengtes van wirePlaats de ATmega168 in het breadboard, schrijlings op het midden. Gebruik voor elk van de volgende verbindingen het gat bij elke ATmega168-pin die zich het dichtst bij de open chip bevindt; hierdoor blijft het laatste gat in elk van de rijen 1-8 open voor de programmeerkabel om in te pluggen. Verbind pin 7 en 20 met een stuk draad (VCC naar AVCC) Verbind pin 8 en 22 met een stuk draad (GND) naar AGND) Verbind de 10K-weerstand van pin 1 met pin 7 (RES naar VCC) Verbind de.1uf-condensator van pin 7 met pin 8 Sluit de buitenste pinnen van de oscillator aan op pinnen 9 (XTAL1) en 10 (XTAL2) van de ATmega168. Het maakt niet uit welke van de pinnen op welke ATmega-pin is aangesloten. Sluit de middelste pin van de oscillator aan op pin 8 (GND)Als je stroombuslijnen op je breadboard hebt, raad ik aan om de + rail (rood) op pin 20 en de - rail (blauw) naar pin 22. Dit is een wat slechte vorm (aansluiten op de analoge kant voor stroomaansluitingen voor andere dingen), maar als je breadboard even groot is als de mijne, heb je al alle beschikbare gaten gevuld voor pin 7. Als u van plan bent om USB-stroom te gebruiken, kunt u nu gewoon de programmeerkabel aansluiten en schetsen uploaden naar het bord (zorg ervoor dat u de stroomselectiepinnen op de kabeladapter verbindt met een jumper om de chip van stroom te voorzien USB). Anders moet u een batterij/spanningsregelaar/etc. gebruiken. stroom te leveren.

Stap 5: OF Interne-oscillatorkaart bouwen

OF Interne-oscillator Board Build
OF Interne-oscillator Board Build

Verzamel de onderdelen die je nodig hebt: - Breadboard - ATmega168 chip-.1uf condensator (keramiek, polyester, etc. maakt niet zoveel uit; waarde.047uf-.47uf zou goed moeten zijn) - 10K weerstand (waarden ~3.3k- 20k zou prima moeten werken) - Korte draadlengtes Programmeer de Bootloader met uw AVR-programmeur: U wilt de lilypad-bootloader gebruiken (meegeleverd met release Arduino-0010, in de hardware/bootloaders/lilypad). Gebruik uw AVR-programmeur om de bootloader te flashen. Bijvoorbeeld op mijn OSX-systeem:cd /Applications/Arduino-0010/hardware/bootloaders/lilypadPATH=${PATH}:/Applications/Arduino-0010/hardware/tools/avr/binavrdude -C /Applications/Arduino-0010/ hardware/tools/avr/etc/avrdude.conf -cusbtiny -pm168 -Pusb -e -u -Ulock:w:0x3f:mavrdude -C /Applications/Arduino-0010/hardware/tools/avr/etc/avrdude.conf - c usbtiny -pm168 -Pusb -Uflash:w:LilyPadBOOT_168.hex -Ulock:w:0x0f:mavrdude -C /Applications/Arduino-0010/hardware/tools/avr/etc/avrdude.conf -cusbtiny -pm168 -Pusb -e -u -Uefuse:w:0x00:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xf2:mHet breadboard instellen:Plaats de ATmega168 in het breadboard, over het midden heen. Gebruik voor elk van de volgende verbindingen de gat bij elke ATmega168-pin die zich het dichtst bij de open chip bevindt; hierdoor blijft het laatste gat in elk van de rijen 1-8 open voor de programmeerkabel om in te pluggen. Verbind pin 7 en 20 met een stuk draad (VCC naar AVCC) Verbind pin 8 en 22 met een stuk draad (GND) naar AGND) Verbind de 10K-weerstand van pin 1 met pin 7 (RES naar VCC) *Sluit de.1uf-condensator van pin 7 aan op pin 8Als je stroombuslijnen op je breadboard hebt, raad ik aan om de + rail (rood) aan te sluiten op pin 20 en de - rail (blauw) naar pin 22. Dit is een wat slechte vorm (aansluiten op de analoge kant voor stroomaansluitingen voor andere dingen), maar als je breadboard even groot is als de mijne, heb je alle gaten al gevuld beschikbaar voor pin 7. Als u van plan bent om USB-voeding te gebruiken, kunt u nu gewoon de programmeerkabel aansluiten en schetsen uploaden naar het bord (zorg ervoor dat u de stroomselectiepinnen op de kabeladapter verbindt met een jumper om de chip van stroom te voorzien van USB). Anders moet u een batterij/spanningsregelaar/etc. gebruiken. stroom te leveren. Merk op dat je altijd 5v wilt gebruiken voor programmeren via Arduino-software; andere spanningen zullen ervoor zorgen dat de kloksnelheid aanzienlijk varieert en zal waarschijnlijk de communicatie (en dus programmering) doen mislukken. Wanneer u schetsen gaat uploaden naar dit type bord dat de interne oscillator gebruikt, selecteert u "Lilypad Arduino" in de Tools/Board menu.

2008 10-02 FIXED -- werd verkeerd geplaatst als pin 1 op pin 10 in origineel

Stap 6: Aansluitingen voor Arduino-ontwikkeling

Merk op dat de pinnen op een ATmega168 niet duidelijk verwijzen naar de Arduino-namen.

atmega168 Arduino 2 Digitaal 0 3 Digitaal 1 4 Digitaal 2 5 Digitaal 3 6 Digitaal 4 11 Digitaal 5 12 Digitaal 6 13 Digitaal 7 14 Digitaal 8 15 Digitaal 9 16 Digitaal 10 17 Digitaal 11 18 Digitaal 12 19 Digitaal 13 23 Analoog 0 24 Analoog 1 25 Analoog 2 26 Analoog 3 27 Analoog 4 28 Analoog 5

Stap 7: Sommige deelbronnen

Merk op dat ik de specifieke condensatoren & headers die hieronder in deze instructable worden vermeld niet heb gebruikt, dus hun uiterlijk kan enigszins afwijken van de aanwijzingen hier. Als je problemen hebt, laat het me weten.- FT232RL USB-kabel- Mouser:.1" tussenruimte headers, 36-pins, recht -- breek 8 pinnen af voor kabeladapter & gebruik rust voor andere projecten- Mouser:.1" tussenruimte headers, 36 pins, rechte hoek -- afbreek 8 pins voor kabeladapter - printplaat voor kabeladapter - Mouser: 10K weerstanden - Mouser:.1uF condensatoren - breadboards Pololu of Ada Fruit - ATmega168-chips Mouser: niet-geprogrammeerd of Ada Fruit: voorgeprogrammeerd - Mouser: 16Mhz Oscillatoren

Aanbevolen: