hobby-cnc

Welcome to my
Robotic site.

 

 

PICmicro microcontrollers.

Het eerste deel van deze site handelt over het programmeren van PICmicro microcontrollers met de taal basic. Dit is de meest eenvoudige methode om relatief snel zo'n klein microcontrollertje te programmeren. 
Ga meteen naar:  PICBASIC PRO.
Ga meteen naar:  PROTON PICBASIC.

Programmer.
Als programmer gebruiken we de WISP628 van Wouter van Ooijen. Dit is een lowcost programmer (ong. 20 euro ongebouwd en 30 euro gebouwd) die haast alle typen picmicro's kan programmeren. Hier zullen we uitgebreid behandelen hoe deze programmer gebruikt kan worden binnen zowel PicBasic(Pro) en Proton(+) compilers met de Python software.
Ga meteen naar: PYTHON software of naar het   MCUnit  PIC  team
Ga meteen naar: WISP628.
Ga meteen naar: ZeroPinLoader. voor 18Fxxx type (bijv. 18F252)
 


PicBasic maunual en diskette

Diskette en manual
die bij PicBasic (Pro) van
micro engineering labs
geleverd wordt.

PicBasic(Pro).

We citeren eerst even de fabrikant.
Hij weet, als geen ander, hoe simpel het is om een klein programmaatje in zijn taal te schrijven.

The PicBasic Pro Compiler is the easiest way for you to program the fast and powerful Microchip Technology PICmicro microcontrollers. PicBasic Pro converts your BASIC programs into files that can be programmed directly into a PICmicro MCU.
The PicBasic Pro Compiler features: BASIC Stamp II commands, direct and library routine access to pins on PORTA, C, D, E, as well as PORTB, arrays, real IF..THEN..ELSE and interrupt processing in BASIC.

De installatie van PicBasicPro.

We gaan er hier vanuit dat u PicBasic of PicBasic Pro gebruikt mat MicroCode Studio Plus.
Dit is de meest comfortabele configuratie en de meeste mensen schaffen dat aan. Tevens gaan we er hier vanuit dat u de MPLabs, freeware, software gebruikt om de ASM bestanden te vertalen naar HEX bestanden. Dit hoeft niet perse als u het type 18Fxxx niet gebruikt.

Maak eerst op uw harddisk een subdirectorie aan, bijv: PicBasic, waar u alle software gaat installeren. De meeste setup programma's dumpen het willekeurig op uw harddisk en dat kan leiden tot hele vervelende consequenties. Houd ook de Ms-Dos standaard aan en vermeid lange pathnamen en heel belangrijk, gebruik geen spaties in de bestand- en pathnamen.

PicBasic(Pro) versie 24x.  (Pro staat voor de uitgebreidere versie.)
Installeer deze software in de subdirectorie PicBasic onder de naam PB244 of PBP244. Onthoud deze locatie, want we moeten hier later nog een keertje zijn. 

MPLAB6xx software van MicroChip.
Installeer ook deze software, compleet, in de subdirectorie C:\PicBasic onder de naam MPLAB.
U heeft naar deze software verder geen omkijken, zolang de fabrikant geen nieuwe chips uitbrengt.

MicroCode Studio omgeving.
MicroCode Studio Plus.
Dit software pakket bevat niet alleen een prachtige editor, maar wordt ook gebruikt als shell voor het compileren van uw tekstbestand naar HEX  (BAS naar ASM en ASM naar HEX) door respectievelijk de PicBasic en MPASM of ingebouwde compiler. Ook het uploaden via een programmer kan vanuit dit programma geregeld worden.
Hoe dat gaat met de WISP628 leest u later op deze pagina.

Aanwijzen van de locaties van compilers en programmer.
Wanneer u op het submenu [Opties] klikt, welke onder de tab [View] zit in het hoofdmenu, kunt u de programmatuur en de subdirecties opgeven waar ze zich bevinden op uw systeem.
Scherm via TAB [Vieuw] [Opties].
1. Basic compiler.
    De basic compiler bevindt zich op de locatie
    C:\PicBasic\PBP24x.
2. Assembler.
    De compiler om de assembler om te zetten naar een
    hex bestand zit in C:\PicBasic\MPLAB.
    U kunt de externe compiler wel uitschakelen als u
    geen 18Fxxx typen gebruikt. 
3. Programmer. 
    Wanneer u de WISP628 wil gaan gebruiken dan moet u
    eerst de installatie van Python uitvoeren die later op deze
    bladzijde uitvoerig wordt besproken.

    Hoe u andere programmers, zoals EPicWin of MeLabs moet installeren en welke hardware
    u daarvoor nodig heeft wordt hier niet besproken, simpelweg omdat we die niet hebben.
    Wij behandelen hier alleen de WISP628 loader van Wouter van Ooijen. (Zie tab LINKS voor website)

Ons eerste programma (voorbeeld BLINK.bas).

We laden uit C:\PicBasic\PB24x\samples het programma "BLINK.bas" op de windows manier.

' Example program from manual to blink an LED
' connected to PORTB.0 about once a second

Define  OSC 20 ' XTal oscillator standaard 4

 

loop:  High 0   ' Turn on LED connected to PORTB.0
    Pause 500  ' Delay for .5 seconds

 

    Low 0    ' Turn off LED connected to PORTB.0
    Pause 500  ' Delay for .5 seconds

 

    Goto loop  ' Go back to loop and blink forever
  End

U zult zich u nu meteen afvragen!!!! , werkt dit ook meteen ???
Nee, was het maar waar.
U moet drie zaken nog weten.
a. Welke type processor ga ik hiervoor gebruiken.
b. Welke kloksnelheid ga ik gebruiken.
c.  Wat voor type kristal wordt er gebruikt.
De eerste twee zijn simpel. Het type kunt u opgeven achter de target processor en de klok snelheid van uw kristal zet u boven Loop:  Define  OSC  20   '  XTal oscillator etc.
Omdat we hier een HS_Xtal gebruiken ipv XT_Xtal moeten we wel een mutatie doorvoeren in een van de systeem bestanden die de gebruikt wordt bij het compileren. 

Aanpassen included bestand van PicBasic.
In de subdirectorie C:\PicBasic\PBP24x staan een heleboel INCluded bestanden. Zo staat er voor uw type MC ook een INC bestand, bijv. 18F252.INC.  Al deze bestanden gaan er vanuit dat u 4 MHz kristallen gebruikt. Als u dat niet niet zo is dan moet u het bestand van uw type microcontroller op de volgende wijze aanpassen.



   INCLUDE "P18F252.INC" ; MPASM Header
   __CONFIG _CONFIG1H, _OSCS_OFF_1H &
_XT_OSC_1H 

  U ziet in het geel gemarkeerde tekst XT_OSC staan.
  U moet dit bij OSCillators > 4 MHz wijzigen in 

  INCLUDE "P18F252.INC" ; MPASM Header
  __CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H 

  Vergeet dit niet.
  Uw applicatie zalniet werkenin je mcu en u krijgt geen foutmelding .
 


Proton(+).

Prton+ maunal en CD-rom
Manual en CD-Rom die
bij Proton PicBasic van
Crownhill associates 
wordt geleverd.

Ook hier citeren we eerst de fabrikant.

This PIC BASIC Compiler is the undoubtedly the very BEST of Breed. Offering the lowest cost of Ownership, with the highest feature list of any competing product.
The Most Powerful PIC BASIC Compiler on the market.

Crownhill gebruikt iets minder woorden, maar ook hier is de bescheidenheid niet onder de tafel gestoken.  Het is te vroeg om conclusies te trekken, maar op comfort levert Proton iets in en ik denk inderdaad dat de compiler iets krachtiger is. Vervelend is alleen dat sommige voorgeprogrammeerde statements vaste pinnen gebruiken, bijv. datalijnen van een LCD zitten vast op pin 4 t/m 7  van een poort.

De installatie van Proton(+) PicBasic.

De installatie van dit pakket is uiterst simpel. Steek de CD-Rom met de PicBasic programmatuur in uw CD-drive en volg de aanwijzigen op uw scherm. Binnen enkele minuten is het karwei afgehandeld.
Het aanvragen van een initialisatie code kostte wat meer moeite. We hebben ongeveer twee dagen heen en weer gemaild, alvorens me een key bestand werd toegemaild.
Hier zit ook meteen het grote nadeel dat de compiler maar op één computer te gebruiken is, want in de key zit het ID van uw PC verwerkt.

We hoeven alleen nog de programmer op te geven en dan kunnen we beginnen. Daar we ook hier de WISP628 gaan gebruiken stellen we dat nog even uit. We weiden een heel apart hoofdstuk aan de installatie van Python en de WISP628.

Ons eerste programma (voorbeeld BLINK.bas).

We laden  uit C:\program files\crownhill\samples het bestand BLINK.bas.

' Strobe all the LEDs connected to PORTB
  Device = 16F628
  XTAL   = 4

  Dim    I  as byte    ' Define loop variable
    Symbol LED = PORTB   ' Alias PORTB to LEDS

    Delayms 500          ' Wait to stabilise
  TRISB = %00000000    ' Set PORTB to all output

    While 1 = 1
     LED = 1           ' First LED on
     Delayms 500       ' Delay for .5 seconds

    For I = 1 To 7     ' Go through 7 times
     LED = LED << 1    ' Shift on LED, one to left
     Delayms 500       ' Delay for .5 seconds
    Next
  Wend                 ' Go back forever

We plaatsen hier in het basic tekstbestand de aanwijzingen voor de compilers.
Omdat ik het DWARF bord van VOTI gebruik wijzig het typenummer en de kloksnelheid in het tekstbestand en daarmee is alles gedaan om te kunnen compileren en de uploaden.
 


Python logo
Python is een programma dat de communicatie tussen 
uw PC en WISP628 verzorgt.

Python powered logo

copyrighted but freeware

WISP628
WISP628 onderdelen
van Wouter v. Ooijen

Python en de WISP628 loader.

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.

Om met de wisp628 loader van Wouter van Ooijen te kunnen werken moet u beschikken over een aantal setup bestanden die u hier en via de site van Wouter kunt downloaden.
U heeft nodig:

1

Python 2.1.3  of hoger

http://www.python.org/download/

2

Win32All-151  (Mark Hammond)

http://starship.python.net/crew/mhammond/

3

XWisp_Setup

http://www.voti.nl/wisp628/kit/n_index.html wisp628

4

ZPL  (alleen voor 18Fxxx types) 

http://www.voti.nl/talks/index.html   ZPL

Ik raad u aan de aanwijzingen strikt op te volgen. Wanneer  
  u dat niet doet zal het aanroepen via PicBasic mislukken.  
 

De installatie Python en het gebruik.

Zoals al eerder opgemerkt dient u de Python software te installeren volgens de ouderwetse MsDos regels, dwz. GEEN lange pathnamen en geen spaties in de path en bestandsnamen. Nu zullen er onmiddellijk mensen roepen " Python is een window applicatie ". 
JA dat is zo, maar wij roepen Python aan vanuit een MsDos batch. 
En als je dan de window regels wil aanhouden met  ringels, prima dan doen wij er tjingel-bells bij, maar niet mijn 06 nummer.

Stap 1.

Stap 2.

Stap 3.

Stap 4.

Stap 5.

Maak op uw eerste harddisk een subdirectorie c:\picbasic , we kunnen dan alle software in deze subdirectorie plaatsen zodat het geen ongeorganiseerde bende wordt.

Installeer Python v2.x.x in de subdirectorie C:\PicBasic , bijv: c:\picbasic\python.
We installeren Python compleet, volgens de standaard instellingen die de setup voorstelt.

Installeer Win32ALL. Deze setup zoekt automatisch de locatie van Python en voegt daar de subdirectorie Win32 aan toe. Ook hier geld volg de aanwijzingen van de setup.
Hiermee is de installatie van Python en de aanvulling Win32 voltooid.

We gaan nu de software voor de WISP628 installeren. Deze SETUP wil zich keurig aan de window regels houden (standaard installatie in de subdir " C:\Program Files\XWISP ".
    Voor onze toepassing is dat absoluut af te raden.
    Installeer XWISP in subdir c:\picbasic\python .

Installeer XWisp in de subdirectorie c:\picbasic\python. De setup maakt zelf een subdir XWISP aan in het gewijzigde path en installeert daar alle benodigde scripts.

De stap is alleen nodig wanneer u chipjes van het type 18Fxxx gebruikt, welke beschikken over een ZeroPinLoader. 
De zeropinloader scripts moet u uitpakken en kopiëren naar de subdirectory waar u PYTHON heeft geïnstalleerd. In deze uitleg is dat C:\PICBASIC\PYTHON. 

Inschrijvingen uitsluitend via de secretaresse.Als het goed is dan is alle software geïnstalleerd die nodig is om met de WISP628 te werken. Dat viel dus even tegen, denk ik, maar als u dit zorgvuldig en volgens de instructie heeft gedaan moet u nu al een HEX bestand kunnen uploaden naar een PIC 18F252 die op bijv het DWARF bord van Wouter zit. (Bij mij werkte dat in ieder geval).
Zo niet. We houden iedere eerste zaterdag van de maand bijeenkomsten en daar kunt u door ons MCU PIC team geholpen worden.
Wij hebben meestal geen wachtlijst, maar u moet wel lid zijn van de HCC.
   

MSDos scherm van Python, zonder foutmeldingen.Python via de MS-Explorer.
Wanneer Python wordt opgestart, via de verkenner en u heeft de hex-files gelinkt aan Python, dan verschijnt er een MS-Dos venster. 
Als het uploaden goed gaat verloopt blijft dit  scherm pikzwart. Komen er allerlei teksten op te staan dan is er geen communicatie met de WISP628. Dit kan komen door verkeerde installatie of WISP is onvindbaar of uw communicatie lijnen RB6/7 op uw PICmicro worden te zwaar belast door uw applicatie? 
Ga dus naar een v.d. leden van 't MCU PIC team op ons spreekuur te Nieuwegein.  (zie agenda)

Python GO.
De Go button van Python.
U kunt, NEE, U moet nu op de GO button drukken waarna het contact maken met de wisp loader wordt opgestart en het uploaden van de HEX bestand gaat beginnen. Python toont u hoever het uploaden gevorderd is en zet OK neer als hij klaar is. U dient dus te wachten tot u het nevenstaande figuur op uw scherm ziet.

Python schermen afsluiten.Communicatiescherm van de Wisploader.
Wanneer dat proces goed verlopen is verschijnt het nevenstaande figuur.
U moet nu, handmatig alle PYTHON schermen sluiten. Wanneer u dat niet doet blijven deze schermen openstaan en worden er nieuwe geopend bij de volgende upload. U heeft dus binnen "No Time" tientallen nodeloze schermen open staan.

Wanneer u het eerste scherm sluit, het zwarte MS-Dos scherm, dan sluit u alle schermen met één klik. Start dus niet met het laatste, maar met het eerste scherm.

 


WISP628 gebruiken via BatchJob.
Veel PicBasic Pro gebruikers binnen onze gebruikersgroep hebben bij Wouter van Ooijen rechtstreeks of via de workshop JAL een dwarfbord en/of een wisp628 loader aangeschaft. Deze laatste groep heeft heel veel problemen met de 
softwarematige aansturing van de wisp628 via PicBasic. Waardoor de fouten precies ontstaan is niet geheel duidelijk, maar er is wel een remedie voor om deze te voorkomen. 
We laten de applicatie 'n BatchJob aanroepen voor WISP en deze
batches zetten we in de Python subdirectorie "C:\PicBasic\Python".
  
PBP instellen WISP628 programmer
PicBasic en PicBasic PRO via MicroCode Studio Plus.
Wanneer u de aanwijzingen voor het installeren van de Python en XWisp software heeft opgevolgd en Python staat dus in de Subdirectorie "C:\PicBasic\Python" en XWisp is een subdirectorie van Python, dan is onderstaande batchjob, zonder aanpassingen, voor u bruikbaar.



Klik op de screendump om de instellingen voor de programmer te zien.

Een voorbeeld van een geslaagde poging.
Simpeler kan het dus echt niet. Download Download "XWISP.BAT" de batch job en muteer deze indien dat nodig is.

Hier naast staat een voorbeeld van een Upload van een gecompileerd programma van een v.d. leden v.h. MCU PIC team, onder Windows98. Maar ook bij windows XP werkt dit trucje perfect.

Proton en Proton+
Wanneer je binnen een proton omgeving werkt, kan je van de hierboven genoemde truc gebruikmaken. De procedure is exact gelijk aan die van PicBasic en daarom herhalen we die dus niet.
Het enige verschil is dat je hier geen parameter hoeft op te geven, omdat Proton als eerste parameter de te versturen HEX-file opgeeft.
 


ZPL gebruiken via BatchJob.
Sommige leden hebben een DWARF bord met een 18F252, welke een voorziening heeft voor een ZeroPinLoader via een DB9 connector. Ook zij kunnen deze methode, met behulp van een aantal Python scripts, gebruiken. De scripts moeten in de subdirectorie van Python geplaatst worden en het onderstaande batchbestand moet ook daarin gezet worden.

 

De afwijking t.o.v. de wisp-loader zijn gering.
De zpl scripts moeten in de subdirectori e van Python worden gezet en niet in een andere subdirectorie.
Opmerkelijk is ook dat hier het GO statement niet mag worden gebruikt, maar zoals hiernaast te zien is maakt dat niet uit voor de goede afronding van de job.
Als de upload geslacht is krijgt u nevenstaande scherm te zien.


Ik hoop dat deze beschrijving van het instellen en het gebruik van PicBasic met WISP628 voor u van nut is en dat u kunt werken met uw basic-compiler met de WISP628 loader.
 

Link(s) naar interessante website(s):
 - Uitleg PICMICRO controllers:  http://www.circuitsonline.net/artikelen/view/8  
 


Deze site is geschreven door Bas Boetekees, meer interessante onderwerpen kunt u bekijken op zijn site http://home.wanadoo.nl/bjmboetekees/

 

 

 

copyright © 2000 - 2007 Majosoft
www.majosoft.com

netherlands
england
germany

Heeft u ook een leuke hobby en wilt u die ook graag tonen ? Stuur een email naar info@majosoft.com Wij maken voor u de site als u de gegevens aan kan leveren.

Do you have also a nice hobby and you want to show it. Please send an email to info@majosoft.com . We make the site if you can deliver the information.

Haben Sie auch ein Hobby und wollen sie das sehn lassen. Bitte schicken Sie eine email zu info@majosoft.com . Wir machen die zeite fur ihn, wenn sie uns die information geben.

[Robotic] [Projects] [Radio Control to PC interface] [Kermit] [Robotic Arm] [Info] [Datasheets] [PICmicro microcontrollers] [Maandblad] [Robotic Links] [bijeenkomsten] [HCC Robotic Day  8 jan 2005] [HCC Robotic Day]