Mijn winkelwagen
0 productenUS$ 0,00

PIC Microcontrollers - Bert van Dam


Op deze pagina vindt u alle software die besproken wordt in het boek PIC Microcontrollers. Alle software is gratis door de schrijvers beschikbaar gesteld, u hoeft niets te betalen. De software is bedoeld voor Windows XP, of soortgelijke Microsoft(TM) besturingssystemen. Volg deze instructies zorgvuldig op! Zeker als u op dit gebied weinig ervaring heeft is het belangrijk deze stappen exact te volgen.

Installatie instructies:

  1. Download het volledige pakket hier (klik met de rechtermuisknop en kies 'opslaan als', het bestand is circa 10 Mb)
  2. Zet dit pakket op de c drive in de root directory c:\ (Wanneer u geverifieerd heeft dat alles werkt kunt u het pakket altijd verplaatsen. Door in c:\ op de c drive te beginnen hoeft u geen configuratiebestanden te veranderen.)
  3. Unzip met behoud van de directory structuur, er is circa 20 Mb ruimte nodig (Gebruik "extract to here". Wanneer u geverifieerd heeft dat alles werkt kunt u het pakket altijd verplaatsen en directories veranderen. Door op de c drive te beginnen hoeft u geen configuratiebestanden te veranderen). Wanneer u niet in het bezit bent van een unzip programma kunt u er hier eentje gratis downloaden. U kunt ook naar de officiele website van Winzip gaan daar een betaalde versie aanschaffen.
  4. Draai het setup programma in de directory c:\picdev\vb50\setup (Dit installeert een aantal dll en ocx bestanden die nodig zijn voor de extra programma's. U kunt de default directory accepteren of zelf iets kiezen. Verifieer dat het pad inderdaad c:\picdev\vb50\setup is. Mocht dat niet zo zijn dan heeft u het bestand niet in c:\ gezet maar op een andere plaats.)
    In het boek wordt gesproken over de Wisp628 programmer. U kunt echter ook de nieuwere Wisp648 programmer gebruiken. Voor de werking en de projecten in het boek maakt dat niet veel uit.
  5. Wanneer u de Wisp628 programmer niet aan com poort 1 gaat aansluiten, lees dan de sectie "Veel gestelde vragen" voor instructies (Als uw Wisp wel aan com poort 1 zit hoeft u niets te doen, en bent u klaar met de installatie).
  6. Lees nu de tutorial in het boek PIC Microcontrollers, 50 projecten voor beginners en experts (en ontdek de fascinerende wereld van de microcontrollers).

Kijk op de hardware pagina om rechtstreeks bij de leveranciers de meest recente versie van de datasheets te downloaden. Deze datasheet zijn op verzoek van de leveranciers (zoals Microchip) niet in de download opgenomen zodat u er zeker van bent altijd van de meest recente versies gebruik te maken. Het download pakket is daarom wat kleiner dan in het boek wordt aangegeven.

Het downloaden van deze datasheets is niet verplicht (de voor dit boek relevante delen zijn in het boek zelf weergegeven).

Aanvullingen en wijzigingen

Maakt u gebruik van de Wisp648 in plaats van de Wisp628 dan gelden de volgende wijzigingen voor u:

  1. Overal in de tekst moet u Wisp648 lezen als daar Wisp628 staat.
  2. Pagina 12: Een aparte gestabiliseerde voeding is niet meer noodzakelijk, u kunt hiervoor de stabilisator van de Wisp648 gebruiken. De gelijkspanningtrafo of "dikke stekker" die u hierop aansluit moet 9..18 volt gelijkspanning leveren. Wanneer u deze voeding gebruikt mag u geen andere voeding op uw steekbord tegelijkertijd aansluiten.
  3. Pagina 23, 346, 348, 352: De programmer dongle is niet meer nodig. In plaats daarvan kunt u de jumper op de programmer verzetten. Vergeet niet deze jumper na afloop weer los te maken!

Fouten en aanvullingen

  1. Een pdf met fouten en aanvullingen van de 1ste en 2de druk kunt u hier downloaden. Het beste print u deze om hem bij het boek te bewaren.
  2. Vanaf 1 juli 2010 bevat de download een nieuwere versie van JALedit. Op pagina 35 moet deze tekst:

Compile results "Hopelijk begint deze met:jal 2.0.4 (compiled Aug 16 2006)
0 errors, 0 warning

Daaronder komt nog een heleboel andere tekst

Vervangen worden door deze tekst:

Hopelijk eindigt deze met:Errors :0       Warnings :0
Code   :154/8192    Data:9/368  Hardware Stack : 0/100  Software Stack :96

Daarboven komt nog een heleboel andere tekst...

Hardware pakket

U kunt aan de hand van de tabel 'overzicht der componenten' die u onderaan deze pagina aantreft zelfstandig alle onderdelen voor dit project aanschaffen. Van de 16f877 PIC kunt u zowel de A als de niet-A versie gebruiken in de projecten in dit boek. Let op: voor de A versie dient u de library 16f877A_bert te gebruiken en voor de niet-A versie de library 16f877_bert. Bij de 12f675, 16f876A en 16f628 kunt u geen andere types gebruiken!

Om het u gemakkelijk te maken heeft de webwinkel Voti een speciaal hardware pakket samengesteld voor u als lezer van dit boek, dat u hier kunt bestellen. Hierin vindt u een verzameling onderdelen waarmee u een groot deel van de projecten kunt maken. Het is een betrouwbare Nederlandse webwinkel, gespecialiseerd in PIC's en toebehoren. U kunt dus snel aan de slag. De inhoud van het pakket:

1 x 16f877 of 16f877A (let op: voor de A versie de library 16f877A_bert gebruiken!)
1 x voetje voor de PIC
1 x 20MHz kristal
2 x 20 pF condensator
5 x 100nF condensator
1 x 220nF condensator
8 x 330 ohm weerstand
1 x 2k2 weerstand
1 x 3k3 weerstand
4 x 10k weerstand
2 x 33k weerstand
1 x 1k lin potmeter
1 x 10k lin potmeter
8 x led (1 x groen, 1 x blauw, 1 x geel, 5 x rood)
2 x drukschakelaar
1 x LDR
1 x NTC
1 x miniluidspreker (uit een kleine koptelefoon)
1 x steekbord (solderless breadboard)
1 x rolletje draad (6 kleuren)
1 x 16f628
voetje voor deze PIC
1 x LM741
voetje voor deze chip
1 x 100k lin potmeter
1 x max202 of compatible kloon
voetje voor deze chip
5 x 1 uF condensator, electroliet
1 x 10uF condensator, electroliet
1 x rs232 steker female
1 x UA7805
1 x 9v batterijclip

Wilt u gebruik maken van de in het boek beschreven programmer Wisp628 dan kunt u deze alleen bij Voti aanschaffen. De eigenaar van de winkel, Wouter van Ooijen (docent Hogeschool van Utrecht, en eigenaar van een consultancy bureau op het gebied van software en electronica) heeft deze zeer populaire programmer namelijk zelf ontworpen. De programmer is geen onderdeel van het hardware pakket. U kunt hem dus ook los bestellen in de webshop. U kunt ook de nieuwere versie Wisp648 kiezen.

Ook een voeding maakt geen onderdeel uit van het pakket (de 9V clip is uitsluitend bedoeld voor het Skywriter project). U kunt zelf een voeding bouwen met een bouwpakketje voor op een "dikke steker" of kant en klaar aanschaffen. U kunt ook hier uit diverse winkels kiezen, uiteraard verkoopt Voti deze ook. Let op: de Wisp648 heeft een 5 volt stabilisator aan boord (voor gebruik met een 9..18 volt gelijkspanning trafo of "dikke stekker"), u kunt deze gebruiken om het steekbord van stroom te voorzien. Indien u van deze mogelijkheid gebruik maakt mag u geen andere voeding tegelijk aansluiten. U kunt er ook voor kiezen een losse voeding te gebruiken zoals in het boek beschreven is.

Tip 1

Plak onder op elke PIC een klein stickertje met het juiste type nummer (vergeet de eventuele A niet). Als u, net als ik, veel knutselt vervaagt de type aanduiding soms zodat u niet meer weet welke PIC het nu eigenlijk betreft.

Tip 2

Als onderdelen niet in het steekbord passen (bijvoorbeeld potmeters, luidsprekers etc) soldeer er dan kleine draden aan.

Links naar fabrikanten ivm met datasheets en andere informatie:

Let op: alle links openen in een nieuw venster.

Microchip Technology Inc (fabrikant van o.a. PIC microcontrollers en toebehoren). U kunt op deze website de datasheets downloaden voor de PICs die u gebruikt. Enkele cijfers zijn vaak door een X vervangen omdat de datasheet meerdere types beschrijft, bijvoorbeeld 16f87X voor de 16f877. Merk op dat er vaak een (klein) verschil zit tussen de A en niet-A versies. Het gaat om de volgende exemplaren:

12f675
16f628
16f876A
16f877 of 16f877A

Emerging Display Technologies Corporation (fabrikant van o.a. LCD displays).

Dallas Semiconductors (fabrikant van o.a. rs232 en geheugen chips). U zoekt het volgende datasheet:

MAX220-MAX249

Philippe (Philo) Hurbain (gegevens van Lego electromotoren)

Daventech (fabrikant ultrasoon sensoren)

ON Semiconductors (fabrikant van o.a. mosfets)

Hitachi (o.a. LCD displays). U kunt hier de algemene datasheet downloaden. Als het door u aangeschafte LCD scherm compatible is vindt u hier de relevante informatie. U zoekt de volgende datasheet:

Hitachi HD44780U LCD Controller

Een overzicht van de componenten per project:

Met dank aan Rob Overton die mijn overzicht van een kleucodering heeft voorzien waarmee u gemakkelijk kunt zien welke projecten met het hardware pakket gemaakt kunnen worden. Download hier de spreadsheet

Veel gestelde vragen (FAQ)

0. Ik heb de Wisp648 in plaats van de Wisp628 aangeschaft.

Dat kan, zie de sectie Aanvullingen en wijzigingen voor instructies.

1. Zit er verschil tussen de 16f877 en de 16f877A

Ja, maar de meeste verschillen zijn inwendig, daar merkt u niets van. Wel heeft elke PIC zijn eigen library. Voor de 16f877 moet u als library 16f877_bert gebruiken en voor de 16f877A de 16f877a_bert library.

2. Ik kan de tekst op de PIC niet meer lezen en weet dus niet of het de 16f877 is of de 16f877A.

Het beste kunt u direct na aanschaf onderop de PIC een klein stickertje plakken met het juiste type nummer erop. Dat is nu natuurlijk te laat. Zet het volgende programma in de PIC:

 -- JAL 2.1
include 16f877_bert

var volatile byte CMCON at 0x9C

-- define variables
var byte resist

forever loop

  cmcon = 7
  resist = 0
  resist = cmcon
  
  serial_sw_write(resist)
  delay_100ms(1)
  
end  loop

Start uw terminal programma op de PC. Krijgt u als antwoord 7 binnen dan betreft het de A versie, krijgt u 0 binnen dan is het de niet-A versie. De reden hiervoor is dat u met CMCON = 7 de twee comperatoren in de PIC aanzet. De niet-A versie heeft echter geen comperatoren, dus aanzetten lukt niet. Merk op dat u in dit geval (als uitzondering!) de 16f877_bert library kunt gebruiken ongeacht of u het A of niet-A type test.

3. Zit er verschil tussen de 16f628 en de 16f628A

Ja, alleen de niet-A versie heeft een variabele kloksnelheid zoals in project 13.2.5 beschreven.

4. Zijn er meer boeken van deze schrijver verschenen

Ja, meer informatie over reeds verschenen boeken en hoe ze besteld kunnen worden vindt uhier.

5. Is de shareware versie van CoolEdit nog ergens te vinden

Ja, u kunt hier de shareware versie nog downloaden, de link staat op de links pagina bij "andere interessante sites". U kunt dit programma gebruiken voor de BTc supercompressie in paragraaf 9.6.

6. In heb Visual Basic 5.0 maar als ik de sources wil gebruiken krijg ik soms een laadfout op gauge.ocx

Dit is de control die zorgt voor de weergave van de wijzerplaat bij bijvoorbeeld de voltmeter. Gauge.ocx staat op de Visual Basic CD maar wordt niet standaard mee geïnstalleerd. Download dit pakketje en voor deze instructies uit:

1. Kopieer gauge32.ocx naar een directory, bijvoorbeeld

c:\windows\system32

2. Voeg gauge32.ocx to aan de registry door dit commando uit te voeren (in 'uitvoeren' onder de start knop)

regsvr32 c:\windows\system32\gauge32.ocx

3. Voeg de ontwikkel licentie toe door dit commando uit te voeren (in 'uitvoeren' onder de start knop)

vbusc.exe

De sources uit het download pakket werken nu. Wilt u in uw eigen projecten ook van wijzerplaten gebruik maken voeg dan de ocx toe aan uw project met 'add components'

7. Waar kan ik terecht met vragen?

Veel JAL gebruikers zijn lid van de JAL Yahoo Usergroup (ik dus ook). Lidmaatschap is gratis en de leden zijn vriendelijk en behulpzaam. Het is een internationale groep, de voertaal is dus Engels. Het adres is http://groups.yahoo.com/group/jallist/

8. Ik heb JALedit verplaatst naar een andere directory maar nu werkt het ineens niet meer. Het programma blijft hangen en geeft opeens een hele reeks onbegrijpelijke foutmeldingen. Ik heb de directories netjes bij de JALedit settings aangepast.

JALedit kan niet overweg met lange directory namen of namen met een spatie erin. Hou de namen kort en zorg dat er geen spaties inzitten. Dat geldt dus voor de directory waar JALedit zelf in staat, maar ook de directorie van JALv2, uw programma, de libraries, kortom alle directories en bestandnamen waar JALedit mee te maken krijgt.

9. Hoe kan ik aan de meest recente versie van JAL komen.

Het meest eenvoudig is de starterpack te downloaden. U vindt daarin de laatste versies van JAL, JALedit, de _bert libraries en alle ondersteunende bestanden. Als u een nieuwe versie gaat gebruiken moet u alle bestanden uit de starterpack gebruiken. Soms heeft een nieuwe versie van JAL iets andere libraries of ondersteunende bestanden nodig. Door alle bestanden uit de starterpack te gebruiken weet u zeker dat u weer een bij elkaar passende en werkende combinatie heeft.

  1. Maak een backup van de directory waarin uw JAL spullen staan. Het eenvoudigst is de hele directory even te zippen of op een memory stick of CD te zetten. Zo weet u zeker dat u terug kunt mocht het fout gaan. Noteer de settings van JALedit wanneer u deze aangepast heeft.
  2. Download de meest recente starterpack hier (de downloadlink staat bovenaan).
  3. Pak het gezipte bestand uit en verdeel de inhoud over de betreffende directories. Overschrijf de bestanden die daarin reeds aanwezig zijn.
  4. Start JAL edit, en pas de settings aan volgens de gegeven die u bij stap 1 heeft verzameld (alleen indien u deze zelf aangepast had). Anders hoeft u alleen alle verwijzigen naar "PICjal" te veranderen in "PICdev". Compileer een klein proef programma en verifieer dat alles nog correct werkt.
  5. U kunt ook de instructie volgen bij het zip bestand zelf. Hier wordt uitgelegd hoe u een aparte programmeeromgeving kunt maken in c:\PICjal. Op die manier heeft u zowel de nieuwe (in PICjal) als de boekversie (in PICdev) van de programmeer omgeving beschibaar. Dit is handig wanneer een van de JAL versies niet volledig terugwaards compatibel is. Zelf heb ik dit ook zo gedaan.

10. Mijn programma wil niet compileren, ik krijg een foutmelding van windows.

Er zit een spatie in de naam van uw programma, of in het pad. Hou de namen kort en zorg dat er geen spaties inzitten. Dat geldt dus voor de directory waar JALedit zelf in staat, maar ook de directorie van JALv2, uw programma, de libraries, kortom alle directories en bestandnamen waar JALedit mee te maken krijgt.

11. In het "case" voorbeeld op pagina 399 staan de cijfers tussen aanhalingstekens, moet dat?

Nee, dat moet niet. Het voorbeeld geeft aan dat behalve bytes ook strings eveneens gebruikt mogen worden in case. Omdat de opdracht verder nergens in het boek gebruikt wordt, kan dat verwarring opleveren. Wellicht verduidelijken de onderstaande voorbeelden de case opdracht beter: 

-- a is een string

case a of
"1"b = 20
"A"b = 13
"c": b = 4
"9"b = 59
otherwise b = 6
end case

-- a is een byte

case a of
1b = 20
2:
 b = 13
3
b = 4
4
b = 59
otherwise b = 6
end case

Wellicht is het ook goed om op te merken dat case alleen werkt met het eerste teken uit een string. Dus de strings "12" en "17" zijn voor wat case betreft identtiek. Werkt u niet met strings maar met bytes, dan zijn 12 en 17 natuurlijk wel verschillend.

12. Ik heb het software pakket gedownload maar ik kan MICterm niet vinden.

In appendix 14.6 staat een overzicht van alle bestanden die in het software pakket zitten. Hier kunt u gemakkelijk de programma's terugvinden waar in het boek naar verwezen wordt.

MICterm bevindt zich in de directory c:\picdev\vb50\MICterm Op deze plaats vindt u het programma zelf (MICterm.exe) en de Visual Basic sources.

13. Moet de 'sound in' (in de VU meter van 13.3.4) niet gelijkgericht worden met een diode? Kan ingang2 ertegen dat ook een negatieve (wissel)spanning aangeboden wordt?

Een negatieve spanning op de PIC brengt een interne substraat diode in werking, deze clampt de negatieve spanning op 0.3 Volt. De PIC gaat kapot als de "Output Clamp Current" wordt overschreden, deze bedraagt meestal 20 mA. Een diode kan zeker niet, want als de geluidsbron een uitgangscondensator heeft maak je een spannings verdubbelaar. Een 10k weerstand voor pin 2 zou op zich geen kwaad kunnen, op deze manier:

14. Ik wil de Wisp programmer niet aan com poort 1 aansluiten. Wat moet ik nu doen?

Open JALedit en kies de menu opties "Tools", "Environment Options","Programmer". De onderste regel in deze window is nu

port com1 wait err go %F 

Vervang de 1 in com1 door het nummer van de compoort die u gebruikt. Wanneer u de Wisp programmer op com poort 4 hebt aangesloten wordt de onderste regel dus port com4 wait err go %F  (let op er zit geen spatie tussen com en 4).

15. Bij het gebruik van de Visual Basic programma's krijg ik als foutmelding "runtime error 8002, invalid port number" en stopt het programma.

U geeft in het Visual Basic programma de verkeerde COM poort op.

16. Ik mijn programma's graag simuleren voordat ik ze in een PIC zet. Kan dat?

Dat kan zeer zeker, met het programma PicShell. U kunt hiermee programma's schrijven en downloaden naar de programmer, maar u kunt ze ook simuleren. U kunt het programma hier downloaden. Kijk regelmatig op die pagina en download steeds de laatste versie. Het programma is nog in ontwikkeling maar is reeds bijzonder krachtig!

17. De 9 volt Lego motor 71427 is lastig te vinden, kan ik ook een andere motor gebruiken?

Dat kan, een hoop kleine motortjes kan zonder meer gebruikt worden. Let u wel op het voltage van de motor (9 volt, en anders moet u de spanning op de 9 volt rail aanpassen), en op de maximale stroom die de TC4427A kan leveren (1,5 A piek). Harm Schutte heeft de volgende motoren getest: Gelijkstroommotor 1V - 12V ak-Modul MOTDC112, gelijkstroommotor 3V - 9V ak-Modul MOTDC39 , beide van www.ak-modul-bus.de en Copal HG16-030-AA-00 motortje met vertraging 6V 450 mA -Voti MOT-11 van www.voti.nl. Van hem is ook de onderstaande foto van de Voti motor in actie.

 Foto: Harm Schutte

En deze foto met de QRB1134 sensor van project 7.3

Foto: Harm Schutte

18. Welk bestand heb ik nodig in de VB directory.

In de VB (Visual Basic) directory staan diverse bestanden. Wilt u het programma gewoon gebruiken dat heeft u alleen het bestand nodig dat eindigt op .exe U kunt het programma opstarten door hierop dubbel te klikken. Bent u in het bezit van VIsual Basic 5.0 dan kunt u deze programma's ook aan uw eigen eisen en wensen aanpassen. U moet dan het bestand gebruiken dat eindigt op .vbp

Links

Foto: Dave Beebe (Plaatjes van licht project).

19. Ik gebruik de 64 bit versie van Win7, en nu doet het counter programma het niet.

In de Tools map vindt u het programma WinOscillo. Met behulp van de F2 en F3 toetsen kunt u omschakelen tussen oscilloscoop en analyser. De analyser werkt niet zo mooi als counter, maar werkt on de Win7/64. De oscilloscoop werkt juist weer mooier dan de "oude"  versie (die overigens nog steeds in het pakket zit).

Groepen

Veel JAL gebruikers zijn lid van de Yahoo JAL groep (aanbevolen), en aangesloten op de mailinglist. Dit is de ideale plaats om vragen te stellen over programmeren in JAL. Er heerst een vriendelijke en open sfeer, ook geschikt voor beginners. Let op: de groep is internationaal, de voertaal is Engels!

Voor microprocessoren in zijn algemeenheid is veel informatie te vinden in de piclist. Daar hoort ook een zeer actieve mailing list bij met erg veel post, dus weet waaraan u begint.

De laatste nieuwe versie van JAL V2 vindt u op de JAL v2 homepage. Het meest eenvoudig is echter om gewoon de starterpack te downloaden. U vindt daarin de laatste versies van JAL, JALedit, de _bert libraries en alle ondersteunende bestanden. Als u een nieuwe versie gaat gebruiken moet u alle bestanden uit de starterpack gebruiken. Soms heeft een nieuwe versie van JAL iets andere libraries of ondersteunende bestanden nodig. Door alle bestanden uit de starterpack te gebruiken weet u zeker dat u weer een bij elkaar passende en werkende combinatie heeft.

  1. Maak een backup van de directory waarin uw JAL spullen staan. Het eenvoudigst is de hele directory even te zippen of op een memory stick of CD te zetten. Zo weet u zeker dat u terug kunt mocht het fout gaan. Noteer de settings van JALedit wanneer u deze aangepast heeft.
  2. Download de meest recente starterpack hier.
  3. Pak het gezipte bestand uit en verdeel de inhoud over de betreffende directories. Overschrijf de bestanden die daarin reeds aanwezig zijn.
  4. Start JAL edit, en pas de settings aan volgens de gegeven die u bij stap 1 heeft verzameld (alleen indien u deze zelf aangepast had). Compileer een klein proef programma en verifieer dat alles nog correct werkt. Wis uw backup pas wanneer u er 100% zeker van bent dat alles naar behoren werkt. Of volg de instructies in het Startepack om een compleet separate ontwikkelomgeving op te zetten.

Andere interessante sites

 Roman Black  Kelsey Park Sports College
 Claudiu Chiculita  James Clar
 Cool Edit shareware  

 <-- Terug naar het boek

 
 

SERVICE