Hallo allemaal.
ik ben helemaal nieuw met PIC's, en ik wilde er toch graag aan beginnen deze vakantie.
Op internet wordt op erg veel sites de PIC16F84 gebruikt.. is hier een speciale reden voor? is deze 'speciaal' voor beginners?
Voor het project dat ik voor ogen heb heb ik 3 analoge inputs en 3 (digitale) outputs nodig.
Op microchip.com heb ik eens gekeken welke chips in aanmerking komen en dat is bijvoorbeeld de PIC12F675.
Dit IC heeft 6 I/O's, maar als je I/O 3 kan blijkelijk alleen als (digitale?) input worden gebruikt, daardoor kan ik het niet als output gebruiken en kom ik dus een output te kort.. toch?
zou de PIC16F870/1/2/3 een uitkomst bieden? of is er ook een 'populaire' PIC met adc's aan boord?
wellicht is het iets te ambitieus om direct met adc kanalen te beginnen of moet dit wel lukken?
heel erg bedankt alvast.
Ibanez
Een atx voeding is geen labvoeding, en je kunt er geen auto mee starten ook
roelvh
Master Industriële Wetenschappen: Elektronica-ICT
De gemakkelijkste pic om mee te beginnen is de 16F628 (vind ik), mede omdat hij (pin) compatibel is met de 16F84, ook omdat hier 2 AD comperators inzitten.
Ik wil plotter maken vanuit een oude printer (net als zo'n leugendetector of seismograaf of cardiograaf)
voor het te meten signaal wil ik een analoge input gebruiken, en voor de horizontale en verticale snelheid ook.
Ook bedenk ik me net, dat ik nog een (digitale) input nodig heb om de lihtgevoelige diode te controleren.
Ik wil de plaats namelijk bepalen met een lichtgevoelige diode die streepjes telt, en deze in de PIC bijhoudt.
Vervolgens wordt deze gecontroleerd met de signaal spanning, en vanuit hier wordt beoordeeld of de schrijfkop naar links of rechts moet. Het naar links of rechts bewegen al gebeuren door een H-brug aan te sturen. De derde output heb ik nodig om het papiertransport aan te sturen.
Voor het aansturen van beide motoren wilde ik een PWM aansturing gebruiken, en ik meen dat dit eenvoudig te verkrijgen is met een PIC.. kan dat door gewoon een loop van een milliseconde ofzo te maken, en hierin de output aan/uit te schakelen?
Ik heb MPLAB al gedownload, maar heb het nog niet echt verkend. Het leek me het makkelijkste om eerst te kijken welke IC ik zou gebruiken. Een aansluiting naar de computer kan ik van mijn broer gebruiken, die voor de 16F84 is, ik weet niet hoezeer deze compatible zijn, maar anders moet daar een beetje aan gesleuteld worden
Turbokeu
Golden Member
I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"
Op 25 juli 2006 17:39:37 schreef elektro_freak:
De gemakkelijkste pic om mee te beginnen is de 16F628 (vind ik), mede omdat hij (pin) compatibel is met de 16F84
En goedkoper...
ook omdat hier 2 AD comperators inzitten.
Géén twee AD converters maar inderdaad twee comparators, de TS wou (dacht ik) drie echte AD converters.
Dan is een 16F870/873/876 aangewezen (5 AD channels).
CD 
Let er wel op dat er meestal stappenmotoren in printers worden gebruikt. Deze stuur je anders aan dan gewone DC motoren. Wat betreft de PIC16F84(A): Deze PIC heeft niet te veel poespas aan boord en dus is de datasheet makkelijker te begrijpen. De PIC16F628 is in hobbyland een beetje de "opvolger" geworden van de 16F84 serie vanwege het grotere geheugen en de extra functies.
En voor het geval je het nog niet wist: er is ook een tegenhanger van de PIC: de AVR. Je kan niet echt zeggen dat er een beter is, het is een questie van voorkeur van de interne structuur.
oke bedankt alvast! het 'probleem' is dat het wel een flinke grote is (28pins) wat denken jullie van de 16F818/9 ? deze voldoet ook aan mijn eisen, maar heeft maar 18 pins.
Ik heb trouwens opgemerkt dat alle kandidaten 4(!) banks hebben, heeft dit consequenties voor het programmeren in vergelijking met eentje met 2 banks of hoef ik hier niet op te letten?
BJD, ik ben me bewust van de motoren die worden gebruikt en heb ervoor gezorgd dat het beide gewone dc motortjes zijn.
het is tegenwoordig trouwens steeds gebruikelijker dat de stappenmotortjes worden vervangen door een dc motortje met zo'n lichtdetectortje eraan gekoppelt.. onze HP3745 (niet degene die ik voor mijn project wil gebruiken) heeft voor zowel de cartridge te verplaatsen als voor het papiertransport gewoon dc motortjes.
De PIC16F628 heeft geen ADc's aan boord en biedt voor mij dus helaas geen uitkomst.
De PIC16F628 heeft geen ADc's aan boord en biedt voor mij dus helaas geen uitkomst.
Hoi Dirk, een goede andere mogeljkheid is dan misschien de 16F88 ook van Microchip, 10 bits AD converter met maximaal 8 ingangen, UART voor RS-232 en een paar digital IO.
Grtz
Cor
Videomodulator
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
Keuze van een PIC gebeurt volgens 3 criteria: gewenste optie's (AD convertor, EEPROM geheugen, interne oscillator, PWM channels, I2C, LCD,.....), grootte van je programma (het moet in het geheugen kunnen, zowel voor RAM als ROM), en het aantal benodigde I/O's.
Daarmee haal je de bruikbare PIC's eruit. De hierop volgende keuze is enorm simpel: welke is het goedkoopst. Voor de hobbyist is dat vooral een zaak van de verkrijgbaarheid (lokale elektroboer heeft mss enkele type's liggen), professioneel gaat het vooral om de prijs tout court.
(ik heb nog met de 16F88 gewerkt, leuk beestje, erg handig dat ie geen kristal nodig heeft)
Op 25 juli 2006 18:57:42 schreef ikbendirk:
...
Ik heb trouwens opgemerkt dat alle kandidaten 4(!) banks hebben, heeft dit consequenties voor het programmeren in vergelijking met eentje met 2 banks of hoef ik hier niet op te letten?
Als je in ASM programmeert wordt je zowiezo geconfronteerd met banking, bij hogere talen handelt de compiler alles voor je af. Moeilijk is het allemaal niet, je moet er gewoon wat op letten:
Probeer de variabelen (RAM) van je programma allemaal in Bank0 te houden, daar zal je 95% van je programma in laten lopen. Je moet van bank verwisselen als je status en instellingsregisters nodig hebt die in andere banken zitten (de courante zitten allemaal in bank0), en eventueel als je variabelen gebruikt die niet in bank0 zitten.
Om gemakkelijk van bank te verwisselen, kan je "banksel (status en instellingsregister)" gebruiken.
Lees eens de uitleg van bastiaan over PIC's, bij de artikelen, hij legt het erg netjes uit.