Modelspoormagazine forum

Modelspoor, praktijk => Modelspoor-elektronica met microcontrollers => Topic gestart door: conducteur op 02 juni 2013, 22:41:45 PM

Titel: Programmer
Bericht door: conducteur op 02 juni 2013, 22:41:45 PM
Omdat dit een belangrijk onderdeel is als je wil beginnen met µC, vraag ik het in een apart draadje. Wat gebruik je als programmer voor je µc (ik denk dat ik de vraag al eens gesteld had, maar weet niet meer waar, en kan geen kwaad om het eens opnieuw te doen in onze nieuwe rubriek...)


liefst USB zodat ie laptop compatibel is.
Titel: Re: Programmer
Bericht door: Steam.N op 02 juni 2013, 22:44:36 PM
Net ook in het andere draadje geplaatst:
Kijk eens bij Velleman: K8076.

Titel: Re: Programmer
Bericht door: conducteur op 02 juni 2013, 22:54:14 PM
Niet compatibel met de 16f887 waar ik er nog een aantal van heb liggen en niet compatibel met usb-serieel omzetter... Wel handig met zon zif-voetje
..
Titel: Re: Programmer
Bericht door: PeterC op 02 juni 2013, 23:07:35 PM
Citaat van: Steam.N op 02 juni 2013, 22:43:32 PM
Rian, als je met PIC werkt, vind je bij Velleman een goeie programmer (K8076) .

Helaas wel één probleem:

BELANGRIJK

niet compatibel met een USB naar seriële poort (RS232) omvormer! (http://www.velleman.eu/products/view/?country=be&lang=nl&id=364426)

Ik heb geen PC meer met een 'echte' seriële poort...

De PicStartPlus (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010020&redirects=picstart) werkt wel met een USB-Seriëel omzetter maar is dan wel een heel pak duurder...
Bij mij gaat die al meer dan 10 jaar mee en nog nooit problemen mee gehad (wel regelmatig een firmware-update uitgevoerd).


Als je een In Circuit Programmer wil, zou ik je een Pickit3 aanraden (bij Conrad te 'verkrijgen') - staat op mijn verlanglijstje.

Titel: Re: Programmer
Bericht door: conducteur op 02 juni 2013, 23:14:02 PM
Hij moet inderdaad laptop compatibel zijn (=geen seriele poort). Mijn pa zijn pc is een vaste en heeft er nog een, maar is erg omslachtig als ik telkens zijn de deur van zijn bureau moet platlopen om eens een programma uit te testen.
Titel: Re: Programmer
Bericht door: Steam.N op 02 juni 2013, 23:19:43 PM
Citaat van: conducteur op 02 juni 2013, 22:54:14 PM
Niet compatibel met de 16f887 waar ik er nog een aantal van heb liggen en niet compatibel met usb-serieel omzetter... Wel handig met zon zif-voetje
..
Vreemd: ik heb met díe K8076 programmer, via een USB-Serieel omvormer, een 16f887 geprogrammeerd vanaf een laptop.
Ging vlot en foutloos, nadat het probleem van de COM-poort toewijzing snel opgelost was.
Titel: Re: Programmer
Bericht door: PeterC op 02 juni 2013, 23:30:27 PM
De ene USB/seriëel omzetter is de andere niet (hangt af van de chipset).  Diegene die ik gebruik voor mijn programmer mag bijna zijn plechtige communie doen.  Ik heb enkele recente modellen en niets anders dan miserie (zowel voor installatie als bij gebruik).  Blijkbaar weten de producenten van modern materiaal niet meer aan welke standaard RS232 moet voldoen...

Titel: Re: Programmer
Bericht door: Gerolf op 03 juni 2013, 01:04:28 AM
Ik heb me een Diamex USB-ISP (voor AVR's) aangeschaft. Maar moet hem nog testen  ;)
Titel: Re: Programmer
Bericht door: Ludwig op 03 juni 2013, 08:30:59 AM
Ik gebruik Elnec.
Zeer tevreden over.
Titel: Re: Programmer
Bericht door: conducteur op 03 juni 2013, 17:50:05 PM
Google op Elnec levert mooie programmers op, maar wel prijzig. (400-1000€). Ik denk voor een Pickit 3 van Microchip te gaan (65€). Iemand ervaring mee? Wat ik vind is dat de oude versie wat meer functionaliteit had, maar die is niet meer te verkrijgen.
Titel: Re: Programmer
Bericht door: dani op 03 juni 2013, 18:58:00 PM
even off topic maar eigenlijk ook weer niet...

OFF : omdat het niet over PIC  µCs gaat maar over ATMel's
ON : omdat het toch ook µC's zijn.

Ik gebruik een Arduino Mega als programmer voor mijn ATMel 328  microcontrollers en ook voor de ATTiny4x en 8x reeks.   Die heeft USB en komt met een volledige SDK (software development kit)

Als alternatief gebruik ik ook sinds vorige vrijdag  een hele simpele   USBASP  controller.  Die plug je in de USB van je PC en dan de seriële aansluitingen op je  programmeerprintje (zelfbouw) .  Kijk eens op mijn baan-draadje, daar staat het uitgelegd.

Dani
Titel: Re: Programmer
Bericht door: PeterC op 03 juni 2013, 19:02:22 PM
De Pickit 3 is wel een in circuit programmer. Je programmeert je controller wanneer die al in een schakeling zit. Met een `normale` programmer steek je een controller in een ZIF socket en programmeert die zo.
ICP heeft dan als voordeel dat je SMD controllers kan programmeren zonder speciale socket.
Titel: Re: Programmer
Bericht door: conducteur op 03 juni 2013, 19:05:41 PM
Dat bordje met een zif-voetje is wel zelf te bouwen zeker, indien je dat wil?
Titel: Re: Programmer
Bericht door: PeterC op 03 juni 2013, 19:15:08 PM
Citaat van: conducteur op 03 juni 2013, 19:05:41 PM
Dat bordje met een zif-voetje is wel zelf te bouwen zeker, indien je dat wil?

Lijkt me moeilijk: andere controller zijn andere pinbezettingen (voedingspinnen en ICP pinnen).

Edit: of je maakt een socket per type controller die je gebruikt.
Titel: Re: Programmer
Bericht door: conducteur op 03 juni 2013, 20:42:12 PM
Waren niet alle 40 pins dip µC pin compatibel met elkaar voor dat soort zaken? Net als de 28, 20,18 ,14,8 pin µC? Als ik voor enkele van deze een zif voetje voorzie, kan dat toch voor veel dienst doen? En voor die exotische voorzie ik dan maar de header op het printje.
Titel: Re: Programmer
Bericht door: Steam.N op 03 juni 2013, 21:47:10 PM
De K8076 grbruikt patch kabeltjes, om de signalen op de juiste pootjes te krijgen.
Titel: Re: Programmer
Bericht door: Sattrickske op 03 juni 2013, 23:41:42 PM
Ik gebruik voor PIC voornamelijk de ICSP (In Circuit Serial Programming) omdat ik bijna altijd met SMD werk.  De programmatie gebeurt aan de hand van een PIC+PRO programmer (eBay) die op m'n USB aangesloten is.
Titel: Re: Programmer
Bericht door: Gerolf op 04 juni 2013, 10:13:59 AM
Citaat van: conducteur op 03 juni 2013, 20:42:12 PM
Waren niet alle 40 pins dip µC pin compatibel met elkaar voor dat soort zaken? Net als de 28, 20,18 ,14,8 pin µC? Als ik voor enkele van deze een zif voetje voorzie, kan dat toch voor veel dienst doen? En voor die exotische voorzie ik dan maar de header op het printje.

Ik vrees er voor, Rian. Bij AVR's in elk geval niet, en ik betwijfel of dat bij alle PIC's zo is.
Ik heb me net een printje ontworpen om 4 types AVR met mijn nieuwe Diamex USB-ISP te programmeren.
(dat ding kostte trouwens maar 20,- ipv dan de 65 en 400+ die je eerder noemt)
Slechts 2 van de 4 AVR's zijn pin-compatibel (toegegeven, één type is 28-pins ipv 40)

Ik ben trouwens niet van plan om een ZIF te gebruiken, maar goede kwaliteit printconnectoren
Het gaat om maximaal 12 pennen, en dat is naar mijn idee "zero-force" genoeg.
Titel: Re: Programmer
Bericht door: Sattrickske op 04 juni 2013, 12:15:07 PM
Mijn PIC Programmer heeft een ZIF-40 waarin ik alle PICs (althans de 12-, 16- en 18- reeksen) kwijt kan.  Voor elk type PIC wordt aangegeven op de computer waar precies in de ZIF je de chip dient in te steken.  De programmer past zich aan het sort PIC dat je wil programmeren; als je de chip verkeerd insteekt, geeft ie een waarschuwing.
Titel: Re: Programmer
Bericht door: conducteur op 04 juni 2013, 12:50:48 PM
Is het iets dat je zelf in elkaar gestoken hebt, of niet? Is het nog verkrijgbaar?
Titel: Re: Programmer
Bericht door: Sattrickske op 04 juni 2013, 13:35:17 PM
Citaat van: conducteur op 04 juni 2013, 12:50:48 PM
Is het iets dat je zelf in elkaar gestoken hebt, of niet? Is het nog verkrijgbaar?
Is een standaard programmer, komt gewoon van eBay.  Zoek maar eens achter 'K150 programmer', voor minder dan 8€ heb je er eentje.  Voor deze prijs ga ik niet zelf liggen klooien ;)
Titel: Re: Programmer
Bericht door: conducteur op 04 juni 2013, 13:57:21 PM
ah ok
Titel: Re: Programmer
Bericht door: PeterC op 04 juni 2013, 16:56:13 PM
Citaat van: Sattrickske op 04 juni 2013, 13:35:17 PM
...Zoek maar eens achter 'K150 programmer', voor minder dan 8€ heb je er eentje...

Patrick, werkt die rechtstreeks vanuit de MpLab IDE?


Citaat van: Sattrickske op 04 juni 2013, 13:35:17 PM
...Voor deze prijs ga ik niet zelf liggen klooien ;)

Mijn gedacht...
Titel: Re: Programmer
Bericht door: Geert op 04 juni 2013, 17:09:53 PM
Om PIC's te programmeren ben ik  begonnen met de kit van Velleman. Deze werkt goed, en je kan er diverse PIC software via RS232 er op laten draaien. De volgende zal waarschijnlijk deze van microchip zelf zijn?  Ik heb behoefte om debugging te doen in de hardware schakeling zelf...

Ik heb gezien dat de k150 programmer geen PIC16F887 aankan, deze staat niet in de lijst? Toch wel een probleem voor Rian die er al enkel van liggen heeft...

Geert
Titel: Re: Programmer
Bericht door: Sattrickske op 04 juni 2013, 21:52:59 PM
Citaat van: PeterC op 04 juni 2013, 16:56:13 PM
Citaat van: Sattrickske op 04 juni 2013, 13:35:17 PM
...Zoek maar eens achter 'K150 programmer', voor minder dan 8€ heb je er eentje...

Patrick, werkt die rechtstreeks vanuit de MpLab IDE?
Bij mijn weten niet; maar is niet echt een probleem.  De PC-software van K150 refreshed automatisch  wanneer de HEX file door MpLab aangepast wordt.

Citaat van: Geert op 04 juni 2013, 17:09:53 PM
Ik heb gezien dat de k150 programmer geen PIC16F887 aankan, deze staat niet in de lijst?
Bij mij wel hoor! Misschien effe je software eens updaten?

Een ander heel handig hebbeding als je met PICs wil werken is zo'n development board met in-circuit debugger (ICD).  Er bestaan er heel wat (ik heb een QL200) en het helpt je bij prototypes te maken.
Titel: Re: Programmer
Bericht door: conducteur op 04 juni 2013, 22:16:09 PM
Wel handig zo'n QL200...
Edit, het filmpje dateert wel van 2009, maar blijkbaar is volgens hem de pickit 2 beter. Reichelt heeft blijkbaar nog pickit 2 liggen, welke zou je aankopen? Tenzij het ondertussen al met software-updates verbeterd is? Dat laatste moet ik nog eens uitzoeken.


Indien nee, zou je voor de laatste nieuwe gaan, of de iets oudere 2?
http://www.youtube.com/watch?v=LjfIS65mwn8 (http://www.youtube.com/watch?v=LjfIS65mwn8)
Titel: Re: Programmer
Bericht door: conducteur op 05 juni 2013, 19:54:03 PM
Niemand? Anders koop ik de pickit 2? (die heeft ook een kleine eenvoudige logic analyzer aan boord)
Titel: Re: Programmer
Bericht door: Sattrickske op 05 juni 2013, 22:01:21 PM
Wel een grappig gastje in dat filmpje :D
PICkit 2 kan de nieuwe chips niet aan omdat Microchip de software niet aanpast.  Maar ondertussen heeft Microchip wel de firmware aangepast van de PICkit 3, dus ik zou voor de PICkit 3 gaan.  Maar zelf blijf ik bij m'n QL200, deze heeft een pak meer mogelijkheden.
Titel: Re: Programmer
Bericht door: conducteur op 05 juni 2013, 22:39:01 PM
Ben toch voor de 2 gegaan, lees weinig positieve reacties op fora over de pickit 3, wel veel positief over de 2. Als alles goed is heb ik dus vrijdag een nieuw stukje in mijn uitrusting...
Titel: Re: Programmer
Bericht door: Sattrickske op 06 juni 2013, 20:53:31 PM
Is inderdaad niet slecht, alleen jammer dat er geen ondersteuning meer is voor de nieuwere PICs.  Dus kijk een beetje uit welke PICs je aanschaft.
Titel: Re: Programmer
Bericht door: conducteur op 07 juni 2013, 19:34:19 PM
Vandaag toegekomen...
Ben de nodige software aan het installeren en dan testen maar.
Titel: Re: Programmer
Bericht door: Gerolf op 08 juni 2013, 16:13:49 PM
Mijn USB-ISP-programmer-printje is klaar:

(http://meb.gerolf.be/msm/elektro/usbispf.jpg) (http://meb.gerolf.be/msm/elektro/usbispr.jpg)

3 mogelijke ingangen voor 4 types AVR: AtMega8, AtMega16, AtMega32 en AtMega162
... meer denk ik er niet onmiddellijk te gebruiken  :)

Alleen ... dat USB-ding wil maar niet communiceren met Bascom. Het gaat om de Diamex USB-ISP-Stick (www.diamex.de) gekocht bij conrad (842379)
Volgens Diamex zou ik de STK500 als programmer moeten "kiezen" in de Bascom-opties, en AVRStudio moeten installeren.
Het apparaatje is succesvol geconfigureerd in Windows, maar die AVRstudio krijg ik niet geïnstalleerd  :(
Ik heb intussen wat andere fora gecheckt, en daar spreekt men van AVRCommandLineTools, en die AVRStudio niet te gebruiken. Vond ik ook wat stom, want die studio is een andere programmeeromgeving, het gaat alleen om de communicatie tussen Bascom en de USB-programmer.
Seffens eens proberen wat die CLI-tools doen ...  :-\
Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 16:51:02 PM
Ik hoop dat je het aan de praat krijgt, Gerolf. Hier gaat het ook niet echt goed maar dat zal aan mij liggen. Bij de pickit zit een demobordje met ledjes aan de C-poort die ik bij wijze van test eens wil laten oplichten om mijn nieuwe programmer uit te proberen. Maar dat zal wellicht aan de instellingen liggen.  Hier moet ik de interne klok configureren (er zit geen kristal op het bordje) maar vindt niet direct het juiste commando die geen fout geeft met de compiler.

/***************************************************************************
*    HITECH C for PIC Program A_02- 08/11/2010                                                          *
*      Processor:     PIC16F877(A)                                                                                    *
*      Compiler:      HI-TECH C PRO v9.65PL1 Lite                     *
•   Discription:  led aan poort C aan   *
•   PIN Assignments:   led aan C                                            *
**************************************************************************/
#include <htc.h>


#define _XTAL_FREQ  19660800     // oscillator frequency for _delay()


// Config: HS ext Xtal- Watchdogtimer disabled - LVP Disabled
__CONFIG(HS & WDTDIS & LVPDIS);


void main()
{
       
      TRISC=0x00;
      PORTC=0x37;
   
   for (;  ;)
   {
           
}


}
Titel: Re: Programmer
Bericht door: MickeyMouse op 08 juni 2013, 17:00:00 PM
eh?
Uw 'for' is niet afgewerkt...denk ik
Als het de bedoeling is om in een loop te blijven hangen:
-->  for(; ; )
Geert
Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 17:05:46 PM
vreemd, want in mijn MP-lab project staat wel degelijk for (; ;) { }....  ik denk dat het iets met de smileys te maken heeft die nu uitstaan (puntkomma haakje toe levert een knipogend gezichtje op)
fout in vorige post bij deze dus ook aangepast.
Titel: Re: Programmer
Bericht door: PeterC op 08 juni 2013, 17:13:07 PM
Rian,

Zoek eens in de richting van een fuse zoals 'INTOSC_NOCLKOUT'.
Je #define _XTAL_FREQ moet op de interne clock frequentie gezet worden (default interne klokfrequentie is afhankelijk van het type PIC) anders kloppen je delay waarden niet.
Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 18:13:41 PM

****************************************************************************   
HITECH C for PIC Program A_02- 08/11/2010                                                         
**      Processor:     PIC16F877(A)                                                                               
     **      Compiler:      HI-TECH C PRO v9.65PL1 Lite               
     *•   Discription:  led aan poort C   *•   PIN Assignments:   led aan C                                         
  ***************************************************************************
/#include <htc.h>
#define _XTAL_FREQ  8000000      // oscillator frequency for _delay()
#FUSES INTOSC_NOCLKOUT;
void main()
{             
TRISC=0x00;     
PORTC=0x37;     
for (;   {           
}
}



Nu zit dit in de uC, maar werkt ook niet. (zonder problemen door de compiler gekomen). Ik ga stoppen mijn tijd te steken in die ambetante ledjes. Ik heb de indruk dat het boeltje wel werkt maar zie het gewoon niet op het demobordje.
Titel: Re: Programmer
Bericht door: Steam.N op 08 juni 2013, 18:28:01 PM
Rian, ik lees dit waarschijnlijk fout, maar je loop doet toch niets ?
Hoe kan je led dan knipperen ?
Titel: Re: Programmer
Bericht door: PeterC op 08 juni 2013, 18:45:36 PM
Rian,

Volgens mijn bescheiden mening heeft die 877 zelfs geen interne oscillator?


2001-2013 Microchip Technology Inc. DS39582C-page 145
PIC16F87XA
14.2 Oscillator Configurations
14.2.1 OSCILLATOR TYPES
The PIC16F87XA can be operated in four different
oscillator modes. The user can program two configura-
tion bits (FOSC 1 and FOSC 0) to select one of these four
modes:
• LP Low-Power Crystal
• XT Crystal/Resonator
• HS High-Speed Crystal/Resonator
• RC Resistor/Capacitor


En...  Je lus doet niets...

Misschien een afzonderlijk draadje voor je programma?  Allen samen zorgen we voor een oplossing!

[Edit] Een 887 heeft een interne osc!

Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 20:12:29 PM
Het programma heb ik overgenomen uit de cursus elektronische systemen, waar we met de 877 werken, maar hier thuis werk ik met de 887 en op het demo bordje zit een 887. Het commentaar dus vergeten compleet te wijzigen.


-->knipperen hoeft (voorlopig) niet. Blijkbaar is het wel van belang voor je programma dat het 'nooit' eindigt. vandaar de for [;;] die eigenlijk niets doet.
Titel: Re: Programmer
Bericht door: PeterC op 08 juni 2013, 20:35:07 PM
Citaat van: conducteur op 08 juni 2013, 20:12:29 PM
...Blijkbaar is het wel van belang voor je programma dat het 'nooit' eindigt. vandaar de for [;;] die eigenlijk niets doet...

Laat in die main-loop je Ledje knipperen zodat je weet dat het werkt  ;)

[Edit] hier (http://www.pctoytoy.be/jal/16f684/16f684_1.htm) een voorbeeldje (in JAL) van een knipperende led.  Bedoeld om de algemene instellingen te begrijpen.
Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 20:36:05 PM
Dat is de bedoeling, maar nu komt er gewoon geen leven in de brouwerij (niets, geen licht te bespeuren)
Titel: Re: Programmer
Bericht door: PeterC op 08 juni 2013, 20:39:41 PM
MCLR intern of extern via pull-up?

Titel: Re: Programmer
Bericht door: conducteur op 08 juni 2013, 20:47:53 PM
hangt aan pin 1 van mijn programmer die het demo bordje ook van stroom voorziet. Ik ga er geen moeite meer insteken, heb de indruk dat de programmer werkt, en dat zullen we wel op een echt project uittesten binnen twee weken. (heb er duidelijk nog een aantal af te werken (voeding, servosturing en project i²c/rs485)