zenderr
Banned
er wordt veel geschreven over microcotrollers, zo veel dat ik er niet meer helemaal uit kom.
ik wil beginnen met microcontrollers om zelf dingen te kunnen maken, bijvoorbeeld een robot of een infrarood zender/ontvanger.
ik heb de volgende gegevens, van wat ik nodig heb als iemand nog aanvullingen of verbeteringen heeft graag!
proton development suite voor,- simulator en dus om programma's in je microcontroler te zetten... voor welke microcontrollers kan dit??
een programmer.- ik dacht aan wisp648 van voti, of is er iets beters??
bumble bee,- zodat hij de programma herkent op computer?, heeft het andere functies of zijn er betere proggramma's
programmeertaal assembler,- dat schijnt het beste te zijn om mee te beginnen. maar klopt dat, en waarom, het verschil met c++ bijvoorbeeld.
wat ik dan nog niet weet is een experimenteerbord, of iets in die richting, wat houd dit in en heb je dat nodig?
en als laatste wil ik de cursus van picbasic doen. nadat je dit gedaan hebt, zijn er dan nog aanvullende cursussen of betere cursussen.??
ik hoop dat er antwoorden zijn, alvast bedankt
loopycoaster
Mijn youtube profiel: http://www.youtube.com/user/PicBasicMaster
Op 8 december 2009 15:48:05 schreef zenderr:
proton development suite voor,- simulator en dus om programma's in je microcontroler te zetten... voor welke microcontrollers kan dit??(...)
programmeertaal assembler,- dat schijnt het beste te zijn om mee te beginnen. maar klopt dat, en waarom, het verschil met c++ bijvoorbeeld.
beetje tegenstrijdig. proton is een BASIC compiler. de codes die op www.picbasic.nl worden gebruikt zijn ook BASIC.
mij lijkt me assembler heel moeilijk, je moet je er echt in verdiepen. als je de cursussen van Frits (picbasic.nl dus) volgt, en BASIC leert kan je al heeel veel.
voor de rest klopt het volgens mij wel. ik heb zelf allemaal wat jij gezegt hebt. wisp648, bumblebee, picbasic.nl, proton. mij bevalt het allemaal wel hoor! dus zeker geen foute keus.
en volgens mij kan je je beter afvragen welke PIC's je NIET kan proggen met proton 
met proton lite, de gratis versie kan maar 4 pics.
de 16F628 en de 16F877 zijn de 2 meest gebruikte van de vier die die kan programmeren.
met de volledige versie kan je zo goed als alle picjes programmeren, alleen de 32 serie weet ik het niet van.
en ASM is een programmeertaal waarbij je je echt in de pic moet verdiepen.
het voordeel is wel dat er maar 35 commando's zijn, maar vergelijk het met schaken, de commando's zijn makkelijk te leren, alleen er wat mooit mee maken is soms pittig.
je kan er wel hele snelle code mee maken, en ook tijdskritieke dingen.
er is op de site bij artikelen een kleine tutorial van ASM voor picjes.
het is wel een keer handig om er naar te kijken, het bied ook veel inzicht in de PIC zelf.
de wisp648 is een goede programmer, de pickit 2 en 3 ook.
In den elektuur van dec 2001 staat een ontwikkelboard met de 89s8252. Ik heb dit zelf gemaakt en gebruik dit voor al mijn projecten. Je kan er zelfs een grafisch display mee aansturen ter voorbeeld
Je kan dit artikel downloaden via www.elektor.nl (wel betalen)
Je kan eenvoudige tools vinden op internet die je Assembler programma simuleren en een hex-file aanmaken.
Bv. Pinnacle52 --> http://www.vaultbbs.com/pinnacle/download.php
Voor de rest heb je sofware nodig die je .hex kan flashen in de controller. Kan je ook gratis op internet vinden.
Veel plezier
Zoals steeds hangt het af van je wensen en waar je naartoe wilt.
Ik heb met de meeste talen reeds gewerkt (assembler, basic, c, jal) en met diverse compilers. De laatste jaren werk ik praktisch uitsluitend in C, waarbij assembler gebruikt wordt voor het optimaliseren van de hete code. Er is hier onlangs nog een topic over geweest.
Basic is een leuke taal voor microcontrollers, zeker voor eenvoudige zaken, maar naar mijn ervaring minder overzichtelijk eens je complexere dingen wilt programmeren. En basic wordt praktisch enkel nog gebruikt voor microcontrollers, even snel een algoritme van een PC-applicatie 'porten' naar je microcontroller zit er dus meestal niet in, daar deze meestal in C/java zijn geschreven.
C heeft als voordeel dat het een standaard taal is (en niet enkel voor microcontrollers), die ook toelaat om complexe programma's overzichtelijk te programmeren. Het is een van de meest gebruikte talen, er is dus ook enorm veel support voor, veel bibliotheken die het programmeerwerk sterk vereenvoudigen, veel forums waar je informatie vindt over vanalles, ...
Echte efficiente code kun je in feite maar schrijven in assembler. Zowel mensen die in basic, jal, c of een andere exotische taal programmeren, zullen op een gegeven moment moeten terug grijpen naar assembler als de code te traag wordt, of als ze de rekentijd van de PIC efficienter willen gebruiken. Gelukkig geldt hier de 90-10% regel: 90% van de rekentijd wordt opgesoupeerd door 10% code, het is dus voldoende om die 10% van je code te optimaliseren. De meeste deftige compilers van de diverse programmeertalen laten hiertoe het gebruik van inline-assembler toe waarbij je je code in je favoriete taal schrijft, en enkele assembler-routines gebruikt voor de kritische code.
C moet zeker niet onderdoen voor basic op gebied van tutorials, ondersteuning, enz... Door de grote gebruikersgroep zijn er meerdere goede tutorials voor de vinden die je op weg kunnen helpen. Een voorbeeld -> klik .
Daarnaast kun je met de programmeeromgeving MPLAB van microchip je C-code simuleren, realtime-debuggen op de PIC en rechtstreeks programmeren, wat zeker een enorm programmeergemak is.
Nog een voordeel misschien: er zijn meerdere gratis C compilers te vinden, zonder beperking op het aantal lijntjes code (ook voor linux)... De programmeeromgeving MPLAB van microchip is ook volledig gratis, en werkt vlot samen met diverse (gratis, hoewel meestal 'lite') compilers.
Voor programmer zou ik voor een PICkit2 of equivalent kiezen. Deze zijn de laatste jaren zeer populair geworden, zijn snel, flexibel, goedkoop, goede support, realtime-debuggen, rechtstreekse ondersteuning in MPLAB, enz... De wisp648 was vroeger zeker een uitstekende keuze, heb ik zelf een tijdje mee gewerkt, maar sinds de PICkit2 met diverse nog goedkopere afgeleiden op de markt is, vrees ik toch dat de wisp648 de duimen moet leggen op alle vlakken. Het verschil in programmeersnelheid is significant, en de extra mogelijkheden zijn zeer handig.
Op 8 december 2009 15:48:05 schreef zenderr:
er wordt veel geschreven over microcotrollers, zo veel dat ik er niet meer helemaal uit kom.
ik wil beginnen met microcontrollers om zelf dingen te kunnen maken, bijvoorbeeld een robot of een infrarood zender/ontvanger.
In het begin is het inderdaad moeilijk door de bomen het bos te zien met al die verschillende talen, experimenteerborden en programmers etc...
proton development suite voor,- simulator en dus om programma's in je microcontroler te zetten... voor welke microcontrollers kan dit??
Voor een hele scala aan microcontrollers kan dit. Bedenk wel dat de gratis versie gelimiteerd is tot 50 lijnen code. Microchip, de fabrikant van PIC's, die stelt echter gratis de programmeeromgeving MPLAB ter beschikking. Daarvoor kan je eveneens van Microchip gratis de C18 compiler downloaden. Met deze twee tools kan je dan in C code schrijven voor de PIC18-reeks van Microchip.
een programmer.- ik dacht aan wisp648 van voti, of is er iets beters??
Er bestaan er betere. Met de microchip Pickit2 en Pickit3 kan je met behulp van MPLAB je PIC programmeren. Bovendien kan je met deze programmers vanuit MPLAB je code stap voor stap doorlopen wat het vinden van fouten gemakkelijker maakt. De Pickit2 kan je al voor EUR 20 kant en klaar vinden.
programmeertaal assembler,- dat schijnt het beste te zijn om mee te beginnen. maar klopt dat, en waarom, het verschil met c++ bijvoorbeeld.
Assembly is interessant om goed de werking van microcontrollers te leren verstaan. Echter grote complexe programma's in Assembly maken is erg moeilijk. Het is dan veel gemakkelijker om C-code te schrijven. Eventueel kan je zelfs stukken Assembly-code schrijven in je C-code, dit is handig voor bijvoorbeeld lussen die erg veel opgeroepen worden en die je dan beter kan optimaliseren in Assembly. Bovendien zijn er erg veel goede boeken over C te vinden
wat ik dan nog niet weet is een experimenteerbord, of iets in die richting, wat houd dit in en heb je dat nodig?
Op zich heb je geen experimenteerbord nodig. Je kan immers op een breadbordje zelf een schakeling bouwen met een PIC en zo heel veel doen. Een experimenteerbord kan echter handig zijn indien je een kant en klaar bord wil dat reeds grote functionaliteit te bieden heeft zonder dat je je moet verdiepen in al de elektronica details. Het kan dus erg handig zijn om zo'n bord te maken, zeker als je bijvoorbeeld heel snel een robotje wil maken zonder al te veel te solderen.
en als laatste wil ik de cursus van picbasic doen. nadat je dit gedaan hebt, zijn er dan nog aanvullende cursussen of betere cursussen.??
Er bestaan tal van goede boeken en tutorials over C-code. Op http://www.dwengo.org/nl/tutorials/ kan je bijvoorbeeld een heleboel tutorials met de PIC18F4550 in C vinden.
Dit boek heeft mij goed op weg geholpen.
Behandelt de basis van de programmeertaal C en stapt dan in de wereld van microcontrollers. In dit geval ATmega32.
zenderr
Banned
Het is dus handiger om programmeertaal c te nemen, omdat dat niet alleen bij microcntrollers wordt gebruikt. Het levert me wel weer gelijk de vraag op of de cursus van picbasic hiermee te volgen is.
loopycoaster
Mijn youtube profiel: http://www.youtube.com/user/PicBasicMaster
Op 8 december 2009 18:54:48 schreef zenderr:
Het levert me wel weer gelijk de vraag op of de cursus van picbasic hiermee te volgen is.
Nee:P, want dat is in Basic 
zenderr
Banned
weet er iemand dan een cursus is programmeertaal c, om te leren te programmeren.
en wat is het verschil tusse pickit 1, 2 en 3
PICkit1 was de eerste versie van de betaalbare programmer/debugger van microchip. Hoewel, het was eerder een ontwikkelbordje dan een programmer. Deze heeft bij mijn weten niet zoveel succes gehad.
De opvolger en volledig vernieuwde PICkit2 is opgebouwd rond de populaire 18F USB-familie 8-bits pics van microchip. De PICkit2 gebruikt de 28 pins variant, 18F2550. Zoals gezegd vind je ook veel hiervan afgeleide programmers, die meestal ook goedkoper zijn, maar functioneel equivalent. Bv. deze is er zo eentje.
De PICkit3 is de opvolger van de PICkit2. Deze programmer is een beetje omstreden, ik weet niet of er op dit forum reeds discussies over geweest zijn, maar op andere forums in elk geval wel. Hij blijkt namelijk een beetje trager te zijn dan de PICkit2 en een stuk duurder... Anderzijds is deze gebaseerd op een 16-bits PIC uit de 24F reeks, waardoor deze programmer ook 16-bit PICs in realtime kan debuggen, in tegenstelling tot de PICkit2 die beperkt is tot het realtime debuggen van 8-bit PICs, maar wel 16-bit PICs kan programmeren.
Aangezien 16-bit microcontrollers nog niet zo veel gebruikt worden, is een PICkit3 voor de meeste mensen overkill, ook gezien zijn hoger prijskaartje. Je kan dus gerust voor een PICkit2 gebaseerde programmer gaan.
Een cursus over C, er zijn er zoveel, als je eens googled vind je zeker enkele cursussen die je de gramatica en alle truuks van C uitleggen. Maar als je gewoon snel van start wilt met microcontrollers in C, dan raad ik je aan om gewoon eens een paar tutorials te bekijken, zoals deze waar in dit topic al eens naar verwezen werd. Je zal dan automatisch ook snel de syntax van C wat leren kennen.
Op 8 december 2009 19:06:26 schreef zenderr:
weet er iemand dan een cursus is programmeertaal c, om te leren te programmeren.
Op http://cage.ugent.be/~gvernaev/ccursus/ kan je een Nederlandstalige cursus C vinden voor mensen die nog niet kunnen programmeren. De cursus is algemeen opgevat, bevat erg eenvoudige voorbeelden en is gratis te downloaden. Je kan er ook slides van bekijken. Let wel deze cursus behandelt dus geen microcontrollers maar brengt je enkel wat programmeerconcepten bij en de syntax C. Als je nog niets van microcontrollers kent en toch snel aan de slag wil lees je best enkel hoofdstuk 2. Dat brengt je de meeste begrippen al bij.
[Bericht gewijzigd door pikachuf op (11%)]
Daan Timmer
Ik ben programmeur! geen electronicus! http://www.daantimmer.nl/ Er is een ontwerp! nu nog inhoud :-)
mirodex, je informatie m.b.t. de PICKit2 klopt niet.
De PICKit2 kan heel goed een 16-bits PIC debuggen, real time.
Op dit moment zijn er idd een paar probleempjes met de PICKit3, maar die zijn ze aan het verbeteren en er komt dus een nieuwe firmware aan waarmee je in feite alle functionaliteiten terug hebt van de vertrouwde PICKit2.
Wat betereft de PICKit2-clones, die zijn idd 9/10 keer goedkoper, maar hebben ook (veel) minder functionaliteiten zoals LVP en in sommige gevalleen geen UART/logical analyzer support.
Daan, dit is inderdaad een foutje, dit moet 32-bit zijn i.p.v. 16-bit: de PICkit2 kan volgens de informatie die ik vind geen 32-bit PICs debuggen (wel programmeren), terwijl de nieuwe firmware van de PICkit3 hiertoe wel in staat zou moeten zijn. Ik heb het zelf niet getest, want met 32-bit PICs heb ik nog niet gewerkt.
Daarnaast zouden de debug-prestaties van de PICkit3 wat sneller moeten zijn dan deze van de PICkit2.
Een filmpje over pickit2 vs pickit3
http://www.youtube.com/watch?v=LjfIS65mwn8
Zeker ook de video-reactie van microchip bekijken op dit filmpje, grappig 
Over de PICkit2 clones: LVP staat voor low-voltage programming, dit wordt denk ik door praktisch alle clones ondersteund: het betekent dat je de PIC in programmeermodus brengt via een logisch hoog niveau op de PGM-pin i.p.v. een overspanning aan te leggen aan de reset-pin. Je verliest hierdoor een IO-pin, maar je hebt anderzijds geen overspanning nodig. De software van de PICkit2 (vanaf versie 2.60 dacht ik) ondersteunt deze feature.
Je bedoelt waarschijnlijk PICs die op een lagere spanning dan 5V gevoed dienen te worden, bv. PICs die op maximaal 3V3 werken. Dit klopt inderdaad, veel clones ondersteunen deze feature niet, daar dit het circuit significant eenvoudiger maakt, en voor de meeste mensen die met 5V PICs werken niet echt een probleem vormt.
Over de UART/logical analyzer support zal ik mij niet uitspreken, de clone waar ik over beschik, ondersteunt dit in elk geval wel. Het zou mij wel verwonderen als sommige PICkit2 equivalenten dit niet ondersteunen, want dit is louter een software-aangelegenheid.
zenderr
Banned
ik heb nu heel veel opties gehoord en denk toch maar dat ik hierbij blijf. kan iemand nog opmerkingen erover maken?
cursus: picbasic.nl + onderdelen van voti.
programmeerder: pickit2, omdat meer mogelijkheden heeft dan wisp648 en toch sneller en beter dan pickit3.
ik weet alleen nou nog steeds niet of ik zo'n board/ontwikkelbord nodig heb, waarvoor dit zou moeten dienen. en of de pickit2 ook een in sercuit programmeerder is.
is er een mogelijkheid om ook avr hiermee te programmere of alleen pic, zo alleen pic. kan ik hem dan later uitbreiden zodat het wel kan.
ook pickit2 gekomen omdat hij usb is ipv serieel.
bumblebee.
programmeertaal: basic de taal die besproken wordt op picbasic.nl
en nu komt het waar ik nog steeds niet over uit ben....
de compiler etc. ik had proton en c- compiler in gedachten.
1. kan proton in c geschreven worden. kan c-compiler in basic geschreven worden.
2. proton lite werkt niet vanwege virus. wie zou dan een lite versie van c-compiler weten die je later voor niet meer dan 150 euro kan kopen.
3. wat is nou precies mblab ide, is dat een testprogramma om te kijken of het werkt??
uitbreiding voor als ik verder wil gaan:
1. betere/ algemenere programmeertaal zoals c en c++
2. volle versie compiler.
3. betere versie bumblebee
4. andere microcips zoals avr
bedankt, zenderr
Als je toch wil uitbreiden naar C in de toekomst waarom zou je er dan niet van de eerste keer in werken? Die kennis kan je nog gebruiken voor andere computerprogramma's ook. Bovendien is de compiler van Microchip volledig GRATIS (zonder optimalisatie van de code, maar die heb je pas nodig als je heel erg ver wil gaan met PICs, daarnaast kan je immers ook zelf stukken code optimaliseren in Assembly dusjah)!
Wat betreft mplab, dat is een programmeeromgeving die gratis ter beschikking gesteld wordt door Microchip. Je kan het dus zien als een soort teksteditor om programma's te schrijven. Daarnaast kan je vanuit mplab ook verbinding maken met je PIC via een pickit2 programmer. Je kan dan je PIC programmeren vanuit mplab en daarna ook zelfs stap voor stap debuggen. Kijk anders eens naar http://www.dwengo.org/nl/tutorials/blinking-leds daar staan de basisstappen uitgelegd over hoe mplab te gebruiken en de C18 compiler om een programma in C te schrijven voor de PIC.
Wat betreft het materiaal, het goedkoopste is te beginnen met wat losse onderdelen afhankelijk van waar je ze koopt welliswaar. Maar als je weinig tijd wil spenderen aan de elektronica kan je een goedkoop experimenteerbord kopen van tussen de 50 en 100 euro waar reeds alles erop en eraan zit zoals lcd-scherm, knopjes, leds, usb-poort, seriele poort, chip om motoren aan te sturen etc...
De pickit2 is typisch gemaakt voor de PIC en niet voor avr. Maar waarom zou je van de PIC naar avr gaan of omgekeerd? Beiden bestaan in heel krachtige vormen en heel simpele uitvoeringen. De enige reden om van het één naar het andere te gaan is om ervaring met beide te doen. 't is niet dat je met avr plots veel meer ga kunnen doen ofzo?
veel succes met je stappen in de microcontroller wereld!
hadv
Just find out what you like and let it kill you
Op 9 december 2009 21:31:27 schreef zenderr:
ik heb nu heel veel opties gehoord en denk toch maar dat ik hierbij blijf. kan iemand nog opmerkingen erover maken?cursus: picbasic.nl + onderdelen van voti.
programmeerder: pickit2, omdat meer mogelijkheden heeft dan wisp648 en toch sneller en beter dan pickit3.
ik weet alleen nou nog steeds niet of ik zo'n board/ontwikkelbord nodig heb, waarvoor dit zou moeten dienen. en of de pickit2 ook een in sercuit programmeerder is.
is er een mogelijkheid om ook avr hiermee te programmere of alleen pic, zo alleen pic. kan ik hem dan later uitbreiden zodat het wel kan.
ook pickit2 gekomen omdat hij usb is ipv serieel.bumblebee.
programmeertaal: basic de taal die besproken wordt op picbasic.nl
en nu komt het waar ik nog steeds niet over uit ben....
de compiler etc. ik had proton en c- compiler in gedachten.
1. kan proton in c geschreven worden. kan c-compiler in basic geschreven worden.
2. proton lite werkt niet vanwege virus. wie zou dan een lite versie van c-compiler weten die je later voor niet meer dan 150 euro kan kopen.
3. wat is nou precies mblab ide, is dat een testprogramma om te kijken of het werkt??uitbreiding voor als ik verder wil gaan:
1. betere/ algemenere programmeertaal zoals c en c++
2. volle versie compiler.
3. betere versie bumblebee
4. andere microcips zoals avrbedankt, zenderr
pickit 2 is zondermeer een in-circuit-programmer en kan alleen microchip PIC controllers programmeren. Niet uitbreidbaar voor avr omdat dat een heel andere processor is.
1 - c en basic zijn twee behoorlijk verschillende talen, proton en C gaan niet samen (hadden anderen ook al gemeld) en een C-compiler snapt geen basic.
2 - De C18 compiler van Microchip is gratis
3 - mplab is de gratis ontwikkelomgeving van Microchip. Standaard kun je daarin met assembler programmeren en de C18 compiler kun je daar ook in integereren. Verder bevat mplap heel wat functionaliteit om je programma te debuggen.
uitbreiding:
1 C++ komt vrijwel niet voor in de microcontroller wereld
2 C18 is gratis voor een goed werkende versie, echter niet geoptimaliseerd (die moet je kopen)
3 geen idee. met proton, mplab en de pickit2 heb je geen bumblebee nodig
4 avr is een heel andere processor die zijn eigen hulpmiddelen heeft
Ik heb ook de Pickit 2, en ben er zeer tevreden over. Mijn vorige programmers hadden nogal eens geen zin. Met de pickit 2 nog geen problemen gehad.
Ik gebruik nu al een paar maanden de Sourceboost BoostC compiler (gratis tot 2k code, en niet duur als je meer nodig hebt). Ze hebben ook een basic variant van de compiler die ook gratis is tot 2k. En dat is een heel stuk meer dan 50 regels in proton basic.
Om nog maar eens een knuppel in het PIC-hok te gooien. Wat is er tegen op een AVR, en de (ook gratis) Bascom ?
Qua programmer stelt dat niets voor (Smoerijfs programmer?), en de code beperking bij Bascom is een stuk minder dan de 50 regels Picbasic.
Groeten, Bram
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Waarom zou je in ***snaam basic gaan gebruiken als je een perfecte GCC port hebt voor de architectuur? Als je naar AVR gaat, is C perfect ondersteund zonder restricties. Het feit dat ik van het gezeik met compilers af was (ofwel betalen, ofwel beperkt in regels code) heeft mij overgehaald om naar AVR over te stappen.
Het concept van PIN registers, dus dat een zwaar belastte output door read-modify-write niet ongewenst omvalt, is ook een voordeel van AVR.
Zoals reeds eerder vermeld: er zijn diverse gratis C compilers beschikbaar voor PIC, zonder beperkingen op het aantal regels code.
Verder is het een kwestie van persoonlijke voorkeur en je applicatie die je voor ogen hebt om voor een bepaald type microcontroller te kiezen. Je kunt niet zomaar zeggen dat PIC beter is dan AVR of omgekeerd. Het zijn 2 verschillende architecturen, en beiden hebben hun voordelen en hun nadelen. Er is voor beiden veel support, al zie je op diverse fora wel meer code en vragen voorbij komen voor PICs dan voor AVR's, en vind je meer ontwikkelborden voor PICs dan voor AVRs, wat mij toch doet vermoeden dat PICs populairder zijn. AVR's zijn vooral populair onder de Arduino gebruikers.
Google maar eens op PIC vs AVR, genoeg leesvoer verzekert, en op het einde weet je nog niet wat je moet kiezen.
hadv
Just find out what you like and let it kill you
Op 10 december 2009 13:22:00 schreef bprosman:
Om nog maar eens een knuppel in het PIC-hok te gooien. Wat is er tegen op een AVR, en de (ook gratis) Bascom ?Qua programmer stelt dat niets voor (Smoerijfs programmer?), en de code beperking bij Bascom is een stuk minder dan de 50 regels Picbasic.
Groeten, Bram
Waar kan ik een gratis versie van Bascom vinden?
Het is weer kloontjestijd!
zenderr = issie_goed = pandafreek
De laatste had een weekban, die is nu behoorlijk verlengd.