Ik zou graag iets meer te weten komen over het programmeren van microcontrollers. Maar ik heb totaal geen idee waar ik moet beginnen, er is tegenwoordig zoveel op de markt. Op de site van www.elektuur.nl bijvoorbeeld kun je een starters pakket kopen met flashprogrammer en een basiscursus µc, ze hebben ook een pakket met een AVR-µc van atmet die je in c kan programmeren. Maar wat kan ik mij best het eerst aanschaffen? Ik heb een A2 diploma elektronica, dus wel een beetje kennis van elektronica. Ik werk als onderhoudselektronicus, dus ik kan overweg met verschillende soorten van sturingen en PLC's. Ik heb ook avondonderwijs gedaan voor C, C++, Java, ... dus ik kan ook overweg met een PC.
Welke stappen kan ik nu best ondenemen?

Nogal afhankelijk van wat je er allemaal mee wilt gaan doen.
De meestgebruikte en gemakkelijk toepasbare zijn de AVR's en PIC.
Een beetje de voor en nadelen van elke soort bekijken ten opzichte van wat je er mee wil.
Google is je beste vriend.

Als je vanaf niets begint, zou ik je adviseren met de kit van ATmel te beginnen. Het klinkt ook alsof je een (redelijk) budget hebt, dus je zou kunnen overwegen het meteen 'goed' te doen en de STK500 starter kit te kopen. Deze kost tussen de 99 en 119 euro, kan alle AVR micro controllers aan, heeft leds en buttons om gelijk mee te kunnen beginnen, een ATmega8515 is er bijgeleverd, goede documentatie.

Van de Atmel website kun je AVRstudio 4 gratis downloaden, een volwaardig ontwikkel platform met een zeer krachtige simulator. Standaard kan je dan alleen met assembly werken. Op de website van atmel kun je beginners tutorials vinden die je echt vanaf het begin door je eerste programmat'je heen loodsen.

Verder zijn er gratis C-compiler plugins voor AVR studio te verkrijgen zodat je ook met C aan de slag kan. Op zich is het aan te raden eerst een klein beetje in de assembly te verdiepen, omdat je dan rechtstreeks de microcontroller bestuurt. Dus het zal dan beter te begrijpen zijn hoe alles werkt. Later kun je dan overstappen naar C voor het gemak zodra je je wat basiskennis hebt aangemeten.

Op deze website is ook een goede AVR tutorial te vinden in het geval de engelse documentatie niet toereikend is. En natuurlijk is er Circuits Online met een club mensen die je graag helpen wegwijs te worden in de wereld van microcontrollers :)

Al met al kan hetzelfde ook voor PIC worden gezegd. Ook hier zijn betaalbare starter kits voor te krijgen welke door de fabrikant worden ondersteund en ge-update. Tevens is er ook op CO een PIC tutorial te vinden.

Persoonlijk denk ik dat AVR de betere keuze is. Misschien is het een idee om voordat je ook maar iets aanschaft even AVRstudio te downloaden en te installeren en kijken of je met de tutorial een éénvoudig programma'tje kunt maken, en dan met de simulator kijken of het werkt. Dan kun je vast een beetje een gevoel krijgen voor de ontwikkelomgeving zonder ook maar enige uitgaven gedaan te hebben :)

Ik ben destijds voor PIC gegaan. Vooral vanwege het programma PICBasic.
Maar omdat je ook al aangeeft de nodige ervaring te hebben met andere programmeertalen, hoef je het voor PICBasic niet te doen.

MagicBox spreekt hier over de STK500 starter kit van Atmel, die er wel goed uit ziet, maar waar kan ik deze aanschaffen?
Ik had de volgende AVR-starterkit gevonden:
http://www.elektuur.nl/Default.aspx?tabid=30&CategoryID=8&List…
Deze is wel iets duurder, maar of deze dan ook beter is weet ik niet.
En voor de PIC had ik de volgende link:
http://www.elektuur.nl/Default.aspx?tabid=30&CategoryID=7&List…
Beiden komen van de elektuur website.
Het is bij mij vooral de bedoeling iets bij te leren op gebied van elektronica, en terwijl mijn programmeren in c nog eens te kunnen oefenen. Wat ik verder met deze µc's wil bereiken weet ik nog niet, dat zal de tijd moeten uitwijzen. Ik weet momenteel nog te weinig wat je er allemaal mee kunt doen. Maar ik experimenteer wel is graag.

De STK500 kit kun je bij Conrad(.nl) bestellen. Of bij een buitenlandse webshop, misschien wat goedkoper maar dan zit je ook weer met verzendkosten.

Wat kun je er mee?

Tja ik weet niet of je ooit 'vroeger' wat op de commodore 64 en of MSX computer hebt gedaan, maar je kunt zeggen dat de huidige capaciteit van de voorgestelde microcontrollers ongeveer een factor 2 - 5 meer is dan wat de voorgenoemde computers konden kwa rekenkracht (wel sterk afhankelijk van de klokfrequentie natuurlijk).

Ze zijn ideaal om LCD's mee aan te sturen, sensorwaarden in te lezen door middel van analoog/digitaal converters welke de meeste microcontrollers aan boord hebben. Verder behelst het koppelen van vele rand-ICs niet meer dan twee, trie of vier draadjes verbinden door gebruik te maken van I2C, serieel, of welk ander serieel protocol dan ook.

Veel ICs welke bepaalde functies verrichten, zoals digitale volume regelaars, digitale temperatuur sensors e.d. kun je met de serieele aansluiting direct koppelen en aansturen dan wel uitlezen.

Edit: even linkje bekeken, vreselijk duur. Op de STK500 zitten header connectors. Hier kun je headertjes inprikken, aan de juiste pennetjes een flatcable solderen naar een LCD unit van b.v. 2x16 tekens en zo dus tientallen euros in je zak houden. Toegegeven, het totaalpakket is uitgebreid.

Je keuze hangt hier af van of je "plug-en-play" zonder moeite gelijk een LCD wil aansturen, of dat je zelf wat wil hobby'en en een verloopkabeltje solderen voor een LCD unit. De STK is voornamelijk bedoeld om via de printheaders eigen schakelingen te koppelen om makkelijk te kunnen ontwikkelen en testen. Iets meer hobbywerk, maar (naar mijn idee) leerzamer, leuker, en bovendien veel goedkoper.

Als al zo ver bent dat je de LEDs op de STK500 zelf kan aansturen en de knoppen uitlezen ben je al een heel eind, ver genoeg om zelf eigen schakelingetjes rond een microcontroller te ontwerpen. Die kant-en-klare LCD unit lijkt me overbodig, het C-pakket ook, aangezien je gratis goede C-compilers kunt krijgen die ook nog eens met AVRstudio kunnen werken. Bovendien wordt dit helemaal door Atmel ondersteunt.

[Bericht gewijzigd door MagicBox op ]

Op 20 juli 2006 19:35:30 schreef beckhoff:
MagicBox spreekt hier over de STK500 starter kit van Atmel, die er wel goed uit ziet, maar waar kan ik deze aanschaffen?
Ik had de volgende AVR-starterkit gevonden:
http://www.elektuur.nl/Default.aspx?tabid=30&CategoryID=8&List…
Deze is wel iets duurder, maar of deze dan ook beter is weet ik niet.

Dat zijn de e-blocks voor AVR, en voor PIC hebben ze ook een versie. (bijna identiek)
Wat die setjes ook een beetje prijzig maakt, is de cd van 'flowcode' die erbij zit. Weer een ander programmeer taal. Daar kun je ook eerst een demo van proberen, te vinden op http://www.matrixmultimedia.com/ , de makers van e-blocks.
(ik vond het maar niks...)
Die printjes zijn overigens wel leuk om te zien, maar prijzig.

En voor de PIC had ik de volgende link:
http://www.elektuur.nl/Default.aspx?tabid=30&CategoryID=7&List…

Kuch kuch..., das geen PIC.
Was volgens mij een exotische geval van Atmel.
Ik heb hier nog een kale printje ervan liggen, mijn elektroboer kon mij niet aan de onderdelen helpen... :(
Ben toen maar met PIC's begonnen. :)
Eerst met assembler, nu met picbasic.

Beiden komen van de elektuur website.
Het is bij mij vooral de bedoeling iets bij te leren op gebied van elektronica, en terwijl mijn programmeren in c nog eens te kunnen oefenen. Wat ik verder met deze µc's wil bereiken weet ik nog niet, dat zal de tijd moeten uitwijzen. Ik weet momenteel nog te weinig wat je er allemaal mee kunt doen. Maar ik experimenteer wel is graag.

Wees niet te haastig om wat bij elektuur te kopen.
Weinig mensen die ermee werken/spelen/experimenteren, dus als je straks met vragen komt te zitten...
Kun je inderdaad beter voor een PIC of AVR gaan.
C voor de PC en C voor een micro is nou niet hellemaal hetzelfde... vergis je niet.

Maar als de e-bloks je wel wat lijken, kijk dan ook even naar de dwarf-boards bij www.voti.nl
En wat je zoal met een PIC kan? Veel. Kijk ook even op www.picbasic.nl
Misschien ook wel interresant voor jouw.

Om je nog meer keuze te geven:
http://www.mikroelektronika.co.yu/english

Heb er geen ervaring mee, maar zommige anderen hier wel.
(even wachten tot ze langs komen ;))

Kijk eens op www.antratek.nl.
Deze hebben veel in hun programma (PIC, AVR, MSP430,LPC2100)

Bezoek dan zeker ook de site van Elektronic Laden http://elmicro.com/

Redelijke prijzen (vind ikzelf).

Dat geld voor die e-block dingen kan je veel nuttiger bestenden.

[Bericht gewijzigd door Belleblaas op ]

Op 20 juli 2006 20:09:54 schreef chipje:
Om je nog meer keuze te geven:
http://www.mikroelektronika.co.yu/english

Heb er geen ervaring mee, maar zommige anderen hier wel.
(even wachten tot ze langs komen ;))

ik ben bezig de mikrobasic aan het herevalueren ( der is een serieuze update gebeurd van hun spul. de compiler is sterk verbeterd. gegenereerde code is een stuk compacter.

Op 20 juli 2006 20:09:54 schreef chipje:
Om je nog meer keuze te geven:
http://www.mikroelektronika.co.yu/english

Heb er geen ervaring mee, maar zommige anderen hier wel.
(even wachten tot ze langs komen ;))

Duurt waarschijnlijk wel even. Zoveel gebruikers zijn er niet. ;-)
Maar TS geeft aan de nodige ervaring te hebben met meer complexe talen. Dan is MikroBasic, PICBasic of Bascom(?) wel een beetje te simpel, lijkt me.

Sjit, dit is wat Ik nou zocht..
Understanding Electronics Components
on-line, REE!
This book is meant for those people who want to create electronic devices with their own hands. All components are illustrated and the circuit-symbol is explained in detail. Both simple and complex examples are provided for the beginners.
http://www.mikroelektronika.co.yu/english/product/books/keu/00.htm

[Bericht gewijzigd door Martijn v op ]

Op 20 juli 2006 19:59:42 schreef chipje:

En voor de PIC had ik de volgende link:
http://www.elektuur.nl/Default.aspx?tabid=30&CategoryID=7&List…

Kuch kuch..., das geen PIC.
Was volgens mij een exotische geval van Atmel.
Ik heb hier nog een kale printje ervan liggen, mijn elektroboer kon mij niet aan de onderdelen helpen... :(
Ben toen maar met PIC's begonnen. :)
Eerst met assembler, nu met picbasic.

Dat "exotisch" chipje (89S8252) is een atmel variant van de 80C51. Niets exotisch hieraan, integendeel, meer standaard dan de AVR's en de PIC's. Als je het wilt gebruiken in industriele toepassingen zou deze mischien toch beter zijn om te gebruiken. Anders, tjah, als je een verouderde core wilt, ga je gang.

Op 20 juli 2006 20:09:54 schreef chipje:
Om je nog meer keuze te geven:
http://www.mikroelektronika.co.yu/english

Heb er geen ervaring mee, maar zommige anderen hier wel.
(even wachten tot ze langs komen ;))

Op 20 juli 2006 21:50:00 schreef free_electron:
[...]ik ben bezig de mikrobasic aan het herevalueren ( der is een serieuze update gebeurd van hun spul. de compiler is sterk verbeterd. gegenereerde code is een stuk compacter.

Sorry I'm late :) @F_E: I couldn't agree more
Mikroelektronica is deftig mooi materiaal, ze hebben heel goeie gratis boeken op hun site staan laat ik me vertellen, prachtige development boards, en erg goeie copilers imho. Zowel voor AVR als PIC kan je je heel mooi uitrusten, je krijgt korting bij een development board + compiler, er zit leven in de brouwerij (regelmatig een nieuwe versie die telkens weer goeie verbeteringen brengt, en je licentie blijft gelden voor de update's, hun forum leeft en zit vol interessante informatie, en de ontwikkelaars zelf zijn niet te beroerd om uitleg te geven op het forum).

En sorry dat ik het moet zeggen, maar ik merk hier op het forum weinig van de "PICbasis is beter, wordt meer gebruikt,....", het enige wat ik merk is dat mensen die met Proton PICbasic ergens op vastlopen door mij vakkundig in de richting van MikroBasic worden gedreven (ik ken de PICbasic niet, dus help alleen met de PIC dingen zelf, waardoor ze vanzelf vragen naar mijn compiler...).

@Fantomaz: wat is er verkeerd met simpele talen. Iemand die met een F16 kan vliegen, zal daarom niet rouwig zijn dat zijn auto minder knopjes heeft en gemakkelijker/goedkoper is in werking en onderhoud.
Hoe verder je van de machinetaal weg gaat, hoe moeilijker het wordt om compacte, snelle en efficiënte programma's te schrijven, in Basic kan je dicht bij de hardware blijven, terwijl je toch verlost bent van enige ergernissen van ASM (If..than is gemakkelijker dan weeral eens twijfelen tussen BTFSS en BTFSZ).

[Bericht gewijzigd door Videomodulator op ]

ik heb die ene aantal maanden terug eens binnenste buiten gedraaid ( versie 3.xx ) en toen was het resultaat bar slecht vergeleken met de proton compiler.

de nieuwe 4.0 ziet er veel beter uit ( ik bedoel : de gegenereerde assembler )

het grote voordele van de ME compiler is dattie echte subroutines en functies kent ( gene gepruil meer met goto en gosub ) de echte basic syntax volgt ( wat doet dei 'var' daar in proteon ? das verdikke iets wat uit pascal gejat is , en in geen enkel ander basic dialect gebruikt wordt. proton wil kramapchtig vasthouden aan de basicstramp syntax )

static variabelen en nog meer moderne concepten zijn ook volledig ondersteund. ik heb indertijd een discussie gehad met die kerel die proton compiler maakt. die gaf uiteindelijk toe dat , als hij subroutines en procdures moest doorvoeren dattie dan gans de compiler zou moetne herschrijven. zijn belemmering is de architectuur van de compiler.

die borden van ME zijn proper afgewerkt. als de test met hun basic compiler goed bevalt overweeg ik een licentie te nemen er op en het iontwikkelbord van hen te kopen.

Op 20 juli 2006 18:47:22 schreef beckhoff:
Welke stappen kan ik nu best ondernemen?

Iedereen heeft zijn voorkeuren voor wat betreft de programmeertaal.
Ik ben een aantal jaren aan het prutsen geweest met 8051 assembler en een Atmel AT89C4051. Wat ik daarvan heb geleerd is: "NOOIT meer iets met een aparte programmer!".
Ga voor een uc die je in de schakeling kunt programmeren.

Ik heb ook avondonderwijs gedaan voor C, C++, Java, ... dus ik kan ook overweg met een PC.

De AVR uc's kun je programmeren in C. Als je ervaring hebt met C dan is dat dus een poging waard, en de schakeling kan zo simpel zijn dat je het op een breadboard kunt opzetten. Aanschaf van een ontwikkelsysteem is dan niet eens noodzakelijk.

Wat je voor avr aan software nodig hebt kun je gratis downloaden. Voordat je jezelf door aanschafkosten van een ontwikkelsysteem bindt aan een andere uc zou ik in ieder geval eens kijken naar de avr. zoek op CO maar eens naar avrstudio.

Ik weet niet of deze voordelen ook voor de pic gelden (ISP, gratis ontwikkelomgeving) maar dat kunnen anderen je vast vertellen.

Dus in het kort, probeer er een paar uit zonder (veel) geld uit te geven.

Ik had nog van iemand volgende link doorgekregen:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&no…
Dit is een PICDEM 2 Plus board. Dit lijkt me wel iets als ik voor PIC µc zou kiezen.
Als ik voor een AVR µc zou gaan denk ik wel dat de STK500 starter kit zal nemen.
Het boek AVR µc van Volpe/Volpe ziet er ook niet slecht uit.
Enig reacties op de picdem, stk500 of het boek?
Nu nog de keuze maken og ik voor pic of AVR wil gaan. Waarin zitten hier de grote verschillen? In de mogelijkheden die je er mee hebt of de manier van programmeren, ... ?

waar ik naar zou kijken is een universeele programmer
dan ben je in een keer van dat gezever af met welke microntroler merk je aan de slag gaat

ik had zoiets gezien als galep 4 ofzo dat leek me intresant
er hangt aleen wel een prijs kaartje aan van 300$ ofzo

http://www.antratek.nl/Programmers.html

en hij kan dit programeren
http://www.conitec.net/hardware/xpages/glp32DevList4.htm

ik denk niet dat je iemand die al heel wat van electronica
weet aan 1 specefieke controller wil

met deze heb ik geen ervaring aleen met dat velleman geval
maar als ik meer weet van pic's cq nieuwe programmer zoek zou zoiets mij toch wel aanstaan

mocht je voor standaardbouwblokken gaan, de dwarfbords van voti zijn mischien iets?

sowiso veel microcontrollerspul en uitleg op voti (www.voti.nl)

@Sould3mon: mikroelektronica heeft ook een universele development kit voor AVR,PIC,SoC,8051,...
Ik persoonlijk zie er het nut niet van in, je doet extra kosten en verliest een deel van de functionaliteit. Kies gewoon PIC of AVR, ze zijn erg gelijklopend (ik ben fan van PIC omdat ik daarmee gestart ben, meer redenen zijn er niet). Als je je 100% bezighoud met een soort, wordt je er alleen maar beter in, als je constant overschakelt geraak je in de war en gooi je gemakkelijk alles door elkaar, imho.

Op 21 juli 2006 14:32:17 schreef beckhoff:
.....
Nu nog de keuze maken og ik voor pic of AVR wil gaan. Waarin zitten hier de grote verschillen? In de mogelijkheden die je er mee hebt of de manier van programmeren, ... ?

Om het even.
Mogelijkheden zijn gelijk.
Ik ben begonnen met PIC omdat ik iets van internet wilde nabouwen, en dat was een schema met een PIC, en een kant en klare programma erbij.
Pas daarna ben ik mij gaan verdiepen hoe zon ding nou echt werkt, en wat ik er nog meer mee zou kunnen.
Ik heb nu geen zin over te stappen naar een andere controller en alles weer opnieuw uit te zoeken.
Maar het had net zo goed een AVR kunnen zijn.

Als je een ontwikkelbord zoekt, kijk dan ook eens bij

http://www.futurlec.com/Boards.shtml

PIC / AVR / 8051 / ARM , ze hebben het allemaal.

Op 21 juli 2006 00:44:03 schreef Videomodulator:
@Fantomaz: wat is er verkeerd met simpele talen. Iemand die met een F16 kan vliegen, zal daarom niet rouwig zijn dat zijn auto minder knopjes heeft en gemakkelijker/goedkoper is in werking en onderhoud.
Hoe verder je van de machinetaal weg gaat, hoe moeilijker het wordt om compacte, snelle en efficiënte programma's te schrijven, in Basic kan je dicht bij de hardware blijven, terwijl je toch verlost bent van enige ergernissen van ASM (If..than is gemakkelijker dan weeral eens twijfelen tussen BTFSS en BTFSZ).

Ben ik het met je eens VM,
Maar als je de F16 ervaring hebt, wil je dan nog wel in een Simpel autootje rijden?
Vooropgesteld dat ik alleen PICbasic ken en ik het jammer vind dat ik de andere programmeertalen niet ken.
(ik heb de tijd niet om me in ander talen vast te bijten.)

Op 20 juli 2006 20:09:54 schreef chipje:
Om je nog meer keuze te geven:
http://www.mikroelektronika.co.yu/english

Heb er geen ervaring mee, maar zommige anderen hier wel.
(even wachten tot ze langs komen ;))

Ik blijf ook bij mikroelektronika.
Heb nu Easypic 3 en Pascal licentie (die op elke PC werkt :-))

Binnenkort de BigPic 3 aanschaffen met de Basic licentie.
Prijs voor al dat moois ong. 190 Eurie.
yep, niet goedkoop maar je hebt dan ook al de tools omhanden, programmer, docs en zelfs een SD en CF interface on-board.

:7