Afgelopen week heb ik een uitgebreid experimenteerboardje gebouwd op basis van een ATMEGA128. Deze heb ik ook laten zien in Show your Projects.
Ik heb dit topic geopend omdat ik met jullie van ideeen wil wisselen, om uiteindelijk het boardje te kunnen uitbreiden en fine-tunen. Ik vind dat daar geen ruimte is bij het topic "Show Your Projects", omdat je daar juist moet laten zien wat je hebt gebrouwen.
Het ontstaan van dit board
Ik werk hoofdzakelijk nog met SMD. Vaak wil ik iets bouwen, maar moet telkens een complete print maken, inclusief aansturing met een uC. Voorheen deed ik dat op 1 print. Het kwam dan regelmatig voor dat er toch iets niet goed ontworpen was. Resultaat : compleet nieuw board tekenen / etsen en de oude kon in de prullenbak.
Een paar maand geleden kwam ik op het idee om het probleem op te knippen : Een deelprintje met daarop de onderdelen van het te ontwerpen apparaatje, en een ander printje met daarop een uC om het aan te kunnen sturen. Dit bood vooruitgang, want ik hoefde nu alleen maar het deelprintje opnieuw te maken. Toch kwam ik soms even in de knel als ik bij een nieuw ontwerp van het deelprintje extra aansturingspinnen nodig had...
Ja ja, de wijsheid komt met de jaren, dus vorige week besloot ik eens een flexibel experimenteerboard te ontwerpen, rondom een Atmega128 : genoeg werkgeheugen en voldoende I/O-pins. Vanaf nu kan ik me gewoon weer concentreren op het deelprintje dat ik aan de praat wil krijgen. Eenmaal aan de praat, kan ik achteraf rustig bekijken welke uC ik het beste kan uitkiezen.
Het experimenteerprintje is uitgebreid met enkele slimme en handige onderdelen / gimmicks die ik wel eens wil gebruiken, maar niet altijd 1,2,3 zo klaar heb liggen. Of, dingen waar ik altijd nog een keer mee zou willen experimenteren.
Wat zit erop ?
Het boardje is voorzien van :
- 2 POWER-aansluitingen
Het board kan met een normale poweradapter (AC / DC) worden gevoed worden, maar er zit ook een eenvoudig aansluitblokje (2 jumper pins) op, zodat je het snel op een 9V blokje aangesloten kan worden. - USB STK500 programmer
On board zit een STK500 programmer, via USB, gebaseerd op het ontwerp van Smoerijf. Daarnaast zit er ook een schakelaar aan boord, die 4 micro-switches schakelt. Zodoende kun je de USB-kabel gewoon met de PC verbinden, en de MISO/MOSI/SCK-pinnen van de uC programmeren, zonder dat het elkaar beinvloed.
Als extra is er ook nog een 10 polige ISP-connector on board. - 3x externe XTal
Zonder veel poespas kunnen de betreffende kristallen met de uC verbonden worden. Eenvoudig 2 jumpertjes zetten en klaar. De Xtallen zijn 7.372 MHz, 12 MHz en 16 MHz. - Instelbare VRef (voor ADC-metingen)
Wil je ADC-metingen verrichten, dan met een 10-slagen potmeter de VRef ingesteld worden. Er zit een extra aansluitpin op het boardje, zodat met een multimeter de ingestelde spanning gecontrolleerd kan worden. - 16 indicatie LEDs
Er kunnen in totaal 16 LEDs aangesloten worden ter indicatie of iets werkt. De LEDs hoeven niet rechtstreeks aangestuurd te worden, maar worden juist via een transistor geschakeld. Zodoende kan een LED met een zeer lage stroom aangestuurd worden. En 16 LEDs is leuker dan 8 LEDs. - Karakter LCD-aansluiting (14 en 16 pins)
Er is een slot waarin karakter LCD's kan worden ingeprikt. Dit slot is 16 pins breed, zodat er ook LCDs met backlight gebruikt kunnen worden. Er is een potmeter aanwezig om eventueel het contrast in te stellen. De belangrijkste pinnen zijn weer doorverbonden met naar een aansluit-slot. - Poort-sloten
Elke pin waarmee iets aangestuurd kan worden, is doorverbonden met een 8-polig slot. Zo zijn alle poorten van A t/m G aan te sturen. - Extra Powerblok
Om externe experimenteerboardjes aan te sluiten, is een extra Powerblok aanwezig, waar eenvoudig 5V afgetapt kan worden. - 12 bit counter
De 74HC4040 is domweg bedoeld om op hoge snelheids iets te kunnen tellen / meten. - Serial Input naar Parallel Output (SIPO)
Dit is bedoeld om een tekort aan aansturingspinnen op te vangen. Er wordt hier een HEF4094 gebruikt. - Serial Output van Parallel Input (SOPI)
Ook hier weer een voorbeeld om een tekort aan pinnen om signalen in te lezen, op te vangen. Met de HEF4021 worden 8 signalen ingelezen. - 2x USB
Een Atmega128 heeft 2 UARTs. Nu zou dit eenvoudig met een MAX232 en een 9-polige SUB-D connector opgelost kunnen worden. Een moderne PC heeft enkele USB-poorten voorradig tegen vaak een enkele 9Sub-D-poort. Elke USB-poort gebruikt een CP2102. - 3x 10K potmeters
Handig voor wanneer er geexperimenteerd moet worden met de ADC. De wijze van aansturing van de potmeters is instelbaar middels jumpers (en voorzien van indicatieLEDs). Met andere woorden, de potmeters met linksom of juist rechtsom draaien de spanning toe laten nemen. - 16KB EEPROM
Op de print zit een 16 KB EEPROM die via TWI werkt, zodat met TWI geexperimenteerd kan worden, maar ook met opslag van (meet)gegevens of andere nuttige data. - Comparator
Eigenlijk een "gimmick", maar de gebruikte LM311 kan in sommige gevallen erg handig uitpakken bij bepaalde experimenten. Met een potmetertje is de grensspanning voor een omslagpunt in te stellen. - 2x Navigatieswitch
Een navigatieswitch kent 5 standen : Up, Down, Left, Right en Center. Hiermee zijn eigenlijk 5 schakelaartjes geintegreerd in 1 enkele schakelaar. Er zijn in totaal 2 van deze navigatieswitches onboard. De schakelaar kan als pull-up of juist als pull-down ingesteld worden met behulp van 2 jumpertjes. De ingestelde stand wordt zichtbaar gemaakt d.m.v. 2 LEDs. - Analoge temperatuurmeting
Hier wordt een LM45 gebruikt om de externe omgeveingstemperatuur te kunnen meten. - 7 Segment LED
En 7-segment-LED met dp (Dot Point). Mocht er geen karakterLCD aangesloten zijn op het boardje, dan kan deze LED nog uitkomst bieden. - IRDA transciever
Snelle draadloze communicatie behoort nu tot de mogelijkheid. Niet via RF maar via IR. - Power-jumpers
Elk onderdeel is apart in te schakelen met 5V d.m.v. jumpers. Als bevestiging dat een onderdeel is ingeschakeld, is een rood POWER ON LEDje zichtbaar. - Female header-aansluitingen
Voor het doorverbinden van pinnen en signalen is juist gekozen voor female headers. Daardoor kun je razendsnel met eenvoudige breadboard-draadjes de nodige verbindingen leggen. Er zijn ook male-headers op het board te vinden, eventueel voorzien van jumpertjes. Deze male-headers geven juist aan dat hier bepaalde instellingen ingesteld kunnen worden. Op die manier kan niet snel een vergissing gemaakt worden.
Wensenlijst
Goed, het printje is beschreven, en ik wou dit topic juist gebruiken om advies te vragen voor het fine-tunen van dit boardje. Zo heb ik nog een wensenlijstje voor dingen waarmee ik het boardje wil uitbreiden :
- TSOP1736
Een sensor om afstandbedieningen uit te kunnen lezen. - Nood-kristal
Regelmatig lees ik hier op CO dat gebruikers per ongeluk verkeerde fuse-settings hebben ingesteld voor de werkfrequentie. De uC is dan niet meer aanspreekbaar over de ISP. Mij is dit diverse malen overkomen en omdat ik geen High-Voltage programmer had, gingen de uC's rechtstreeks de prullenbak in. Om het board wat meer foolproof te maken, wil ik er een nood-kristal op zetten, zodat de uC -ook bij verkeerde fuse-instellingen- toch nog aanspreekbaar is over ISP. - OpAmp
Op zich heb je met een OpAmp weinig van doen met een uC. Toch zijn er experimenten te verzinnen waar een OpAmp goede diensten kan bewijzen. En omdat ik hier een rits LM386 heb liggen.... - Luidspreker
Om ook een beetje audio mogelijk te maken op een experimenteerboardje zit ik te denken om er ook nog een luidspreker erop te integreren. Nadeel is dat die krengen best vrij groot zijn. Ik heb hier wel piezo-luidsprekertjes, maar die zijn alleen leuk voor piepsignaaltjes. - Power ON LED
Het bovenstaande boardje mist nog een POWER-ON LED. Een dergelijk LEDje is toch wel erg prettig om te hebben.
Hoe ver ben ik al ?
1) Door een beetje schuiven met het ontwerp, is inmiddels ruimte vrijgekomen voor diverse extra's, zoals een TSOP1736 en de OpAmp.
2) POWER-ON LED zit inmiddels in het nieuwe ontwerp verwerkt. Het is een groene geworden.
3) POWER-blok is uitgebreid van 6 naar 8 aansluitingen. Er is ruimte om het nog breder te maken. ik heb voor 8 gekozen, omdat dat wat netter lijkt, t.o.v. de poortsloten.
Vragen
- Noodkristal
Ik heb hier een SMD 4-polige 10MHz oscillator liggen. Is deze snelheid te hoog voor een nood-kristal ? Zo ja, dan wil ik het met een NE555 oplossen, maar wat is dan de ideale frequentie ? (Opm : Mij staat bij dat een NE555 niet sneller dan 1.5 MHz gaat). - OpAmp
Op het board is ook voldoende ruimte voor een LM386. Zal ik alleen deze OpAmmp erop zetten, of ook nog wat randcomponenten ? Het voordeel is dat je er makkelijk iets op kunt aansluiten, maar dat het werkgebied (versterkingsfactor) afgebakend is.
Wie kan hier iets zinnigs roepen ? - Luidspreker
Tsja, ik heb hier een lading kleine piezo-speakertjes liggen. Da's leuk voor het maken van piepjes, maar ik wil straks meer. Ik wil straks ook op het gebied van audio experimenteren, maar kleine luidsprekertjes ben ik nog niet tegengekomen. Misschien dat ik een combi moet kiezen : een geintegreerd piezo-speakertje en een aansluiting voor een externe luidspreker. (kijk, en dan komt die OpAmp ook goed van pas) - PCB-bakkers
Vanwege de lage kosten heb ik tot nu toe altijd mijn printjes bij MakePCB laten maken. Het enige nadeel was de lange wachttijd. De ervaring heeft mij geleerd dat er steevast 6 weken zit tussen het moment van betalen en dat de printjes hier binnen komen. Ik wil straks 50 printjes laten maken in EURO-kaart formaat. Zijn er bedrijven die sneller kunnen leveren, bij een betere prijs en waarbij de printjes ook van goede kwaliteit zijn ?