BeneluxSpoor.net forum
Vraag en antwoord => Elektronica en analoog => Topic gestart door: Romar op 13 May 2011, 21:07:13
-
Goede avond,
graag zou ik wat meer te weten willen komen over het werken met en het programmeren van PIC's
Wie weet een goede website of iets van een boek waar alles wordt uitgelegd?
Of misschien iemand van het forum die me hier iets over zou kunnen/willen vertellen?
Hoe programmeer je een PIC? Hoe krijg je het programma er in? hoe stel je in dat een pootje een in of uitgang wordt?
Hoe maak je bijvoorbeeld een specifiek knipper patroon?
Ik heb op het internet als iets van programmeer taal basic voorbijzien komen en hex file's.
Wie kan en wil mij hier mee verder helpen?
Alvast bedankt voor de moeite. (y)
Mvg,
Romar
-
Een PIC programmeer je via een programmer verbonden met de computer.
Die programmer kan, al dan niet 'in circuit' (dus terwijl hij in de schakeling zit waar 'ie voor moet gaan dienen) de code in het geheugen flashen, maar je kan dus ook steeds het IC uit een breadboard trekken en in de programmer plaatsen (niet aan te raden vanwege de kwetsbare pootjes)
De code die uiteindelijk de PIC in gaat is altijd een hex bestand (hexadecimaal) maar de taal die er aan voorafgaat is nogal universeel: er zijn heel wat programma's die van de programmeertaal die jij het liefst hanteert een voor de controller begrijpelijke hex file maken.
Het instellen van in en uitgangen en een specifiek patroon is te ingewikkeld om zo even uit de doeken te doen en is mede afhankelijk van de programmeertaal en getalnotatie.
Op www.circuitsonline.net staat een weliswaar wat gedateerd artikel, maar wel een volledige beschrijving van het geheel om een PIC te programmeren.
-
Romar,
Misschien heb je iets aan de volgende links?
http://www.circuitsonline.net/artikelen/view/8
http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm
http://www.picbasic.nl/
Bij de laatste link kan je een minicursus kan volgen
Grt Erwin
-
Bedankt voor de links tot nu toe, ik zal er waarschijnlijk zondag eens even voor gaan zitten om het allemaal even aandachtig door te lezen. (y)
Mvg,
Romar
-
Als je wilt beginnen met PICjes zou ik zeggen picbasic.nl :)
Op deze site wordt het allemaal duidelijk uitgelegd.
En op circuitsonline.net zitten ook veel mensen die met PICjes bezig zijn.
Om de software in de PIC te krijgen zou ik voor de PICKit2 gaan hier is ook een clone van en werkt perfect.
-
Als je initiele informatie wilt, is www.voti.nl (http://www.voti.nl) en natuurlijk leverancier www.microchip.com (http://www.microchip.com) wel handig en ik heb als Selectrix rijder veel geleerd van www.reinhardt-netz.de/SX_Start.html (http://www.reinhardt-netz.de/SX_Start.html).
Ik vind zelf de 16F628A een leuk PICje om mee te beginnen, het is de opvolger van de 16F84 waarvoor heel veel (modelspoor) toepassingen te vinden zijn.
Zelf gebruik ik MPLAB (gratis van Microchip) en programmeer in assembly vanwege de snelheid, PIC assembly is echt niet zo lastig met de specs van de desbetreffende PIC erbij.
Als programmer heb ik zelf een RCD programmertje feng3.cool.ne.jp/en/rcd.html (http://feng3.cool.ne.jp/en/rcd.html) gebouwd, en als software daarvoor gebruik ik ICProg.exe kost niks c.q. bijna niks.
Veel succes!
-
Romar,
Even goed zoeken op Internet.
Daar vind je meerdere schema's om zelf een seriele JDM programmer te maken. En als programma bijvoorbeeld WinPIC of WxPIC.
Ik ben geen programmeerexpert, maar ik gebruik het programma Flowcode.
Bij het tijdschrift Elektor vind je een handleiding cursus_6ee_pdf , welke je een heel eind op de weg helpt.
Succes.
Gerard
-
Persoonlijk raad ik picbasic.nl aan om mee te beginnen.
Hier word stap voor stap uitgelegd hoe je moet beginnen.
Download de gratis probeer versie van proton die daar te vinden is maar.
Flowcode is op zich ook leuk, maar de software is erg duur.
Vreet enorm veel ruimte in je pic.
En na mijn mening teveel op onderwijs en op de E-blocks printen van Matrix gebaseerd.
Die ook schikbarend duur zijn.
Kan het weten, heb het zelf ook gebruikt ;D
-
Nog een aanvulling op mijn vorige post.
Als programmer zou ik nu zeker niet meer gaan voor een seriële variant en al helemaal niet 1 die wordt gevoed vanuit de seliele poort.
En het is ook veel makkelijker om de PIC in de schakeling te laten zitten i.p.v. hem er elke keer uit te halen om te programmeren en het is ook een behoud voor de PIC de kans dat er wat mis gaat met de pootjes is altijd aanwezig.
Koop of maak een programmer die het doet via USB en die in circuit kan programmeren.
Zelf heb ik verschillende programmers,
- een hele simpele programmer die gevoed wordt door de pc ligt nu ergens in een doos en wordt niet meer gebruikt werkt niet altijd met de nieuwere computers of met USB naar RS232 omzetters.
- de galva wisp, deze is wel serieel maar wordt gevoed vanuit de schakeling en is voor in circuit programmeren, ligt nu ook in de kast.
- en de laatste de PICkit2 clone, ook voor in circuit programmeren en heeft een USB aansluiting en werkt geweldig en je hebt dan ook nog een logic analyser erbij. De clone is te koop tussen de 20 en 30 euro.
Zelf gebruik ik Proton PICBasic, met de gratis/probeer versie hiervan is al heel wat mogelijk, de beperking zit in het aantal regels als ik het goed heb.
En nogmaals http://www.picbasic.nl :) een complete cursus staat daar op en alles duidelijk uitgelegd.
-
Veel is hierboven al gezegd maar toch nog even in mijn woorden :D
Uiteindelijk gaat er altijd een hex bestand naar de PIC, die is de uiteindelijke code die de PIC snapt maar zelf niet te schrijven is. Assembly is eignelijk de meer leesbare versie van wat er in de hex staat. Hierbij heb je een beperkt aantal taken die je de PIC kunt laten uitvoeren en hoe creatiever je hier mee om kunt gaan hoe meet je van de PIC gedaan kunt krijgen. En dan heb je de higher level programmeertalen. Voorbeelden zijn de genoemde picbasic flowcode of C. Picbasic is hiervan de meest eenvoudige taal (met weinig kennis zo veel mogelijk gedaan krijgen) maar kent zijn beperkingen in mogelijkheden. Als je ervaring met programmeren hebt is bijvoorbeeld C erg handig. Zelf schrijf ik in C en compile (er een hex bestand van maken die de PIC snapt) met CCS C (http://www.ccsinfo.com). Verder heb ik een (echte) PicKit 2 om de code in de PIC te laden.
Timo
-
Als het je gaat om met microcontrollertjes te experimenteren kunnen twee platformen eigenlijk niet ontbreken in je overweging
Voor kleine projectjes is er picaxe van http://www.rev-ed.co.uk/picaxe/ (http://www.rev-ed.co.uk/picaxe/) die ook op lagere scholen gebruikt worden (in engeland en australie)
Kun je met basic programmeren of voor de simpele projecten zelfs met een flowchart programma. Software is gratis, vrijwel geen hardware nodig en relatief goedkope chipjes. Is met google veel over te vinden. Via deze site ben ik er mee begonnen, erg informatief maar ziet er alleen niet uit http://picaxe.orconhosting.net/ (http://picaxe.orconhosting.net/)
Voor de uitgebreidere dingen zou je naar arduino kunnen kijken. Is een opensource platform waarop veel uitbreidingen verzonnen zijn (ethernet aansluitingen, de pic als webserver te besturen enzovoort)
beide zijn natuurlijk niet zo diehard als hardcore pic programmeren, maar als (modelbaan)hobbyist wel een mooie start met deze techniek.
Remco.
-
Ben bang dat het nog wel even gaat duren voor ik me hier in kan gaan verdiepen...
Ben nu al 9 dagen ziek thuis en onder tussen ook al naar het ziekenhuis geweest voor een echo van de darmen.
Waarschijnlijk heb ik een infectie in/aan de dunnendarm of de ziekte van crohne.
Maar dat moet verder onderzoek gaan uitwijzen.
Ik heb tegen de pijn wel goeie pijnstilling gekregen. (gebaseerd op morfine)
Alleen hier door wordt het even lastig om me ergens serieus in te gaan verdiepen.
Met vriendelijke groet,
Romar
-
Romar, jammer om te horen, balen om ziek te zijn met dit mooie weer, veel beterschap gewenst!
-
Romar,
Idd balen, mag ik je heel veel sterkte en beterschap wensen
Groetjes
Arthur
-
Bedankt voor de steun. (y)
-
Beterschap, hopen dat het snel weer in orde is.
-
Zo, nu ik weer thuis ben en weer aan de beterende hand ben dit 'project' ook maar weer even oppakken.
Kwam via via via bij deze starters kit (http://www.microchipdirect.com/productsearch.aspx?Keywords=DV164120) uit. Nu vraag ik me af: is dit iets om mee te beginnen, heeft iemand hier toevallig ervaring mee?
Mvg,
Romar
-
Goed te horen dat je weer thuis bent en het de goede kant op gaat en mooi dat je het weer oppakt (y)
Die set heb geen ervaring mee maar volgens mij is dat bordje wat er bij zit erg beperkt.
Wat denk ik verstandiger is, is een breadboard aanschaffen met de losse onderdelen die je nodig bent.
Wil je een schakeling maken dan test je die eerst daarop en werkt het allemaal dan bouw je hem na op print.
-
Als je het geld ervoor over hebt is het een goeie start. Het kan goedkoper als je zelf een programmer bouwt en de software gewoon (gratis) download.
-
@ Robert Jan
Het bordje wat er bij zit is misschien wat beperkt, maar in eerste instantie wil ik me bezig gaan houden met het laten knipperen van LEDs, daar lijkt het bordje wel geschikt voor, klopt dat?
Door het (na)maken van knipper effecten van diverse hulpdiensten wil ik een beetje bekend worden met het programmeren en de werking van de software/hardware. Om te beginnen met een politie auto (http://www.youtube.com/watch?v=XLC_xku8t_U) of iets dergelijk en uit eindelijk te eindigen met een ambulance met Delfis opbouw (http://www.youtube.com/watch?v=s0GRPETj-sk). Als ik daarna verder wil is het altijd nog mogelijk om andere onderdelen aan te schaffen lijkt me?
@Hans
Ik geef liever iets meer uit met de zekerheid dat ik iets goeds heb, kan zelf ook best wat gaan proberen maar ik koop liever een kant en klaar oplossing in dit geval, weet ik zeker dat de hardware en software goed zijn.
Mvg,
Romar
-
Als het alleen voor het laten knipperen van een paar ledjes is kan het maar bij 4 houd het al op. En echt goedkoop is dat bordje ook niet vind ik.
Losse PicKit2 programmer 35 dollar het kitje 50 dollar dat is 15 dollar voor 4 ledjes en 4 schakelaartjes en een pic van nog geen 3,50 euro kost.
Via samenkopen heb ik verschillende printjes aangeschaft waar bv 8 ledjes op zitten of 4 druk schakelaartjes en een printje met een pic die je simpel op een breadbord kunt drukken een paar draadjes er tussen en gaan.
Ik weet niet als en wanneer er weer zoiets wordt aangeboden maar dat zou ik eerder doen dan het demo bordje.
Dit spul bedoel ik http://www.samenkopen.net/action_products/720174/136659 (http://www.samenkopen.net/action_products/720174/136659) je kan anders altijd contact met hem opnemen.
-
Dus eigenlijk kan ik beter de PICkit2 zonder dat bordje aanschaffen, en daar een ander bordje voor zoeken?
Is het dan ook mogelijk om een breadboard hier voor te gebruiken , want dan kan je zelf het aantal LEDs, schakelaars en dergelijken bepalen, toch?
Alleen hoe sluitje dit aan op de PICkit 2, is het een standaard te verkrijgen stekker verbinding die er op de PICkit2 zit?
Mvg,
Romar
-
Wat is beter, ik zou zou het wel los aanschaffen. Dus een PICkit 2 die zijn er volgens mij ook wel voor minder te koop.
En inderdaad met een breadboard druk je erop (steekt de componenten erin) wat je nodig hebt.
Wil je met led aan de gang zet je die erop wil je er een schakelaartje bij gebruiken zet je die erbij op of een display servo en ga maar door.
Aan de programmer (PICkit) zit een 6 polige female connector waarvan je er 5 pennen nodig hebt voor programmeren.
Dit zit er aan als connector (http://www.pololu.com/picture/0J881.300.jpg) en dit past erin (http://www.haltronics.nl/webshop/images/product_images/popup_images/header1rij.jpg).
Aansluiten kan met een los kabeltje bv wil je het makkelijk is dit misschien wat? (even mailtje sturen als die ze nog heeft)
De PIC met een printje zodat je deze makkelijk op het breadboard kan prikken en de aansluiting voor het programmeren heb je ook meteen goed.
http://www.samenkopen.net/action_product/31319/435393 (http://www.samenkopen.net/action_product/31319/435393)
Dat spul werkt op 5 volt wil je daar ook wat voor hebben http://www.samenkopen.net/action_product/31319/473053 (http://www.samenkopen.net/action_product/31319/473053)
En zo heeft die wel meer van dat soort dingen gemaakt, ik heb geen aandelen maar bevalt mij erg goed.
-
@ Robert Jan: dat voedinkje waar je naar linkt zou ik toch afraden, tenzij je de jackplug vervangt door iets beters: allereerst ken ik geen 2,1 mm jackplugjes (alleen 2,5, 3,5 en 6,3 mm) maar vaak zijn die erg kwetsbaar en als je pech hebt, ook nog van niet al te beste kwaliteit.
Daarnaast weet ik niet hoe handig de TS is, maar een 5 Volt voeding is tegenwoordig heel simpel zelf te maken.
Het nut van dat andere printje ontgaat me ook een beetje: alles op 1 printje mieteren wat je vervolgens in een breadboard kan steken (als je geluk hebt) terwijl je ook alle losse onderdelen direct op je breadboard kan plaatsen.
-
@ Robert Jan: dat voedinkje waar je naar linkt zou ik toch afraden, tenzij je de jackplug vervangt door iets beters: allereerst ken ik geen 2,1 mm jackplugjes (alleen 2,5, 3,5 en 6,3 mm) maar vaak zijn die eerste 2 erg kwetsbaar en als je pech hebt, ook nog van niet al te beste kwaliteit.
Daarnaast weet ik niet hoe handig de TS is, maar een 5 Volt voeding is tegenwoordig heel simpel zelf te maken.
Het nut van dat andere printje ontgaat me ook een beetje: alles op 1 printje mieteren wat je vervolgens in een breadboard kan steken (als je geluk hebt) terwijl je ook alle losse onderdelen direct op je breadboard kan plaatsen.
Dubbelpost... Modjes... deze mag weg!
-
Koop gewoon die Pickit 2 met demo boardje
http://www.elektronicaonderdelen.eu/?page=product&id=1409
of
http://www.elektronicaonderdelen.eu/?page=product&id=1459
Dan heb je een (werkend) begin. Om lekker te kunnen debuggen
(lees met MpLab door code steppen) heb je denk ik de debug versie nodig...
Robert
-
@Menno
De daar gebruikte benaming klopt ook niet het is geen audio jack maar een voeding jack of hoe heet zo'n ding (een bus met een pin)
Voedingen zijn inderdaad simpel te bouwen en ik weet ook niet hoe handig hij is.
Zelf vind ik dit wel handig 1 voeding en 12 volt en 5 volt op het breadboard, zie net dat deze dat niet meer heeft ik heb nog het oude model nog (2 spanning regelaars).
De pennentjes aan ic's zijn veel minder stevig dan die onder de print zitten (buigen, knappen, prullenbak).
De connector voor het programmeren zit op de print je drukt de programmer erop en klaar.
Met die losse printjes hoef je niet elke keer dingen opnieuw te bouwen op het bordje, je druk de print erin en klaar.
Maar iedereen heeft zijn eigen werk methode, je kunt het ook direct op een print (laten) maken en dan gaan programmeren zonder tussenkomst van een braedboard of het in software op de computer tekenen en testen en vervolgens het op een print bouwen.
-
Zelf heb ik die PicKit2 ook liggen, erg fijn. Ik doe dan wel alles op een breadboard en heb een kabeltje gemaakt die in de pickit past (stekkertje zoals Robert Jan aangeeft) met vervolgens los in te steken draden die ik dan in het breadboard steek waar in een PIC in steek. Die PIC plug je er toch maar één keer per project in dus echt bang voor buigende pootje ben ik niet. Of je het demobordje het geld waard vindt moet je zelf besluiten. Het is niet heel goedkoop maar je hebt wel gelijk een echte basis om mee aan de slag te kunnen. Zo kan een printje met 5 volt die je er zo in kan prikken ook een handig begin zijn.
En dan kom je bij de volgende vraag aan, in welke taal ga je schrijven?
Timo die nodig weer eens met uC aan de slag moet ;D
-
Ja welke taal, het liefst in het Nederlands. ;D
Nee dat is een goeie, ik weet het nog niet, welke talen zijn er allemaal?
Mvg,
Romar
-
Hoewel geen PIC (denk ik) maar waarom hoor ik niemand over http://www.arduino.nl/ http://www.arduino.cc ??
Super prototyping platform met een enorme support op internet en een betrekkelijk eenvoudig te leren programmeercode met bijbehorende programmeer interface, veel bibliotheken voor sensoren, lcd schermen, servos etcetcetc, en dat alles open source.
-
Mocht je ooit embedded software engineer worden is C/C++ sterk aan te raden.
Voor huis tuin en keuken gebruik kijk eens naar de reeds genoemde PICBasic gebeuren..
Dat is best simpel te begrijpen, en als je beetje met Visual basic oid kunt spelen is
de overstap ook best simpel.
Verders, begin simpel, ledje aan/uit en zo...
BTW, Arduino voor Pics is er blijkbaar ook, althans kwam dit tegen
http://www.myamicus.co.uk/
Robert
-
Hoewel geen PIC (denk ik) maar waarom hoor ik niemand over http://www.arduino.nl/ http://www.arduino.cc ??
Super prototyping platform met een enorme support op internet en een betrekkelijk eenvoudig te leren programmeercode met bijbehorende programmeer interface, veel bibliotheken voor sensoren, lcd schermen, servos etcetcetc, en dat alles open source.
Misschien omdat er staat PIC info gezocht?
Anders zou er ook Atmel benoemt moeten/kunnen worden en zo zijn er vast wel meer.
Ervaring met iets anders dan pic heb ik niet dus kan ook niet zeggen hoe dat werkt.
Programma schrijven doe ik in picbasic.
-
Zelf vind ik alle Arduino producten een beetje onoverzichtelijk en verder redelijk prijzig, helemaal voor kleine projecten. Dus geef de voorkeur aan uC's. Ik schrijf zelf voor PIC's in C. Dit omdat het wat meer mogelijkheden biedt dan PicBasic, ik vind de code wat overzichtelijker (meer programmeren dan statements plakken) en je kan nog eens wat code van AVR C overzetten naar PIC C zonder veel moeite. Maar het is een eigen voorkeur wat te gebruiken.
Timo
-
Zelf vind ik alle Arduino producten een beetje onoverzichtelijk en verder redelijk prijzig, helemaal voor kleine projecten. Dus geef de voorkeur aan uC's. Ik schrijf zelf voor PIC's in C. Dit omdat het wat meer mogelijkheden biedt dan PicBasic, ik vind de code wat overzichtelijker (meer programmeren dan statements plakken) en je kan nog eens wat code van AVR C overzetten naar PIC C zonder veel moeite. Maar het is een eigen voorkeur wat te gebruiken.
Timo
Overzichtelijkheid valt wel mee hoor. Je hebt 2 modellen ATmega328 met 20 IO poorten en eentje met een ATmega2560 en 70 IO poorten. Met wat variatie in maat.
Het is inderdaad (behoorlijk) prijziger dan losse uC's. De goedkoopste kost rond 14-15 euro. Maar voor een Noob als ik is een dergelijk compleet prototyping board handiger. Ik gebruik ze onder andere voor de besturing van mijn Quadcopter. Ik had in een kwartier inclusief uitpakken en installeren van de software mijn eerste Led blinkend, een half uur later een complete lijn met flitsende leds (wegafzetting).
Mgoed, poster vroeg naar Pics, dus terug on-topic.
Gr/Kees
-
Hallo Romar,
Ben je al begonnen met PIC's? Ik ben hierin ook helemaal nieuw, en na het lezen van dit topic (en ook andere) heb ik een PICkit2 gekocht. Alleen die tutorials die erbij zitten snapte ik echt niks van. Ik wil zeker niet uitsluiten dat mijn IQ tekort schoot of mijn ontbrekende basiskennis de boosdoener was, maar ik kon er geen chocolade van maken. Vooral hoe schrijf je nou een programma en zet je dit in de PIC kwam ik niet uit.
Na wat speurwerk kwam ik bij deze tutorials uit: http://www.gooligum.com.au/tutorials.html
Ik kan ze iedereen aanraden die ook eenPICkit2 gekocht heeft en vrijwel geen basiskennis hierover heeft. De schrijver gebruikt zelf ook de PICkit2 en de bijgeleverde software en legt alles heel helder en stap voor stap uit.
Ik heb nu een knipperend ledje naast me liggen, en ik weet nu wel hoe het in elkaar zit en wat ik precies gedaan heb. Een prettig idee! :)
Vriendelijke groet,
Benno
-
Ik heb op deze site ook veel bijgeleerd. Ondertussen programeer ik op een PIC microcontroller (µC) alles wat je maar kan wensen op modelspoorgebied, en dit aan een zeer schapelijke prijs van zulke µC. Ik heb wel geen PICkit, deze is iets te beperkt voor grotere controllers (40pins). De Velleman kit kan dat wel...
Geert
-
Nee, ben er nog niet mee begonnen.
Er kwam de afgelopen tijd nog al wat tussen door zetten...
Maar ooit is het de bedoeling hier mee te beginnen.
Ik denk dat het wel een mooi goed voornemen is voor 2012. ;D
Tegen die tijd zal me hobby plek wel weer ingericht en klaar voor actie zijn. :P
Romar
-
Als ik zo zie wat jij gemaakt hebt Geert dan heb ik nog een hoop te leren... :-[
-
Ik heb wel geen PICkit, deze is iets te beperkt voor grotere controllers (40pins). De Velleman kit kan dat wel...
Die snap ik even niet... mijn PicKit2 programmeert anders prima 40pins 16F877's via ICSP.
-
Je kan gelijk hebben? Ik baseerde me op de PIC starterskid op de officiële site van MICROCHIP.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805
Geert
-
Zie http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813 voor wat de Pickit2 ondersteunt.
-
Ik ben destijds begonnen met dit boek:
http://www.elektor.nl/products/books/microcontrollers/pic-microcontrollers-nl.2.92178.lynkx (http://www.elektor.nl/products/books/microcontrollers/pic-microcontrollers-nl.2.92178.lynkx)
Voor de projecten en de zelfbouwprogrammer kun je de bouwpakketjes bestellen bij voti.nl. Niet te duur, en vlotte levering.
Al met al heb ik hiermee voldoende opgestoken om de besturing van 'De Hezelpoort' voor Loek Bronkhorst te maken.
David.
-
Een praktische vraag waar mijn elektronicakennis tekort schiet:
Hoe laat ik een pic bijvoorbeeld een wissel schakelen. In de tutorials worden oa ledjes geschakeld met transistors e.d. maar het blijft binnen het 5V circuit van de pic. Hoe combineer ik dat met het 12V gebeuren op m'n modelbaan? Kan dat allemaal aan elkaar geknoopt worden zolang de min maar gedeeld is? Kan iemand mij wat uitleg en/of een schemaatje geven?
Vriendelijke groet,
Benno
-
Hoi,
Bekijk deze datasheet (http://www.datasheetcatalog.org/datasheets/105/366825_DS.pdf) maar eens.
Voor wissels gebruikte ik twee van die driveruitgangen parallel zodat ze 1 Amp. kunnen leveren.
Aansluiten ? Voeding uit de rails halen, gelijkrichten. Je schakeling met die spanning voeden via een 78(L)05 en de plus aan de gemeenschappelijke van de wissel, de andere aan twee parallele driveruitgangen.
Haal je de voeding niet uit de rails, dan ben je haast wel verplicht een optocoupler op je rails signaal aan te sluiten om je digitale signaal in de PIC te krijgen, zonder dat er iets gaat roken ;)
Grtzz,
Karst
-
Hoi,
Bekijk deze datasheet (http://www.datasheetcatalog.org/datasheets/105/366825_DS.pdf) maar eens.
Klopt, de ideale IC om van 5V over te gaan naar hogere spanning en stroom. Heb ik ook al eens toegepast.zie link (http://users.telenet.be/RedDeBist/MBAAN/Wissels%20aansturen%20met%20maklin%20mobiel%20station%201.htm)
Geert
-
Ah super! Had geen idee dat deze dingen bestonden. Alweer wat geleerd :)
Nog een vraag; Ik ben nu met de tutorial over analog comparaters bezig waar bijvoorbeeld 4V als referentie wordt gebruikt en den pic kijkt dan of de spanning op de ingang hoger of lager is, maar dit is weer maximaal 5V. Hoe doe je dit nou als de spanning 12V is. Gewoon met een spanningsdeler van weerstanden? Of zijn hier ook handige IC's voor?
Vriendelijke groet,
Benno
-
Gewoon een spanningsdeler met weerstanden is voldoende. Wil je nauwkeurig meten, dan gebruik je best 3 dezelfde weerstanden in serie:
---------
R
|
12V R
|---------
R 4V
-------------------
In sommige PIC µC zitten 1 of meerdere analoge comparators al ingebouwd.
Geert
-
Aanvulling:
Kijk in de specs van de PIC hoeveel stroom de VDD-clamping diode mag hebben en kies de weerstand van de deler aan de 'hete' kant zodanig dat bij de maximaal te verwachten ingangsspanning die stroom niet overschreden wordt.
Grtzz,
Karst
-
Even checken of ik het snap;
De clamp-current is +/-20mA bij de 12F509 als ik het goed lees.
Dan mag er dus maximaal 20mA door de 3 weerstanden van de spannigsdeler lopen?
-
Door de bovenste twee in het bovenstaande tekening.
Dus stel dat Vinput-max 12 Volt is en VDD 5 volt is, dan is de spanning tussen Vin en VDD 7 Volt. Daaruit volgt 7V / 0.020A = 350Ohm voor de 2 bovenste weerstanden in het getekende schema.
Waarbij mij het nut van de twee weerstanden een beetje ontgaat ;)
Mocht je voor je spanningsdeler een potmeter willen gaan gebruiken, dan is het dus verstandig om een 390Ohm weerstand aan de 'hete kant' ( aan Vin ) van de potmeter hangt.
Grtzz,
Karst
-
Bedankt voor de uitleg Karst.
Even iets laten checken door mensen die er wel verstand van hebben.
Als ik bij de PIC16F505 (http://www.datasheetcatalog.org/datasheet2/7/0tthl8ga5xouoddlg9zxio3ks8cy.pdf) dit instel:
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC_RB4EN
en
movlw ~(1<<T0CS)
option
Dan moet ik toch RB3 als input, en RB4, RB5 en RC5 als input of output beschikbaar hebben?
Ik ben nog aan het rommelen aan mijn wisselsturing code. Het is natuurlijk het wiel opnieuw uitvinden, maar het gaat er mij om dat ik wat vaardigheden krijgen met programmeren. Alleen ik krijg deze ingangen niet werkend.
Wat doe ik fout?
Vriendelijke groet,
Benno
-
Toen ik begon met programmeren van PIC µcontrollers had ik dat probleem ook. Vooral veel opzoekwerk op internet kon mij toen helpen. En eenmaal je een PIC model door en door goed kent, dan blijf je meestal ook bij dat model. Ik ken zo nu een 4 tal modellen PIC’s van mogelijk een duizendtal? Met dit model van Pic’s werk ik niet. Maar ik kijk het wel eens na?
Geert
-
In de Configuration fuses definieer je geen in- of uitgangen.
Je hebt opgegeven dat de Reset-pin niet als zodanig functioneert (MCLRE_OFF)
Dat de uitleesprotectie uitstaat (CP_OFF)
Dat de WatchDogTimer uitstaat (WDT_OFF)
En als belangrijkste: de interne oscillator gebruikt wordt en daarmee pin RB4 enabled wordt. (_IntRC_OSC_RB4EN)
Waarvoor weet ik niet, maar dat staat in het datablad.
Wat dat betreft is uit je code ook niet op te maken wat de andere genoemde pinnen doen: je hebt niet gedefinieerd wat die moeten doen, en zullen dus de 'State on Power-Up' bezitten, oftewel een ingang of uitgang zijn zoals dat bij het opstarten van de controller bepaald is.
-
Ik zei ook niet dat ik in- of uitgangen ging definiëren, ik wil ze beschikbaar hebben als in- of uitgang. ;)
Door MCLRE_OFF komt RB3 vrij als ingang (kan niet als uitgang) als ik het juist heb. Door de interne oscillator te gebruiken is RB4 beschikbaar en door T0CKI uit te zetten zou RC5 beschikbaar moeten zijn als in- of uitgang.
Ik heb ze in een eerder tutorial al gebruikt als uitgang voor een 7 segments ledsdisplay. Dat werkte. Alleen voor mijn eigen experiment heb ik ze nodig als ingang (door de corresponderende bit hoog te maken in TRISB), maar dat heeft geen effect :-\
-
Ik denk, maar dat weet ik niet zeker, dat je het in de pull-ups moet zoeken: de 16F628 kent ook een paar pinnen die een pull-up nodig hebben, maar ik heb helaas te weinig ervaring om er zeker van te zijn.
Je weet wel dat RC5 tot PORTC (en daarmee vast tot TRISC) behoort?
-
Hoi Menno,
Ja, ik weet dat RC5 tot PORTC behoord. Maar misschien moet ik inderdaad eens naar dat pull-up gedoe kijken. Dat is ook langs gekomen bij 1 van de tutorials, maar dat zit nog niet helemaal in m'n hoofd. Ik ga dat vanmiddag nog eens doorlezen. Bedankt voor de tip!
vriendelijke groet,
Benno
-
Het is gelukt!
Wat blijkt (wat misschien iedereen al lang weet :-[) met de pickit2 programmer nog aan de schakeling dat werken enkele ingangen niet. Die had ik er nog aan zitten omdat deze als 5V voeding gebruikt werd, zoals in de tutorials ook zonder probleem gedaan werd.
Maar sinds vandaag heb ik een externe 5V voeding, en had ik na het programmeren de programmer er even afgehaald. En eureka, hij deed het!! (y)
Toch iedereen bedankt voor de hulp en adviezen :)